From 45e5d689b61cbba140fa0794527c1c08558351d2 Mon Sep 17 00:00:00 2001 From: ahasnawi <70672687+ahasnawi@users.noreply.github.com> Date: Mon, 15 Dec 2025 18:20:04 +0300 Subject: [PATCH 1/4] support ai custom content --- plugin.json | 6 +- src/control/content/app.js | 386 +++++++-- src/control/content/assets/css/cpIcons.css | 104 +++ src/control/content/assets/css/dialogs.css | 160 ++++ src/control/content/assets/css/style.css | 298 +++++++ src/control/content/assets/fonts/icomoon.eot | Bin 0 -> 7268 bytes src/control/content/assets/fonts/icomoon.svg | 36 + src/control/content/assets/fonts/icomoon.ttf | Bin 0 -> 7104 bytes src/control/content/assets/fonts/icomoon.woff | Bin 0 -> 7180 bytes src/control/content/assets/images/ai_icon.svg | 3 + src/control/content/index.html | 234 +++-- src/control/content/js/ai/ai.js | 46 + src/control/content/js/dialogs/dialogs.js | 169 ++++ .../browser/ui/codicons/codicon/codicon.ttf | Bin 0 -> 80340 bytes .../min/vs/base/worker/workerMain.js | 31 + .../min/vs/basic-languages/css/css.js | 12 + .../min/vs/basic-languages/html/html.js | 10 + .../basic-languages/javascript/javascript.js | 10 + .../min/vs/editor/editor.main.css | 8 + .../min/vs/editor/editor.main.js | 798 ++++++++++++++++++ .../min/vs/language/html/htmlMode.js | 13 + .../min/vs/language/html/htmlWorker.js | 454 ++++++++++ .../content/js/monaco-editor/min/vs/loader.js | 11 + src/control/settings/app.js | 99 +++ src/control/settings/assets/css/style.css | 18 + src/control/settings/index.html | 82 +- src/widget/index.html | 4 +- src/widget/widget.js | 48 +- 28 files changed, 2826 insertions(+), 214 deletions(-) create mode 100644 src/control/content/assets/css/cpIcons.css create mode 100644 src/control/content/assets/css/dialogs.css create mode 100644 src/control/content/assets/css/style.css create mode 100644 src/control/content/assets/fonts/icomoon.eot create mode 100644 src/control/content/assets/fonts/icomoon.svg create mode 100644 src/control/content/assets/fonts/icomoon.ttf create mode 100644 src/control/content/assets/fonts/icomoon.woff create mode 100644 src/control/content/assets/images/ai_icon.svg create mode 100644 src/control/content/js/ai/ai.js create mode 100644 src/control/content/js/dialogs/dialogs.js create mode 100644 src/control/content/js/monaco-editor/min/vs/base/browser/ui/codicons/codicon/codicon.ttf create mode 100644 src/control/content/js/monaco-editor/min/vs/base/worker/workerMain.js create mode 100644 src/control/content/js/monaco-editor/min/vs/basic-languages/css/css.js create mode 100644 src/control/content/js/monaco-editor/min/vs/basic-languages/html/html.js create mode 100644 src/control/content/js/monaco-editor/min/vs/basic-languages/javascript/javascript.js create mode 100644 src/control/content/js/monaco-editor/min/vs/editor/editor.main.css create mode 100644 src/control/content/js/monaco-editor/min/vs/editor/editor.main.js create mode 100644 src/control/content/js/monaco-editor/min/vs/language/html/htmlMode.js create mode 100644 src/control/content/js/monaco-editor/min/vs/language/html/htmlWorker.js create mode 100644 src/control/content/js/monaco-editor/min/vs/loader.js create mode 100644 src/control/settings/app.js create mode 100644 src/control/settings/assets/css/style.css diff --git a/plugin.json b/plugin.json index 14fa72d..e3a2fcb 100644 --- a/plugin.json +++ b/plugin.json @@ -1,7 +1,7 @@ { "author":"Buildfire" - ,"pluginName":"WebView" - ,"pluginDescription":"Seamlessly embed web content into your mobile app with the WebView plugin, enabling smooth integration of external websites, pages, and interactive elements." + ,"pluginName":"Web Content" + ,"pluginDescription":"Seamlessly embed web content into your mobile app with the Web Content plugin, enabling smooth integration of external websites, pages, and interactive elements." ,"pluginKeywords":"document,page,iframe,instagram,website" ,"supportEmail":"support@buildfire.com" ,"supportSite":"https://learn.appdocumentation.com/en/articles/1691379-webview-tutorial" @@ -15,7 +15,7 @@ "enabled":false } , "settings":{ - "enabled":false + "enabled": true } } ,"widget":{ diff --git a/src/control/content/app.js b/src/control/content/app.js index eecf156..8468572 100644 --- a/src/control/content/app.js +++ b/src/control/content/app.js @@ -1,10 +1,14 @@ (function(angular, buildfire) { - var webviewPluginApp = angular.module('webviewPlugin', []); + var webContentPluginApp = angular.module('webContentPlugin', []); - webviewPluginApp.controller('webviewPluginCtrl', ['$scope', '$log', '$timeout', controller]); + webContentPluginApp.controller('webContentPluginCtrl', ['$scope', '$log', '$timeout', controller]); function controller($scope, $log, $timeout) { var dataChanged = false; + var modeChanged = false; + var disclaimerAcknowledged = null; + var savedHtml = ''; + var conversationId = null; $scope.datastoreInitialized = false; $scope.urlValid = false; $scope.urlInValid = false; @@ -19,6 +23,74 @@ NATIVE_WEBVIEW: 'Native webview' }; + function initializeMonaco() { + const editorElement = document.getElementById('monacoEditor'); + const baseUrl = window.location.origin + window.location.pathname.replace(/\\/g, '/').replace(/\/[^/]*$/, '/'); + + if (typeof monaco === 'undefined') { + const script = document.createElement('script'); + script.src = `${baseUrl}js/monaco-editor/min/vs/loader.js`; + script.onload = () => setupMonaco(); + document.head.appendChild(script); + } else { + setupMonaco(); + } + + function setupMonaco() { + require.config({ paths: { 'vs': `${baseUrl}js/monaco-editor/min/vs` } }); + require(['vs/editor/editor.main'], function () { + window.monacoEditorInstance = monaco.editor.create(editorElement, { + value: $scope.data.content.html || '', + language: 'html', + theme: 'vs-dark', + automaticLayout: true + }); + // check for disclaimer acknowledgment + disclaimerAcknowledged = $scope.data?.content?.disclaimerAcknowledged; + conversationId = $scope.data?.content?.conversationId || null; + toggleAssistantSectionVisibility(!!conversationId); + if (!disclaimerAcknowledged) { + window.dialogs.showDisclaimerDialog(() => { + dataChanged = true; + disclaimerAcknowledged = true; + $scope.saveData(); + }); + } + registerAutoSave(window.monacoEditorInstance); + }); + } + } + // Always auto-save on editor change + function registerAutoSave(editor, delay = 500) { + let timer = null; + function onChange() { + if (timer) clearTimeout(timer); + timer = setTimeout(function () { + $scope.data.content.html = editor.getValue(); + dataChanged = true; + $scope.saveData(); + $scope.$apply(); + }, delay); + } + editor.onDidChangeModelContent(onChange); + } + + // toggle assistant section visibility + function toggleAssistantSectionVisibility(visible) { + const assistantContainer = document.querySelector('.assistant-container'); + if (assistantContainer) { + if (visible) { + assistantContainer.style.display = 'block'; + assistantContainer.classList.add('visible'); + } else { + assistantContainer.classList.remove('visible'); + setTimeout(() => { + assistantContainer.style.display = 'none'; + }, 300); + } + } + } + buildfire.datastore.get(function(err, result) { if (err) return console.error('Error: ', err); @@ -26,30 +98,46 @@ if (isValidResult(result)) { $scope.data = result.data; - $scope.id = result.id; - - var type = typeof result.data.content.openInApp; - - if (type != 'undefined' && type != 'object') { - if (result.data.content.openInApp) { - $scope.data.content.view = $scope.viewType.NATIVE_IN_APP; - } else { - $scope.data.content.view = $scope.viewType.IN_APP_POPUP; - } - } - - // Backward compatibility: If viewType.NATIVE_IN_APP was selected before, default to viewSubtype.IFRAME - if ($scope.data.content.view === $scope.viewType.NATIVE_IN_APP && !$scope.data.content.viewSubtype) { - $scope.data.content.viewSubtype = $scope.viewSubtype.IFRAME; - } + // Ensure default for autoReload if it doesn't exist + if (typeof $scope.data.content.autoReload === 'undefined') { + $scope.data.content.autoReload = true; + } + // Ensure isCustomContent is boolean + $scope.data.content.isCustomContent = !!$scope.data.content.isCustomContent; + var autoReloadSwitch = document.getElementById('autoReloadSwitch'); + autoReloadSwitch.checked = $scope.data.content.autoReload; } else { + var defaultHTML = [ + '', + '', + '\t', + '\t\t', + '\t\t', + '\t\t', + '\t', + '\t', + '\t\t
Add your content here
', + '\t\t', + '\t', + '' + ].join('\n'); + $scope.data = { content: { url: '', - view: $scope.viewType.IN_APP_POPUP, - viewSubtype: null // Initialize viewSubtype - } - }; + html: defaultHTML, + isCustomContent: false, // Default to URL mode + autoReload: true // Default auto-reload to true + }, + }; + var autoReloadSwitch = document.getElementById('autoReloadSwitch'); + autoReloadSwitch.checked = true; } $scope.$watch('data', watchFn, true); @@ -59,12 +147,17 @@ } else { dataChanged = true; } - } + } if (!$scope.$$phase && !$scope.$root.$$phase) { $scope.$apply(); } + // Only initialize Monaco if already in custom content mode + if ($scope.data.content.isCustomContent) { + initializeMonaco(); + } + function isValidResult(res) { return res && res.data && !angular.equals({}, res.data) && res.id; } @@ -83,30 +176,40 @@ return console.warn("data didn't change"); } - if ($scope.frmMain.$invalid) return setDataInvalid(); + // set url data invalid, when url is invalid and the mode is not custom content + if ($scope.data.content.url && !$scope.isUrlValid($scope.data.content.url) && !$scope.data.content.isCustomContent) return setUrlDataInvalid(); var data = $scope.data; dataChanged = false; - setDataValid(); + // only set url data valid and prepend http when the mode is not custom content and the mode didn't change + if (!data.content.isCustomContent && !modeChanged) { + setUrlDataValid(); - if (!/^https?\:\/\//.test(data.content.url)) { - data.content.url = 'http://' + data.content.url; + if (!/^https?\:\/\//.test(data.content.url)) { + data.content.url = 'http://' + data.content.url; + } } - if (data.content.openInApp != undefined) { - data.content.openInApp = null; + if (data.content.isCustomContent) { + if (typeof disclaimerAcknowledged == 'boolean') { + data.content.disclaimerAcknowledged = disclaimerAcknowledged; + } + if (conversationId) { + data.content.conversationId = conversationId; + } } buildfire.datastore.save(data, function(err, result) { if (err || !result) { return $log.error('Error saving the widget details: ', err); } - + if ($scope.data.content.isCustomContent && $scope.data.content.autoReload) buildfire.messaging.sendMessageToWidget({ tag: 'reloadWebContent' }); + modeChanged = false; $log.info('Widget details saved'); }); - function setDataInvalid() { + function setUrlDataInvalid() { $log.warn('invalid data, details will not be saved'); $scope.urlValid = false; $scope.urlInValid = true; @@ -115,7 +218,7 @@ }, 3000); } - function setDataValid() { + function setUrlDataValid() { $scope.urlValid = true; $scope.urlInValid = false; $timeout(function() { @@ -128,42 +231,211 @@ $scope.saveData(); }; - $scope.changeViewType = function() { - dataChanged = true; + $scope.isUrlValid = function(url) { + return /[-a-zA-Z0-9@:%_\+.~#?&//=]{2,256}\.[a-z]{2,6}\b(\/[-a-zA-Z0-9@:%_\+.~#?!?\/?\w\/?&//=]*)?/.test(url); + }; + + $scope.onModeChange = function() { + if (!$scope.datastoreInitialized) return; - if ($scope.frmMain.$invalid) return; + // Initialize Monaco if switching to custom content mode + if ($scope.data.content.isCustomContent && !window.monacoEditorInstance) { + initializeMonaco(); + } + + // Check if switching to custom content with iFrame view + if ($scope.data.content.isCustomContent && + $scope.data.content.view === $scope.viewType.NATIVE_IN_APP && + ($scope.data.content.viewSubtype === $scope.viewSubtype.IFRAME + || !$scope.data.content.viewSubtype + )) { + + buildfire.dialog.show({ + title: 'Warning', + message: "Some websites may not load or function properly in an iframe due to Apple security policies or site-level restrictions from platforms like Google or Amazon. If the page doesn't display as expected, try a different viewing option in the Settings tab.", + isMessageHTML: false, + showCancelButton: true, + actionButtons: [ + { + text: 'Go to Settings', + type: 'success', + action: () => { + buildfire.navigation.navigateToTab({ tabTitle: 'Settings' }); + } + } + ] + }); + } + + dataChanged = true; + modeChanged = true; + $scope.saveData(); + }; - if ($scope.data.content.view === $scope.viewType.NATIVE_IN_APP && !$scope.data.content.viewSubtype) { - $scope.data.content.viewSubtype = $scope.viewSubtype.IFRAME; + // switch "undo" button visibility + function toggleUndoButtonVisibility(savedHtml) { + const undoBtn = document.getElementById('undoBtn'); + if (undoBtn) { + undoBtn.style.display = savedHtml ? 'block' : 'none'; } + } - var data = $scope.data; + // continue AI conversation + function continueAIConversation(prompt) { + const limit = 50000; + const html = window.monacoEditorInstance.getValue().trim(); + if (prompt) { + const userMessage = html + '\n\n' + prompt; + if (userMessage.length > limit) { + buildfire.dialog.alert({ + message: 'The combined content and prompt exceed the character limit for AI generation. Please reduce size and try again.', + }); + return; + } + buildfire.analytics.trackAction('webcontent-plugin-ai-update'); + window.ai.generateAiCode({ message: userMessage, conversationId: conversationId }, (err, result) => { + if (err) { + buildfire.dialog.alert({ + message: 'Error generating AI response.', + }); + return; + } + savedHtml = html; + setEditorContent(window.monacoEditorInstance, result.response); + toggleUndoButtonVisibility(savedHtml); + toggleAssistantToastVisibility(true); + }); + } + } - if (data.content.openInApp != undefined) { - data.content.openInApp = null; + // toggle assistant section visibility + function toggleAssistantSectionVisibility(visible) { + const assistantContainer = document.querySelector('.assistant-container'); + if (assistantContainer) { + if (visible) { + assistantContainer.style.display = 'block'; + assistantContainer.classList.add('visible'); + } else { + assistantContainer.classList.remove('visible'); + setTimeout(() => { + assistantContainer.style.display = 'none'; + }, 300); + } } - buildfire.datastore.save(data, function(err, result) { - if (err || !result) { - $log.error('Error saving the widget details: ', err); + } + + // toggle assistant toast visibility + function toggleAssistantToastVisibility(visible) { + const assistantToast = document.querySelector('.assistant-toast'); + if (assistantToast) { + if (visible) { + assistantToast.style.display = 'block'; + assistantToast.classList.add('visible'); + setTimeout(() => { + assistantToast.classList.remove('visible'); + setTimeout(() => { + assistantToast.style.display = 'none'; + }, 300); + }, 3000); } else { - $log.info('Widget details saved'); + assistantToast.classList.remove('visible'); + setTimeout(() => { + assistantToast.style.display = 'none'; + }, 300); } + } + } + + // set editor content while maintaining undo behavior (command + z) + function setEditorContent(editor, content) { + const fullRange = editor.getModel().getFullModelRange(); + const edit = { + range: fullRange, + text: content + }; + + editor.executeEdits('source-of-change', [edit]); + editor.pushUndoStop(); + } + (function() { + const assistantPromptEl = document.getElementById('assistantPrompt'); + const undoBtnEl = document.getElementById('undoBtn'); + const createWithAiBtnEl = document.getElementById('createWithAiBtn'); + const reloadBtnEl = document.getElementById('reloadEditorBtn'); + const autoReloadSwitchEl = document.getElementById('autoReloadSwitch'); + const assistantToastDismissEl = document.querySelector('.dismiss-toast-icon'); + + reloadBtnEl.addEventListener('click', function () { + // send reload message to widget on button click + buildfire.messaging.sendMessageToWidget({ tag: 'reloadWebContent' }); }); - }; - $scope.openMethodChanged = function() { - dataChanged = true; - buildfire.datastore.save($scope.data, function(err, result) { - if (err || !result) { - $log.error('Error saving the widget details: ', err); - } else { - $log.info('Widget details saved'); + // Send message to widget and save when autoReloadSwitch value changes + autoReloadSwitchEl.addEventListener('change', function () { + $scope.data.content.autoReload = autoReloadSwitchEl.checked; + dataChanged = true; + $scope.saveData(); + }); + + createWithAiBtnEl.addEventListener('click', function () { + const html = window.monacoEditorInstance.getValue().trim(); + window.dialogs.showAiDialog({conversationId}, (err, result) => { + if (err) { + buildfire.dialog.toast({ + message: err, + }); + } else { + savedHtml = html; + if (result) { + setEditorContent(window.monacoEditorInstance, result.response); + toggleUndoButtonVisibility(savedHtml); + toggleAssistantSectionVisibility(true); + if (result.conversationId) { + conversationId = result.conversationId; + } + } + } + }); + }); + + undoBtnEl.addEventListener('click', function () { + if (savedHtml && window.monacoEditorInstance) { + window.monacoEditorInstance.setValue(savedHtml); + savedHtml = ''; } + toggleUndoButtonVisibility(savedHtml); }); - }; - $scope.isUrlValid = function(url) { - return /[-a-zA-Z0-9@:%_\+.~#?&//=]{2,256}\.[a-z]{2,6}\b(\/[-a-zA-Z0-9@:%_\+.~#?!?\/?\w\/?&//=]*)?/.test(url); - }; - } + if (assistantToastDismissEl) { + assistantToastDismissEl.addEventListener('click', function () { + toggleAssistantToastVisibility(false); + }); + } + + assistantPromptEl.addEventListener('keydown', function(event) { + // Check if the pressed key is Enter + if (event.key === 'Enter') { + + // Check for SHIFT + ENTER + if (event.shiftKey) { + console.log('Shift + Enter pressed: Adding a new line (default action)'); + } else { + // ENTER ONLY: used to submit + event.preventDefault(); + console.log('Enter pressed: Submitting the message'); + if (assistantPromptEl.value.trim()) { + continueAIConversation(assistantPromptEl.value.trim()); + this.value = ''; + this.style.height = '40px'; + } + } + } + }); + assistantPromptEl.oninput = function () { + this.style.height = '40px'; + const newHeight = Math.min(this.scrollHeight, 120); + this.style.height = `${newHeight}px`; + }; + })(); + } })(window.angular, window.buildfire); diff --git a/src/control/content/assets/css/cpIcons.css b/src/control/content/assets/css/cpIcons.css new file mode 100644 index 0000000..f37d0c5 --- /dev/null +++ b/src/control/content/assets/css/cpIcons.css @@ -0,0 +1,104 @@ +@font-face { + font-family: 'icomoon'; + src: url('../fonts/icomoon.eot?pmhnzd'); + src: url('../fonts/icomoon.eot?pmhnzd#iefix') format('embedded-opentype'), + url('../fonts/icomoon.ttf?pmhnzd') format('truetype'), + url('../fonts/icomoon.woff?pmhnzd') format('woff'), + url('../fonts/icomoon.svg?pmhnzd#icomoon') format('svg'); + font-weight: normal; + font-style: normal; +} + +[class^="icon-"], [class*=" icon-"] { + /* use !important to prevent issues with browser extensions that change fonts */ + font-family: 'icomoon' !important; + speak: none; + font-style: normal; + font-weight: normal; + font-variant: normal; + text-transform: none; + line-height: 1; + + /* Better Font Rendering =========== */ + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.icon-magnifier:before { + content: "\e923"; +} +.icon-funnel:before { + content: "\e925"; +} +.icon-pencil:before { + content: "\eb619"; +} +.icon-pencil3:before { + content: "\e618"; +} +.icon-cog:before { + content: "\e602"; +} +.icon-wrench:before { + content: "\eb900"; +} +.icon-file-empty:before { + content: "\e905"; +} +.icon-folder:before { + content: "\eb901"; +} +.icon-picture:before { + content: "\e70e"; +} +.icon-user:before { + content: "\e71e"; +} +.icon-users2:before { + content: "\e723"; +} +.icon-download2:before { + content: "\eb902"; +} +.icon-upload2:before { + content: "\eb903"; +} +.icon-cross:before { + content: "\e60e1"; +} +.icon-menu:before { + content: "\e60c"; +} +.icon-check:before { + content: "\e60d"; +} +.icon-cross2:before { + content: "\e60e"; +} +.icon-plus:before { + content: "\e907"; +} +.icon-minus:before { + content: "\eb907"; +} +.icon-chevron-up:before { + content: "\e60f1"; +} +.icon-chevron-down:before { + content: "\e60f"; +} +.icon-chevron-left:before { + content: "\e610"; +} +.icon-chevron-right:before { + content: "\e625"; +} +.icon-sort-amount-asc:before { + content: "\eb912"; +} +.icon-sort-amount-desc:before { + content: "\eb913"; +} +.icon-ellipsis:before { + content: "\e620"; +} \ No newline at end of file diff --git a/src/control/content/assets/css/dialogs.css b/src/control/content/assets/css/dialogs.css new file mode 100644 index 0000000..bcb73ec --- /dev/null +++ b/src/control/content/assets/css/dialogs.css @@ -0,0 +1,160 @@ +.dialog-backdrop { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: rgba(16, 16, 16, 0.20); + z-index: 34; +} + +.dialog-container { + left: 50%; + position: fixed; + top: 50%; + transform: translate(-50%, -50%); + width: 100%; + z-index: 35; + max-width: 600px; + opacity: 0; +} + +.dialog { + background: #fff; + border-radius: 15px; + display: flex; + flex-direction: column; + width: 100%; + box-shadow: 0 0 18.574px 0 rgba(0, 0, 0, 0.05); +} + +.dialog-header { + align-items: center; + border-bottom: 1px solid rgba(16,16,16,0.15); + display: flex; + justify-content: space-between; + padding: 14px 20px; +} + +.dialog-title { + color: #101010; + font-size: 15px; + font-style: normal; + font-weight: 500; + letter-spacing: -0.15px; + line-height: normal; +} + +.dialog-body { + padding: 20px; +} + +.dialog-body p { + color: #101010; + font-size: 15px; + font-style: normal; + font-weight: 400; + line-height: 150%; + letter-spacing: -0.15px; +} + +.dialog-body .italic { + font-style: italic; +} + +.dialog-footer { + display: flex; + justify-content: flex-end; + align-items: center; + padding: 16px; + border-top: 1px solid rgba(16, 16, 16, 0.15); +} + +.dialog-action { + background: #101010; + border-radius: 8px; + color: #FFFFFF; + font-size: 15px; + font-style: normal; + font-weight: 500; + letter-spacing: -0.3px; + line-height: 100%; + padding: 11px 40px; +} + +.dialog-action:disabled { + cursor: default; + opacity: 0.2; + pointer-events: none; + user-select: none; +} + +.checkbox label { + color: #000; + font-size: 15px !important; + font-style: normal; + font-weight: 400; + line-height: normal; +} + +.ai-dialog .dialog-header { + border-bottom: none; +} + +.ai-prompt { + border-radius: 5px; + border: 1px solid rgba(16, 16, 16, 0.15); + display: block; + margin-bottom: 20px; + padding: 17px; + resize: none; + width: 100%; +} + +.ai-prompt::placeholder { + color: rgba(16, 16, 16, 0.30); + font-size: 15px; + font-style: normal; + font-weight: 500; + letter-spacing: -0.3px; + line-height: 100%; +} + +.ai-dialog .ai-examples li { + background: #F5F5F5; + border-radius: 100px; + color: #101010; + font-size: 15px; + font-style: normal; + font-weight: 400; + letter-spacing: -0.3px; + line-height: 130%; + margin-bottom: 13px; + padding: 12px 20px; + display: flex; + justify-content: center; + align-items: center; + width: 100%; + cursor: pointer; + transition: all 0.3s ease-in-out; +} + +.ai-dialog .ai-examples li:hover { + background: #E0E0E0; +} + +.ai-dialog .ai-examples-title { + color: #101010; + font-size: 15px; + font-style: normal; + font-weight: 500; + line-height: 100%; + letter-spacing: -0.3px; + margin: 20px 0; +} + +.ai-dialog .create-assistant-container { + align-items: center; + display: flex; + justify-content: flex-end; +} \ No newline at end of file diff --git a/src/control/content/assets/css/style.css b/src/control/content/assets/css/style.css new file mode 100644 index 0000000..55e1c5d --- /dev/null +++ b/src/control/content/assets/css/style.css @@ -0,0 +1,298 @@ +body .main-form { + font-family: 'Inter_Medium','Helvetica','Sans-Serif','Arial'; + font-size: 13px; + font-weight: 500; + color: #101010; +} +.button-switch { + margin-bottom: 30px; +} +.button-switch .radio { + margin-top: 0; +} +.button-switch .radio label, .note { + font-family: 'Inter_Regular','Helvetica','Sans-Serif','Arial'; + font-size: 13px; + font-weight: 400; + color: #5F5F5F; +} +p.note { + background: #F5F5F5; + color: #101010; + font-style: normal; + letter-spacing: -0.12px; + line-height: 150%; + margin-bottom: 20px; + padding: 10px 15px; + border-radius: 5px; +} +#urlContent .item input { + margin-left: 100px; +} +.alerts-wrapper { + width: calc(100% - 125px) +} +#customContent { + margin-bottom: 70px; +} +#customContent .button-switch { + margin: 30px 10px 0 0; +} +#customContent .button-switch .text { + color: #000; + font-size: 12px; + font-style: normal; + font-weight: 500; + line-height: normal; +} +#customContent .button-switch > label { + cursor: pointer; + height: 0; + position: relative; + width: 40px; + text-align: left; +} +#customContent .button-switch > label::before { + background: #909090; + border-radius: 18px; + content: ""; + height: 27px; + margin-top: -13.5px; + position: absolute; + opacity: 0.3; + transition: all 0.4s ease-in-out; + width: 46px; +} +#customContent .button-switch > label::after { + background: #fff; + border-radius: 16px; + box-shadow: 0 0 5px rgb(0 0 0 / 30%); + content: ""; + height: 24px; + left: 0; + margin-top: -9px; + position: absolute; + top: -3px; + transition: all 0.3s ease-in-out; + width: 24px; +} +#customContent .button-switch > input[type="checkbox"]:checked + label::before { + background: inherit; + opacity: 0.5; +} +#customContent .button-switch > input[type="checkbox"] { + display: none; + margin: 4px 0 0; +} +#customContent .button-switch > input[type="checkbox"]:checked + label::after { + background: inherit; + left: 23px; +} +#customContent .button-switch label.label-success { + background-color: #47c3ff; +} +.radio label { + padding-left: 12px; +} +.flex-between { + display: flex; + align-items: center; + justify-content: space-between; +} +.flex-end { + display: flex; + align-items: center; + justify-content: flex-end; +} +.radio-block:first-child { + margin-right: 42px; +} +.btn.btn-success { + padding: 6px 24px; + margin-left: 15px; + background-color: #101010; +} +.btn.btn-success:hover, .btn.btn-success:focus { + background-color: #343434; +} +.editor { + background: #1f1f1f; + border-radius: 10px; + height: 75vh; + min-height: 465px; + position: relative; + margin-bottom: 20px; +} +.assistant-container { + bottom: 15px; + left: 12px; + position: absolute; + right: 12px; + z-index: -1; + opacity: 0; + visibility: hidden; + transition: opacity 0.3s ease, visibility 0s 0.3s; + display: none; +} +.assistant-toast { + backdrop-filter: blur(10px); + background: rgba(255, 255, 255, 0.05); + border-radius: 5px; + color: rgba(255, 255, 255, 0.70); + margin-bottom: 10px; + opacity: 0; + padding: 14px; + position: relative; + transition: opacity 0.3s ease, visibility 0s 0.3s; + visibility: hidden; + z-index: -1; + width: 100%; + display: none; +} +.dismiss-toast-icon { + cursor: pointer; + color: #fff; + font-size: 16px; + position: absolute; + top: 14px; + right: 14px; +} +.assistant-textarea { + -ms-overflow-style: none; + background: #535353; + border-radius: 5px; + border: 1px solid rgba(16, 16, 16, 0.15); + box-sizing: border-box; + color: rgba(255, 255, 255, 0.70); + height: 40px; + line-height: 20px; + max-height: 120px; + padding: 10px 14px; + resize: none; + scrollbar-width: none; + width: 100%; +} +.assistant-textarea::placeholder { + padding-top: 3px; +} +.assistant-textarea::-webkit-scrollbar { + display: none; +} +.assistant-textarea::placeholder { + color: rgba(255, 255, 255, 0.5); + font-style: italic; + font-weight: 500; + line-height: 12px; + letter-spacing: -0.24px; +} +#monacoEditor { + height: 100%; +} +.bold { + font-weight: 600 !important; +} +.monaco-editor, +.monaco-editor .overflow-guard { + border-radius: 10px; +} +.btns-container { + max-height: 33px; +} +#customContent hr { + margin-top: 16px; + margin-bottom: 23px; +} +.btn { + border-radius: 7px; + border: none; + color: #101010; + font-size: 12px; + font-style: normal; + font-weight: 500; + height: 100%; + padding: 12px 20px; + transition: all 0.3s ease-in-out; +} +.create-ai-btn { + background: linear-gradient(256deg, #f5f5f5 -19.73%, #47c3ff 286.39%); + letter-spacing: -0.24px; + position: relative; + z-index: 1; + display: flex; + align-items: center; + gap: 8px; + padding: 7px 20px !important; +} +.create-ai-btn::before { + background: linear-gradient(256deg, #e0e0e0 -19.73%, #1aa1ff 286.39%); + border-radius: 7px; + content: ""; + height: 100%; + left: 0; + position: absolute; + top: 0; + transition: opacity 0.3s ease-in-out; + width: 100%; + z-index: -1; +} +.link-btn { + background-color: #ffffff; + border-radius: 5px; + color: #101010; + letter-spacing: -0.12px; + line-height: 150%; + margin-right: 10px; +} +.link-btn:hover { + background: #f5f5f5; + color: #101010; + cursor: pointer; +} +.run-code-btn { + background: #343434; + border-radius: 5px; + color: #ffffff; + letter-spacing: -0.24px; + line-height: normal; +} +.run-code-btn:hover { + background: #101010; +} +.hide-scrollbar { + -ms-overflow-style: none; /* IE and Edge */ + scrollbar-width: none; /* Firefox */ +} +.hide-scrollbar::-webkit-scrollbar { + display: none; /* Chrome, Safari, Opera */ +} +.editor-toast { + align-items: center; + backdrop-filter: blur(10px); + background: rgba(255, 255, 255, 0.05); + border-radius: 5px; + color: rgba(255, 255, 255, 0.5); + display: flex; + justify-content: space-between; + max-width: 100%; + padding: 14px; +} +.close-icon { + color: #101010; + cursor: pointer; + font-size: 18px; +} +.margin-left-ten { + margin-left: 10px !important; +} +.visibility-hidden { + visibility: hidden; +} +#undoBtn { + display: none; +} +.visible { + opacity: 1 !important; + transition-delay: 0s; + visibility: visible !important; + z-index: 5 !important; +} \ No newline at end of file diff --git a/src/control/content/assets/fonts/icomoon.eot b/src/control/content/assets/fonts/icomoon.eot new file mode 100644 index 0000000000000000000000000000000000000000..5f2daf9cea2cbf829d1560b629ca6a57fdacfbb7 GIT binary patch literal 7268 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 literal 0 HcmV?d00001 diff --git a/src/control/content/assets/fonts/icomoon.svg b/src/control/content/assets/fonts/icomoon.svg new file mode 100644 index 0000000..e5fb59c --- /dev/null +++ b/src/control/content/assets/fonts/icomoon.svg @@ -0,0 +1,36 @@ + + + +Generated by IcoMoon + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/control/content/assets/fonts/icomoon.ttf b/src/control/content/assets/fonts/icomoon.ttf new file mode 100644 index 0000000000000000000000000000000000000000..05858de2ea2a3674d535880e333daf251e79b699 GIT binary patch literal 7104 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 V{2G^HQ&NCwR{-phYO;qu{{w~{dX)eG literal 0 HcmV?d00001 diff --git a/src/control/content/assets/images/ai_icon.svg b/src/control/content/assets/images/ai_icon.svg new file mode 100644 index 0000000..8379af1 --- /dev/null +++ b/src/control/content/assets/images/ai_icon.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/control/content/index.html b/src/control/content/index.html index 715c5c8..ef76743 100644 --- a/src/control/content/index.html +++ b/src/control/content/index.html @@ -1,146 +1,110 @@  - - - - content - - - - + + + + content + + + + + - - - - - - - -
- -
-
- URL -
-
-
- + + + + + + + + + +
+
+
+
+ Content Type +
+
+ + +
+
+ + +
+
+
+
-
- + +
+

You can customize how this webpage opens in the app from the Settings tab

+
+ URL + + +
+ +
+
+
URL + successfully validated +
+
+ Invalid Url +
+
+
-
-
-
-
-

Seems like - your url is not valid ! But if you - want, - you can - still - add it - to your plugin.

-
-
+ +
+

+ + Note: + + Always save your code externally as we don't keep versions. +

+
+
+
+
Updated code. + +
+ +
+
-
-
-
URL - successfully validated -
-
- Invalid Url -
-
-
-
-
-
- Native Webview Preview - Popup Window Preview - External Browser Preview -
-
-
- - -
-
- - -
-
-
- - +
+
+ + Undo +
+
-
- - +
+
+
Auto-Run Code
+ +
-
- Some websites may not work correctly when opened inside the app, especially in the built-in browser view. This is often due to Apple’s security rules or website settings from companies like Google and Amazon that block their pages from being shown in this way. If your webpage doesn’t load or work as expected, we recommend trying one of the other viewing options available. -
-
- Native Webview is a new feature that works around iFrame issues. If the iFrame option isn’t working, try using Native Webview instead. -
Note: This feature will only work for apps with builds submitted to Apple App Store and Google Play Store after 5, August 2025. For older builds the app will default to "In Popup Window" option.
-
-
- - -
-
-
For the best experience, link to mobile-optimized and secure (HTTPS) content. If your webpage includes payment processing, it must open outside of the app—otherwise, Apple may reject your app during review. Also, be aware that some websites only display their mobile layout on actual mobile devices.
-
Note: If you’re accepting payments, use a Deep Link to redirect users back into your app after the transaction is complete.
-
-
-
-
- + diff --git a/src/control/content/js/ai/ai.js b/src/control/content/js/ai/ai.js new file mode 100644 index 0000000..77aa3b6 --- /dev/null +++ b/src/control/content/js/ai/ai.js @@ -0,0 +1,46 @@ +const PROMPT_ID = 'pmpt_6938b78842888194b3b1401fee724f360e7139e8dfaae44f'; +window.ai = { + persistentConversation: null, + init: function() { + window.ai.persistentConversation = new buildfire.ai.persistentConversation(); + }, + generateAiCode: function(options, callback) { + window.ai.persistentConversation.fetchTextResponse({ + message: options.message, + promptId: PROMPT_ID, + conversationId: options.conversationId || null, + loadingMessage: 'Your code is being generated. This may take a couple minutes', + }, (err, res) => { + if (err) return callback(err); + + if (!res || !res.data || !res.data.response || !res.data.response.length || + !window.ai._extractHtmlContent(res.data.response) + ) { + return callback('No response from AI'); + } + const aiResponse = window.ai._extractHtmlContent(res.data.response); + callback(null, {response: aiResponse, conversationId: res.data.conversationId}); + }); + }, + deleteConversation: function(conversationId, callback) { + window.ai.persistentConversation.deleteConversation({conversationId}, (err, res) => { + if (err) { + if (callback) callback(err); + return; + } + if (callback) callback(null, res); + }); + }, + + _extractHtmlContent: function(htmlString) { + // Remove everything before or + let result = htmlString.replace(/^[\s\S]*?(|)/i, '$1'); + + // Remove everything after + result = result.replace(/(<\/html>)[\s\S]*$/i, '$1'); + + return result; + } +}; + +window.ai.init(); diff --git a/src/control/content/js/dialogs/dialogs.js b/src/control/content/js/dialogs/dialogs.js new file mode 100644 index 0000000..24066de --- /dev/null +++ b/src/control/content/js/dialogs/dialogs.js @@ -0,0 +1,169 @@ +window.dialogs = { + showDisclaimerDialog: function (callback) { + function closeDialog() { + if (callback) callback(); + if (backdrop) { + document.body.removeChild(backdrop); + } + if (dialogContainer) { + document.body.removeChild(dialogContainer); + } + } + + const backdrop = document.createElement('div'); + backdrop.classList.add('dialog-backdrop'); + + const dialogContainer = document.createElement('div'); + dialogContainer.classList.add('dialog-container'); + dialogContainer.innerHTML = ` +
+
+
Create your own plugin
+
+
+

⚠️ Warning

+

+ We don't review, test, or guarantee the performance or security of custom code. By using this plugin, you're taking ownership of how your custom code behaves in your app. +

+

+ Any technical issues that may arise from custom code will not be covered by our support team. +

+
+
+ + +
+
+
+ +
+ `; + + document.body.appendChild(backdrop); + document.body.appendChild(dialogContainer); + + const checkbox = dialogContainer.querySelector('#disclaimerCheckbox'); + const startBtn = dialogContainer.querySelector('#startCodingBtn'); + + document.fonts.ready.then(() => { + dialogContainer.style.opacity = '1'; + }); + if (checkbox && startBtn) { + checkbox.addEventListener('change', function () { + startBtn.disabled = !checkbox.checked; + }); + startBtn.addEventListener('click', function () { + closeDialog(); + }); + } + }, + showAiDialog: function (options, callback) { + const limit = 10000; + showDialog(); + + function closeDialog(result) { + const backdrop = document.getElementById('aiDialogBackdrop'); + const dialogContainer = document.getElementById('aiDialogContainer'); + if (callback) callback(null, result); + if (backdrop) { + document.body.removeChild(backdrop); + } + if (dialogContainer) { + document.body.removeChild(dialogContainer); + } + } + + function showDialog() { + const backdrop = document.createElement('div'); + backdrop.classList.add('dialog-backdrop'); + backdrop.id = 'aiDialogBackdrop'; + + const dialogContainer = document.createElement('div'); + dialogContainer.classList.add('dialog-container'); + dialogContainer.id = 'aiDialogContainer'; + dialogContainer.innerHTML = ` +
+
+
What are you looking to create?
+ +
+
+ +
+ +
+
Examples of Prompts
+
    +
  • Create a weather plugin that fetches data from a public API and displays current weather conditions.
  • +
  • Build a quiz plugin that presents multiple-choice questions and provides feedback on answers.
  • +
  • Design a testimonials plugin that displays user reviews in a carousel format.
  • +
+
+
+ `; + + document.body.appendChild(backdrop); + document.body.appendChild(dialogContainer); + + const generateAiBtn = dialogContainer.querySelector('#generateAiBtn'); + const aiPrompt = dialogContainer.querySelector('.ai-prompt'); + aiPrompt.focus(); + + generateAiBtn.addEventListener('click', function () { + if (!aiPrompt || !aiPrompt.value || !aiPrompt.value.trim().length) { + buildfire.dialog.toast({ + message: 'Please enter a prompt for AI generation.', + }); + return; + } + if (aiPrompt.value.length >= limit) { + buildfire.dialog.alert({ + message: 'Prompt exceeds the character limit for AI generation. Please reduce size and try again.', + }); + return; + } + buildfire.analytics.trackAction('webcontent-plugin-ai-generate'); + window.ai.generateAiCode({ message: aiPrompt.value }, (err, res) => { + if (err || !res) { + buildfire.dialog.alert({ + message: 'Error generating AI response.', + }); + return; + } + if (options.conversationId) { + window.ai.deleteConversation(options.conversationId); + } + closeDialog(res); + }); + }); + + document.fonts.ready.then(() => { + dialogContainer.style.opacity = '1'; + }); + const closeIcon = dialogContainer.querySelector('.close-icon'); + if (closeIcon) { + closeIcon.addEventListener('click', function () { + closeDialog(); + }); + } + + // Add click listeners to all example
  • items + const exampleItems = dialogContainer.querySelectorAll('.ai-examples li'); + exampleItems.forEach(function (item) { + item.style.cursor = 'pointer'; + item.addEventListener('click', function () { + aiPrompt.value = item.textContent; + aiPrompt.focus(); + }); + }); + } + } +}; \ No newline at end of file diff --git a/src/control/content/js/monaco-editor/min/vs/base/browser/ui/codicons/codicon/codicon.ttf b/src/control/content/js/monaco-editor/min/vs/base/browser/ui/codicons/codicon/codicon.ttf new file mode 100644 index 0000000000000000000000000000000000000000..27ee4c68caef1cd22342f481420d6dbda1648012 GIT binary patch literal 80340 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%0DOF`LEiy*`&i@0 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:typeof process<"u"?process.platform==="win32":!1}}W.Environment=n})(ie||(ie={}));var ie;(function(W){class n{constructor(d,f,p){this.type=d,this.detail=f,this.timestamp=p}}W.LoaderEvent=n;class i{constructor(d){this._events=[new n(1,"",d)]}record(d,f){this._events.push(new n(d,f,W.Utilities.getHighPerformanceTimestamp()))}getEvents(){return this._events}}W.LoaderEventRecorder=i;class x{record(d,f){}getEvents(){return[]}}x.INSTANCE=new x,W.NullLoaderEventRecorder=x})(ie||(ie={}));var ie;(function(W){class n{static fileUriToFilePath(x,A){if(A=decodeURI(A).replace(/%23/g,"#"),x){if(/^file:\/\/\//.test(A))return A.substr(8);if(/^file:\/\//.test(A))return A.substr(5)}else if(/^file:\/\//.test(A))return A.substr(7);return A}static startsWith(x,A){return x.length>=A.length&&x.substr(0,A.length)===A}static endsWith(x,A){return x.length>=A.length&&x.substr(x.length-A.length)===A}static containsQueryString(x){return/^[^\#]*\?/gi.test(x)}static isAbsolutePath(x){return/^((http:\/\/)|(https:\/\/)|(file:\/\/)|(\/))/.test(x)}static forEachProperty(x,A){if(x){let d;for(d in x)x.hasOwnProperty(d)&&A(d,x[d])}}static isEmpty(x){let A=!0;return n.forEachProperty(x,()=>{A=!1}),A}static recursiveClone(x){if(!x||typeof x!="object"||x instanceof RegExp||!Array.isArray(x)&&Object.getPrototypeOf(x)!==Object.prototype)return x;let A=Array.isArray(x)?[]:{};return n.forEachProperty(x,(d,f)=>{f&&typeof f=="object"?A[d]=n.recursiveClone(f):A[d]=f}),A}static generateAnonymousModule(){return"===anonymous"+n.NEXT_ANONYMOUS_ID+++"==="}static isAnonymousModule(x){return n.startsWith(x,"===anonymous")}static getHighPerformanceTimestamp(){return this.PERFORMANCE_NOW_PROBED||(this.PERFORMANCE_NOW_PROBED=!0,this.HAS_PERFORMANCE_NOW=W.global.performance&&typeof W.global.performance.now=="function"),this.HAS_PERFORMANCE_NOW?W.global.performance.now():Date.now()}}n.NEXT_ANONYMOUS_ID=1,n.PERFORMANCE_NOW_PROBED=!1,n.HAS_PERFORMANCE_NOW=!1,W.Utilities=n})(ie||(ie={}));var ie;(function(W){function n(A){if(A instanceof Error)return A;const d=new Error(A.message||String(A)||"Unknown Error");return A.stack&&(d.stack=A.stack),d}W.ensureError=n;class i{static validateConfigurationOptions(d){function f(p){if(p.phase==="loading"){console.error('Loading "'+p.moduleId+'" failed'),console.error(p),console.error("Here are the modules that depend on it:"),console.error(p.neededBy);return}if(p.phase==="factory"){console.error('The factory function of "'+p.moduleId+'" has thrown an exception'),console.error(p),console.error("Here are the modules that depend on it:"),console.error(p.neededBy);return}}if(d=d||{},typeof d.baseUrl!="string"&&(d.baseUrl=""),typeof d.isBuild!="boolean"&&(d.isBuild=!1),typeof d.paths!="object"&&(d.paths={}),typeof d.config!="object"&&(d.config={}),typeof d.catchError>"u"&&(d.catchError=!1),typeof d.recordStats>"u"&&(d.recordStats=!1),typeof d.urlArgs!="string"&&(d.urlArgs=""),typeof d.onError!="function"&&(d.onError=f),Array.isArray(d.ignoreDuplicateModules)||(d.ignoreDuplicateModules=[]),d.baseUrl.length>0&&(W.Utilities.endsWith(d.baseUrl,"/")||(d.baseUrl+="/")),typeof d.cspNonce!="string"&&(d.cspNonce=""),typeof d.preferScriptTags>"u"&&(d.preferScriptTags=!1),d.nodeCachedData&&typeof d.nodeCachedData=="object"&&(typeof d.nodeCachedData.seed!="string"&&(d.nodeCachedData.seed="seed"),(typeof d.nodeCachedData.writeDelay!="number"||d.nodeCachedData.writeDelay<0)&&(d.nodeCachedData.writeDelay=1e3*7),!d.nodeCachedData.path||typeof d.nodeCachedData.path!="string")){const p=n(new Error("INVALID cached data configuration, 'path' MUST be set"));p.phase="configuration",d.onError(p),d.nodeCachedData=void 0}return d}static mergeConfigurationOptions(d=null,f=null){let p=W.Utilities.recursiveClone(f||{});return W.Utilities.forEachProperty(d,(c,a)=>{c==="ignoreDuplicateModules"&&typeof p.ignoreDuplicateModules<"u"?p.ignoreDuplicateModules=p.ignoreDuplicateModules.concat(a):c==="paths"&&typeof p.paths<"u"?W.Utilities.forEachProperty(a,(m,e)=>p.paths[m]=e):c==="config"&&typeof p.config<"u"?W.Utilities.forEachProperty(a,(m,e)=>p.config[m]=e):p[c]=W.Utilities.recursiveClone(a)}),i.validateConfigurationOptions(p)}}W.ConfigurationOptionsUtil=i;class x{constructor(d,f){if(this._env=d,this.options=i.mergeConfigurationOptions(f),this._createIgnoreDuplicateModulesMap(),this._createSortedPathsRules(),this.options.baseUrl===""&&this.options.nodeRequire&&this.options.nodeRequire.main&&this.options.nodeRequire.main.filename&&this._env.isNode){let p=this.options.nodeRequire.main.filename,c=Math.max(p.lastIndexOf("/"),p.lastIndexOf("\\"));this.options.baseUrl=p.substring(0,c+1)}}_createIgnoreDuplicateModulesMap(){this.ignoreDuplicateModulesMap={};for(let d=0;d{Array.isArray(f)?this.sortedPathsRules.push({from:d,to:f}):this.sortedPathsRules.push({from:d,to:[f]})}),this.sortedPathsRules.sort((d,f)=>f.from.length-d.from.length)}cloneAndMerge(d){return new x(this._env,i.mergeConfigurationOptions(d,this.options))}getOptionsLiteral(){return this.options}_applyPaths(d){let f;for(let p=0,c=this.sortedPathsRules.length;pthis.triggerCallback(m),s=>this.triggerErrorback(m,s))}triggerCallback(a){let m=this._callbackMap[a];delete this._callbackMap[a];for(let e=0;e{a.removeEventListener("load",r),a.removeEventListener("error",s)},r=o=>{h(),m()},s=o=>{h(),e(o)};a.addEventListener("load",r),a.addEventListener("error",s)}load(a,m,e,h){if(/^node\|/.test(m)){let r=a.getConfig().getOptionsLiteral(),s=f(a.getRecorder(),r.nodeRequire||W.global.nodeRequire),o=m.split("|"),u=null;try{u=s(o[1])}catch(S){h(S);return}a.enqueueDefineAnonymousModule([],()=>u),e()}else{let r=document.createElement("script");r.setAttribute("async","async"),r.setAttribute("type","text/javascript"),this.attachListeners(r,e,h);const{trustedTypesPolicy:s}=a.getConfig().getOptionsLiteral();s&&(m=s.createScriptURL(m)),r.setAttribute("src",m);const{cspNonce:o}=a.getConfig().getOptionsLiteral();o&&r.setAttribute("nonce",o),document.getElementsByTagName("head")[0].appendChild(r)}}}function x(c){const{trustedTypesPolicy:a}=c.getConfig().getOptionsLiteral();try{return(a?self.eval(a.createScript("","true")):new Function("true")).call(self),!0}catch{return!1}}class A{constructor(){this._cachedCanUseEval=null}_canUseEval(a){return this._cachedCanUseEval===null&&(this._cachedCanUseEval=x(a)),this._cachedCanUseEval}load(a,m,e,h){if(/^node\|/.test(m)){const r=a.getConfig().getOptionsLiteral(),s=f(a.getRecorder(),r.nodeRequire||W.global.nodeRequire),o=m.split("|");let u=null;try{u=s(o[1])}catch(S){h(S);return}a.enqueueDefineAnonymousModule([],function(){return u}),e()}else{const{trustedTypesPolicy:r}=a.getConfig().getOptionsLiteral();if(!(/^((http:)|(https:)|(file:))/.test(m)&&m.substring(0,self.origin.length)!==self.origin)&&this._canUseEval(a)){fetch(m).then(o=>{if(o.status!==200)throw new Error(o.statusText);return o.text()}).then(o=>{o=`${o} +//# sourceURL=${m}`,(r?self.eval(r.createScript("",o)):new Function(o)).call(self),e()}).then(void 0,h);return}try{r&&(m=r.createScriptURL(m)),importScripts(m),e()}catch(o){h(o)}}}}class d{constructor(a){this._env=a,this._didInitialize=!1,this._didPatchNodeRequire=!1}_init(a){this._didInitialize||(this._didInitialize=!0,this._fs=a("fs"),this._vm=a("vm"),this._path=a("path"),this._crypto=a("crypto"))}_initNodeRequire(a,m){const{nodeCachedData:e}=m.getConfig().getOptionsLiteral();if(!e||this._didPatchNodeRequire)return;this._didPatchNodeRequire=!0;const h=this,r=a("module");function s(o){const u=o.constructor;let S=function(N){try{return o.require(N)}finally{}};return S.resolve=function(N,P){return u._resolveFilename(N,o,!1,P)},S.resolve.paths=function(N){return u._resolveLookupPaths(N,o)},S.main=process.mainModule,S.extensions=u._extensions,S.cache=u._cache,S}r.prototype._compile=function(o,u){const S=r.wrap(o.replace(/^#!.*/,"")),L=m.getRecorder(),N=h._getCachedDataPath(e,u),P={filename:u};let E;try{const y=h._fs.readFileSync(N);E=y.slice(0,16),P.cachedData=y.slice(16),L.record(60,N)}catch{L.record(61,N)}const v=new h._vm.Script(S,P),l=v.runInThisContext(P),b=h._path.dirname(u),g=s(this),w=[this.exports,g,this,u,b,process,Me,Buffer],M=l.apply(this.exports,w);return h._handleCachedData(v,S,N,!P.cachedData,m),h._verifyCachedData(v,S,N,E,m),M}}load(a,m,e,h){const r=a.getConfig().getOptionsLiteral(),s=f(a.getRecorder(),r.nodeRequire||W.global.nodeRequire),o=r.nodeInstrumenter||function(S){return S};this._init(s),this._initNodeRequire(s,a);let u=a.getRecorder();if(/^node\|/.test(m)){let S=m.split("|"),L=null;try{L=s(S[1])}catch(N){h(N);return}a.enqueueDefineAnonymousModule([],()=>L),e()}else{m=W.Utilities.fileUriToFilePath(this._env.isWindows,m);const S=this._path.normalize(m),L=this._getElectronRendererScriptPathOrUri(S),N=!!r.nodeCachedData,P=N?this._getCachedDataPath(r.nodeCachedData,m):void 0;this._readSourceAndCachedData(S,P,u,(E,v,l,b)=>{if(E){h(E);return}let g;v.charCodeAt(0)===d._BOM?g=d._PREFIX+v.substring(1)+d._SUFFIX:g=d._PREFIX+v+d._SUFFIX,g=o(g,S);const w={filename:L,cachedData:l},M=this._createAndEvalScript(a,g,w,e,h);this._handleCachedData(M,g,P,N&&!l,a),this._verifyCachedData(M,g,P,b,a)})}}_createAndEvalScript(a,m,e,h,r){const s=a.getRecorder();s.record(31,e.filename);const o=new this._vm.Script(m,e),u=o.runInThisContext(e),S=a.getGlobalAMDDefineFunc();let L=!1;const N=function(){return L=!0,S.apply(null,arguments)};return N.amd=S.amd,u.call(W.global,a.getGlobalAMDRequireFunc(),N,e.filename,this._path.dirname(e.filename)),s.record(32,e.filename),L?h():r(new Error(`Didn't receive define call in ${e.filename}!`)),o}_getElectronRendererScriptPathOrUri(a){if(!this._env.isElectronRenderer)return a;let m=a.match(/^([a-z])\:(.*)/i);return m?`file:///${(m[1].toUpperCase()+":"+m[2]).replace(/\\/g,"/")}`:`file://${a}`}_getCachedDataPath(a,m){const e=this._crypto.createHash("md5").update(m,"utf8").update(a.seed,"utf8").update(process.arch,"").digest("hex"),h=this._path.basename(m).replace(/\.js$/,"");return this._path.join(a.path,`${h}-${e}.code`)}_handleCachedData(a,m,e,h,r){a.cachedDataRejected?this._fs.unlink(e,s=>{r.getRecorder().record(62,e),this._createAndWriteCachedData(a,m,e,r),s&&r.getConfig().onError(s)}):h&&this._createAndWriteCachedData(a,m,e,r)}_createAndWriteCachedData(a,m,e,h){let r=Math.ceil(h.getConfig().getOptionsLiteral().nodeCachedData.writeDelay*(1+Math.random())),s=-1,o=0,u;const S=()=>{setTimeout(()=>{u||(u=this._crypto.createHash("md5").update(m,"utf8").digest());const L=a.createCachedData();if(!(L.length===0||L.length===s||o>=5)){if(L.length{N&&h.getConfig().onError(N),h.getRecorder().record(63,e),S()})}},r*Math.pow(4,o++))};S()}_readSourceAndCachedData(a,m,e,h){if(!m)this._fs.readFile(a,{encoding:"utf8"},h);else{let r,s,o,u=2;const S=L=>{L?h(L):--u===0&&h(void 0,r,s,o)};this._fs.readFile(a,{encoding:"utf8"},(L,N)=>{r=N,S(L)}),this._fs.readFile(m,(L,N)=>{!L&&N&&N.length>0?(o=N.slice(0,16),s=N.slice(16),e.record(60,m)):e.record(61,m),S()})}}_verifyCachedData(a,m,e,h,r){h&&(a.cachedDataRejected||setTimeout(()=>{const s=this._crypto.createHash("md5").update(m,"utf8").digest();h.equals(s)||(r.getConfig().onError(new Error(`FAILED TO VERIFY CACHED DATA, deleting stale '${e}' now, but a RESTART IS REQUIRED`)),this._fs.unlink(e,o=>{o&&r.getConfig().onError(o)}))},Math.ceil(5e3*(1+Math.random()))))}}d._BOM=65279,d._PREFIX="(function (require, define, __filename, __dirname) { ",d._SUFFIX=` +});`;function f(c,a){if(a.__$__isRecorded)return a;const m=function(h){c.record(33,h);try{return a(h)}finally{c.record(34,h)}};return m.__$__isRecorded=!0,m}W.ensureRecordedNodeRequire=f;function p(c){return new n(c)}W.createScriptLoader=p})(ie||(ie={}));var ie;(function(W){class n{constructor(c){let a=c.lastIndexOf("/");a!==-1?this.fromModulePath=c.substr(0,a+1):this.fromModulePath=""}static _normalizeModuleId(c){let a=c,m;for(m=/\/\.\//;m.test(a);)a=a.replace(m,"/");for(a=a.replace(/^\.\//g,""),m=/\/(([^\/])|([^\/][^\/\.])|([^\/\.][^\/])|([^\/][^\/][^\/]+))\/\.\.\//;m.test(a);)a=a.replace(m,"/");return a=a.replace(/^(([^\/])|([^\/][^\/\.])|([^\/\.][^\/])|([^\/][^\/][^\/]+))\/\.\.\//,""),a}resolveModule(c){let a=c;return W.Utilities.isAbsolutePath(a)||(W.Utilities.startsWith(a,"./")||W.Utilities.startsWith(a,"../"))&&(a=n._normalizeModuleId(this.fromModulePath+a)),a}}n.ROOT=new n(""),W.ModuleIdResolver=n;class i{constructor(c,a,m,e,h,r){this.id=c,this.strId=a,this.dependencies=m,this._callback=e,this._errorback=h,this.moduleIdResolver=r,this.exports={},this.error=null,this.exportsPassedIn=!1,this.unresolvedDependenciesCount=this.dependencies.length,this._isComplete=!1}static _safeInvokeFunction(c,a){try{return{returnedValue:c.apply(W.global,a),producedError:null}}catch(m){return{returnedValue:null,producedError:m}}}static _invokeFactory(c,a,m,e){return c.shouldInvokeFactory(a)?c.shouldCatchError()?this._safeInvokeFunction(m,e):{returnedValue:m.apply(W.global,e),producedError:null}:{returnedValue:null,producedError:null}}complete(c,a,m,e){this._isComplete=!0;let h=null;if(this._callback)if(typeof this._callback=="function"){c.record(21,this.strId);let r=i._invokeFactory(a,this.strId,this._callback,m);h=r.producedError,c.record(22,this.strId),!h&&typeof r.returnedValue<"u"&&(!this.exportsPassedIn||W.Utilities.isEmpty(this.exports))&&(this.exports=r.returnedValue)}else this.exports=this._callback;if(h){let r=W.ensureError(h);r.phase="factory",r.moduleId=this.strId,r.neededBy=e(this.id),this.error=r,a.onError(r)}this.dependencies=null,this._callback=null,this._errorback=null,this.moduleIdResolver=null}onDependencyError(c){return this._isComplete=!0,this.error=c,this._errorback?(this._errorback(c),!0):!1}isComplete(){return this._isComplete}}W.Module=i;class x{constructor(){this._nextId=0,this._strModuleIdToIntModuleId=new Map,this._intModuleIdToStrModuleId=[],this.getModuleId("exports"),this.getModuleId("module"),this.getModuleId("require")}getMaxModuleId(){return this._nextId}getModuleId(c){let a=this._strModuleIdToIntModuleId.get(c);return typeof a>"u"&&(a=this._nextId++,this._strModuleIdToIntModuleId.set(c,a),this._intModuleIdToStrModuleId[a]=c),a}getStrModuleId(c){return this._intModuleIdToStrModuleId[c]}}class A{constructor(c){this.id=c}}A.EXPORTS=new A(0),A.MODULE=new A(1),A.REQUIRE=new A(2),W.RegularDependency=A;class d{constructor(c,a,m){this.id=c,this.pluginId=a,this.pluginParam=m}}W.PluginDependency=d;class f{constructor(c,a,m,e,h=0){this._env=c,this._scriptLoader=a,this._loaderAvailableTimestamp=h,this._defineFunc=m,this._requireFunc=e,this._moduleIdProvider=new x,this._config=new W.Configuration(this._env),this._hasDependencyCycle=!1,this._modules2=[],this._knownModules2=[],this._inverseDependencies2=[],this._inversePluginDependencies2=new Map,this._currentAnonymousDefineCall=null,this._recorder=null,this._buildInfoPath=[],this._buildInfoDefineStack=[],this._buildInfoDependencies=[],this._requireFunc.moduleManager=this}reset(){return new f(this._env,this._scriptLoader,this._defineFunc,this._requireFunc,this._loaderAvailableTimestamp)}getGlobalAMDDefineFunc(){return this._defineFunc}getGlobalAMDRequireFunc(){return this._requireFunc}static _findRelevantLocationInStack(c,a){let m=r=>r.replace(/\\/g,"/"),e=m(c),h=a.split(/\n/);for(let r=0;rthis._moduleIdProvider.getStrModuleId(u.id))),this._resolve(o)}_normalizeDependency(c,a){if(c==="exports")return A.EXPORTS;if(c==="module")return A.MODULE;if(c==="require")return A.REQUIRE;let m=c.indexOf("!");if(m>=0){let e=a.resolveModule(c.substr(0,m)),h=a.resolveModule(c.substr(m+1)),r=this._moduleIdProvider.getModuleId(e+"!"+h),s=this._moduleIdProvider.getModuleId(e);return new d(r,s,h)}return new A(this._moduleIdProvider.getModuleId(a.resolveModule(c)))}_normalizeDependencies(c,a){let m=[],e=0;for(let h=0,r=c.length;hthis._moduleIdProvider.getStrModuleId(r));const h=W.ensureError(a);return h.phase="loading",h.moduleId=m,h.neededBy=e,h}_onLoadError(c,a){const m=this._createLoadError(c,a);this._modules2[c]||(this._modules2[c]=new i(c,this._moduleIdProvider.getStrModuleId(c),[],()=>{},null,null));let e=[];for(let s=0,o=this._moduleIdProvider.getMaxModuleId();s0;){let s=r.shift(),o=this._modules2[s];o&&(h=o.onDependencyError(m)||h);let u=this._inverseDependencies2[s];if(u)for(let S=0,L=u.length;S0;){let s=h.shift().dependencies;if(s)for(let o=0,u=s.length;othis._relativeRequire(c,m,e,h);return a.toUrl=m=>this._config.requireToUrl(c.resolveModule(m)),a.getStats=()=>this.getLoaderEvents(),a.hasDependencyCycle=()=>this._hasDependencyCycle,a.config=(m,e=!1)=>{this.configure(m,e)},a.__$__nodeRequire=W.global.nodeRequire,a}_loadModule(c){if(this._modules2[c]||this._knownModules2[c])return;this._knownModules2[c]=!0;let a=this._moduleIdProvider.getStrModuleId(c),m=this._config.moduleIdToPaths(a),e=/^@[^\/]+\/[^\/]+$/;this._env.isNode&&(a.indexOf("/")===-1||e.test(a))&&m.push("node|"+a);let h=-1,r=s=>{if(h++,h>=m.length)this._onLoadError(c,s);else{let o=m[h],u=this.getRecorder();if(this._config.isBuild()&&o==="empty:"){this._buildInfoPath[c]=o,this.defineModule(this._moduleIdProvider.getStrModuleId(c),[],null,null,null),this._onLoad(c);return}u.record(10,o),this._scriptLoader.load(this,o,()=>{this._config.isBuild()&&(this._buildInfoPath[c]=o),u.record(11,o),this._onLoad(c)},S=>{u.record(12,o),r(S)})}};r(null)}_loadPluginDependency(c,a){if(this._modules2[a.id]||this._knownModules2[a.id])return;this._knownModules2[a.id]=!0;let m=e=>{this.defineModule(this._moduleIdProvider.getStrModuleId(a.id),[],e,null,null)};m.error=e=>{this._config.onError(this._createLoadError(a.id,e))},c.load(a.pluginParam,this._createRequire(n.ROOT),m,this._config.getOptionsLiteral())}_resolve(c){let a=c.dependencies;if(a)for(let m=0,e=a.length;mthis._moduleIdProvider.getStrModuleId(o)).join(` => +`)),c.unresolvedDependenciesCount--;continue}if(this._inverseDependencies2[h.id]=this._inverseDependencies2[h.id]||[],this._inverseDependencies2[h.id].push(c.id),h instanceof d){let s=this._modules2[h.pluginId];if(s&&s.isComplete()){this._loadPluginDependency(s.exports,h);continue}let o=this._inversePluginDependencies2.get(h.pluginId);o||(o=[],this._inversePluginDependencies2.set(h.pluginId,o)),o.push(h),this._loadModule(h.pluginId);continue}this._loadModule(h.id)}c.unresolvedDependenciesCount===0&&this._onModuleComplete(c)}_onModuleComplete(c){let a=this.getRecorder();if(c.isComplete())return;let m=c.dependencies,e=[];if(m)for(let o=0,u=m.length;othis._config.getConfigForModule(c.strId)};continue}if(S===A.REQUIRE){e[o]=this._createRequire(c.moduleIdResolver);continue}let L=this._modules2[S.id];if(L){e[o]=L.exports;continue}e[o]=null}const h=o=>(this._inverseDependencies2[o]||[]).map(u=>this._moduleIdProvider.getStrModuleId(u));c.complete(a,this._config,e,h);let r=this._inverseDependencies2[c.id];if(this._inverseDependencies2[c.id]=null,r)for(let o=0,u=r.length;o"u"&&f())})(ie||(ie={})),function(){const W=globalThis.MonacoEnvironment,n=W&&W.baseUrl?W.baseUrl:"../../../";function i(e,h){if(W?.createTrustedTypesPolicy)try{return W.createTrustedTypesPolicy(e,h)}catch(r){console.warn(r);return}try{return self.trustedTypes?.createPolicy(e,h)}catch(r){console.warn(r);return}}const x=i("amdLoader",{createScriptURL:e=>e,createScript:(e,...h)=>{const r=h.slice(0,-1).join(","),s=h.pop().toString();return`(function anonymous(${r}) { ${s} +})`}});function A(){try{return(x?globalThis.eval(x.createScript("","true")):new Function("true")).call(globalThis),!0}catch{return!1}}function d(){return new Promise((e,h)=>{if(typeof globalThis.define=="function"&&globalThis.define.amd)return e();const r=n+"vs/loader.js";if(!(/^((http:)|(https:)|(file:))/.test(r)&&r.substring(0,globalThis.origin.length)!==globalThis.origin)&&A()){fetch(r).then(o=>{if(o.status!==200)throw new Error(o.statusText);return o.text()}).then(o=>{o=`${o} +//# sourceURL=${r}`,(x?globalThis.eval(x.createScript("",o)):new Function(o)).call(globalThis),e()}).then(void 0,h);return}x?importScripts(x.createScriptURL(r)):importScripts(r),e()})}function f(){require.config({baseUrl:n,catchError:!0,trustedTypesPolicy:x,amdModulesPattern:/^vs\//})}function p(e){return d().then(()=>(f(),new Promise((h,r)=>{require([e],h,r)})))}function c(e){setTimeout(function(){const h=e.create((r,s)=>{globalThis.postMessage(r,s)});for(self.onmessage=r=>h.onmessage(r.data,r.ports);m.length>0;)self.onmessage(m.shift())},0)}typeof globalThis.define=="function"&&globalThis.define.amd&&f();let a=!0;const m=[];globalThis.onmessage=e=>{if(!a){m.push(e);return}a=!1,p(e.data).then(h=>{c(h)},h=>{console.error(h)})}}(),X(J[7],Z([0,1]),function(W,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.Permutation=n.CallbackIterable=n.ArrayQueue=n.booleanComparator=n.numberComparator=n.CompareResult=void 0,n.tail=i,n.tail2=x,n.equals=A,n.removeFastWithoutKeepingOrder=d,n.binarySearch=f,n.binarySearch2=p,n.quickSelect=c,n.groupBy=a,n.groupAdjacentBy=m,n.forEachAdjacent=e,n.forEachWithNeighbors=h,n.coalesce=r,n.coalesceInPlace=s,n.isFalsyOrEmpty=o,n.isNonEmptyArray=u,n.distinct=S,n.firstOrDefault=L,n.range=N,n.arrayInsert=P,n.pushToStart=E,n.pushToEnd=v,n.pushMany=l,n.asArray=b,n.insertInto=g,n.splice=w,n.compareBy=_,n.tieBreakComparators=C,n.reverseOrder=T;function i(F,q=0){return F[F.length-(1+q)]}function x(F){if(F.length===0)throw new Error("Invalid tail call");return[F.slice(0,F.length-1),F[F.length-1]]}function A(F,q,B=(G,$)=>G===$){if(F===q)return!0;if(!F||!q||F.length!==q.length)return!1;for(let G=0,$=F.length;G<$;G++)if(!B(F[G],q[G]))return!1;return!0}function d(F,q){const B=F.length-1;qB(F[G],q))}function p(F,q){let B=0,G=F-1;for(;B<=G;){const $=(B+G)/2|0,U=q($);if(U<0)B=$+1;else if(U>0)G=$-1;else return $}return-(B+1)}function c(F,q,B){if(F=F|0,F>=q.length)throw new TypeError("invalid index");const G=q[Math.floor(q.length*Math.random())],$=[],U=[],ee=[];for(const re of q){const ue=B(re,G);ue<0?$.push(re):ue>0?U.push(re):ee.push(re)}return F<$.length?c(F,$,B):F<$.length+ee.length?ee[0]:c(F-($.length+ee.length),U,B)}function a(F,q){const B=[];let G;for(const $ of F.slice(0).sort(q))!G||q(G[0],$)!==0?(G=[$],B.push(G)):G.push($);return B}function*m(F,q){let B,G;for(const $ of F)G!==void 0&&q(G,$)?B.push($):(B&&(yield B),B=[$]),G=$;B&&(yield B)}function e(F,q){for(let B=0;B<=F.length;B++)q(B===0?void 0:F[B-1],B===F.length?void 0:F[B])}function h(F,q){for(let B=0;B!!q)}function s(F){let q=0;for(let B=0;B0}function S(F,q=B=>B){const B=new Set;return F.filter(G=>{const $=q(G);return B.has($)?!1:(B.add($),!0)})}function L(F,q){return F.length>0?F[0]:q}function N(F,q){let B=typeof q=="number"?F:0;typeof q=="number"?B=F:(B=0,q=F);const G=[];if(B<=q)for(let $=B;$q;$--)G.push($);return G}function P(F,q,B){const G=F.slice(0,q),$=F.slice(q);return G.concat(B,$)}function E(F,q){const B=F.indexOf(q);B>-1&&(F.splice(B,1),F.unshift(q))}function v(F,q){const B=F.indexOf(q);B>-1&&(F.splice(B,1),F.push(q))}function l(F,q){for(const B of q)F.push(B)}function b(F){return Array.isArray(F)?F:[F]}function g(F,q,B){const G=M(F,q),$=F.length,U=B.length;F.length=$+U;for(let ee=$-1;ee>=G;ee--)F[ee+U]=F[ee];for(let ee=0;ee0}F.isGreaterThan=G;function $(U){return U===0}F.isNeitherLessOrGreaterThan=$,F.greaterThan=1,F.lessThan=-1,F.neitherLessOrGreaterThan=0})(y||(n.CompareResult=y={}));function _(F,q){return(B,G)=>q(F(B),F(G))}function C(...F){return(q,B)=>{for(const G of F){const $=G(q,B);if(!y.isNeitherLessOrGreaterThan($))return $}return y.neitherLessOrGreaterThan}}const R=(F,q)=>F-q;n.numberComparator=R;const D=(F,q)=>(0,n.numberComparator)(F?1:0,q?1:0);n.booleanComparator=D;function T(F){return(q,B)=>-F(q,B)}class O{constructor(q){this.items=q,this.firstIdx=0,this.lastIdx=this.items.length-1}get length(){return this.lastIdx-this.firstIdx+1}takeWhile(q){let B=this.firstIdx;for(;B=0&&q(this.items[B]);)B--;const G=B===this.lastIdx?null:this.items.slice(B+1,this.lastIdx+1);return this.lastIdx=B,G}peek(){if(this.length!==0)return this.items[this.firstIdx]}dequeue(){const q=this.items[this.firstIdx];return this.firstIdx++,q}takeCount(q){const B=this.items.slice(this.firstIdx,this.firstIdx+q);return this.firstIdx+=q,B}}n.ArrayQueue=O;class z{static{this.empty=new z(q=>{})}constructor(q){this.iterate=q}toArray(){const q=[];return this.iterate(B=>(q.push(B),!0)),q}filter(q){return new z(B=>this.iterate(G=>q(G)?B(G):!0))}map(q){return new z(B=>this.iterate(G=>B(q(G))))}findLast(q){let B;return this.iterate(G=>(q(G)&&(B=G),!0)),B}findLastMaxBy(q){let B,G=!0;return this.iterate($=>((G||y.isGreaterThan(q($,B)))&&(G=!1,B=$),!0)),B}}n.CallbackIterable=z;class j{constructor(q){this._indexMap=q}static createSortPermutation(q,B){const G=Array.from(q.keys()).sort(($,U)=>B(q[$],q[U]));return new j(G)}apply(q){return q.map((B,G)=>q[this._indexMap[G]])}inverse(){const q=this._indexMap.slice();for(let B=0;B=0;S--){const L=s[S];if(o(L))return S}return-1}function A(s,o){const u=d(s,o);return u===-1?void 0:s[u]}function d(s,o,u=0,S=s.length){let L=u,N=S;for(;L0&&(u=L)}return u}function m(s,o){if(s.length===0)return;let u=s[0];for(let S=1;S=0&&(u=L)}return u}function e(s,o){return a(s,(u,S)=>-o(u,S))}function h(s,o){if(s.length===0)return-1;let u=0;for(let S=1;S0&&(u=S)}return u}function r(s,o){for(const u of s){const S=o(u);if(S!==void 0)return S}}}),X(J[39],Z([0,1]),function(W,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.CachedFunction=n.LRUCachedFunction=void 0,n.identity=i;function i(d){return d}class x{constructor(f,p){this.lastCache=void 0,this.lastArgKey=void 0,typeof f=="function"?(this._fn=f,this._computeKey=i):(this._fn=p,this._computeKey=f.getCacheKey)}get(f){const p=this._computeKey(f);return this.lastArgKey!==p&&(this.lastArgKey=p,this.lastCache=this._fn(f)),this.lastCache}}n.LRUCachedFunction=x;class A{get cachedValues(){return this._map}constructor(f,p){this._map=new Map,this._map2=new Map,typeof f=="function"?(this._fn=f,this._computeKey=i):(this._fn=p,this._computeKey=f.getCacheKey)}get(f){const p=this._computeKey(f);if(this._map2.has(p))return this._map2.get(p);const c=this._fn(f);return this._map.set(f,c),this._map2.set(p,c),c}}n.CachedFunction=A}),X(J[40],Z([0,1]),function(W,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.Color=n.HSVA=n.HSLA=n.RGBA=void 0;function i(p,c){const a=Math.pow(10,c);return Math.round(p*a)/a}class x{constructor(c,a,m,e=1){this._rgbaBrand=void 0,this.r=Math.min(255,Math.max(0,c))|0,this.g=Math.min(255,Math.max(0,a))|0,this.b=Math.min(255,Math.max(0,m))|0,this.a=i(Math.max(Math.min(1,e),0),3)}static equals(c,a){return c.r===a.r&&c.g===a.g&&c.b===a.b&&c.a===a.a}}n.RGBA=x;class A{constructor(c,a,m,e){this._hslaBrand=void 0,this.h=Math.max(Math.min(360,c),0)|0,this.s=i(Math.max(Math.min(1,a),0),3),this.l=i(Math.max(Math.min(1,m),0),3),this.a=i(Math.max(Math.min(1,e),0),3)}static equals(c,a){return c.h===a.h&&c.s===a.s&&c.l===a.l&&c.a===a.a}static fromRGBA(c){const a=c.r/255,m=c.g/255,e=c.b/255,h=c.a,r=Math.max(a,m,e),s=Math.min(a,m,e);let o=0,u=0;const S=(s+r)/2,L=r-s;if(L>0){switch(u=Math.min(S<=.5?L/(2*S):L/(2-2*S),1),r){case a:o=(m-e)/L+(m1&&(m-=1),m<1/6?c+(a-c)*6*m:m<1/2?a:m<2/3?c+(a-c)*(2/3-m)*6:c}static toRGBA(c){const a=c.h/360,{s:m,l:e,a:h}=c;let r,s,o;if(m===0)r=s=o=e;else{const u=e<.5?e*(1+m):e+m-e*m,S=2*e-u;r=A._hue2rgb(S,u,a+1/3),s=A._hue2rgb(S,u,a),o=A._hue2rgb(S,u,a-1/3)}return new x(Math.round(r*255),Math.round(s*255),Math.round(o*255),h)}}n.HSLA=A;class d{constructor(c,a,m,e){this._hsvaBrand=void 0,this.h=Math.max(Math.min(360,c),0)|0,this.s=i(Math.max(Math.min(1,a),0),3),this.v=i(Math.max(Math.min(1,m),0),3),this.a=i(Math.max(Math.min(1,e),0),3)}static equals(c,a){return c.h===a.h&&c.s===a.s&&c.v===a.v&&c.a===a.a}static fromRGBA(c){const a=c.r/255,m=c.g/255,e=c.b/255,h=Math.max(a,m,e),r=Math.min(a,m,e),s=h-r,o=h===0?0:s/h;let u;return s===0?u=0:h===a?u=((m-e)/s%6+6)%6:h===m?u=(e-a)/s+2:u=(a-m)/s+4,new d(Math.round(u*60),o,h,c.a)}static toRGBA(c){const{h:a,s:m,v:e,a:h}=c,r=e*m,s=r*(1-Math.abs(a/60%2-1)),o=e-r;let[u,S,L]=[0,0,0];return a<60?(u=r,S=s):a<120?(u=s,S=r):a<180?(S=r,L=s):a<240?(S=s,L=r):a<300?(u=s,L=r):a<=360&&(u=r,L=s),u=Math.round((u+o)*255),S=Math.round((S+o)*255),L=Math.round((L+o)*255),new x(u,S,L,h)}}n.HSVA=d;class f{static fromHex(c){return f.Format.CSS.parseHex(c)||f.red}static equals(c,a){return!c&&!a?!0:!c||!a?!1:c.equals(a)}get hsla(){return this._hsla?this._hsla:A.fromRGBA(this.rgba)}get hsva(){return this._hsva?this._hsva:d.fromRGBA(this.rgba)}constructor(c){if(c)if(c instanceof x)this.rgba=c;else if(c instanceof A)this._hsla=c,this.rgba=A.toRGBA(c);else if(c instanceof d)this._hsva=c,this.rgba=d.toRGBA(c);else throw new Error("Invalid color ctor argument");else throw new Error("Color needs a value")}equals(c){return!!c&&x.equals(this.rgba,c.rgba)&&A.equals(this.hsla,c.hsla)&&d.equals(this.hsva,c.hsva)}getRelativeLuminance(){const c=f._relativeLuminanceForComponent(this.rgba.r),a=f._relativeLuminanceForComponent(this.rgba.g),m=f._relativeLuminanceForComponent(this.rgba.b),e=.2126*c+.7152*a+.0722*m;return i(e,4)}static _relativeLuminanceForComponent(c){const a=c/255;return a<=.03928?a/12.92:Math.pow((a+.055)/1.055,2.4)}isLighter(){return(this.rgba.r*299+this.rgba.g*587+this.rgba.b*114)/1e3>=128}isLighterThan(c){const a=this.getRelativeLuminance(),m=c.getRelativeLuminance();return a>m}isDarkerThan(c){const a=this.getRelativeLuminance(),m=c.getRelativeLuminance();return a{throw u.stack?r.isErrorNoTelemetry(u)?new r(u.message+` + +`+u.stack):new Error(u.message+` + +`+u.stack):u},0)}}emit(u){this.listeners.forEach(S=>{S(u)})}onUnexpectedError(u){this.unexpectedErrorHandler(u),this.emit(u)}onUnexpectedExternalError(u){this.unexpectedErrorHandler(u)}}n.ErrorHandler=i,n.errorHandler=new i;function x(o){p(o)||n.errorHandler.onUnexpectedError(o)}function A(o){p(o)||n.errorHandler.onUnexpectedExternalError(o)}function d(o){if(o instanceof Error){const{name:u,message:S}=o,L=o.stacktrace||o.stack;return{$isError:!0,name:u,message:S,stack:L,noTelemetry:r.isErrorNoTelemetry(o)}}return o}const f="Canceled";function p(o){return o instanceof c?!0:o instanceof Error&&o.name===f&&o.message===f}class c extends Error{constructor(){super(f),this.name=this.message}}n.CancellationError=c;function a(){const o=new Error(f);return o.name=o.message,o}function m(o){return o?new Error(`Illegal argument: ${o}`):new Error("Illegal argument")}function e(o){return o?new Error(`Illegal state: ${o}`):new Error("Illegal state")}class h extends Error{constructor(u){super("NotSupported"),u&&(this.message=u)}}n.NotSupportedError=h;class r extends Error{constructor(u){super(u),this.name="CodeExpectedError"}static fromError(u){if(u instanceof r)return u;const S=new r;return S.message=u.message,S.stack=u.stack,S}static isErrorNoTelemetry(u){return u.name==="CodeExpectedError"}}n.ErrorNoTelemetry=r;class s extends Error{constructor(u){super(u||"An unexpected bug occurred."),Object.setPrototypeOf(this,s.prototype)}}n.BugIndicatingError=s}),X(J[12],Z([0,1,3]),function(W,n,i){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.ok=x,n.assertNever=A,n.softAssert=d,n.assertFn=f,n.checkAdjacentItems=p;function x(c,a){if(!c)throw new Error(a?`Assertion failed (${a})`:"Assertion Failed")}function A(c,a="Unreachable"){throw new Error(a)}function d(c){c||(0,i.onUnexpectedError)(new i.BugIndicatingError("Soft Assertion Failed"))}function f(c){if(!c()){debugger;c(),(0,i.onUnexpectedError)(new i.BugIndicatingError("Assertion Failed"))}}function p(c,a){let m=0;for(;m=0;b--)yield l[b]}x.reverse=m;function e(l){return!l||l[Symbol.iterator]().next().done===!0}x.isEmpty=e;function h(l){return l[Symbol.iterator]().next().value}x.first=h;function r(l,b){let g=0;for(const w of l)if(b(w,g++))return!0;return!1}x.some=r;function s(l,b){for(const g of l)if(b(g))return g}x.find=s;function*o(l,b){for(const g of l)b(g)&&(yield g)}x.filter=o;function*u(l,b){let g=0;for(const w of l)yield b(w,g++)}x.map=u;function*S(l,b){let g=0;for(const w of l)yield*b(w,g++)}x.flatMap=S;function*L(...l){for(const b of l)yield*b}x.concat=L;function N(l,b,g){let w=g;for(const M of l)w=b(w,M);return w}x.reduce=N;function*P(l,b,g=l.length){for(b<0&&(b+=l.length),g<0?g+=l.length:g>l.length&&(g=l.length);b=98&&L<=113)return null;switch(L){case 16:return"Up";case 18:return"Down";case 15:return"Left";case 17:return"Right"}return x.keyCodeToStr(L)}e.toElectronAccelerator=S})(a||(n.KeyCodeUtils=a={}));function m(e,h){const r=(h&65535)<<16>>>0;return(e|r)>>>0}}),X(J[43],Z([0,1]),function(W,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.Lazy=void 0;class i{constructor(A){this.executor=A,this._didRun=!1}get value(){if(!this._didRun)try{this._value=this.executor()}catch(A){this._error=A}finally{this._didRun=!0}if(this._error)throw this._error;return this._value}get rawValue(){return this._value}}n.Lazy=i}),X(J[8],Z([0,1,18,19]),function(W,n,i,x){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.DisposableMap=n.ImmortalReference=n.RefCountedDisposable=n.MutableDisposable=n.Disposable=n.DisposableStore=void 0,n.setDisposableTracker=f,n.trackDisposable=p,n.markAsDisposed=c,n.markAsSingleton=e,n.isDisposable=h,n.dispose=r,n.combinedDisposable=s,n.toDisposable=o;const A=!1;let d=null;function f(v){d=v}if(A){const v="__is_disposable_tracked__";f(new class{trackDisposable(l){const b=new Error("Potentially leaked disposable").stack;setTimeout(()=>{l[v]||console.log(b)},3e3)}setParent(l,b){if(l&&l!==S.None)try{l[v]=!0}catch{}}markAsDisposed(l){if(l&&l!==S.None)try{l[v]=!0}catch{}}markAsSingleton(l){}})}function p(v){return d?.trackDisposable(v),v}function c(v){d?.markAsDisposed(v)}function a(v,l){d?.setParent(v,l)}function m(v,l){if(d)for(const b of v)d.setParent(b,l)}function e(v){return d?.markAsSingleton(v),v}function h(v){return typeof v=="object"&&v!==null&&typeof v.dispose=="function"&&v.dispose.length===0}function r(v){if(x.Iterable.is(v)){const l=[];for(const b of v)if(b)try{b.dispose()}catch(g){l.push(g)}if(l.length===1)throw l[0];if(l.length>1)throw new AggregateError(l,"Encountered errors while disposing of store");return Array.isArray(v)?[]:v}else if(v)return v.dispose(),v}function s(...v){const l=o(()=>r(v));return m(v,l),l}function o(v){const l=p({dispose:(0,i.createSingleCallFunction)(()=>{c(l),v()})});return l}class u{static{this.DISABLE_DISPOSED_WARNING=!1}constructor(){this._toDispose=new Set,this._isDisposed=!1,p(this)}dispose(){this._isDisposed||(c(this),this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(this._toDispose.size!==0)try{r(this._toDispose)}finally{this._toDispose.clear()}}add(l){if(!l)return l;if(l===this)throw new Error("Cannot register a disposable on itself!");return a(l,this),this._isDisposed?u.DISABLE_DISPOSED_WARNING||console.warn(new Error("Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!").stack):this._toDispose.add(l),l}deleteAndLeak(l){l&&this._toDispose.has(l)&&(this._toDispose.delete(l),a(l,null))}}n.DisposableStore=u;class S{static{this.None=Object.freeze({dispose(){}})}constructor(){this._store=new u,p(this),a(this._store,this)}dispose(){c(this),this._store.dispose()}_register(l){if(l===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(l)}}n.Disposable=S;class L{constructor(){this._isDisposed=!1,p(this)}get value(){return this._isDisposed?void 0:this._value}set value(l){this._isDisposed||l===this._value||(this._value?.dispose(),l&&a(l,this),this._value=l)}clear(){this.value=void 0}dispose(){this._isDisposed=!0,c(this),this._value?.dispose(),this._value=void 0}}n.MutableDisposable=L;class N{constructor(l){this._disposable=l,this._counter=1}acquire(){return this._counter++,this}release(){return--this._counter===0&&this._disposable.dispose(),this}}n.RefCountedDisposable=N;class P{constructor(l){this.object=l}dispose(){}}n.ImmortalReference=P;class E{constructor(){this._store=new Map,this._isDisposed=!1,p(this)}dispose(){c(this),this._isDisposed=!0,this.clearAndDisposeAll()}clearAndDisposeAll(){if(this._store.size)try{r(this._store.values())}finally{this._store.clear()}}get(l){return this._store.get(l)}set(l,b,g=!1){this._isDisposed&&console.warn(new Error("Trying to add a disposable to a DisposableMap that has already been disposed of. The added object will be leaked!").stack),g||this._store.get(l)?.dispose(),this._store.set(l,b)}deleteAndDispose(l){this._store.get(l)?.dispose(),this._store.delete(l)}[Symbol.iterator](){return this._store[Symbol.iterator]()}}n.DisposableMap=E}),X(J[20],Z([0,1]),function(W,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.LinkedList=void 0;class i{static{this.Undefined=new i(void 0)}constructor(d){this.element=d,this.next=i.Undefined,this.prev=i.Undefined}}class x{constructor(){this._first=i.Undefined,this._last=i.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===i.Undefined}clear(){let d=this._first;for(;d!==i.Undefined;){const f=d.next;d.prev=i.Undefined,d.next=i.Undefined,d=f}this._first=i.Undefined,this._last=i.Undefined,this._size=0}unshift(d){return this._insert(d,!1)}push(d){return this._insert(d,!0)}_insert(d,f){const p=new i(d);if(this._first===i.Undefined)this._first=p,this._last=p;else if(f){const a=this._last;this._last=p,p.prev=a,a.next=p}else{const a=this._first;this._first=p,p.next=a,a.prev=p}this._size+=1;let c=!1;return()=>{c||(c=!0,this._remove(p))}}shift(){if(this._first!==i.Undefined){const d=this._first.element;return this._remove(this._first),d}}pop(){if(this._last!==i.Undefined){const d=this._last.element;return this._remove(this._last),d}}_remove(d){if(d.prev!==i.Undefined&&d.next!==i.Undefined){const f=d.prev;f.next=d.next,d.next.prev=f}else d.prev===i.Undefined&&d.next===i.Undefined?(this._first=i.Undefined,this._last=i.Undefined):d.next===i.Undefined?(this._last=this._last.prev,this._last.next=i.Undefined):d.prev===i.Undefined&&(this._first=this._first.next,this._first.prev=i.Undefined);this._size-=1}*[Symbol.iterator](){let d=this._first;for(;d!==i.Undefined;)yield d.element,d=d.next}}n.LinkedList=x}),X(J[21],Z([0,1]),function(W,n){"use strict";var i,x;Object.defineProperty(n,"__esModule",{value:!0}),n.SetMap=n.BidirectionalMap=n.LRUCache=n.LinkedMap=n.ResourceMap=void 0;class A{constructor(r,s){this.uri=r,this.value=s}}function d(h){return Array.isArray(h)}class f{static{this.defaultToKey=r=>r.toString()}constructor(r,s){if(this[i]="ResourceMap",r instanceof f)this.map=new Map(r.map),this.toKey=s??f.defaultToKey;else if(d(r)){this.map=new Map,this.toKey=s??f.defaultToKey;for(const[o,u]of r)this.set(o,u)}else this.map=new Map,this.toKey=r??f.defaultToKey}set(r,s){return this.map.set(this.toKey(r),new A(r,s)),this}get(r){return this.map.get(this.toKey(r))?.value}has(r){return this.map.has(this.toKey(r))}get size(){return this.map.size}clear(){this.map.clear()}delete(r){return this.map.delete(this.toKey(r))}forEach(r,s){typeof s<"u"&&(r=r.bind(s));for(const[o,u]of this.map)r(u.value,u.uri,this)}*values(){for(const r of this.map.values())yield r.value}*keys(){for(const r of this.map.values())yield r.uri}*entries(){for(const r of this.map.values())yield[r.uri,r.value]}*[(i=Symbol.toStringTag,Symbol.iterator)](){for(const[,r]of this.map)yield[r.uri,r.value]}}n.ResourceMap=f;class p{constructor(){this[x]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){return this._head?.value}get last(){return this._tail?.value}has(r){return this._map.has(r)}get(r,s=0){const o=this._map.get(r);if(o)return s!==0&&this.touch(o,s),o.value}set(r,s,o=0){let u=this._map.get(r);if(u)u.value=s,o!==0&&this.touch(u,o);else{switch(u={key:r,value:s,next:void 0,previous:void 0},o){case 0:this.addItemLast(u);break;case 1:this.addItemFirst(u);break;case 2:this.addItemLast(u);break;default:this.addItemLast(u);break}this._map.set(r,u),this._size++}return this}delete(r){return!!this.remove(r)}remove(r){const s=this._map.get(r);if(s)return this._map.delete(r),this.removeItem(s),this._size--,s.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");const r=this._head;return this._map.delete(r.key),this.removeItem(r),this._size--,r.value}forEach(r,s){const o=this._state;let u=this._head;for(;u;){if(s?r.bind(s)(u.value,u.key,this):r(u.value,u.key,this),this._state!==o)throw new Error("LinkedMap got modified during iteration.");u=u.next}}keys(){const r=this,s=this._state;let o=this._head;const u={[Symbol.iterator](){return u},next(){if(r._state!==s)throw new Error("LinkedMap got modified during iteration.");if(o){const S={value:o.key,done:!1};return o=o.next,S}else return{value:void 0,done:!0}}};return u}values(){const r=this,s=this._state;let o=this._head;const u={[Symbol.iterator](){return u},next(){if(r._state!==s)throw new Error("LinkedMap got modified during iteration.");if(o){const S={value:o.value,done:!1};return o=o.next,S}else return{value:void 0,done:!0}}};return u}entries(){const r=this,s=this._state;let o=this._head;const u={[Symbol.iterator](){return u},next(){if(r._state!==s)throw new Error("LinkedMap got modified during iteration.");if(o){const S={value:[o.key,o.value],done:!1};return o=o.next,S}else return{value:void 0,done:!0}}};return u}[(x=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(r){if(r>=this.size)return;if(r===0){this.clear();return}let s=this._head,o=this.size;for(;s&&o>r;)this._map.delete(s.key),s=s.next,o--;this._head=s,this._size=o,s&&(s.previous=void 0),this._state++}trimNew(r){if(r>=this.size)return;if(r===0){this.clear();return}let s=this._tail,o=this.size;for(;s&&o>r;)this._map.delete(s.key),s=s.previous,o--;this._tail=s,this._size=o,s&&(s.next=void 0),this._state++}addItemFirst(r){if(!this._head&&!this._tail)this._tail=r;else if(this._head)r.next=this._head,this._head.previous=r;else throw new Error("Invalid list");this._head=r,this._state++}addItemLast(r){if(!this._head&&!this._tail)this._head=r;else if(this._tail)r.previous=this._tail,this._tail.next=r;else throw new Error("Invalid list");this._tail=r,this._state++}removeItem(r){if(r===this._head&&r===this._tail)this._head=void 0,this._tail=void 0;else if(r===this._head){if(!r.next)throw new Error("Invalid list");r.next.previous=void 0,this._head=r.next}else if(r===this._tail){if(!r.previous)throw new Error("Invalid list");r.previous.next=void 0,this._tail=r.previous}else{const s=r.next,o=r.previous;if(!s||!o)throw new Error("Invalid list");s.previous=o,o.next=s}r.next=void 0,r.previous=void 0,this._state++}touch(r,s){if(!this._head||!this._tail)throw new Error("Invalid list");if(!(s!==1&&s!==2)){if(s===1){if(r===this._head)return;const o=r.next,u=r.previous;r===this._tail?(u.next=void 0,this._tail=u):(o.previous=u,u.next=o),r.previous=void 0,r.next=this._head,this._head.previous=r,this._head=r,this._state++}else if(s===2){if(r===this._tail)return;const o=r.next,u=r.previous;r===this._head?(o.previous=void 0,this._head=o):(o.previous=u,u.next=o),r.next=void 0,r.previous=this._tail,this._tail.next=r,this._tail=r,this._state++}}}toJSON(){const r=[];return this.forEach((s,o)=>{r.push([o,s])}),r}fromJSON(r){this.clear();for(const[s,o]of r)this.set(s,o)}}n.LinkedMap=p;class c extends p{constructor(r,s=1){super(),this._limit=r,this._ratio=Math.min(Math.max(0,s),1)}get limit(){return this._limit}set limit(r){this._limit=r,this.checkTrim()}get(r,s=2){return super.get(r,s)}peek(r){return super.get(r,0)}set(r,s){return super.set(r,s,2),this}checkTrim(){this.size>this._limit&&this.trim(Math.round(this._limit*this._ratio))}}class a extends c{constructor(r,s=1){super(r,s)}trim(r){this.trimOld(r)}set(r,s){return super.set(r,s),this.checkTrim(),this}}n.LRUCache=a;class m{constructor(r){if(this._m1=new Map,this._m2=new Map,r)for(const[s,o]of r)this.set(s,o)}clear(){this._m1.clear(),this._m2.clear()}set(r,s){this._m1.set(r,s),this._m2.set(s,r)}get(r){return this._m1.get(r)}getKey(r){return this._m2.get(r)}delete(r){const s=this._m1.get(r);return s===void 0?!1:(this._m1.delete(r),this._m2.delete(s),!0)}keys(){return this._m1.keys()}values(){return this._m1.values()}}n.BidirectionalMap=m;class e{constructor(){this.map=new Map}add(r,s){let o=this.map.get(r);o||(o=new Set,this.map.set(r,o)),o.add(s)}delete(r,s){const o=this.map.get(r);o&&(o.delete(s),o.size===0&&this.map.delete(r))}forEach(r,s){const o=this.map.get(r);o&&o.forEach(s)}get(r){const s=this.map.get(r);return s||new Set}}n.SetMap=e}),X(J[22],Z([0,1]),function(W,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.StopWatch=void 0;const i=globalThis.performance&&typeof globalThis.performance.now=="function";class x{static create(d){return new x(d)}constructor(d){this._now=i&&d===!1?Date.now:globalThis.performance.now.bind(globalThis.performance),this._startTime=this._now(),this._stopTime=-1}stop(){this._stopTime=this._now()}reset(){this._startTime=this._now(),this._stopTime=-1}elapsed(){return this._stopTime!==-1?this._stopTime-this._startTime:this._now()-this._startTime}}n.StopWatch=x}),X(J[9],Z([0,1,3,18,8,20,22]),function(W,n,i,x,A,d,f){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.Relay=n.EventBufferer=n.EventMultiplexer=n.MicrotaskEmitter=n.DebounceEmitter=n.PauseableEmitter=n.createEventDeliveryQueue=n.Emitter=n.ListenerRefusalError=n.ListenerLeakError=n.EventProfiling=n.Event=void 0;const p=!1,c=!1,a=!1;var m;(function(C){C.None=()=>A.Disposable.None;function R(K){if(a){const{onDidAddListener:Q}=K,k=s.create();let I=0;K.onDidAddListener=()=>{++I===2&&(console.warn("snapshotted emitter LIKELY used public and SHOULD HAVE BEEN created with DisposableStore. snapshotted here"),k.print()),Q?.()}}}function D(K,Q){return ee(K,()=>{},0,void 0,!0,void 0,Q)}C.defer=D;function T(K){return(Q,k=null,I)=>{let V=!1,H;return H=K(Y=>{if(!V)return H?H.dispose():V=!0,Q.call(k,Y)},null,I),V&&H.dispose(),H}}C.once=T;function O(K,Q){return C.once(C.filter(K,Q))}C.onceIf=O;function z(K,Q,k){return $((I,V=null,H)=>K(Y=>I.call(V,Q(Y)),null,H),k)}C.map=z;function j(K,Q,k){return $((I,V=null,H)=>K(Y=>{Q(Y),I.call(V,Y)},null,H),k)}C.forEach=j;function F(K,Q,k){return $((I,V=null,H)=>K(Y=>Q(Y)&&I.call(V,Y),null,H),k)}C.filter=F;function q(K){return K}C.signal=q;function B(...K){return(Q,k=null,I)=>{const V=(0,A.combinedDisposable)(...K.map(H=>H(Y=>Q.call(k,Y))));return U(V,I)}}C.any=B;function G(K,Q,k,I){let V=k;return z(K,H=>(V=Q(V,H),V),I)}C.reduce=G;function $(K,Q){let k;const I={onWillAddFirstListener(){k=K(V.fire,V)},onDidRemoveLastListener(){k?.dispose()}};Q||R(I);const V=new E(I);return Q?.add(V),V.event}function U(K,Q){return Q instanceof Array?Q.push(K):Q&&Q.add(K),K}function ee(K,Q,k=100,I=!1,V=!1,H,Y){let te,ne,ae,le=0,oe;const se={leakWarningThreshold:H,onWillAddFirstListener(){te=K(he=>{le++,ne=Q(ne,he),I&&!ae&&(ce.fire(ne),ne=void 0),oe=()=>{const be=ne;ne=void 0,ae=void 0,(!I||le>1)&&ce.fire(be),le=0},typeof k=="number"?(clearTimeout(ae),ae=setTimeout(oe,k)):ae===void 0&&(ae=0,queueMicrotask(oe))})},onWillRemoveListener(){V&&le>0&&oe?.()},onDidRemoveLastListener(){oe=void 0,te.dispose()}};Y||R(se);const ce=new E(se);return Y?.add(ce),ce.event}C.debounce=ee;function re(K,Q=0,k){return C.debounce(K,(I,V)=>I?(I.push(V),I):[V],Q,void 0,!0,void 0,k)}C.accumulate=re;function ue(K,Q=(I,V)=>I===V,k){let I=!0,V;return F(K,H=>{const Y=I||!Q(H,V);return I=!1,V=H,Y},k)}C.latch=ue;function de(K,Q,k){return[C.filter(K,Q,k),C.filter(K,I=>!Q(I),k)]}C.split=de;function ge(K,Q=!1,k=[],I){let V=k.slice(),H=K(ne=>{V?V.push(ne):te.fire(ne)});I&&I.add(H);const Y=()=>{V?.forEach(ne=>te.fire(ne)),V=null},te=new E({onWillAddFirstListener(){H||(H=K(ne=>te.fire(ne)),I&&I.add(H))},onDidAddFirstListener(){V&&(Q?setTimeout(Y):Y())},onDidRemoveLastListener(){H&&H.dispose(),H=null}});return I&&I.add(te),te.event}C.buffer=ge;function t(K,Q){return(I,V,H)=>{const Y=Q(new pe);return K(function(te){const ne=Y.evaluate(te);ne!==me&&I.call(V,ne)},void 0,H)}}C.chain=t;const me=Symbol("HaltChainable");class pe{constructor(){this.steps=[]}map(Q){return this.steps.push(Q),this}forEach(Q){return this.steps.push(k=>(Q(k),k)),this}filter(Q){return this.steps.push(k=>Q(k)?k:me),this}reduce(Q,k){let I=k;return this.steps.push(V=>(I=Q(I,V),I)),this}latch(Q=(k,I)=>k===I){let k=!0,I;return this.steps.push(V=>{const H=k||!Q(V,I);return k=!1,I=V,H?V:me}),this}evaluate(Q){for(const k of this.steps)if(Q=k(Q),Q===me)break;return Q}}function Le(K,Q,k=I=>I){const I=(...te)=>Y.fire(k(...te)),V=()=>K.on(Q,I),H=()=>K.removeListener(Q,I),Y=new E({onWillAddFirstListener:V,onDidRemoveLastListener:H});return Y.event}C.fromNodeEventEmitter=Le;function we(K,Q,k=I=>I){const I=(...te)=>Y.fire(k(...te)),V=()=>K.addEventListener(Q,I),H=()=>K.removeEventListener(Q,I),Y=new E({onWillAddFirstListener:V,onDidRemoveLastListener:H});return Y.event}C.fromDOMEventEmitter=we;function Ce(K){return new Promise(Q=>T(K)(Q))}C.toPromise=Ce;function ve(K){const Q=new E;return K.then(k=>{Q.fire(k)},()=>{Q.fire(void 0)}).finally(()=>{Q.dispose()}),Q.event}C.fromPromise=ve;function fe(K,Q){return K(k=>Q.fire(k))}C.forward=fe;function Se(K,Q,k){return Q(k),K(I=>Q(I))}C.runAndSubscribe=Se;class _e{constructor(Q,k){this._observable=Q,this._counter=0,this._hasChanged=!1;const I={onWillAddFirstListener:()=>{Q.addObserver(this),this._observable.reportChanges()},onDidRemoveLastListener:()=>{Q.removeObserver(this)}};k||R(I),this.emitter=new E(I),k&&k.add(this.emitter)}beginUpdate(Q){this._counter++}handlePossibleChange(Q){}handleChange(Q,k){this._hasChanged=!0}endUpdate(Q){this._counter--,this._counter===0&&(this._observable.reportChanges(),this._hasChanged&&(this._hasChanged=!1,this.emitter.fire(this._observable.get())))}}function ye(K,Q){return new _e(K,Q).emitter.event}C.fromObservable=ye;function Ee(K){return(Q,k,I)=>{let V=0,H=!1;const Y={beginUpdate(){V++},endUpdate(){V--,V===0&&(K.reportChanges(),H&&(H=!1,Q.call(k)))},handlePossibleChange(){},handleChange(){H=!0}};K.addObserver(Y),K.reportChanges();const te={dispose(){K.removeObserver(Y)}};return I instanceof A.DisposableStore?I.add(te):Array.isArray(I)&&I.push(te),te}}C.fromObservableLight=Ee})(m||(n.Event=m={}));class e{static{this.all=new Set}static{this._idPool=0}constructor(R){this.listenerCount=0,this.invocationCount=0,this.elapsedOverall=0,this.durations=[],this.name=`${R}_${e._idPool++}`,e.all.add(this)}start(R){this._stopWatch=new f.StopWatch,this.listenerCount=R}stop(){if(this._stopWatch){const R=this._stopWatch.elapsed();this.durations.push(R),this.elapsedOverall+=R,this.invocationCount+=1,this._stopWatch=void 0}}}n.EventProfiling=e;let h=-1;class r{static{this._idPool=1}constructor(R,D,T=(r._idPool++).toString(16).padStart(3,"0")){this._errorHandler=R,this.threshold=D,this.name=T,this._warnCountdown=0}dispose(){this._stacks?.clear()}check(R,D){const T=this.threshold;if(T<=0||D{const z=this._stacks.get(R.value)||0;this._stacks.set(R.value,z-1)}}getMostFrequentStack(){if(!this._stacks)return;let R,D=0;for(const[T,O]of this._stacks)(!R||D{if(C instanceof S)R(C);else for(let D=0;D{C.length!==0&&(console.warn("[LEAKING LISTENERS] GC'ed these listeners that were NOT yet disposed:"),console.warn(C.join(` +`)),C.length=0)},3e3),P=new FinalizationRegistry(R=>{typeof R=="string"&&C.push(R)})}class E{constructor(R){this._size=0,this._options=R,this._leakageMon=h>0||this._options?.leakWarningThreshold?new r(R?.onListenerError??i.onUnexpectedError,this._options?.leakWarningThreshold??h):void 0,this._perfMon=this._options?._profName?new e(this._options._profName):void 0,this._deliveryQueue=this._options?.deliveryQueue}dispose(){if(!this._disposed){if(this._disposed=!0,this._deliveryQueue?.current===this&&this._deliveryQueue.reset(),this._listeners){if(c){const R=this._listeners;queueMicrotask(()=>{N(R,D=>D.stack?.print())})}this._listeners=void 0,this._size=0}this._options?.onDidRemoveLastListener?.(),this._leakageMon?.dispose()}}get event(){return this._event??=(R,D,T)=>{if(this._leakageMon&&this._size>this._leakageMon.threshold**2){const q=`[${this._leakageMon.name}] REFUSES to accept new listeners because it exceeded its threshold by far (${this._size} vs ${this._leakageMon.threshold})`;console.warn(q);const B=this._leakageMon.getMostFrequentStack()??["UNKNOWN stack",-1],G=new u(`${q}. HINT: Stack shows most frequent listener (${B[1]}-times)`,B[0]);return(this._options?.onListenerError||i.onUnexpectedError)(G),A.Disposable.None}if(this._disposed)return A.Disposable.None;D&&(R=R.bind(D));const O=new S(R);let z,j;this._leakageMon&&this._size>=Math.ceil(this._leakageMon.threshold*.2)&&(O.stack=s.create(),z=this._leakageMon.check(O.stack,this._size+1)),c&&(O.stack=j??s.create()),this._listeners?this._listeners instanceof S?(this._deliveryQueue??=new l,this._listeners=[this._listeners,O]):this._listeners.push(O):(this._options?.onWillAddFirstListener?.(this),this._listeners=O,this._options?.onDidAddFirstListener?.(this)),this._size++;const F=(0,A.toDisposable)(()=>{P?.unregister(F),z?.(),this._removeListener(O)});if(T instanceof A.DisposableStore?T.add(F):Array.isArray(T)&&T.push(F),P){const q=new Error().stack.split(` +`).slice(2,3).join(` +`).trim(),B=/(file:|vscode-file:\/\/vscode-app)?(\/[^:]*:\d+:\d+)/.exec(q);P.register(F,B?.[2]??q,F)}return F},this._event}_removeListener(R){if(this._options?.onWillRemoveListener?.(this),!this._listeners)return;if(this._size===1){this._listeners=void 0,this._options?.onDidRemoveLastListener?.(this),this._size=0;return}const D=this._listeners,T=D.indexOf(R);if(T===-1)throw console.log("disposed?",this._disposed),console.log("size?",this._size),console.log("arr?",JSON.stringify(this._listeners)),new Error("Attempted to dispose unknown listener");this._size--,D[T]=void 0;const O=this._deliveryQueue.current===this;if(this._size*L<=D.length){let z=0;for(let j=0;j0}}n.Emitter=E;const v=()=>new l;n.createEventDeliveryQueue=v;class l{constructor(){this.i=-1,this.end=0}enqueue(R,D,T){this.i=0,this.end=T,this.current=R,this.value=D}reset(){this.i=this.end,this.current=void 0,this.value=void 0}}class b extends E{constructor(R){super(R),this._isPaused=0,this._eventQueue=new d.LinkedList,this._mergeFn=R?.merge}pause(){this._isPaused++}resume(){if(this._isPaused!==0&&--this._isPaused===0)if(this._mergeFn){if(this._eventQueue.size>0){const R=Array.from(this._eventQueue);this._eventQueue.clear(),super.fire(this._mergeFn(R))}}else for(;!this._isPaused&&this._eventQueue.size!==0;)super.fire(this._eventQueue.shift())}fire(R){this._size&&(this._isPaused!==0?this._eventQueue.push(R):super.fire(R))}}n.PauseableEmitter=b;class g extends b{constructor(R){super(R),this._delay=R.delay??100}fire(R){this._handle||(this.pause(),this._handle=setTimeout(()=>{this._handle=void 0,this.resume()},this._delay)),super.fire(R)}}n.DebounceEmitter=g;class w extends E{constructor(R){super(R),this._queuedEvents=[],this._mergeFn=R?.merge}fire(R){this.hasListeners()&&(this._queuedEvents.push(R),this._queuedEvents.length===1&&queueMicrotask(()=>{this._mergeFn?super.fire(this._mergeFn(this._queuedEvents)):this._queuedEvents.forEach(D=>super.fire(D)),this._queuedEvents=[]}))}}n.MicrotaskEmitter=w;class M{constructor(){this.hasListeners=!1,this.events=[],this.emitter=new E({onWillAddFirstListener:()=>this.onFirstListenerAdd(),onDidRemoveLastListener:()=>this.onLastListenerRemove()})}get event(){return this.emitter.event}add(R){const D={event:R,listener:null};this.events.push(D),this.hasListeners&&this.hook(D);const T=()=>{this.hasListeners&&this.unhook(D);const O=this.events.indexOf(D);this.events.splice(O,1)};return(0,A.toDisposable)((0,x.createSingleCallFunction)(T))}onFirstListenerAdd(){this.hasListeners=!0,this.events.forEach(R=>this.hook(R))}onLastListenerRemove(){this.hasListeners=!1,this.events.forEach(R=>this.unhook(R))}hook(R){R.listener=R.event(D=>this.emitter.fire(D))}unhook(R){R.listener?.dispose(),R.listener=null}dispose(){this.emitter.dispose();for(const R of this.events)R.listener?.dispose();this.events=[]}}n.EventMultiplexer=M;class y{constructor(){this.data=[]}wrapEvent(R,D,T){return(O,z,j)=>R(F=>{const q=this.data[this.data.length-1];if(!D){q?q.buffers.push(()=>O.call(z,F)):O.call(z,F);return}const B=q;if(!B){O.call(z,D(T,F));return}B.items??=[],B.items.push(F),B.buffers.length===0&&q.buffers.push(()=>{B.reducedResult??=T?B.items.reduce(D,T):B.items.reduce(D),O.call(z,B.reducedResult)})},void 0,j)}bufferEvents(R){const D={buffers:new Array};this.data.push(D);const T=R();return this.data.pop(),D.buffers.forEach(O=>O()),T}}n.EventBufferer=y;class _{constructor(){this.listening=!1,this.inputEvent=m.None,this.inputEventListener=A.Disposable.None,this.emitter=new E({onDidAddFirstListener:()=>{this.listening=!0,this.inputEventListener=this.inputEvent(this.emitter.fire,this.emitter)},onDidRemoveLastListener:()=>{this.listening=!1,this.inputEventListener.dispose()}}),this.event=this.emitter.event}set input(R){this.inputEvent=R,this.listening&&(this.inputEventListener.dispose(),this.inputEventListener=R(this.emitter.fire,this.emitter))}dispose(){this.inputEventListener.dispose(),this.emitter.dispose()}}n.Relay=_}),X(J[23],Z([0,1,9]),function(W,n,i){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.CancellationTokenSource=n.CancellationToken=void 0,n.cancelOnDispose=p;const x=Object.freeze(function(c,a){const m=setTimeout(c.bind(a),0);return{dispose(){clearTimeout(m)}}});var A;(function(c){function a(m){return m===c.None||m===c.Cancelled||m instanceof d?!0:!m||typeof m!="object"?!1:typeof m.isCancellationRequested=="boolean"&&typeof m.onCancellationRequested=="function"}c.isCancellationToken=a,c.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:i.Event.None}),c.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:x})})(A||(n.CancellationToken=A={}));class d{constructor(){this._isCancelled=!1,this._emitter=null}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?x:(this._emitter||(this._emitter=new i.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}}class f{constructor(a){this._token=void 0,this._parentListener=void 0,this._parentListener=a&&a.onCancellationRequested(this.cancel,this)}get token(){return this._token||(this._token=new d),this._token}cancel(){this._token?this._token instanceof d&&this._token.cancel():this._token=A.Cancelled}dispose(a=!1){a&&this.cancel(),this._parentListener?.dispose(),this._token?this._token instanceof d&&this._token.dispose():this._token=A.None}}n.CancellationTokenSource=f;function p(c){const a=new f;return c.add({dispose(){a.cancel()}}),a.token}}),X(J[6],Z([0,1,39,43]),function(W,n,i,x){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.InvisibleCharacters=n.AmbiguousCharacters=n.noBreakWhitespace=n.UTF8_BOM_CHARACTER=n.UNUSUAL_LINE_TERMINATORS=n.GraphemeIterator=n.CodePointIterator=void 0,n.isFalsyOrWhitespace=A,n.format=f,n.htmlAttributeEncodeValue=p,n.escape=c,n.escapeRegExpCharacters=a,n.trim=m,n.ltrim=e,n.rtrim=h,n.convertSimple2RegExpPattern=r,n.stripWildcards=s,n.createRegExp=o,n.regExpLeadsToEndlessLoop=u,n.splitLines=S,n.splitLinesIncludeSeparators=L,n.firstNonWhitespaceIndex=N,n.getLeadingWhitespace=P,n.lastNonWhitespaceIndex=E,n.compare=v,n.compareSubstring=l,n.compareIgnoreCase=b,n.compareSubstringIgnoreCase=g,n.isAsciiDigit=w,n.isLowerAsciiLetter=M,n.isUpperAsciiLetter=y,n.equalsIgnoreCase=_,n.startsWithIgnoreCase=C,n.commonPrefixLength=R,n.commonSuffixLength=D,n.isHighSurrogate=T,n.isLowSurrogate=O,n.computeCodePoint=z,n.getNextCodePoint=j,n.nextCharLength=G,n.prevCharLength=$,n.getCharContainingOffset=U,n.containsRTL=ue,n.isBasicASCII=ge,n.containsUnusualLineTerminators=t,n.isFullWidthCharacter=me,n.isEmojiImprecise=pe,n.startsWithUTF8BOM=Le,n.containsUppercaseCharacter=we,n.singleLetterHash=Ce,n.getLeftDeleteOffset=_e;function A(k){return!k||typeof k!="string"?!0:k.trim().length===0}const d=/{(\d+)}/g;function f(k,...I){return I.length===0?k:k.replace(d,function(V,H){const Y=parseInt(H,10);return isNaN(Y)||Y<0||Y>=I.length?V:I[Y]})}function p(k){return k.replace(/[<>"'&]/g,I=>{switch(I){case"<":return"<";case">":return">";case'"':return""";case"'":return"'";case"&":return"&"}return I})}function c(k){return k.replace(/[<>&]/g,function(I){switch(I){case"<":return"<";case">":return">";case"&":return"&";default:return I}})}function a(k){return k.replace(/[\\\{\}\*\+\?\|\^\$\.\[\]\(\)]/g,"\\$&")}function m(k,I=" "){const V=e(k,I);return h(V,I)}function e(k,I){if(!k||!I)return k;const V=I.length;if(V===0||k.length===0)return k;let H=0;for(;k.indexOf(I,H)===H;)H=H+V;return k.substring(H)}function h(k,I){if(!k||!I)return k;const V=I.length,H=k.length;if(V===0||H===0)return k;let Y=H,te=-1;for(;te=k.lastIndexOf(I,Y-1),!(te===-1||te+V!==Y);){if(te===0)return"";Y=te}return k.substring(0,Y)}function r(k){return k.replace(/[\-\\\{\}\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&").replace(/[\*]/g,".*")}function s(k){return k.replace(/\*/g,"")}function o(k,I,V={}){if(!k)throw new Error("Cannot create regex from empty string");I||(k=a(k)),V.wholeWord&&(/\B/.test(k.charAt(0))||(k="\\b"+k),/\B/.test(k.charAt(k.length-1))||(k=k+"\\b"));let H="";return V.global&&(H+="g"),V.matchCase||(H+="i"),V.multiline&&(H+="m"),V.unicode&&(H+="u"),new RegExp(k,H)}function u(k){return k.source==="^"||k.source==="^$"||k.source==="$"||k.source==="^\\s*$"?!1:!!(k.exec("")&&k.lastIndex===0)}function S(k){return k.split(/\r\n|\r|\n/)}function L(k){const I=[],V=k.split(/(\r\n|\r|\n)/);for(let H=0;H=0;V--){const H=k.charCodeAt(V);if(H!==32&&H!==9)return V}return-1}function v(k,I){return kI?1:0}function l(k,I,V=0,H=k.length,Y=0,te=I.length){for(;Voe)return 1}const ne=H-V,ae=te-Y;return neae?1:0}function b(k,I){return g(k,I,0,k.length,0,I.length)}function g(k,I,V=0,H=k.length,Y=0,te=I.length){for(;V=128||oe>=128)return l(k.toLowerCase(),I.toLowerCase(),V,H,Y,te);M(le)&&(le-=32),M(oe)&&(oe-=32);const se=le-oe;if(se!==0)return se}const ne=H-V,ae=te-Y;return neae?1:0}function w(k){return k>=48&&k<=57}function M(k){return k>=97&&k<=122}function y(k){return k>=65&&k<=90}function _(k,I){return k.length===I.length&&g(k,I)===0}function C(k,I){const V=I.length;return I.length>k.length?!1:g(k,I,0,V)===0}function R(k,I){const V=Math.min(k.length,I.length);let H;for(H=0;H1){const H=k.charCodeAt(I-2);if(T(H))return z(H,V)}return V}class q{get offset(){return this._offset}constructor(I,V=0){this._str=I,this._len=I.length,this._offset=V}setOffset(I){this._offset=I}prevCodePoint(){const I=F(this._str,this._offset);return this._offset-=I>=65536?2:1,I}nextCodePoint(){const I=j(this._str,this._len,this._offset);return this._offset+=I>=65536?2:1,I}eol(){return this._offset>=this._len}}n.CodePointIterator=q;class B{get offset(){return this._iterator.offset}constructor(I,V=0){this._iterator=new q(I,V)}nextGraphemeLength(){const I=fe.getInstance(),V=this._iterator,H=V.offset;let Y=I.getGraphemeBreakType(V.nextCodePoint());for(;!V.eol();){const te=V.offset,ne=I.getGraphemeBreakType(V.nextCodePoint());if(ve(Y,ne)){V.setOffset(te);break}Y=ne}return V.offset-H}prevGraphemeLength(){const I=fe.getInstance(),V=this._iterator,H=V.offset;let Y=I.getGraphemeBreakType(V.prevCodePoint());for(;V.offset>0;){const te=V.offset,ne=I.getGraphemeBreakType(V.prevCodePoint());if(ve(ne,Y)){V.setOffset(te);break}Y=ne}return H-V.offset}eol(){return this._iterator.eol()}}n.GraphemeIterator=B;function G(k,I){return new B(k,I).nextGraphemeLength()}function $(k,I){return new B(k,I).prevGraphemeLength()}function U(k,I){I>0&&O(k.charCodeAt(I))&&I--;const V=I+G(k,I);return[V-$(k,V),V]}let ee;function re(){return/(?:[\u05BE\u05C0\u05C3\u05C6\u05D0-\u05F4\u0608\u060B\u060D\u061B-\u064A\u066D-\u066F\u0671-\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u0710\u0712-\u072F\u074D-\u07A5\u07B1-\u07EA\u07F4\u07F5\u07FA\u07FE-\u0815\u081A\u0824\u0828\u0830-\u0858\u085E-\u088E\u08A0-\u08C9\u200F\uFB1D\uFB1F-\uFB28\uFB2A-\uFD3D\uFD50-\uFDC7\uFDF0-\uFDFC\uFE70-\uFEFC]|\uD802[\uDC00-\uDD1B\uDD20-\uDE00\uDE10-\uDE35\uDE40-\uDEE4\uDEEB-\uDF35\uDF40-\uDFFF]|\uD803[\uDC00-\uDD23\uDE80-\uDEA9\uDEAD-\uDF45\uDF51-\uDF81\uDF86-\uDFF6]|\uD83A[\uDC00-\uDCCF\uDD00-\uDD43\uDD4B-\uDFFF]|\uD83B[\uDC00-\uDEBB])/}function ue(k){return ee||(ee=re()),ee.test(k)}const de=/^[\t\n\r\x20-\x7E]*$/;function ge(k){return de.test(k)}n.UNUSUAL_LINE_TERMINATORS=/[\u2028\u2029]/;function t(k){return n.UNUSUAL_LINE_TERMINATORS.test(k)}function me(k){return k>=11904&&k<=55215||k>=63744&&k<=64255||k>=65281&&k<=65374}function pe(k){return k>=127462&&k<=127487||k===8986||k===8987||k===9200||k===9203||k>=9728&&k<=10175||k===11088||k===11093||k>=127744&&k<=128591||k>=128640&&k<=128764||k>=128992&&k<=129008||k>=129280&&k<=129535||k>=129648&&k<=129782}n.UTF8_BOM_CHARACTER="\uFEFF";function Le(k){return!!(k&&k.length>0&&k.charCodeAt(0)===65279)}function we(k,I=!1){return k?(I&&(k=k.replace(/\\./g,"")),k.toLowerCase()!==k):!1}function Ce(k){return k=k%(2*26),k<26?String.fromCharCode(97+k):String.fromCharCode(65+k-26)}function ve(k,I){return k===0?I!==5&&I!==7:k===2&&I===3?!1:k===4||k===2||k===3||I===4||I===2||I===3?!0:!(k===8&&(I===8||I===9||I===11||I===12)||(k===11||k===9)&&(I===9||I===10)||(k===12||k===10)&&I===10||I===5||I===13||I===7||k===1||k===13&&I===14||k===6&&I===6)}class fe{static{this._INSTANCE=null}static getInstance(){return fe._INSTANCE||(fe._INSTANCE=new fe),fe._INSTANCE}constructor(){this._data=Se()}getGraphemeBreakType(I){if(I<32)return I===10?3:I===13?2:4;if(I<127)return 0;const V=this._data,H=V.length/3;let Y=1;for(;Y<=H;)if(IV[3*Y+1])Y=2*Y+1;else return V[3*Y+2];return 0}}function Se(){return JSON.parse("[0,0,0,51229,51255,12,44061,44087,12,127462,127487,6,7083,7085,5,47645,47671,12,54813,54839,12,128678,128678,14,3270,3270,5,9919,9923,14,45853,45879,12,49437,49463,12,53021,53047,12,71216,71218,7,128398,128399,14,129360,129374,14,2519,2519,5,4448,4519,9,9742,9742,14,12336,12336,14,44957,44983,12,46749,46775,12,48541,48567,12,50333,50359,12,52125,52151,12,53917,53943,12,69888,69890,5,73018,73018,5,127990,127990,14,128558,128559,14,128759,128760,14,129653,129655,14,2027,2035,5,2891,2892,7,3761,3761,5,6683,6683,5,8293,8293,4,9825,9826,14,9999,9999,14,43452,43453,5,44509,44535,12,45405,45431,12,46301,46327,12,47197,47223,12,48093,48119,12,48989,49015,12,49885,49911,12,50781,50807,12,51677,51703,12,52573,52599,12,53469,53495,12,54365,54391,12,65279,65279,4,70471,70472,7,72145,72147,7,119173,119179,5,127799,127818,14,128240,128244,14,128512,128512,14,128652,128652,14,128721,128722,14,129292,129292,14,129445,129450,14,129734,129743,14,1476,1477,5,2366,2368,7,2750,2752,7,3076,3076,5,3415,3415,5,4141,4144,5,6109,6109,5,6964,6964,5,7394,7400,5,9197,9198,14,9770,9770,14,9877,9877,14,9968,9969,14,10084,10084,14,43052,43052,5,43713,43713,5,44285,44311,12,44733,44759,12,45181,45207,12,45629,45655,12,46077,46103,12,46525,46551,12,46973,46999,12,47421,47447,12,47869,47895,12,48317,48343,12,48765,48791,12,49213,49239,12,49661,49687,12,50109,50135,12,50557,50583,12,51005,51031,12,51453,51479,12,51901,51927,12,52349,52375,12,52797,52823,12,53245,53271,12,53693,53719,12,54141,54167,12,54589,54615,12,55037,55063,12,69506,69509,5,70191,70193,5,70841,70841,7,71463,71467,5,72330,72342,5,94031,94031,5,123628,123631,5,127763,127765,14,127941,127941,14,128043,128062,14,128302,128317,14,128465,128467,14,128539,128539,14,128640,128640,14,128662,128662,14,128703,128703,14,128745,128745,14,129004,129007,14,129329,129330,14,129402,129402,14,129483,129483,14,129686,129704,14,130048,131069,14,173,173,4,1757,1757,1,2200,2207,5,2434,2435,7,2631,2632,5,2817,2817,5,3008,3008,5,3201,3201,5,3387,3388,5,3542,3542,5,3902,3903,7,4190,4192,5,6002,6003,5,6439,6440,5,6765,6770,7,7019,7027,5,7154,7155,7,8205,8205,13,8505,8505,14,9654,9654,14,9757,9757,14,9792,9792,14,9852,9853,14,9890,9894,14,9937,9937,14,9981,9981,14,10035,10036,14,11035,11036,14,42654,42655,5,43346,43347,7,43587,43587,5,44006,44007,7,44173,44199,12,44397,44423,12,44621,44647,12,44845,44871,12,45069,45095,12,45293,45319,12,45517,45543,12,45741,45767,12,45965,45991,12,46189,46215,12,46413,46439,12,46637,46663,12,46861,46887,12,47085,47111,12,47309,47335,12,47533,47559,12,47757,47783,12,47981,48007,12,48205,48231,12,48429,48455,12,48653,48679,12,48877,48903,12,49101,49127,12,49325,49351,12,49549,49575,12,49773,49799,12,49997,50023,12,50221,50247,12,50445,50471,12,50669,50695,12,50893,50919,12,51117,51143,12,51341,51367,12,51565,51591,12,51789,51815,12,52013,52039,12,52237,52263,12,52461,52487,12,52685,52711,12,52909,52935,12,53133,53159,12,53357,53383,12,53581,53607,12,53805,53831,12,54029,54055,12,54253,54279,12,54477,54503,12,54701,54727,12,54925,54951,12,55149,55175,12,68101,68102,5,69762,69762,7,70067,70069,7,70371,70378,5,70720,70721,7,71087,71087,5,71341,71341,5,71995,71996,5,72249,72249,7,72850,72871,5,73109,73109,5,118576,118598,5,121505,121519,5,127245,127247,14,127568,127569,14,127777,127777,14,127872,127891,14,127956,127967,14,128015,128016,14,128110,128172,14,128259,128259,14,128367,128368,14,128424,128424,14,128488,128488,14,128530,128532,14,128550,128551,14,128566,128566,14,128647,128647,14,128656,128656,14,128667,128673,14,128691,128693,14,128715,128715,14,128728,128732,14,128752,128752,14,128765,128767,14,129096,129103,14,129311,129311,14,129344,129349,14,129394,129394,14,129413,129425,14,129466,129471,14,129511,129535,14,129664,129666,14,129719,129722,14,129760,129767,14,917536,917631,5,13,13,2,1160,1161,5,1564,1564,4,1807,1807,1,2085,2087,5,2307,2307,7,2382,2383,7,2497,2500,5,2563,2563,7,2677,2677,5,2763,2764,7,2879,2879,5,2914,2915,5,3021,3021,5,3142,3144,5,3263,3263,5,3285,3286,5,3398,3400,7,3530,3530,5,3633,3633,5,3864,3865,5,3974,3975,5,4155,4156,7,4229,4230,5,5909,5909,7,6078,6085,7,6277,6278,5,6451,6456,7,6744,6750,5,6846,6846,5,6972,6972,5,7074,7077,5,7146,7148,7,7222,7223,5,7416,7417,5,8234,8238,4,8417,8417,5,9000,9000,14,9203,9203,14,9730,9731,14,9748,9749,14,9762,9763,14,9776,9783,14,9800,9811,14,9831,9831,14,9872,9873,14,9882,9882,14,9900,9903,14,9929,9933,14,9941,9960,14,9974,9974,14,9989,9989,14,10006,10006,14,10062,10062,14,10160,10160,14,11647,11647,5,12953,12953,14,43019,43019,5,43232,43249,5,43443,43443,5,43567,43568,7,43696,43696,5,43765,43765,7,44013,44013,5,44117,44143,12,44229,44255,12,44341,44367,12,44453,44479,12,44565,44591,12,44677,44703,12,44789,44815,12,44901,44927,12,45013,45039,12,45125,45151,12,45237,45263,12,45349,45375,12,45461,45487,12,45573,45599,12,45685,45711,12,45797,45823,12,45909,45935,12,46021,46047,12,46133,46159,12,46245,46271,12,46357,46383,12,46469,46495,12,46581,46607,12,46693,46719,12,46805,46831,12,46917,46943,12,47029,47055,12,47141,47167,12,47253,47279,12,47365,47391,12,47477,47503,12,47589,47615,12,47701,47727,12,47813,47839,12,47925,47951,12,48037,48063,12,48149,48175,12,48261,48287,12,48373,48399,12,48485,48511,12,48597,48623,12,48709,48735,12,48821,48847,12,48933,48959,12,49045,49071,12,49157,49183,12,49269,49295,12,49381,49407,12,49493,49519,12,49605,49631,12,49717,49743,12,49829,49855,12,49941,49967,12,50053,50079,12,50165,50191,12,50277,50303,12,50389,50415,12,50501,50527,12,50613,50639,12,50725,50751,12,50837,50863,12,50949,50975,12,51061,51087,12,51173,51199,12,51285,51311,12,51397,51423,12,51509,51535,12,51621,51647,12,51733,51759,12,51845,51871,12,51957,51983,12,52069,52095,12,52181,52207,12,52293,52319,12,52405,52431,12,52517,52543,12,52629,52655,12,52741,52767,12,52853,52879,12,52965,52991,12,53077,53103,12,53189,53215,12,53301,53327,12,53413,53439,12,53525,53551,12,53637,53663,12,53749,53775,12,53861,53887,12,53973,53999,12,54085,54111,12,54197,54223,12,54309,54335,12,54421,54447,12,54533,54559,12,54645,54671,12,54757,54783,12,54869,54895,12,54981,55007,12,55093,55119,12,55243,55291,10,66045,66045,5,68325,68326,5,69688,69702,5,69817,69818,5,69957,69958,7,70089,70092,5,70198,70199,5,70462,70462,5,70502,70508,5,70750,70750,5,70846,70846,7,71100,71101,5,71230,71230,7,71351,71351,5,71737,71738,5,72000,72000,7,72160,72160,5,72273,72278,5,72752,72758,5,72882,72883,5,73031,73031,5,73461,73462,7,94192,94193,7,119149,119149,7,121403,121452,5,122915,122916,5,126980,126980,14,127358,127359,14,127535,127535,14,127759,127759,14,127771,127771,14,127792,127793,14,127825,127867,14,127897,127899,14,127945,127945,14,127985,127986,14,128000,128007,14,128021,128021,14,128066,128100,14,128184,128235,14,128249,128252,14,128266,128276,14,128335,128335,14,128379,128390,14,128407,128419,14,128444,128444,14,128481,128481,14,128499,128499,14,128526,128526,14,128536,128536,14,128543,128543,14,128556,128556,14,128564,128564,14,128577,128580,14,128643,128645,14,128649,128649,14,128654,128654,14,128660,128660,14,128664,128664,14,128675,128675,14,128686,128689,14,128695,128696,14,128705,128709,14,128717,128719,14,128725,128725,14,128736,128741,14,128747,128748,14,128755,128755,14,128762,128762,14,128981,128991,14,129009,129023,14,129160,129167,14,129296,129304,14,129320,129327,14,129340,129342,14,129356,129356,14,129388,129392,14,129399,129400,14,129404,129407,14,129432,129442,14,129454,129455,14,129473,129474,14,129485,129487,14,129648,129651,14,129659,129660,14,129671,129679,14,129709,129711,14,129728,129730,14,129751,129753,14,129776,129782,14,917505,917505,4,917760,917999,5,10,10,3,127,159,4,768,879,5,1471,1471,5,1536,1541,1,1648,1648,5,1767,1768,5,1840,1866,5,2070,2073,5,2137,2139,5,2274,2274,1,2363,2363,7,2377,2380,7,2402,2403,5,2494,2494,5,2507,2508,7,2558,2558,5,2622,2624,7,2641,2641,5,2691,2691,7,2759,2760,5,2786,2787,5,2876,2876,5,2881,2884,5,2901,2902,5,3006,3006,5,3014,3016,7,3072,3072,5,3134,3136,5,3157,3158,5,3260,3260,5,3266,3266,5,3274,3275,7,3328,3329,5,3391,3392,7,3405,3405,5,3457,3457,5,3536,3537,7,3551,3551,5,3636,3642,5,3764,3772,5,3895,3895,5,3967,3967,7,3993,4028,5,4146,4151,5,4182,4183,7,4226,4226,5,4253,4253,5,4957,4959,5,5940,5940,7,6070,6070,7,6087,6088,7,6158,6158,4,6432,6434,5,6448,6449,7,6679,6680,5,6742,6742,5,6754,6754,5,6783,6783,5,6912,6915,5,6966,6970,5,6978,6978,5,7042,7042,7,7080,7081,5,7143,7143,7,7150,7150,7,7212,7219,5,7380,7392,5,7412,7412,5,8203,8203,4,8232,8232,4,8265,8265,14,8400,8412,5,8421,8432,5,8617,8618,14,9167,9167,14,9200,9200,14,9410,9410,14,9723,9726,14,9733,9733,14,9745,9745,14,9752,9752,14,9760,9760,14,9766,9766,14,9774,9774,14,9786,9786,14,9794,9794,14,9823,9823,14,9828,9828,14,9833,9850,14,9855,9855,14,9875,9875,14,9880,9880,14,9885,9887,14,9896,9897,14,9906,9916,14,9926,9927,14,9935,9935,14,9939,9939,14,9962,9962,14,9972,9972,14,9978,9978,14,9986,9986,14,9997,9997,14,10002,10002,14,10017,10017,14,10055,10055,14,10071,10071,14,10133,10135,14,10548,10549,14,11093,11093,14,12330,12333,5,12441,12442,5,42608,42610,5,43010,43010,5,43045,43046,5,43188,43203,7,43302,43309,5,43392,43394,5,43446,43449,5,43493,43493,5,43571,43572,7,43597,43597,7,43703,43704,5,43756,43757,5,44003,44004,7,44009,44010,7,44033,44059,12,44089,44115,12,44145,44171,12,44201,44227,12,44257,44283,12,44313,44339,12,44369,44395,12,44425,44451,12,44481,44507,12,44537,44563,12,44593,44619,12,44649,44675,12,44705,44731,12,44761,44787,12,44817,44843,12,44873,44899,12,44929,44955,12,44985,45011,12,45041,45067,12,45097,45123,12,45153,45179,12,45209,45235,12,45265,45291,12,45321,45347,12,45377,45403,12,45433,45459,12,45489,45515,12,45545,45571,12,45601,45627,12,45657,45683,12,45713,45739,12,45769,45795,12,45825,45851,12,45881,45907,12,45937,45963,12,45993,46019,12,46049,46075,12,46105,46131,12,46161,46187,12,46217,46243,12,46273,46299,12,46329,46355,12,46385,46411,12,46441,46467,12,46497,46523,12,46553,46579,12,46609,46635,12,46665,46691,12,46721,46747,12,46777,46803,12,46833,46859,12,46889,46915,12,46945,46971,12,47001,47027,12,47057,47083,12,47113,47139,12,47169,47195,12,47225,47251,12,47281,47307,12,47337,47363,12,47393,47419,12,47449,47475,12,47505,47531,12,47561,47587,12,47617,47643,12,47673,47699,12,47729,47755,12,47785,47811,12,47841,47867,12,47897,47923,12,47953,47979,12,48009,48035,12,48065,48091,12,48121,48147,12,48177,48203,12,48233,48259,12,48289,48315,12,48345,48371,12,48401,48427,12,48457,48483,12,48513,48539,12,48569,48595,12,48625,48651,12,48681,48707,12,48737,48763,12,48793,48819,12,48849,48875,12,48905,48931,12,48961,48987,12,49017,49043,12,49073,49099,12,49129,49155,12,49185,49211,12,49241,49267,12,49297,49323,12,49353,49379,12,49409,49435,12,49465,49491,12,49521,49547,12,49577,49603,12,49633,49659,12,49689,49715,12,49745,49771,12,49801,49827,12,49857,49883,12,49913,49939,12,49969,49995,12,50025,50051,12,50081,50107,12,50137,50163,12,50193,50219,12,50249,50275,12,50305,50331,12,50361,50387,12,50417,50443,12,50473,50499,12,50529,50555,12,50585,50611,12,50641,50667,12,50697,50723,12,50753,50779,12,50809,50835,12,50865,50891,12,50921,50947,12,50977,51003,12,51033,51059,12,51089,51115,12,51145,51171,12,51201,51227,12,51257,51283,12,51313,51339,12,51369,51395,12,51425,51451,12,51481,51507,12,51537,51563,12,51593,51619,12,51649,51675,12,51705,51731,12,51761,51787,12,51817,51843,12,51873,51899,12,51929,51955,12,51985,52011,12,52041,52067,12,52097,52123,12,52153,52179,12,52209,52235,12,52265,52291,12,52321,52347,12,52377,52403,12,52433,52459,12,52489,52515,12,52545,52571,12,52601,52627,12,52657,52683,12,52713,52739,12,52769,52795,12,52825,52851,12,52881,52907,12,52937,52963,12,52993,53019,12,53049,53075,12,53105,53131,12,53161,53187,12,53217,53243,12,53273,53299,12,53329,53355,12,53385,53411,12,53441,53467,12,53497,53523,12,53553,53579,12,53609,53635,12,53665,53691,12,53721,53747,12,53777,53803,12,53833,53859,12,53889,53915,12,53945,53971,12,54001,54027,12,54057,54083,12,54113,54139,12,54169,54195,12,54225,54251,12,54281,54307,12,54337,54363,12,54393,54419,12,54449,54475,12,54505,54531,12,54561,54587,12,54617,54643,12,54673,54699,12,54729,54755,12,54785,54811,12,54841,54867,12,54897,54923,12,54953,54979,12,55009,55035,12,55065,55091,12,55121,55147,12,55177,55203,12,65024,65039,5,65520,65528,4,66422,66426,5,68152,68154,5,69291,69292,5,69633,69633,5,69747,69748,5,69811,69814,5,69826,69826,5,69932,69932,7,70016,70017,5,70079,70080,7,70095,70095,5,70196,70196,5,70367,70367,5,70402,70403,7,70464,70464,5,70487,70487,5,70709,70711,7,70725,70725,7,70833,70834,7,70843,70844,7,70849,70849,7,71090,71093,5,71103,71104,5,71227,71228,7,71339,71339,5,71344,71349,5,71458,71461,5,71727,71735,5,71985,71989,7,71998,71998,5,72002,72002,7,72154,72155,5,72193,72202,5,72251,72254,5,72281,72283,5,72344,72345,5,72766,72766,7,72874,72880,5,72885,72886,5,73023,73029,5,73104,73105,5,73111,73111,5,92912,92916,5,94095,94098,5,113824,113827,4,119142,119142,7,119155,119162,4,119362,119364,5,121476,121476,5,122888,122904,5,123184,123190,5,125252,125258,5,127183,127183,14,127340,127343,14,127377,127386,14,127491,127503,14,127548,127551,14,127744,127756,14,127761,127761,14,127769,127769,14,127773,127774,14,127780,127788,14,127796,127797,14,127820,127823,14,127869,127869,14,127894,127895,14,127902,127903,14,127943,127943,14,127947,127950,14,127972,127972,14,127988,127988,14,127992,127994,14,128009,128011,14,128019,128019,14,128023,128041,14,128064,128064,14,128102,128107,14,128174,128181,14,128238,128238,14,128246,128247,14,128254,128254,14,128264,128264,14,128278,128299,14,128329,128330,14,128348,128359,14,128371,128377,14,128392,128393,14,128401,128404,14,128421,128421,14,128433,128434,14,128450,128452,14,128476,128478,14,128483,128483,14,128495,128495,14,128506,128506,14,128519,128520,14,128528,128528,14,128534,128534,14,128538,128538,14,128540,128542,14,128544,128549,14,128552,128555,14,128557,128557,14,128560,128563,14,128565,128565,14,128567,128576,14,128581,128591,14,128641,128642,14,128646,128646,14,128648,128648,14,128650,128651,14,128653,128653,14,128655,128655,14,128657,128659,14,128661,128661,14,128663,128663,14,128665,128666,14,128674,128674,14,128676,128677,14,128679,128685,14,128690,128690,14,128694,128694,14,128697,128702,14,128704,128704,14,128710,128714,14,128716,128716,14,128720,128720,14,128723,128724,14,128726,128727,14,128733,128735,14,128742,128744,14,128746,128746,14,128749,128751,14,128753,128754,14,128756,128758,14,128761,128761,14,128763,128764,14,128884,128895,14,128992,129003,14,129008,129008,14,129036,129039,14,129114,129119,14,129198,129279,14,129293,129295,14,129305,129310,14,129312,129319,14,129328,129328,14,129331,129338,14,129343,129343,14,129351,129355,14,129357,129359,14,129375,129387,14,129393,129393,14,129395,129398,14,129401,129401,14,129403,129403,14,129408,129412,14,129426,129431,14,129443,129444,14,129451,129453,14,129456,129465,14,129472,129472,14,129475,129482,14,129484,129484,14,129488,129510,14,129536,129647,14,129652,129652,14,129656,129658,14,129661,129663,14,129667,129670,14,129680,129685,14,129705,129708,14,129712,129718,14,129723,129727,14,129731,129733,14,129744,129750,14,129754,129759,14,129768,129775,14,129783,129791,14,917504,917504,4,917506,917535,4,917632,917759,4,918000,921599,4,0,9,4,11,12,4,14,31,4,169,169,14,174,174,14,1155,1159,5,1425,1469,5,1473,1474,5,1479,1479,5,1552,1562,5,1611,1631,5,1750,1756,5,1759,1764,5,1770,1773,5,1809,1809,5,1958,1968,5,2045,2045,5,2075,2083,5,2089,2093,5,2192,2193,1,2250,2273,5,2275,2306,5,2362,2362,5,2364,2364,5,2369,2376,5,2381,2381,5,2385,2391,5,2433,2433,5,2492,2492,5,2495,2496,7,2503,2504,7,2509,2509,5,2530,2531,5,2561,2562,5,2620,2620,5,2625,2626,5,2635,2637,5,2672,2673,5,2689,2690,5,2748,2748,5,2753,2757,5,2761,2761,7,2765,2765,5,2810,2815,5,2818,2819,7,2878,2878,5,2880,2880,7,2887,2888,7,2893,2893,5,2903,2903,5,2946,2946,5,3007,3007,7,3009,3010,7,3018,3020,7,3031,3031,5,3073,3075,7,3132,3132,5,3137,3140,7,3146,3149,5,3170,3171,5,3202,3203,7,3262,3262,7,3264,3265,7,3267,3268,7,3271,3272,7,3276,3277,5,3298,3299,5,3330,3331,7,3390,3390,5,3393,3396,5,3402,3404,7,3406,3406,1,3426,3427,5,3458,3459,7,3535,3535,5,3538,3540,5,3544,3550,7,3570,3571,7,3635,3635,7,3655,3662,5,3763,3763,7,3784,3789,5,3893,3893,5,3897,3897,5,3953,3966,5,3968,3972,5,3981,3991,5,4038,4038,5,4145,4145,7,4153,4154,5,4157,4158,5,4184,4185,5,4209,4212,5,4228,4228,7,4237,4237,5,4352,4447,8,4520,4607,10,5906,5908,5,5938,5939,5,5970,5971,5,6068,6069,5,6071,6077,5,6086,6086,5,6089,6099,5,6155,6157,5,6159,6159,5,6313,6313,5,6435,6438,7,6441,6443,7,6450,6450,5,6457,6459,5,6681,6682,7,6741,6741,7,6743,6743,7,6752,6752,5,6757,6764,5,6771,6780,5,6832,6845,5,6847,6862,5,6916,6916,7,6965,6965,5,6971,6971,7,6973,6977,7,6979,6980,7,7040,7041,5,7073,7073,7,7078,7079,7,7082,7082,7,7142,7142,5,7144,7145,5,7149,7149,5,7151,7153,5,7204,7211,7,7220,7221,7,7376,7378,5,7393,7393,7,7405,7405,5,7415,7415,7,7616,7679,5,8204,8204,5,8206,8207,4,8233,8233,4,8252,8252,14,8288,8292,4,8294,8303,4,8413,8416,5,8418,8420,5,8482,8482,14,8596,8601,14,8986,8987,14,9096,9096,14,9193,9196,14,9199,9199,14,9201,9202,14,9208,9210,14,9642,9643,14,9664,9664,14,9728,9729,14,9732,9732,14,9735,9741,14,9743,9744,14,9746,9746,14,9750,9751,14,9753,9756,14,9758,9759,14,9761,9761,14,9764,9765,14,9767,9769,14,9771,9773,14,9775,9775,14,9784,9785,14,9787,9791,14,9793,9793,14,9795,9799,14,9812,9822,14,9824,9824,14,9827,9827,14,9829,9830,14,9832,9832,14,9851,9851,14,9854,9854,14,9856,9861,14,9874,9874,14,9876,9876,14,9878,9879,14,9881,9881,14,9883,9884,14,9888,9889,14,9895,9895,14,9898,9899,14,9904,9905,14,9917,9918,14,9924,9925,14,9928,9928,14,9934,9934,14,9936,9936,14,9938,9938,14,9940,9940,14,9961,9961,14,9963,9967,14,9970,9971,14,9973,9973,14,9975,9977,14,9979,9980,14,9982,9985,14,9987,9988,14,9992,9996,14,9998,9998,14,10000,10001,14,10004,10004,14,10013,10013,14,10024,10024,14,10052,10052,14,10060,10060,14,10067,10069,14,10083,10083,14,10085,10087,14,10145,10145,14,10175,10175,14,11013,11015,14,11088,11088,14,11503,11505,5,11744,11775,5,12334,12335,5,12349,12349,14,12951,12951,14,42607,42607,5,42612,42621,5,42736,42737,5,43014,43014,5,43043,43044,7,43047,43047,7,43136,43137,7,43204,43205,5,43263,43263,5,43335,43345,5,43360,43388,8,43395,43395,7,43444,43445,7,43450,43451,7,43454,43456,7,43561,43566,5,43569,43570,5,43573,43574,5,43596,43596,5,43644,43644,5,43698,43700,5,43710,43711,5,43755,43755,7,43758,43759,7,43766,43766,5,44005,44005,5,44008,44008,5,44012,44012,7,44032,44032,11,44060,44060,11,44088,44088,11,44116,44116,11,44144,44144,11,44172,44172,11,44200,44200,11,44228,44228,11,44256,44256,11,44284,44284,11,44312,44312,11,44340,44340,11,44368,44368,11,44396,44396,11,44424,44424,11,44452,44452,11,44480,44480,11,44508,44508,11,44536,44536,11,44564,44564,11,44592,44592,11,44620,44620,11,44648,44648,11,44676,44676,11,44704,44704,11,44732,44732,11,44760,44760,11,44788,44788,11,44816,44816,11,44844,44844,11,44872,44872,11,44900,44900,11,44928,44928,11,44956,44956,11,44984,44984,11,45012,45012,11,45040,45040,11,45068,45068,11,45096,45096,11,45124,45124,11,45152,45152,11,45180,45180,11,45208,45208,11,45236,45236,11,45264,45264,11,45292,45292,11,45320,45320,11,45348,45348,11,45376,45376,11,45404,45404,11,45432,45432,11,45460,45460,11,45488,45488,11,45516,45516,11,45544,45544,11,45572,45572,11,45600,45600,11,45628,45628,11,45656,45656,11,45684,45684,11,45712,45712,11,45740,45740,11,45768,45768,11,45796,45796,11,45824,45824,11,45852,45852,11,45880,45880,11,45908,45908,11,45936,45936,11,45964,45964,11,45992,45992,11,46020,46020,11,46048,46048,11,46076,46076,11,46104,46104,11,46132,46132,11,46160,46160,11,46188,46188,11,46216,46216,11,46244,46244,11,46272,46272,11,46300,46300,11,46328,46328,11,46356,46356,11,46384,46384,11,46412,46412,11,46440,46440,11,46468,46468,11,46496,46496,11,46524,46524,11,46552,46552,11,46580,46580,11,46608,46608,11,46636,46636,11,46664,46664,11,46692,46692,11,46720,46720,11,46748,46748,11,46776,46776,11,46804,46804,11,46832,46832,11,46860,46860,11,46888,46888,11,46916,46916,11,46944,46944,11,46972,46972,11,47000,47000,11,47028,47028,11,47056,47056,11,47084,47084,11,47112,47112,11,47140,47140,11,47168,47168,11,47196,47196,11,47224,47224,11,47252,47252,11,47280,47280,11,47308,47308,11,47336,47336,11,47364,47364,11,47392,47392,11,47420,47420,11,47448,47448,11,47476,47476,11,47504,47504,11,47532,47532,11,47560,47560,11,47588,47588,11,47616,47616,11,47644,47644,11,47672,47672,11,47700,47700,11,47728,47728,11,47756,47756,11,47784,47784,11,47812,47812,11,47840,47840,11,47868,47868,11,47896,47896,11,47924,47924,11,47952,47952,11,47980,47980,11,48008,48008,11,48036,48036,11,48064,48064,11,48092,48092,11,48120,48120,11,48148,48148,11,48176,48176,11,48204,48204,11,48232,48232,11,48260,48260,11,48288,48288,11,48316,48316,11,48344,48344,11,48372,48372,11,48400,48400,11,48428,48428,11,48456,48456,11,48484,48484,11,48512,48512,11,48540,48540,11,48568,48568,11,48596,48596,11,48624,48624,11,48652,48652,11,48680,48680,11,48708,48708,11,48736,48736,11,48764,48764,11,48792,48792,11,48820,48820,11,48848,48848,11,48876,48876,11,48904,48904,11,48932,48932,11,48960,48960,11,48988,48988,11,49016,49016,11,49044,49044,11,49072,49072,11,49100,49100,11,49128,49128,11,49156,49156,11,49184,49184,11,49212,49212,11,49240,49240,11,49268,49268,11,49296,49296,11,49324,49324,11,49352,49352,11,49380,49380,11,49408,49408,11,49436,49436,11,49464,49464,11,49492,49492,11,49520,49520,11,49548,49548,11,49576,49576,11,49604,49604,11,49632,49632,11,49660,49660,11,49688,49688,11,49716,49716,11,49744,49744,11,49772,49772,11,49800,49800,11,49828,49828,11,49856,49856,11,49884,49884,11,49912,49912,11,49940,49940,11,49968,49968,11,49996,49996,11,50024,50024,11,50052,50052,11,50080,50080,11,50108,50108,11,50136,50136,11,50164,50164,11,50192,50192,11,50220,50220,11,50248,50248,11,50276,50276,11,50304,50304,11,50332,50332,11,50360,50360,11,50388,50388,11,50416,50416,11,50444,50444,11,50472,50472,11,50500,50500,11,50528,50528,11,50556,50556,11,50584,50584,11,50612,50612,11,50640,50640,11,50668,50668,11,50696,50696,11,50724,50724,11,50752,50752,11,50780,50780,11,50808,50808,11,50836,50836,11,50864,50864,11,50892,50892,11,50920,50920,11,50948,50948,11,50976,50976,11,51004,51004,11,51032,51032,11,51060,51060,11,51088,51088,11,51116,51116,11,51144,51144,11,51172,51172,11,51200,51200,11,51228,51228,11,51256,51256,11,51284,51284,11,51312,51312,11,51340,51340,11,51368,51368,11,51396,51396,11,51424,51424,11,51452,51452,11,51480,51480,11,51508,51508,11,51536,51536,11,51564,51564,11,51592,51592,11,51620,51620,11,51648,51648,11,51676,51676,11,51704,51704,11,51732,51732,11,51760,51760,11,51788,51788,11,51816,51816,11,51844,51844,11,51872,51872,11,51900,51900,11,51928,51928,11,51956,51956,11,51984,51984,11,52012,52012,11,52040,52040,11,52068,52068,11,52096,52096,11,52124,52124,11,52152,52152,11,52180,52180,11,52208,52208,11,52236,52236,11,52264,52264,11,52292,52292,11,52320,52320,11,52348,52348,11,52376,52376,11,52404,52404,11,52432,52432,11,52460,52460,11,52488,52488,11,52516,52516,11,52544,52544,11,52572,52572,11,52600,52600,11,52628,52628,11,52656,52656,11,52684,52684,11,52712,52712,11,52740,52740,11,52768,52768,11,52796,52796,11,52824,52824,11,52852,52852,11,52880,52880,11,52908,52908,11,52936,52936,11,52964,52964,11,52992,52992,11,53020,53020,11,53048,53048,11,53076,53076,11,53104,53104,11,53132,53132,11,53160,53160,11,53188,53188,11,53216,53216,11,53244,53244,11,53272,53272,11,53300,53300,11,53328,53328,11,53356,53356,11,53384,53384,11,53412,53412,11,53440,53440,11,53468,53468,11,53496,53496,11,53524,53524,11,53552,53552,11,53580,53580,11,53608,53608,11,53636,53636,11,53664,53664,11,53692,53692,11,53720,53720,11,53748,53748,11,53776,53776,11,53804,53804,11,53832,53832,11,53860,53860,11,53888,53888,11,53916,53916,11,53944,53944,11,53972,53972,11,54000,54000,11,54028,54028,11,54056,54056,11,54084,54084,11,54112,54112,11,54140,54140,11,54168,54168,11,54196,54196,11,54224,54224,11,54252,54252,11,54280,54280,11,54308,54308,11,54336,54336,11,54364,54364,11,54392,54392,11,54420,54420,11,54448,54448,11,54476,54476,11,54504,54504,11,54532,54532,11,54560,54560,11,54588,54588,11,54616,54616,11,54644,54644,11,54672,54672,11,54700,54700,11,54728,54728,11,54756,54756,11,54784,54784,11,54812,54812,11,54840,54840,11,54868,54868,11,54896,54896,11,54924,54924,11,54952,54952,11,54980,54980,11,55008,55008,11,55036,55036,11,55064,55064,11,55092,55092,11,55120,55120,11,55148,55148,11,55176,55176,11,55216,55238,9,64286,64286,5,65056,65071,5,65438,65439,5,65529,65531,4,66272,66272,5,68097,68099,5,68108,68111,5,68159,68159,5,68900,68903,5,69446,69456,5,69632,69632,7,69634,69634,7,69744,69744,5,69759,69761,5,69808,69810,7,69815,69816,7,69821,69821,1,69837,69837,1,69927,69931,5,69933,69940,5,70003,70003,5,70018,70018,7,70070,70078,5,70082,70083,1,70094,70094,7,70188,70190,7,70194,70195,7,70197,70197,7,70206,70206,5,70368,70370,7,70400,70401,5,70459,70460,5,70463,70463,7,70465,70468,7,70475,70477,7,70498,70499,7,70512,70516,5,70712,70719,5,70722,70724,5,70726,70726,5,70832,70832,5,70835,70840,5,70842,70842,5,70845,70845,5,70847,70848,5,70850,70851,5,71088,71089,7,71096,71099,7,71102,71102,7,71132,71133,5,71219,71226,5,71229,71229,5,71231,71232,5,71340,71340,7,71342,71343,7,71350,71350,7,71453,71455,5,71462,71462,7,71724,71726,7,71736,71736,7,71984,71984,5,71991,71992,7,71997,71997,7,71999,71999,1,72001,72001,1,72003,72003,5,72148,72151,5,72156,72159,7,72164,72164,7,72243,72248,5,72250,72250,1,72263,72263,5,72279,72280,7,72324,72329,1,72343,72343,7,72751,72751,7,72760,72765,5,72767,72767,5,72873,72873,7,72881,72881,7,72884,72884,7,73009,73014,5,73020,73021,5,73030,73030,1,73098,73102,7,73107,73108,7,73110,73110,7,73459,73460,5,78896,78904,4,92976,92982,5,94033,94087,7,94180,94180,5,113821,113822,5,118528,118573,5,119141,119141,5,119143,119145,5,119150,119154,5,119163,119170,5,119210,119213,5,121344,121398,5,121461,121461,5,121499,121503,5,122880,122886,5,122907,122913,5,122918,122922,5,123566,123566,5,125136,125142,5,126976,126979,14,126981,127182,14,127184,127231,14,127279,127279,14,127344,127345,14,127374,127374,14,127405,127461,14,127489,127490,14,127514,127514,14,127538,127546,14,127561,127567,14,127570,127743,14,127757,127758,14,127760,127760,14,127762,127762,14,127766,127768,14,127770,127770,14,127772,127772,14,127775,127776,14,127778,127779,14,127789,127791,14,127794,127795,14,127798,127798,14,127819,127819,14,127824,127824,14,127868,127868,14,127870,127871,14,127892,127893,14,127896,127896,14,127900,127901,14,127904,127940,14,127942,127942,14,127944,127944,14,127946,127946,14,127951,127955,14,127968,127971,14,127973,127984,14,127987,127987,14,127989,127989,14,127991,127991,14,127995,127999,5,128008,128008,14,128012,128014,14,128017,128018,14,128020,128020,14,128022,128022,14,128042,128042,14,128063,128063,14,128065,128065,14,128101,128101,14,128108,128109,14,128173,128173,14,128182,128183,14,128236,128237,14,128239,128239,14,128245,128245,14,128248,128248,14,128253,128253,14,128255,128258,14,128260,128263,14,128265,128265,14,128277,128277,14,128300,128301,14,128326,128328,14,128331,128334,14,128336,128347,14,128360,128366,14,128369,128370,14,128378,128378,14,128391,128391,14,128394,128397,14,128400,128400,14,128405,128406,14,128420,128420,14,128422,128423,14,128425,128432,14,128435,128443,14,128445,128449,14,128453,128464,14,128468,128475,14,128479,128480,14,128482,128482,14,128484,128487,14,128489,128494,14,128496,128498,14,128500,128505,14,128507,128511,14,128513,128518,14,128521,128525,14,128527,128527,14,128529,128529,14,128533,128533,14,128535,128535,14,128537,128537,14]")}function _e(k,I){if(k===0)return 0;const V=ye(k,I);if(V!==void 0)return V;const H=new q(I,k);return H.prevCodePoint(),H.offset}function ye(k,I){const V=new q(I,k);let H=V.prevCodePoint();for(;Ee(H)||H===65039||H===8419;){if(V.offset===0)return;H=V.prevCodePoint()}if(!pe(H))return;let Y=V.offset;return Y>0&&V.prevCodePoint()===8205&&(Y=V.offset),Y}function Ee(k){return 127995<=k&&k<=127999}n.noBreakWhitespace="\xA0";class K{static{this.ambiguousCharacterData=new x.Lazy(()=>JSON.parse('{"_common":[8232,32,8233,32,5760,32,8192,32,8193,32,8194,32,8195,32,8196,32,8197,32,8198,32,8200,32,8201,32,8202,32,8287,32,8199,32,8239,32,2042,95,65101,95,65102,95,65103,95,8208,45,8209,45,8210,45,65112,45,1748,45,8259,45,727,45,8722,45,10134,45,11450,45,1549,44,1643,44,8218,44,184,44,42233,44,894,59,2307,58,2691,58,1417,58,1795,58,1796,58,5868,58,65072,58,6147,58,6153,58,8282,58,1475,58,760,58,42889,58,8758,58,720,58,42237,58,451,33,11601,33,660,63,577,63,2429,63,5038,63,42731,63,119149,46,8228,46,1793,46,1794,46,42510,46,68176,46,1632,46,1776,46,42232,46,1373,96,65287,96,8219,96,8242,96,1370,96,1523,96,8175,96,65344,96,900,96,8189,96,8125,96,8127,96,8190,96,697,96,884,96,712,96,714,96,715,96,756,96,699,96,701,96,700,96,702,96,42892,96,1497,96,2036,96,2037,96,5194,96,5836,96,94033,96,94034,96,65339,91,10088,40,10098,40,12308,40,64830,40,65341,93,10089,41,10099,41,12309,41,64831,41,10100,123,119060,123,10101,125,65342,94,8270,42,1645,42,8727,42,66335,42,5941,47,8257,47,8725,47,8260,47,9585,47,10187,47,10744,47,119354,47,12755,47,12339,47,11462,47,20031,47,12035,47,65340,92,65128,92,8726,92,10189,92,10741,92,10745,92,119311,92,119355,92,12756,92,20022,92,12034,92,42872,38,708,94,710,94,5869,43,10133,43,66203,43,8249,60,10094,60,706,60,119350,60,5176,60,5810,60,5120,61,11840,61,12448,61,42239,61,8250,62,10095,62,707,62,119351,62,5171,62,94015,62,8275,126,732,126,8128,126,8764,126,65372,124,65293,45,120784,50,120794,50,120804,50,120814,50,120824,50,130034,50,42842,50,423,50,1000,50,42564,50,5311,50,42735,50,119302,51,120785,51,120795,51,120805,51,120815,51,120825,51,130035,51,42923,51,540,51,439,51,42858,51,11468,51,1248,51,94011,51,71882,51,120786,52,120796,52,120806,52,120816,52,120826,52,130036,52,5070,52,71855,52,120787,53,120797,53,120807,53,120817,53,120827,53,130037,53,444,53,71867,53,120788,54,120798,54,120808,54,120818,54,120828,54,130038,54,11474,54,5102,54,71893,54,119314,55,120789,55,120799,55,120809,55,120819,55,120829,55,130039,55,66770,55,71878,55,2819,56,2538,56,2666,56,125131,56,120790,56,120800,56,120810,56,120820,56,120830,56,130040,56,547,56,546,56,66330,56,2663,57,2920,57,2541,57,3437,57,120791,57,120801,57,120811,57,120821,57,120831,57,130041,57,42862,57,11466,57,71884,57,71852,57,71894,57,9082,97,65345,97,119834,97,119886,97,119938,97,119990,97,120042,97,120094,97,120146,97,120198,97,120250,97,120302,97,120354,97,120406,97,120458,97,593,97,945,97,120514,97,120572,97,120630,97,120688,97,120746,97,65313,65,119808,65,119860,65,119912,65,119964,65,120016,65,120068,65,120120,65,120172,65,120224,65,120276,65,120328,65,120380,65,120432,65,913,65,120488,65,120546,65,120604,65,120662,65,120720,65,5034,65,5573,65,42222,65,94016,65,66208,65,119835,98,119887,98,119939,98,119991,98,120043,98,120095,98,120147,98,120199,98,120251,98,120303,98,120355,98,120407,98,120459,98,388,98,5071,98,5234,98,5551,98,65314,66,8492,66,119809,66,119861,66,119913,66,120017,66,120069,66,120121,66,120173,66,120225,66,120277,66,120329,66,120381,66,120433,66,42932,66,914,66,120489,66,120547,66,120605,66,120663,66,120721,66,5108,66,5623,66,42192,66,66178,66,66209,66,66305,66,65347,99,8573,99,119836,99,119888,99,119940,99,119992,99,120044,99,120096,99,120148,99,120200,99,120252,99,120304,99,120356,99,120408,99,120460,99,7428,99,1010,99,11429,99,43951,99,66621,99,128844,67,71922,67,71913,67,65315,67,8557,67,8450,67,8493,67,119810,67,119862,67,119914,67,119966,67,120018,67,120174,67,120226,67,120278,67,120330,67,120382,67,120434,67,1017,67,11428,67,5087,67,42202,67,66210,67,66306,67,66581,67,66844,67,8574,100,8518,100,119837,100,119889,100,119941,100,119993,100,120045,100,120097,100,120149,100,120201,100,120253,100,120305,100,120357,100,120409,100,120461,100,1281,100,5095,100,5231,100,42194,100,8558,68,8517,68,119811,68,119863,68,119915,68,119967,68,120019,68,120071,68,120123,68,120175,68,120227,68,120279,68,120331,68,120383,68,120435,68,5024,68,5598,68,5610,68,42195,68,8494,101,65349,101,8495,101,8519,101,119838,101,119890,101,119942,101,120046,101,120098,101,120150,101,120202,101,120254,101,120306,101,120358,101,120410,101,120462,101,43826,101,1213,101,8959,69,65317,69,8496,69,119812,69,119864,69,119916,69,120020,69,120072,69,120124,69,120176,69,120228,69,120280,69,120332,69,120384,69,120436,69,917,69,120492,69,120550,69,120608,69,120666,69,120724,69,11577,69,5036,69,42224,69,71846,69,71854,69,66182,69,119839,102,119891,102,119943,102,119995,102,120047,102,120099,102,120151,102,120203,102,120255,102,120307,102,120359,102,120411,102,120463,102,43829,102,42905,102,383,102,7837,102,1412,102,119315,70,8497,70,119813,70,119865,70,119917,70,120021,70,120073,70,120125,70,120177,70,120229,70,120281,70,120333,70,120385,70,120437,70,42904,70,988,70,120778,70,5556,70,42205,70,71874,70,71842,70,66183,70,66213,70,66853,70,65351,103,8458,103,119840,103,119892,103,119944,103,120048,103,120100,103,120152,103,120204,103,120256,103,120308,103,120360,103,120412,103,120464,103,609,103,7555,103,397,103,1409,103,119814,71,119866,71,119918,71,119970,71,120022,71,120074,71,120126,71,120178,71,120230,71,120282,71,120334,71,120386,71,120438,71,1292,71,5056,71,5107,71,42198,71,65352,104,8462,104,119841,104,119945,104,119997,104,120049,104,120101,104,120153,104,120205,104,120257,104,120309,104,120361,104,120413,104,120465,104,1211,104,1392,104,5058,104,65320,72,8459,72,8460,72,8461,72,119815,72,119867,72,119919,72,120023,72,120179,72,120231,72,120283,72,120335,72,120387,72,120439,72,919,72,120494,72,120552,72,120610,72,120668,72,120726,72,11406,72,5051,72,5500,72,42215,72,66255,72,731,105,9075,105,65353,105,8560,105,8505,105,8520,105,119842,105,119894,105,119946,105,119998,105,120050,105,120102,105,120154,105,120206,105,120258,105,120310,105,120362,105,120414,105,120466,105,120484,105,618,105,617,105,953,105,8126,105,890,105,120522,105,120580,105,120638,105,120696,105,120754,105,1110,105,42567,105,1231,105,43893,105,5029,105,71875,105,65354,106,8521,106,119843,106,119895,106,119947,106,119999,106,120051,106,120103,106,120155,106,120207,106,120259,106,120311,106,120363,106,120415,106,120467,106,1011,106,1112,106,65322,74,119817,74,119869,74,119921,74,119973,74,120025,74,120077,74,120129,74,120181,74,120233,74,120285,74,120337,74,120389,74,120441,74,42930,74,895,74,1032,74,5035,74,5261,74,42201,74,119844,107,119896,107,119948,107,120000,107,120052,107,120104,107,120156,107,120208,107,120260,107,120312,107,120364,107,120416,107,120468,107,8490,75,65323,75,119818,75,119870,75,119922,75,119974,75,120026,75,120078,75,120130,75,120182,75,120234,75,120286,75,120338,75,120390,75,120442,75,922,75,120497,75,120555,75,120613,75,120671,75,120729,75,11412,75,5094,75,5845,75,42199,75,66840,75,1472,108,8739,73,9213,73,65512,73,1633,108,1777,73,66336,108,125127,108,120783,73,120793,73,120803,73,120813,73,120823,73,130033,73,65321,73,8544,73,8464,73,8465,73,119816,73,119868,73,119920,73,120024,73,120128,73,120180,73,120232,73,120284,73,120336,73,120388,73,120440,73,65356,108,8572,73,8467,108,119845,108,119897,108,119949,108,120001,108,120053,108,120105,73,120157,73,120209,73,120261,73,120313,73,120365,73,120417,73,120469,73,448,73,120496,73,120554,73,120612,73,120670,73,120728,73,11410,73,1030,73,1216,73,1493,108,1503,108,1575,108,126464,108,126592,108,65166,108,65165,108,1994,108,11599,73,5825,73,42226,73,93992,73,66186,124,66313,124,119338,76,8556,76,8466,76,119819,76,119871,76,119923,76,120027,76,120079,76,120131,76,120183,76,120235,76,120287,76,120339,76,120391,76,120443,76,11472,76,5086,76,5290,76,42209,76,93974,76,71843,76,71858,76,66587,76,66854,76,65325,77,8559,77,8499,77,119820,77,119872,77,119924,77,120028,77,120080,77,120132,77,120184,77,120236,77,120288,77,120340,77,120392,77,120444,77,924,77,120499,77,120557,77,120615,77,120673,77,120731,77,1018,77,11416,77,5047,77,5616,77,5846,77,42207,77,66224,77,66321,77,119847,110,119899,110,119951,110,120003,110,120055,110,120107,110,120159,110,120211,110,120263,110,120315,110,120367,110,120419,110,120471,110,1400,110,1404,110,65326,78,8469,78,119821,78,119873,78,119925,78,119977,78,120029,78,120081,78,120185,78,120237,78,120289,78,120341,78,120393,78,120445,78,925,78,120500,78,120558,78,120616,78,120674,78,120732,78,11418,78,42208,78,66835,78,3074,111,3202,111,3330,111,3458,111,2406,111,2662,111,2790,111,3046,111,3174,111,3302,111,3430,111,3664,111,3792,111,4160,111,1637,111,1781,111,65359,111,8500,111,119848,111,119900,111,119952,111,120056,111,120108,111,120160,111,120212,111,120264,111,120316,111,120368,111,120420,111,120472,111,7439,111,7441,111,43837,111,959,111,120528,111,120586,111,120644,111,120702,111,120760,111,963,111,120532,111,120590,111,120648,111,120706,111,120764,111,11423,111,4351,111,1413,111,1505,111,1607,111,126500,111,126564,111,126596,111,65259,111,65260,111,65258,111,65257,111,1726,111,64428,111,64429,111,64427,111,64426,111,1729,111,64424,111,64425,111,64423,111,64422,111,1749,111,3360,111,4125,111,66794,111,71880,111,71895,111,66604,111,1984,79,2534,79,2918,79,12295,79,70864,79,71904,79,120782,79,120792,79,120802,79,120812,79,120822,79,130032,79,65327,79,119822,79,119874,79,119926,79,119978,79,120030,79,120082,79,120134,79,120186,79,120238,79,120290,79,120342,79,120394,79,120446,79,927,79,120502,79,120560,79,120618,79,120676,79,120734,79,11422,79,1365,79,11604,79,4816,79,2848,79,66754,79,42227,79,71861,79,66194,79,66219,79,66564,79,66838,79,9076,112,65360,112,119849,112,119901,112,119953,112,120005,112,120057,112,120109,112,120161,112,120213,112,120265,112,120317,112,120369,112,120421,112,120473,112,961,112,120530,112,120544,112,120588,112,120602,112,120646,112,120660,112,120704,112,120718,112,120762,112,120776,112,11427,112,65328,80,8473,80,119823,80,119875,80,119927,80,119979,80,120031,80,120083,80,120187,80,120239,80,120291,80,120343,80,120395,80,120447,80,929,80,120504,80,120562,80,120620,80,120678,80,120736,80,11426,80,5090,80,5229,80,42193,80,66197,80,119850,113,119902,113,119954,113,120006,113,120058,113,120110,113,120162,113,120214,113,120266,113,120318,113,120370,113,120422,113,120474,113,1307,113,1379,113,1382,113,8474,81,119824,81,119876,81,119928,81,119980,81,120032,81,120084,81,120188,81,120240,81,120292,81,120344,81,120396,81,120448,81,11605,81,119851,114,119903,114,119955,114,120007,114,120059,114,120111,114,120163,114,120215,114,120267,114,120319,114,120371,114,120423,114,120475,114,43847,114,43848,114,7462,114,11397,114,43905,114,119318,82,8475,82,8476,82,8477,82,119825,82,119877,82,119929,82,120033,82,120189,82,120241,82,120293,82,120345,82,120397,82,120449,82,422,82,5025,82,5074,82,66740,82,5511,82,42211,82,94005,82,65363,115,119852,115,119904,115,119956,115,120008,115,120060,115,120112,115,120164,115,120216,115,120268,115,120320,115,120372,115,120424,115,120476,115,42801,115,445,115,1109,115,43946,115,71873,115,66632,115,65331,83,119826,83,119878,83,119930,83,119982,83,120034,83,120086,83,120138,83,120190,83,120242,83,120294,83,120346,83,120398,83,120450,83,1029,83,1359,83,5077,83,5082,83,42210,83,94010,83,66198,83,66592,83,119853,116,119905,116,119957,116,120009,116,120061,116,120113,116,120165,116,120217,116,120269,116,120321,116,120373,116,120425,116,120477,116,8868,84,10201,84,128872,84,65332,84,119827,84,119879,84,119931,84,119983,84,120035,84,120087,84,120139,84,120191,84,120243,84,120295,84,120347,84,120399,84,120451,84,932,84,120507,84,120565,84,120623,84,120681,84,120739,84,11430,84,5026,84,42196,84,93962,84,71868,84,66199,84,66225,84,66325,84,119854,117,119906,117,119958,117,120010,117,120062,117,120114,117,120166,117,120218,117,120270,117,120322,117,120374,117,120426,117,120478,117,42911,117,7452,117,43854,117,43858,117,651,117,965,117,120534,117,120592,117,120650,117,120708,117,120766,117,1405,117,66806,117,71896,117,8746,85,8899,85,119828,85,119880,85,119932,85,119984,85,120036,85,120088,85,120140,85,120192,85,120244,85,120296,85,120348,85,120400,85,120452,85,1357,85,4608,85,66766,85,5196,85,42228,85,94018,85,71864,85,8744,118,8897,118,65366,118,8564,118,119855,118,119907,118,119959,118,120011,118,120063,118,120115,118,120167,118,120219,118,120271,118,120323,118,120375,118,120427,118,120479,118,7456,118,957,118,120526,118,120584,118,120642,118,120700,118,120758,118,1141,118,1496,118,71430,118,43945,118,71872,118,119309,86,1639,86,1783,86,8548,86,119829,86,119881,86,119933,86,119985,86,120037,86,120089,86,120141,86,120193,86,120245,86,120297,86,120349,86,120401,86,120453,86,1140,86,11576,86,5081,86,5167,86,42719,86,42214,86,93960,86,71840,86,66845,86,623,119,119856,119,119908,119,119960,119,120012,119,120064,119,120116,119,120168,119,120220,119,120272,119,120324,119,120376,119,120428,119,120480,119,7457,119,1121,119,1309,119,1377,119,71434,119,71438,119,71439,119,43907,119,71919,87,71910,87,119830,87,119882,87,119934,87,119986,87,120038,87,120090,87,120142,87,120194,87,120246,87,120298,87,120350,87,120402,87,120454,87,1308,87,5043,87,5076,87,42218,87,5742,120,10539,120,10540,120,10799,120,65368,120,8569,120,119857,120,119909,120,119961,120,120013,120,120065,120,120117,120,120169,120,120221,120,120273,120,120325,120,120377,120,120429,120,120481,120,5441,120,5501,120,5741,88,9587,88,66338,88,71916,88,65336,88,8553,88,119831,88,119883,88,119935,88,119987,88,120039,88,120091,88,120143,88,120195,88,120247,88,120299,88,120351,88,120403,88,120455,88,42931,88,935,88,120510,88,120568,88,120626,88,120684,88,120742,88,11436,88,11613,88,5815,88,42219,88,66192,88,66228,88,66327,88,66855,88,611,121,7564,121,65369,121,119858,121,119910,121,119962,121,120014,121,120066,121,120118,121,120170,121,120222,121,120274,121,120326,121,120378,121,120430,121,120482,121,655,121,7935,121,43866,121,947,121,8509,121,120516,121,120574,121,120632,121,120690,121,120748,121,1199,121,4327,121,71900,121,65337,89,119832,89,119884,89,119936,89,119988,89,120040,89,120092,89,120144,89,120196,89,120248,89,120300,89,120352,89,120404,89,120456,89,933,89,978,89,120508,89,120566,89,120624,89,120682,89,120740,89,11432,89,1198,89,5033,89,5053,89,42220,89,94019,89,71844,89,66226,89,119859,122,119911,122,119963,122,120015,122,120067,122,120119,122,120171,122,120223,122,120275,122,120327,122,120379,122,120431,122,120483,122,7458,122,43923,122,71876,122,66293,90,71909,90,65338,90,8484,90,8488,90,119833,90,119885,90,119937,90,119989,90,120041,90,120197,90,120249,90,120301,90,120353,90,120405,90,120457,90,918,90,120493,90,120551,90,120609,90,120667,90,120725,90,5059,90,42204,90,71849,90,65282,34,65284,36,65285,37,65286,38,65290,42,65291,43,65294,46,65295,47,65296,48,65297,49,65298,50,65299,51,65300,52,65301,53,65302,54,65303,55,65304,56,65305,57,65308,60,65309,61,65310,62,65312,64,65316,68,65318,70,65319,71,65324,76,65329,81,65330,82,65333,85,65334,86,65335,87,65343,95,65346,98,65348,100,65350,102,65355,107,65357,109,65358,110,65361,113,65362,114,65364,116,65365,117,65367,119,65370,122,65371,123,65373,125,119846,109],"_default":[160,32,8211,45,65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"cs":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"de":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"es":[8211,45,65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"fr":[65374,126,65306,58,65281,33,8216,96,8245,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"it":[160,32,8211,45,65374,126,65306,58,65281,33,8216,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"ja":[8211,45,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65292,44,65307,59],"ko":[8211,45,65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"pl":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"pt-BR":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"qps-ploc":[160,32,8211,45,65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"ru":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,305,105,921,73,1009,112,215,120,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"tr":[160,32,8211,45,65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"zh-hans":[65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41],"zh-hant":[8211,45,65374,126,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65307,59]}'))}static{this.cache=new i.LRUCachedFunction({getCacheKey:JSON.stringify},I=>{function V(se){const ce=new Map;for(let he=0;he!se.startsWith("_")&&se in te);ne.length===0&&(ne=["_default"]);let ae;for(const se of ne){const ce=V(te[se]);ae=Y(ae,ce)}const le=V(te._common),oe=H(le,ae);return new K(oe)})}static getInstance(I){return K.cache.get(Array.from(I))}static{this._locales=new x.Lazy(()=>Object.keys(K.ambiguousCharacterData.value).filter(I=>!I.startsWith("_")))}static getLocales(){return K._locales.value}constructor(I){this.confusableDictionary=I}isAmbiguous(I){return this.confusableDictionary.has(I)}getPrimaryConfusable(I){return this.confusableDictionary.get(I)}getConfusableCodePoints(){return new Set(this.confusableDictionary.keys())}}n.AmbiguousCharacters=K;class Q{static getRawData(){return JSON.parse("[9,10,11,12,13,32,127,160,173,847,1564,4447,4448,6068,6069,6155,6156,6157,6158,7355,7356,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8203,8204,8205,8206,8207,8234,8235,8236,8237,8238,8239,8287,8288,8289,8290,8291,8292,8293,8294,8295,8296,8297,8298,8299,8300,8301,8302,8303,10240,12288,12644,65024,65025,65026,65027,65028,65029,65030,65031,65032,65033,65034,65035,65036,65037,65038,65039,65279,65440,65520,65521,65522,65523,65524,65525,65526,65527,65528,65532,78844,119155,119156,119157,119158,119159,119160,119161,119162,917504,917505,917506,917507,917508,917509,917510,917511,917512,917513,917514,917515,917516,917517,917518,917519,917520,917521,917522,917523,917524,917525,917526,917527,917528,917529,917530,917531,917532,917533,917534,917535,917536,917537,917538,917539,917540,917541,917542,917543,917544,917545,917546,917547,917548,917549,917550,917551,917552,917553,917554,917555,917556,917557,917558,917559,917560,917561,917562,917563,917564,917565,917566,917567,917568,917569,917570,917571,917572,917573,917574,917575,917576,917577,917578,917579,917580,917581,917582,917583,917584,917585,917586,917587,917588,917589,917590,917591,917592,917593,917594,917595,917596,917597,917598,917599,917600,917601,917602,917603,917604,917605,917606,917607,917608,917609,917610,917611,917612,917613,917614,917615,917616,917617,917618,917619,917620,917621,917622,917623,917624,917625,917626,917627,917628,917629,917630,917631,917760,917761,917762,917763,917764,917765,917766,917767,917768,917769,917770,917771,917772,917773,917774,917775,917776,917777,917778,917779,917780,917781,917782,917783,917784,917785,917786,917787,917788,917789,917790,917791,917792,917793,917794,917795,917796,917797,917798,917799,917800,917801,917802,917803,917804,917805,917806,917807,917808,917809,917810,917811,917812,917813,917814,917815,917816,917817,917818,917819,917820,917821,917822,917823,917824,917825,917826,917827,917828,917829,917830,917831,917832,917833,917834,917835,917836,917837,917838,917839,917840,917841,917842,917843,917844,917845,917846,917847,917848,917849,917850,917851,917852,917853,917854,917855,917856,917857,917858,917859,917860,917861,917862,917863,917864,917865,917866,917867,917868,917869,917870,917871,917872,917873,917874,917875,917876,917877,917878,917879,917880,917881,917882,917883,917884,917885,917886,917887,917888,917889,917890,917891,917892,917893,917894,917895,917896,917897,917898,917899,917900,917901,917902,917903,917904,917905,917906,917907,917908,917909,917910,917911,917912,917913,917914,917915,917916,917917,917918,917919,917920,917921,917922,917923,917924,917925,917926,917927,917928,917929,917930,917931,917932,917933,917934,917935,917936,917937,917938,917939,917940,917941,917942,917943,917944,917945,917946,917947,917948,917949,917950,917951,917952,917953,917954,917955,917956,917957,917958,917959,917960,917961,917962,917963,917964,917965,917966,917967,917968,917969,917970,917971,917972,917973,917974,917975,917976,917977,917978,917979,917980,917981,917982,917983,917984,917985,917986,917987,917988,917989,917990,917991,917992,917993,917994,917995,917996,917997,917998,917999]")}static{this._data=void 0}static getData(){return this._data||(this._data=new Set(Q.getRawData())),this._data}static isInvisibleCharacter(I){return Q.getData().has(I)}static get codePoints(){return Q.getData()}}n.InvisibleCharacters=Q}),X(J[44],Z([0,1,6]),function(W,n,i){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.StringSHA1=void 0,n.hash=x,n.doHash=A,n.numberHash=d,n.stringHash=p,n.toHexString=r;function x(o){return A(o,0)}function A(o,u){switch(typeof o){case"object":return o===null?d(349,u):Array.isArray(o)?c(o,u):a(o,u);case"string":return p(o,u);case"boolean":return f(o,u);case"number":return d(o,u);case"undefined":return d(937,u);default:return d(617,u)}}function d(o,u){return(u<<5)-u+o|0}function f(o,u){return d(o?433:863,u)}function p(o,u){u=d(149417,u);for(let S=0,L=o.length;SA(L,S),u)}function a(o,u){return u=d(181387,u),Object.keys(o).sort().reduce((S,L)=>(S=p(L,S),A(o[L],S)),u)}function m(o,u,S=32){const L=S-u,N=~((1<>>L)>>>0}function e(o,u=0,S=o.byteLength,L=0){for(let N=0;NS.toString(16).padStart(2,"0")).join(""):h((o>>>0).toString(16),u/4)}class s{static{this._bigBlock32=new DataView(new ArrayBuffer(320))}constructor(){this._h0=1732584193,this._h1=4023233417,this._h2=2562383102,this._h3=271733878,this._h4=3285377520,this._buff=new Uint8Array(67),this._buffDV=new DataView(this._buff.buffer),this._buffLen=0,this._totalLen=0,this._leftoverHighSurrogate=0,this._finished=!1}update(u){const S=u.length;if(S===0)return;const L=this._buff;let N=this._buffLen,P=this._leftoverHighSurrogate,E,v;for(P!==0?(E=P,v=-1,P=0):(E=u.charCodeAt(0),v=0);;){let l=E;if(i.isHighSurrogate(E))if(v+1>>6,u[S++]=128|(L&63)>>>0):L<65536?(u[S++]=224|(L&61440)>>>12,u[S++]=128|(L&4032)>>>6,u[S++]=128|(L&63)>>>0):(u[S++]=240|(L&1835008)>>>18,u[S++]=128|(L&258048)>>>12,u[S++]=128|(L&4032)>>>6,u[S++]=128|(L&63)>>>0),S>=64&&(this._step(),S-=64,this._totalLen+=64,u[0]=u[64],u[1]=u[65],u[2]=u[66]),S}digest(){return this._finished||(this._finished=!0,this._leftoverHighSurrogate&&(this._leftoverHighSurrogate=0,this._buffLen=this._push(this._buff,this._buffLen,65533)),this._totalLen+=this._buffLen,this._wrapUp()),r(this._h0)+r(this._h1)+r(this._h2)+r(this._h3)+r(this._h4)}_wrapUp(){this._buff[this._buffLen++]=128,e(this._buff,this._buffLen),this._buffLen>56&&(this._step(),e(this._buff));const u=8*this._totalLen;this._buffDV.setUint32(56,Math.floor(u/4294967296),!1),this._buffDV.setUint32(60,u%4294967296,!1),this._step()}_step(){const u=s._bigBlock32,S=this._buffDV;for(let w=0;w<64;w+=4)u.setUint32(w,S.getUint32(w,!1),!1);for(let w=64;w<320;w+=4)u.setUint32(w,m(u.getUint32(w-12,!1)^u.getUint32(w-32,!1)^u.getUint32(w-56,!1)^u.getUint32(w-64,!1),1),!1);let L=this._h0,N=this._h1,P=this._h2,E=this._h3,v=this._h4,l,b,g;for(let w=0;w<80;w++)w<20?(l=N&P|~N&E,b=1518500249):w<40?(l=N^P^E,b=1859775393):w<60?(l=N&P|N&E|P&E,b=2400959708):(l=N^P^E,b=3395469782),g=m(L,5)+l+v+b+u.getUint32(w*4,!1)&4294967295,v=E,E=P,P=m(N,30),N=L,L=g;this._h0=this._h0+L&4294967295,this._h1=this._h1+N&4294967295,this._h2=this._h2+P&4294967295,this._h3=this._h3+E&4294967295,this._h4=this._h4+v&4294967295}}n.StringSHA1=s}),X(J[24],Z([0,1,41,44]),function(W,n,i,x){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.LcsDiff=n.StringDiffSequence=void 0,n.stringDiff=d;class A{constructor(e){this.source=e}getElements(){const e=this.source,h=new Int32Array(e.length);for(let r=0,s=e.length;r0||this.m_modifiedCount>0)&&this.m_changes.push(new i.DiffChange(this.m_originalStart,this.m_originalCount,this.m_modifiedStart,this.m_modifiedCount)),this.m_originalCount=0,this.m_modifiedCount=0,this.m_originalStart=1073741824,this.m_modifiedStart=1073741824}AddOriginalElement(e,h){this.m_originalStart=Math.min(this.m_originalStart,e),this.m_modifiedStart=Math.min(this.m_modifiedStart,h),this.m_originalCount++}AddModifiedElement(e,h){this.m_originalStart=Math.min(this.m_originalStart,e),this.m_modifiedStart=Math.min(this.m_modifiedStart,h),this.m_modifiedCount++}getChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes}getReverseChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes.reverse(),this.m_changes}}class a{constructor(e,h,r=null){this.ContinueProcessingPredicate=r,this._originalSequence=e,this._modifiedSequence=h;const[s,o,u]=a._getElements(e),[S,L,N]=a._getElements(h);this._hasStrings=u&&N,this._originalStringElements=s,this._originalElementsOrHash=o,this._modifiedStringElements=S,this._modifiedElementsOrHash=L,this.m_forwardHistory=[],this.m_reverseHistory=[]}static _isStringArray(e){return e.length>0&&typeof e[0]=="string"}static _getElements(e){const h=e.getElements();if(a._isStringArray(h)){const r=new Int32Array(h.length);for(let s=0,o=h.length;s=e&&s>=r&&this.ElementsAreEqual(h,s);)h--,s--;if(e>h||r>s){let E;return r<=s?(f.Assert(e===h+1,"originalStart should only be one more than originalEnd"),E=[new i.DiffChange(e,0,r,s-r+1)]):e<=h?(f.Assert(r===s+1,"modifiedStart should only be one more than modifiedEnd"),E=[new i.DiffChange(e,h-e+1,r,0)]):(f.Assert(e===h+1,"originalStart should only be one more than originalEnd"),f.Assert(r===s+1,"modifiedStart should only be one more than modifiedEnd"),E=[]),E}const u=[0],S=[0],L=this.ComputeRecursionPoint(e,h,r,s,u,S,o),N=u[0],P=S[0];if(L!==null)return L;if(!o[0]){const E=this.ComputeDiffRecursive(e,N,r,P,o);let v=[];return o[0]?v=[new i.DiffChange(N+1,h-(N+1)+1,P+1,s-(P+1)+1)]:v=this.ComputeDiffRecursive(N+1,h,P+1,s,o),this.ConcatenateChanges(E,v)}return[new i.DiffChange(e,h-e+1,r,s-r+1)]}WALKTRACE(e,h,r,s,o,u,S,L,N,P,E,v,l,b,g,w,M,y){let _=null,C=null,R=new c,D=h,T=r,O=l[0]-w[0]-s,z=-1073741824,j=this.m_forwardHistory.length-1;do{const F=O+e;F===D||F=0&&(N=this.m_forwardHistory[j],e=N[0],D=1,T=N.length-1)}while(--j>=-1);if(_=R.getReverseChanges(),y[0]){let F=l[0]+1,q=w[0]+1;if(_!==null&&_.length>0){const B=_[_.length-1];F=Math.max(F,B.getOriginalEnd()),q=Math.max(q,B.getModifiedEnd())}C=[new i.DiffChange(F,v-F+1,q,g-q+1)]}else{R=new c,D=u,T=S,O=l[0]-w[0]-L,z=1073741824,j=M?this.m_reverseHistory.length-1:this.m_reverseHistory.length-2;do{const F=O+o;F===D||F=P[F+1]?(E=P[F+1]-1,b=E-O-L,E>z&&R.MarkNextChange(),z=E+1,R.AddOriginalElement(E+1,b+1),O=F+1-o):(E=P[F-1],b=E-O-L,E>z&&R.MarkNextChange(),z=E,R.AddModifiedElement(E+1,b+1),O=F-1-o),j>=0&&(P=this.m_reverseHistory[j],o=P[0],D=1,T=P.length-1)}while(--j>=-1);C=R.getChanges()}return this.ConcatenateChanges(_,C)}ComputeRecursionPoint(e,h,r,s,o,u,S){let L=0,N=0,P=0,E=0,v=0,l=0;e--,r--,o[0]=0,u[0]=0,this.m_forwardHistory=[],this.m_reverseHistory=[];const b=h-e+(s-r),g=b+1,w=new Int32Array(g),M=new Int32Array(g),y=s-r,_=h-e,C=e-r,R=h-s,T=(_-y)%2===0;w[y]=e,M[_]=h,S[0]=!1;for(let O=1;O<=b/2+1;O++){let z=0,j=0;P=this.ClipDiagonalBound(y-O,O,y,g),E=this.ClipDiagonalBound(y+O,O,y,g);for(let q=P;q<=E;q+=2){q===P||qz+j&&(z=L,j=N),!T&&Math.abs(q-_)<=O-1&&L>=M[q])return o[0]=L,u[0]=N,B<=M[q]&&O<=1448?this.WALKTRACE(y,P,E,C,_,v,l,R,w,M,L,h,o,N,s,u,T,S):null}const F=(z-e+(j-r)-O)/2;if(this.ContinueProcessingPredicate!==null&&!this.ContinueProcessingPredicate(z,F))return S[0]=!0,o[0]=z,u[0]=j,F>0&&O<=1448?this.WALKTRACE(y,P,E,C,_,v,l,R,w,M,L,h,o,N,s,u,T,S):(e++,r++,[new i.DiffChange(e,h-e+1,r,s-r+1)]);v=this.ClipDiagonalBound(_-O,O,_,g),l=this.ClipDiagonalBound(_+O,O,_,g);for(let q=v;q<=l;q+=2){q===v||q=M[q+1]?L=M[q+1]-1:L=M[q-1],N=L-(q-_)-R;const B=L;for(;L>e&&N>r&&this.ElementsAreEqual(L,N);)L--,N--;if(M[q]=L,T&&Math.abs(q-y)<=O&&L<=w[q])return o[0]=L,u[0]=N,B>=w[q]&&O<=1448?this.WALKTRACE(y,P,E,C,_,v,l,R,w,M,L,h,o,N,s,u,T,S):null}if(O<=1447){let q=new Int32Array(E-P+2);q[0]=y-P+1,p.Copy2(w,P,q,1,E-P+1),this.m_forwardHistory.push(q),q=new Int32Array(l-v+2),q[0]=_-v+1,p.Copy2(M,v,q,1,l-v+1),this.m_reverseHistory.push(q)}}return this.WALKTRACE(y,P,E,C,_,v,l,R,w,M,L,h,o,N,s,u,T,S)}PrettifyChanges(e){for(let h=0;h0,S=r.modifiedLength>0;for(;r.originalStart+r.originalLength=0;h--){const r=e[h];let s=0,o=0;if(h>0){const E=e[h-1];s=E.originalStart+E.originalLength,o=E.modifiedStart+E.modifiedLength}const u=r.originalLength>0,S=r.modifiedLength>0;let L=0,N=this._boundaryScore(r.originalStart,r.originalLength,r.modifiedStart,r.modifiedLength);for(let E=1;;E++){const v=r.originalStart-E,l=r.modifiedStart-E;if(vN&&(N=g,L=E)}r.originalStart-=L,r.modifiedStart-=L;const P=[null];if(h>0&&this.ChangesOverlap(e[h-1],e[h],P)){e[h-1]=P[0],e.splice(h,1),h++;continue}}if(this._hasStrings)for(let h=1,r=e.length;h0&&l>L&&(L=l,N=E,P=v)}return L>0?[N,P]:null}_contiguousSequenceScore(e,h,r){let s=0;for(let o=0;o=this._originalElementsOrHash.length-1?!0:this._hasStrings&&/^\s*$/.test(this._originalStringElements[e])}_OriginalRegionIsBoundary(e,h){if(this._OriginalIsBoundary(e)||this._OriginalIsBoundary(e-1))return!0;if(h>0){const r=e+h;if(this._OriginalIsBoundary(r-1)||this._OriginalIsBoundary(r))return!0}return!1}_ModifiedIsBoundary(e){return e<=0||e>=this._modifiedElementsOrHash.length-1?!0:this._hasStrings&&/^\s*$/.test(this._modifiedStringElements[e])}_ModifiedRegionIsBoundary(e,h){if(this._ModifiedIsBoundary(e)||this._ModifiedIsBoundary(e-1))return!0;if(h>0){const r=e+h;if(this._ModifiedIsBoundary(r-1)||this._ModifiedIsBoundary(r))return!0}return!1}_boundaryScore(e,h,r,s){const o=this._OriginalRegionIsBoundary(e,h)?1:0,u=this._ModifiedRegionIsBoundary(r,s)?1:0;return o+u}ConcatenateChanges(e,h){const r=[];if(e.length===0||h.length===0)return h.length>0?h:e;if(this.ChangesOverlap(e[e.length-1],h[0],r)){const s=new Array(e.length+h.length-1);return p.Copy(e,0,s,0,e.length-1),s[e.length-1]=r[0],p.Copy(h,1,s,e.length,h.length-1),s}else{const s=new Array(e.length+h.length);return p.Copy(e,0,s,0,e.length),p.Copy(h,0,s,e.length,h.length),s}}ChangesOverlap(e,h,r){if(f.Assert(e.originalStart<=h.originalStart,"Left change is not less than or equal to right change"),f.Assert(e.modifiedStart<=h.modifiedStart,"Left change is not less than or equal to right change"),e.originalStart+e.originalLength>=h.originalStart||e.modifiedStart+e.modifiedLength>=h.modifiedStart){const s=e.originalStart;let o=e.originalLength;const u=e.modifiedStart;let S=e.modifiedLength;return e.originalStart+e.originalLength>=h.originalStart&&(o=h.originalStart+h.originalLength-e.originalStart),e.modifiedStart+e.modifiedLength>=h.modifiedStart&&(S=h.modifiedStart+h.modifiedLength-e.modifiedStart),r[0]=new i.DiffChange(s,o,u,S),!0}else return r[0]=null,!1}ClipDiagonalBound(e,h,r,s){if(e>=0&&e"u"}function a(u){return!m(u)}function m(u){return c(u)||u===null}function e(u,S){if(!u)throw new Error(S?`Unexpected type, expected '${S}'`:"Unexpected type")}function h(u){if(m(u))throw new Error("Assertion Failed: argument is undefined or null");return u}function r(u){return typeof u=="function"}function s(u,S){const L=Math.min(u.length,S.length);for(let N=0;N{s[o]=u&&typeof u=="object"?x(u):u}),s}function A(r){if(!r||typeof r!="object")return r;const s=[r];for(;s.length>0;){const o=s.shift();Object.freeze(o);for(const u in o)if(d.call(o,u)){const S=o[u];typeof S=="object"&&!Object.isFrozen(S)&&!(0,i.isTypedArray)(S)&&s.push(S)}}return r}const d=Object.prototype.hasOwnProperty;function f(r,s){return p(r,s,new Set)}function p(r,s,o){if((0,i.isUndefinedOrNull)(r))return r;const u=s(r);if(typeof u<"u")return u;if(Array.isArray(r)){const S=[];for(const L of r)S.push(p(L,s,o));return S}if((0,i.isObject)(r)){if(o.has(r))throw new Error("Cannot clone recursive data-structure");o.add(r);const S={};for(const L in r)d.call(r,L)&&(S[L]=p(r[L],s,o));return o.delete(r),S}return r}function c(r,s,o=!0){return(0,i.isObject)(r)?((0,i.isObject)(s)&&Object.keys(s).forEach(u=>{u in r?o&&((0,i.isObject)(r[u])&&(0,i.isObject)(s[u])?c(r[u],s[u],o):r[u]=s[u]):r[u]=s[u]}),r):s}function a(r,s){if(r===s)return!0;if(r==null||s===null||s===void 0||typeof r!=typeof s||typeof r!="object"||Array.isArray(r)!==Array.isArray(s))return!1;let o,u;if(Array.isArray(r)){if(r.length!==s.length)return!1;for(o=0;ofunction(){const L=Array.prototype.slice.call(arguments,0);return s(S,L)},u={};for(const S of r)u[S]=o(S);return u}}),X(J[28],Z([0,1]),function(W,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.toUint8=i,n.toUint32=x;function i(A){return A<0?0:A>255?255:A|0}function x(A){return A<0?0:A>4294967295?4294967295:A|0}}),X(J[29],Z([0,1,28]),function(W,n,i){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.CharacterSet=n.CharacterClassifier=void 0;class x{constructor(f){const p=(0,i.toUint8)(f);this._defaultValue=p,this._asciiMap=x._createAsciiMap(p),this._map=new Map}static _createAsciiMap(f){const p=new Uint8Array(256);return p.fill(f),p}set(f,p){const c=(0,i.toUint8)(p);f>=0&&f<256?this._asciiMap[f]=c:this._map.set(f,c)}get(f){return f>=0&&f<256?this._asciiMap[f]:this._map.get(f)||this._defaultValue}clear(){this._asciiMap.fill(this._defaultValue),this._map.clear()}}n.CharacterClassifier=x;class A{constructor(){this._actual=new x(0)}add(f){this._actual.set(f,1)}has(f){return this._actual.get(f)===1}clear(){return this._actual.clear()}}n.CharacterSet=A}),X(J[5],Z([0,1,3]),function(W,n,i){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.OffsetRangeSet=n.OffsetRange=void 0;class x{static addRange(f,p){let c=0;for(;cp))return new x(f,p)}static ofLength(f){return new x(0,f)}static ofStartAndLength(f,p){return new x(f,f+p)}constructor(f,p){if(this.start=f,this.endExclusive=p,f>p)throw new i.BugIndicatingError(`Invalid range: ${this.toString()}`)}get isEmpty(){return this.start===this.endExclusive}delta(f){return new x(this.start+f,this.endExclusive+f)}deltaStart(f){return new x(this.start+f,this.endExclusive)}deltaEnd(f){return new x(this.start,this.endExclusive+f)}get length(){return this.endExclusive-this.start}toString(){return`[${this.start}, ${this.endExclusive})`}contains(f){return this.start<=f&&f=f.endExclusive}slice(f){return f.slice(this.start,this.endExclusive)}substring(f){return f.substring(this.start,this.endExclusive)}clip(f){if(this.isEmpty)throw new i.BugIndicatingError(`Invalid clipping range: ${this.toString()}`);return Math.max(this.start,Math.min(this.endExclusive-1,f))}clipCyclic(f){if(this.isEmpty)throw new i.BugIndicatingError(`Invalid clipping range: ${this.toString()}`);return f=this.endExclusive?this.start+(f-this.start)%this.length:f}forEach(f){for(let p=this.start;pf.toString()).join(", ")}intersectsStrict(f){let p=0;for(;pf+p.length,0)}}n.OffsetRangeSet=A}),X(J[4],Z([0,1]),function(W,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.Position=void 0;class i{constructor(A,d){this.lineNumber=A,this.column=d}with(A=this.lineNumber,d=this.column){return A===this.lineNumber&&d===this.column?this:new i(A,d)}delta(A=0,d=0){return this.with(this.lineNumber+A,this.column+d)}equals(A){return i.equals(this,A)}static equals(A,d){return!A&&!d?!0:!!A&&!!d&&A.lineNumber===d.lineNumber&&A.column===d.column}isBefore(A){return i.isBefore(this,A)}static isBefore(A,d){return A.lineNumberp||d===p&&f>c?(this.startLineNumber=p,this.startColumn=c,this.endLineNumber=d,this.endColumn=f):(this.startLineNumber=d,this.startColumn=f,this.endLineNumber=p,this.endColumn=c)}isEmpty(){return x.isEmpty(this)}static isEmpty(d){return d.startLineNumber===d.endLineNumber&&d.startColumn===d.endColumn}containsPosition(d){return x.containsPosition(this,d)}static containsPosition(d,f){return!(f.lineNumberd.endLineNumber||f.lineNumber===d.startLineNumber&&f.columnd.endColumn)}static strictContainsPosition(d,f){return!(f.lineNumberd.endLineNumber||f.lineNumber===d.startLineNumber&&f.column<=d.startColumn||f.lineNumber===d.endLineNumber&&f.column>=d.endColumn)}containsRange(d){return x.containsRange(this,d)}static containsRange(d,f){return!(f.startLineNumberd.endLineNumber||f.endLineNumber>d.endLineNumber||f.startLineNumber===d.startLineNumber&&f.startColumnd.endColumn)}strictContainsRange(d){return x.strictContainsRange(this,d)}static strictContainsRange(d,f){return!(f.startLineNumberd.endLineNumber||f.endLineNumber>d.endLineNumber||f.startLineNumber===d.startLineNumber&&f.startColumn<=d.startColumn||f.endLineNumber===d.endLineNumber&&f.endColumn>=d.endColumn)}plusRange(d){return x.plusRange(this,d)}static plusRange(d,f){let p,c,a,m;return f.startLineNumberd.endLineNumber?(a=f.endLineNumber,m=f.endColumn):f.endLineNumber===d.endLineNumber?(a=f.endLineNumber,m=Math.max(f.endColumn,d.endColumn)):(a=d.endLineNumber,m=d.endColumn),new x(p,c,a,m)}intersectRanges(d){return x.intersectRanges(this,d)}static intersectRanges(d,f){let p=d.startLineNumber,c=d.startColumn,a=d.endLineNumber,m=d.endColumn;const e=f.startLineNumber,h=f.startColumn,r=f.endLineNumber,s=f.endColumn;return pr?(a=r,m=s):a===r&&(m=Math.min(m,s)),p>a||p===a&&c>m?null:new x(p,c,a,m)}equalsRange(d){return x.equalsRange(this,d)}static equalsRange(d,f){return!d&&!f?!0:!!d&&!!f&&d.startLineNumber===f.startLineNumber&&d.startColumn===f.startColumn&&d.endLineNumber===f.endLineNumber&&d.endColumn===f.endColumn}getEndPosition(){return x.getEndPosition(this)}static getEndPosition(d){return new i.Position(d.endLineNumber,d.endColumn)}getStartPosition(){return x.getStartPosition(this)}static getStartPosition(d){return new i.Position(d.startLineNumber,d.startColumn)}toString(){return"["+this.startLineNumber+","+this.startColumn+" -> "+this.endLineNumber+","+this.endColumn+"]"}setEndPosition(d,f){return new x(this.startLineNumber,this.startColumn,d,f)}setStartPosition(d,f){return new x(d,f,this.endLineNumber,this.endColumn)}collapseToStart(){return x.collapseToStart(this)}static collapseToStart(d){return new x(d.startLineNumber,d.startColumn,d.startLineNumber,d.startColumn)}collapseToEnd(){return x.collapseToEnd(this)}static collapseToEnd(d){return new x(d.endLineNumber,d.endColumn,d.endLineNumber,d.endColumn)}delta(d){return new x(this.startLineNumber+d,this.startColumn,this.endLineNumber+d,this.endColumn)}static fromPositions(d,f=d){return new x(d.lineNumber,d.column,f.lineNumber,f.column)}static lift(d){return d?new x(d.startLineNumber,d.startColumn,d.endLineNumber,d.endColumn):null}static isIRange(d){return d&&typeof d.startLineNumber=="number"&&typeof d.startColumn=="number"&&typeof d.endLineNumber=="number"&&typeof d.endColumn=="number"}static areIntersectingOrTouching(d,f){return!(d.endLineNumberd.startLineNumber}toJSON(){return this}}n.Range=x}),X(J[13],Z([0,1,3,5,2,15]),function(W,n,i,x,A,d){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.LineRangeSet=n.LineRange=void 0;class f{static fromRangeInclusive(a){return new f(a.startLineNumber,a.endLineNumber+1)}static joinMany(a){if(a.length===0)return[];let m=new p(a[0].slice());for(let e=1;em)throw new i.BugIndicatingError(`startLineNumber ${a} cannot be after endLineNumberExclusive ${m}`);this.startLineNumber=a,this.endLineNumberExclusive=m}contains(a){return this.startLineNumber<=a&&ah.endLineNumberExclusive>=a.startLineNumber),e=(0,d.findLastIdxMonotonous)(this._normalizedRanges,h=>h.startLineNumber<=a.endLineNumberExclusive)+1;if(m===e)this._normalizedRanges.splice(m,0,a);else if(m===e-1){const h=this._normalizedRanges[m];this._normalizedRanges[m]=h.join(a)}else{const h=this._normalizedRanges[m].join(this._normalizedRanges[e-1]).join(a);this._normalizedRanges.splice(m,e-m,h)}}contains(a){const m=(0,d.findLastMonotonous)(this._normalizedRanges,e=>e.startLineNumber<=a);return!!m&&m.endLineNumberExclusive>a}intersects(a){const m=(0,d.findLastMonotonous)(this._normalizedRanges,e=>e.startLineNumbera.startLineNumber}getUnion(a){if(this._normalizedRanges.length===0)return a;if(a._normalizedRanges.length===0)return this;const m=[];let e=0,h=0,r=null;for(;e=s.startLineNumber?r=new f(r.startLineNumber,Math.max(r.endLineNumberExclusive,s.endLineNumberExclusive)):(m.push(r),r=s)}return r!==null&&m.push(r),new p(m)}subtractFrom(a){const m=(0,d.findFirstIdxMonotonousOrArrLen)(this._normalizedRanges,s=>s.endLineNumberExclusive>=a.startLineNumber),e=(0,d.findLastIdxMonotonous)(this._normalizedRanges,s=>s.startLineNumber<=a.endLineNumberExclusive)+1;if(m===e)return new p([a]);const h=[];let r=a.startLineNumber;for(let s=m;sr&&h.push(new f(r,o.startLineNumber)),r=o.endLineNumberExclusive}return ra.toString()).join(", ")}getIntersection(a){const m=[];let e=0,h=0;for(;em.delta(a)))}}n.LineRangeSet=p}),X(J[48],Z([0,1,4,2]),function(W,n,i,x){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.Selection=void 0;class A extends x.Range{constructor(f,p,c,a){super(f,p,c,a),this.selectionStartLineNumber=f,this.selectionStartColumn=p,this.positionLineNumber=c,this.positionColumn=a}toString(){return"["+this.selectionStartLineNumber+","+this.selectionStartColumn+" -> "+this.positionLineNumber+","+this.positionColumn+"]"}equalsSelection(f){return A.selectionsEqual(this,f)}static selectionsEqual(f,p){return f.selectionStartLineNumber===p.selectionStartLineNumber&&f.selectionStartColumn===p.selectionStartColumn&&f.positionLineNumber===p.positionLineNumber&&f.positionColumn===p.positionColumn}getDirection(){return this.selectionStartLineNumber===this.startLineNumber&&this.selectionStartColumn===this.startColumn?0:1}setEndPosition(f,p){return this.getDirection()===0?new A(this.startLineNumber,this.startColumn,f,p):new A(f,p,this.startLineNumber,this.startColumn)}getPosition(){return new i.Position(this.positionLineNumber,this.positionColumn)}getSelectionStart(){return new i.Position(this.selectionStartLineNumber,this.selectionStartColumn)}setStartPosition(f,p){return this.getDirection()===0?new A(f,p,this.endLineNumber,this.endColumn):new A(this.endLineNumber,this.endColumn,f,p)}static fromPositions(f,p=f){return new A(f.lineNumber,f.column,p.lineNumber,p.column)}static fromRange(f,p){return p===0?new A(f.startLineNumber,f.startColumn,f.endLineNumber,f.endColumn):new A(f.endLineNumber,f.endColumn,f.startLineNumber,f.startColumn)}static liftSelection(f){return new A(f.selectionStartLineNumber,f.selectionStartColumn,f.positionLineNumber,f.positionColumn)}static selectionsArrEqual(f,p){if(f&&!p||!f&&p)return!1;if(!f&&!p)return!0;if(f.length!==p.length)return!1;for(let c=0,a=f.length;cf.lineCount:this.columnCount>=f.columnCount}createRange(f){return this.lineCount===0?new x.Range(f.lineNumber,f.column,f.lineNumber,f.column+this.columnCount):new x.Range(f.lineNumber,f.column,f.lineNumber+this.lineCount,this.columnCount+1)}addToPosition(f){return this.lineCount===0?new i.Position(f.lineNumber,f.column+this.columnCount):new i.Position(f.lineNumber+this.lineCount,this.columnCount+1)}toString(){return`${this.lineCount},${this.columnCount}`}}n.TextLength=A}),X(J[49],Z([0,1,5,30]),function(W,n,i,x){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.PositionOffsetTransformer=void 0;class A{constructor(f){this.text=f,this.lineStartOffsetByLineIdx=[],this.lineStartOffsetByLineIdx.push(0);for(let p=0;p(0,i.checkAdjacentItems)(s,(o,u)=>o.range.getEndPosition().isBeforeOrEqual(u.range.getStartPosition())))}apply(s){let o="",u=new A.Position(1,1);for(const L of this.edits){const N=L.range,P=N.getStartPosition(),E=N.getEndPosition(),v=m(u,P);v.isEmpty()||(o+=s.getValueOfRange(v)),o+=L.text,u=E}const S=m(u,s.endPositionExclusive);return S.isEmpty()||(o+=s.getValueOfRange(S)),o}applyToString(s){const o=new h(s);return this.apply(o)}getNewRanges(){const s=[];let o=0,u=0,S=0;for(const L of this.edits){const N=p.TextLength.ofText(L.text),P=A.Position.lift({lineNumber:L.range.startLineNumber+u,column:L.range.startColumn+(L.range.startLineNumber===o?S:0)}),E=N.createRange(P);s.push(E),u=E.endLineNumber-L.range.endLineNumber,S=E.endColumn-L.range.endColumn,o=L.range.endLineNumber}return s}}n.TextEdit=c;class a{constructor(s,o){this.range=s,this.text=o}toSingleEditOperation(){return{range:this.range,text:this.text}}}n.SingleTextEdit=a;function m(r,s){if(r.lineNumber===s.lineNumber&&r.column===Number.MAX_SAFE_INTEGER)return f.Range.fromPositions(s,s);if(!r.isBeforeOrEqual(s))throw new x.BugIndicatingError("start must be before end");return new f.Range(r.lineNumber,r.column,s.lineNumber,s.column)}class e{get endPositionExclusive(){return this.length.addToPosition(new A.Position(1,1))}}n.AbstractText=e;class h extends e{constructor(s){super(),this.value=s,this._t=new d.PositionOffsetTransformer(this.value)}getValueOfRange(s){return this._t.getOffsetRange(s).substring(this.value)}get length(){return this._t.textLength}}n.StringText=h}),X(J[51],Z([0,1,21,29]),function(W,n,i,x){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.WordCharacterClassifier=void 0,n.getMapForWordSeparators=f;class A extends x.CharacterClassifier{constructor(c,a){super(0),this._segmenter=null,this._cachedLine=null,this._cachedSegments=[],this.intlSegmenterLocales=a,this.intlSegmenterLocales.length>0?this._segmenter=new Intl.Segmenter(this.intlSegmenterLocales,{granularity:"word"}):this._segmenter=null;for(let m=0,e=c.length;ma)break;m=e}return m}findNextIntlWordAtOrAfterOffset(c,a){for(const m of this._getIntlSegmenterWordsOnLine(c))if(!(m.index/?";function A(a=""){let m="(-?\\d*\\.\\d\\w*)|([^";for(const e of n.USUAL_WORD_SEPARATORS)a.indexOf(e)>=0||(m+="\\"+e);return m+="\\s]+)",new RegExp(m,"g")}n.DEFAULT_WORD_REGEXP=A();function d(a){let m=n.DEFAULT_WORD_REGEXP;if(a&&a instanceof RegExp)if(a.global)m=a;else{let e="g";a.ignoreCase&&(e+="i"),a.multiline&&(e+="m"),a.unicode&&(e+="u"),m=new RegExp(a.source,e)}return m.lastIndex=0,m}const f=new x.LinkedList;f.unshift({maxLen:1e3,windowSize:15,timeBudget:150});function p(a,m,e,h,r){if(m=d(m),r||(r=i.Iterable.first(f)),e.length>r.maxLen){let L=a-r.maxLen/2;return L<0?L=0:h+=L,e=e.substring(L,a+r.maxLen/2),p(a,m,e,h,r)}const s=Date.now(),o=a-1-h;let u=-1,S=null;for(let L=1;!(Date.now()-s>=r.timeBudget);L++){const N=o-r.windowSize*L;m.lastIndex=Math.max(0,N);const P=c(m,e,o,u);if(!P&&S||(S=P,N<=0))break;u=N}if(S){const L={word:S[0],startColumn:h+1+S.index,endColumn:h+1+S.index+S[0].length};return m.lastIndex=0,L}return null}function c(a,m,e,h){let r;for(;r=a.exec(m);){const s=r.index||0;if(s<=e&&a.lastIndex>=e)return r;if(h>0&&s>h)return null}return null}}),X(J[10],Z([0,1,7,3,5]),function(W,n,i,x,A){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.DateTimeout=n.InfiniteTimeout=n.OffsetPair=n.SequenceDiff=n.DiffAlgorithmResult=void 0;class d{static trivial(e,h){return new d([new f(A.OffsetRange.ofLength(e.length),A.OffsetRange.ofLength(h.length))],!1)}static trivialTimedOut(e,h){return new d([new f(A.OffsetRange.ofLength(e.length),A.OffsetRange.ofLength(h.length))],!0)}constructor(e,h){this.diffs=e,this.hitTimeout=h}}n.DiffAlgorithmResult=d;class f{static invert(e,h){const r=[];return(0,i.forEachAdjacent)(e,(s,o)=>{r.push(f.fromOffsetPairs(s?s.getEndExclusives():p.zero,o?o.getStarts():new p(h,(s?s.seq2Range.endExclusive-s.seq1Range.endExclusive:0)+h)))}),r}static fromOffsetPairs(e,h){return new f(new A.OffsetRange(e.offset1,h.offset1),new A.OffsetRange(e.offset2,h.offset2))}static assertSorted(e){let h;for(const r of e){if(h&&!(h.seq1Range.endExclusive<=r.seq1Range.start&&h.seq2Range.endExclusive<=r.seq2Range.start))throw new x.BugIndicatingError("Sequence diffs must be sorted");h=r}}constructor(e,h){this.seq1Range=e,this.seq2Range=h}swap(){return new f(this.seq2Range,this.seq1Range)}toString(){return`${this.seq1Range} <-> ${this.seq2Range}`}join(e){return new f(this.seq1Range.join(e.seq1Range),this.seq2Range.join(e.seq2Range))}delta(e){return e===0?this:new f(this.seq1Range.delta(e),this.seq2Range.delta(e))}deltaStart(e){return e===0?this:new f(this.seq1Range.deltaStart(e),this.seq2Range.deltaStart(e))}deltaEnd(e){return e===0?this:new f(this.seq1Range.deltaEnd(e),this.seq2Range.deltaEnd(e))}intersect(e){const h=this.seq1Range.intersect(e.seq1Range),r=this.seq2Range.intersect(e.seq2Range);if(!(!h||!r))return new f(h,r)}getStarts(){return new p(this.seq1Range.start,this.seq2Range.start)}getEndExclusives(){return new p(this.seq1Range.endExclusive,this.seq2Range.endExclusive)}}n.SequenceDiff=f;class p{static{this.zero=new p(0,0)}static{this.max=new p(Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER)}constructor(e,h){this.offset1=e,this.offset2=h}toString(){return`${this.offset1} <-> ${this.offset2}`}delta(e){return e===0?this:new p(this.offset1+e,this.offset2+e)}equals(e){return this.offset1===e.offset1&&this.offset2===e.offset2}}n.OffsetPair=p;class c{static{this.instance=new c}isValid(){return!0}}n.InfiniteTimeout=c;class a{constructor(e){if(this.timeout=e,this.startTime=Date.now(),this.valid=!0,e<=0)throw new x.BugIndicatingError("timeout must be positive")}isValid(){if(!(Date.now()-this.startTimeh.length||_>r.length)continue;const C=s(y,_);u.set(L,C);const R=y===w?S.get(L+1):S.get(L-1);if(S.set(L,C!==y?new d(R,y,_,C-y):R),u.get(L)===h.length&&u.get(L)-L===r.length)break e}}let N=S.get(L);const P=[];let E=h.length,v=r.length;for(;;){const l=N?N.x+N.length:0,b=N?N.y+N.length:0;if((l!==E||b!==v)&&P.push(new x.SequenceDiff(new i.OffsetRange(l,E),new i.OffsetRange(b,v))),!N)break;E=N.x,v=N.y,N=N.prev}return P.reverse(),new x.DiffAlgorithmResult(P,!1)}}n.MyersDiffAlgorithm=A;class d{constructor(a,m,e,h){this.prev=a,this.x=m,this.y=e,this.length=h}}class f{constructor(){this.positiveArr=new Int32Array(10),this.negativeArr=new Int32Array(10)}get(a){return a<0?(a=-a-1,this.negativeArr[a]):this.positiveArr[a]}set(a,m){if(a<0){if(a=-a-1,a>=this.negativeArr.length){const e=this.negativeArr;this.negativeArr=new Int32Array(e.length*2),this.negativeArr.set(e)}this.negativeArr[a]=m}else{if(a>=this.positiveArr.length){const e=this.positiveArr;this.positiveArr=new Int32Array(e.length*2),this.positiveArr.set(e)}this.positiveArr[a]=m}}}class p{constructor(){this.positiveArr=[],this.negativeArr=[]}get(a){return a<0?(a=-a-1,this.negativeArr[a]):this.positiveArr[a]}set(a,m){a<0?(a=-a-1,this.negativeArr[a]=m):this.positiveArr[a]=m}}}),X(J[52],Z([0,1,7,5,10]),function(W,n,i,x,A){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.optimizeSequenceDiffs=d,n.removeShortMatches=a,n.extendDiffsToEntireWordIfAppropriate=m,n.removeVeryShortMatchingLinesBetweenDiffs=h,n.removeVeryShortMatchingTextBetweenLongDiffs=r;function d(s,o,u){let S=u;return S=f(s,o,S),S=f(s,o,S),S=p(s,o,S),S}function f(s,o,u){if(u.length===0)return u;const S=[];S.push(u[0]);for(let N=1;N0&&(E=E.delta(l))}L.push(E)}return S.length>0&&L.push(S[S.length-1]),L}function p(s,o,u){if(!s.getBoundaryScore||!o.getBoundaryScore)return u;for(let S=0;S0?u[S-1]:void 0,N=u[S],P=S+1=S.start&&s.seq2Range.start-P>=L.start&&u.isStronglyEqual(s.seq2Range.start-P,s.seq2Range.endExclusive-P)&&P<100;)P++;P--;let E=0;for(;s.seq1Range.start+El&&(l=y,v=b)}return s.delta(v)}function a(s,o,u){const S=[];for(const L of u){const N=S[S.length-1];if(!N){S.push(L);continue}L.seq1Range.start-N.seq1Range.endExclusive<=2||L.seq2Range.start-N.seq2Range.endExclusive<=2?S[S.length-1]=new A.SequenceDiff(N.seq1Range.join(L.seq1Range),N.seq2Range.join(L.seq2Range)):S.push(L)}return S}function m(s,o,u){const S=A.SequenceDiff.invert(u,s.length),L=[];let N=new A.OffsetPair(0,0);function P(v,l){if(v.offset10;){const C=S[0];if(!(C.seq1Range.intersects(w.seq1Range)||C.seq2Range.intersects(w.seq2Range)))break;const D=s.findWordContaining(C.seq1Range.start),T=o.findWordContaining(C.seq2Range.start),O=new A.SequenceDiff(D,T),z=O.intersect(C);if(y+=z.seq1Range.length,_+=z.seq2Range.length,w=w.join(O),w.seq1Range.endExclusive>=C.seq1Range.endExclusive)S.shift();else break}y+_<(w.seq1Range.length+w.seq2Range.length)*2/3&&L.push(w),N=w.getEndExclusives()}for(;S.length>0;){const v=S.shift();v.seq1Range.isEmpty||(P(v.getStarts(),v),P(v.getEndExclusives().delta(-1),v))}return e(u,L)}function e(s,o){const u=[];for(;s.length>0||o.length>0;){const S=s[0],L=o[0];let N;S&&(!L||S.seq1Range.start0&&u[u.length-1].seq1Range.endExclusive>=N.seq1Range.start?u[u.length-1]=u[u.length-1].join(N):u.push(N)}return u}function h(s,o,u){let S=u;if(S.length===0)return S;let L=0,N;do{N=!1;const P=[S[0]];for(let E=1;E5||M.seq1Range.length+M.seq2Range.length>5)};const v=S[E],l=P[P.length-1];b(l,v)?(N=!0,P[P.length-1]=P[P.length-1].join(v)):P.push(v)}S=P}while(L++<10&&N);return S}function r(s,o,u){let S=u;if(S.length===0)return S;let L=0,N;do{N=!1;const E=[S[0]];for(let v=1;v5||_.length>500)return!1;const R=s.getText(_).trim();if(R.length>20||R.split(/\r\n|\r|\n/).length>1)return!1;const D=s.countLinesIn(M.seq1Range),T=M.seq1Range.length,O=o.countLinesIn(M.seq2Range),z=M.seq2Range.length,j=s.countLinesIn(y.seq1Range),F=y.seq1Range.length,q=o.countLinesIn(y.seq2Range),B=y.seq2Range.length,G=2*40+50;function $(U){return Math.min(U,G)}return Math.pow(Math.pow($(D*40+T),1.5)+Math.pow($(O*40+z),1.5),1.5)+Math.pow(Math.pow($(j*40+F),1.5)+Math.pow($(q*40+B),1.5),1.5)>(G**1.5)**1.5*1.3};const l=S[v],b=E[E.length-1];g(b,l)?(N=!0,E[E.length-1]=E[E.length-1].join(l)):E.push(l)}S=E}while(L++<10&&N);const P=[];return(0,i.forEachWithNeighbors)(S,(E,v,l)=>{let b=v;function g(R){return R.length>0&&R.trim().length<=3&&v.seq1Range.length+v.seq2Range.length>100}const w=s.extendToFullLines(v.seq1Range),M=s.getText(new x.OffsetRange(w.start,v.seq1Range.start));g(M)&&(b=b.deltaStart(-M.length));const y=s.getText(new x.OffsetRange(v.seq1Range.endExclusive,w.endExclusive));g(y)&&(b=b.deltaEnd(y.length));const _=A.SequenceDiff.fromOffsetPairs(E?E.getEndExclusives():A.OffsetPair.zero,l?l.getStarts():A.OffsetPair.max),C=b.intersect(_);P.length>0&&C.getStarts().equals(P[P.length-1].getEndExclusives())?P[P.length-1]=P[P.length-1].join(C):P.push(C)}),P}}),X(J[53],Z([0,1]),function(W,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.LineSequence=void 0;class i{constructor(d,f){this.trimmedHash=d,this.lines=f}getElement(d){return this.trimmedHash[d]}get length(){return this.trimmedHash.length}getBoundaryScore(d){const f=d===0?0:x(this.lines[d-1]),p=d===this.lines.length?0:x(this.lines[d]);return 1e3-(f+p)}getText(d){return this.lines.slice(d.start,d.endExclusive).join(` +`)}isStronglyEqual(d,f){return this.lines[d]===this.lines[f]}}n.LineSequence=i;function x(A){let d=0;for(;d0&&E>0&&h.get(P-1,E-1)===3&&(b+=r.get(P-1,E-1)),b+=m?m(P,E):1):b=-1;const g=Math.max(v,l,b);if(g===b){const w=P>0&&E>0?r.get(P-1,E-1):0;r.set(P,E,w+1),h.set(P,E,3)}else g===v?(r.set(P,E,0),h.set(P,E,1)):g===l&&(r.set(P,E,0),h.set(P,E,2));e.set(P,E,g)}const s=[];let o=p.length,u=c.length;function S(P,E){(P+1!==o||E+1!==u)&&s.push(new x.SequenceDiff(new i.OffsetRange(P+1,o),new i.OffsetRange(E+1,u))),o=P,u=E}let L=p.length-1,N=c.length-1;for(;L>=0&&N>=0;)h.get(L,N)===3?(S(L,N),L--,N--):h.get(L,N)===1?L--:N--;return S(-1,-1),s.reverse(),new x.DiffAlgorithmResult(s,!1)}}n.DynamicProgrammingDiffing=d}),X(J[33],Z([0,1,15,5,4,2,16]),function(W,n,i,x,A,d,f){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.LinesSliceCharSequence=void 0;class p{constructor(r,s,o){this.lines=r,this.range=s,this.considerWhitespaceChanges=o,this.elements=[],this.firstElementOffsetByLineIdx=[],this.lineStartOffsets=[],this.trimmedWsLengthsByLineIdx=[],this.firstElementOffsetByLineIdx.push(0);for(let u=this.range.startLineNumber;u<=this.range.endLineNumber;u++){let S=r[u-1],L=0;u===this.range.startLineNumber&&this.range.startColumn>1&&(L=this.range.startColumn-1,S=S.substring(L)),this.lineStartOffsets.push(L);let N=0;if(!o){const E=S.trimStart();N=S.length-E.length,S=E.trimEnd()}this.trimmedWsLengthsByLineIdx.push(N);const P=u===this.range.endLineNumber?Math.min(this.range.endColumn-1-L-N,S.length):S.length;for(let E=0;EString.fromCharCode(s)).join("")}getElement(r){return this.elements[r]}get length(){return this.elements.length}getBoundaryScore(r){const s=e(r>0?this.elements[r-1]:-1),o=e(rS<=r),u=r-this.firstElementOffsetByLineIdx[o];return new A.Position(this.range.startLineNumber+o,1+this.lineStartOffsets[o]+u+(u===0&&s==="left"?0:this.trimmedWsLengthsByLineIdx[o]))}translateRange(r){const s=this.translateOffset(r.start,"right"),o=this.translateOffset(r.endExclusive,"left");return o.isBefore(s)?d.Range.fromPositions(o,o):d.Range.fromPositions(s,o)}findWordContaining(r){if(r<0||r>=this.elements.length||!c(this.elements[r]))return;let s=r;for(;s>0&&c(this.elements[s-1]);)s--;let o=r;for(;ou<=r.start)??0,o=(0,i.findFirstMonotonous)(this.firstElementOffsetByLineIdx,u=>r.endExclusive<=u)??this.elements.length;return new x.OffsetRange(s,o)}}n.LinesSliceCharSequence=p;function c(h){return h>=97&&h<=122||h>=65&&h<=90||h>=48&&h<=57}const a={0:0,1:0,2:0,3:10,4:2,5:30,6:3,7:10,8:10};function m(h){return a[h]}function e(h){return h===10?8:h===13?7:(0,f.isSpace)(h)?6:h>=97&&h<=122?0:h>=65&&h<=90?1:h>=48&&h<=57?2:h===-1?3:h===44||h===59?5:4}}),X(J[34],Z([0,1]),function(W,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.MovedText=n.LinesDiff=void 0;class i{constructor(d,f,p){this.changes=d,this.moves=f,this.hitTimeout=p}}n.LinesDiff=i;class x{constructor(d,f){this.lineRangeMapping=d,this.changes=f}}n.MovedText=x}),X(J[17],Z([0,1,3,13,4,2,50]),function(W,n,i,x,A,d,f){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.RangeMapping=n.DetailedLineRangeMapping=n.LineRangeMapping=void 0;class p{static inverse(r,s,o){const u=[];let S=1,L=1;for(const P of r){const E=new p(new x.LineRange(S,P.original.startLineNumber),new x.LineRange(L,P.modified.startLineNumber));E.modified.isEmpty||u.push(E),S=P.original.endLineNumberExclusive,L=P.modified.endLineNumberExclusive}const N=new p(new x.LineRange(S,s+1),new x.LineRange(L,o+1));return N.modified.isEmpty||u.push(N),u}static clip(r,s,o){const u=[];for(const S of r){const L=S.original.intersect(s),N=S.modified.intersect(o);L&&!L.isEmpty&&N&&!N.isEmpty&&u.push(new p(L,N))}return u}constructor(r,s){this.original=r,this.modified=s}toString(){return`{${this.original.toString()}->${this.modified.toString()}}`}flip(){return new p(this.modified,this.original)}join(r){return new p(this.original.join(r.original),this.modified.join(r.modified))}toRangeMapping(){const r=this.original.toInclusiveRange(),s=this.modified.toInclusiveRange();if(r&&s)return new e(r,s);if(this.original.startLineNumber===1||this.modified.startLineNumber===1){if(!(this.modified.startLineNumber===1&&this.original.startLineNumber===1))throw new i.BugIndicatingError("not a valid diff");return new e(new d.Range(this.original.startLineNumber,1,this.original.endLineNumberExclusive,1),new d.Range(this.modified.startLineNumber,1,this.modified.endLineNumberExclusive,1))}else return new e(new d.Range(this.original.startLineNumber-1,Number.MAX_SAFE_INTEGER,this.original.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),new d.Range(this.modified.startLineNumber-1,Number.MAX_SAFE_INTEGER,this.modified.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER))}toRangeMapping2(r,s){if(a(this.original.endLineNumberExclusive,r)&&a(this.modified.endLineNumberExclusive,s))return new e(new d.Range(this.original.startLineNumber,1,this.original.endLineNumberExclusive,1),new d.Range(this.modified.startLineNumber,1,this.modified.endLineNumberExclusive,1));if(!this.original.isEmpty&&!this.modified.isEmpty)return new e(d.Range.fromPositions(new A.Position(this.original.startLineNumber,1),c(new A.Position(this.original.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),r)),d.Range.fromPositions(new A.Position(this.modified.startLineNumber,1),c(new A.Position(this.modified.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),s)));if(this.original.startLineNumber>1&&this.modified.startLineNumber>1)return new e(d.Range.fromPositions(c(new A.Position(this.original.startLineNumber-1,Number.MAX_SAFE_INTEGER),r),c(new A.Position(this.original.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),r)),d.Range.fromPositions(c(new A.Position(this.modified.startLineNumber-1,Number.MAX_SAFE_INTEGER),s),c(new A.Position(this.modified.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),s)));throw new i.BugIndicatingError}}n.LineRangeMapping=p;function c(h,r){if(h.lineNumber<1)return new A.Position(1,1);if(h.lineNumber>r.length)return new A.Position(r.length,r[r.length-1].length+1);const s=r[h.lineNumber-1];return h.column>s.length+1?new A.Position(h.lineNumber,s.length+1):h}function a(h,r){return h>=1&&h<=r.length}class m extends p{static fromRangeMappings(r){const s=x.LineRange.join(r.map(u=>x.LineRange.fromRangeInclusive(u.originalRange))),o=x.LineRange.join(r.map(u=>x.LineRange.fromRangeInclusive(u.modifiedRange)));return new m(s,o,r)}constructor(r,s,o){super(r,s),this.innerChanges=o}flip(){return new m(this.modified,this.original,this.innerChanges?.map(r=>r.flip()))}withInnerChangesFromLineRanges(){return new m(this.original,this.modified,[this.toRangeMapping()])}}n.DetailedLineRangeMapping=m;class e{static assertSorted(r){for(let s=1;s${this.modifiedRange.toString()}}`}flip(){return new e(this.modifiedRange,this.originalRange)}toTextEdit(r){const s=r.getValueOfRange(this.modifiedRange);return new f.SingleTextEdit(this.originalRange,s)}}n.RangeMapping=e}),X(J[55],Z([0,1,10,17,7,15,21,13,33,16,32,2]),function(W,n,i,x,A,d,f,p,c,a,m,e){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.computeMovedLines=h;function h(N,P,E,v,l,b){let{moves:g,excludedChanges:w}=s(N,P,E,b);if(!b.isValid())return[];const M=N.filter(_=>!w.has(_)),y=o(M,v,l,P,E,b);return(0,A.pushMany)(g,y),g=S(g),g=g.filter(_=>{const C=_.original.toOffsetRange().slice(P).map(D=>D.trim());return C.join(` +`).length>=15&&r(C,D=>D.length>=2)>=2}),g=L(N,g),g}function r(N,P){let E=0;for(const v of N)P(v)&&E++;return E}function s(N,P,E,v){const l=[],b=N.filter(M=>M.modified.isEmpty&&M.original.length>=3).map(M=>new a.LineRangeFragment(M.original,P,M)),g=new Set(N.filter(M=>M.original.isEmpty&&M.modified.length>=3).map(M=>new a.LineRangeFragment(M.modified,E,M))),w=new Set;for(const M of b){let y=-1,_;for(const C of g){const R=M.computeSimilarity(C);R>y&&(y=R,_=C)}if(y>.9&&_&&(g.delete(_),l.push(new x.LineRangeMapping(M.range,_.range)),w.add(M.source),w.add(_.source)),!v.isValid())return{moves:l,excludedChanges:w}}return{moves:l,excludedChanges:w}}function o(N,P,E,v,l,b){const g=[],w=new f.SetMap;for(const R of N)for(let D=R.original.startLineNumber;DR.modified.startLineNumber,A.numberComparator));for(const R of N){let D=[];for(let T=R.modified.startLineNumber;T{for(const B of D)if(B.originalLineRange.endLineNumberExclusive+1===F.endLineNumberExclusive&&B.modifiedLineRange.endLineNumberExclusive+1===z.endLineNumberExclusive){B.originalLineRange=new p.LineRange(B.originalLineRange.startLineNumber,F.endLineNumberExclusive),B.modifiedLineRange=new p.LineRange(B.modifiedLineRange.startLineNumber,z.endLineNumberExclusive),j.push(B);return}const q={modifiedLineRange:z,originalLineRange:F};M.push(q),j.push(q)}),D=j}if(!b.isValid())return[]}M.sort((0,A.reverseOrder)((0,A.compareBy)(R=>R.modifiedLineRange.length,A.numberComparator)));const y=new p.LineRangeSet,_=new p.LineRangeSet;for(const R of M){const D=R.modifiedLineRange.startLineNumber-R.originalLineRange.startLineNumber,T=y.subtractFrom(R.modifiedLineRange),O=_.subtractFrom(R.originalLineRange).getWithDelta(D),z=T.getIntersection(O);for(const j of z.ranges){if(j.length<3)continue;const F=j,q=j.delta(-D);g.push(new x.LineRangeMapping(q,F)),y.addRange(F),_.addRange(q)}}g.sort((0,A.compareBy)(R=>R.original.startLineNumber,A.numberComparator));const C=new d.MonotonousArray(N);for(let R=0;R$.original.startLineNumber<=D.original.startLineNumber),O=(0,d.findLastMonotonous)(N,$=>$.modified.startLineNumber<=D.modified.startLineNumber),z=Math.max(D.original.startLineNumber-T.original.startLineNumber,D.modified.startLineNumber-O.modified.startLineNumber),j=C.findLastMonotonous($=>$.original.startLineNumber$.modified.startLineNumberv.length||U>l.length||y.contains(U)||_.contains($)||!u(v[$-1],l[U-1],b))break}B>0&&(_.addRange(new p.LineRange(D.original.startLineNumber-B,D.original.startLineNumber)),y.addRange(new p.LineRange(D.modified.startLineNumber-B,D.modified.startLineNumber)));let G;for(G=0;Gv.length||U>l.length||y.contains(U)||_.contains($)||!u(v[$-1],l[U-1],b))break}G>0&&(_.addRange(new p.LineRange(D.original.endLineNumberExclusive,D.original.endLineNumberExclusive+G)),y.addRange(new p.LineRange(D.modified.endLineNumberExclusive,D.modified.endLineNumberExclusive+G))),(B>0||G>0)&&(g[R]=new x.LineRangeMapping(new p.LineRange(D.original.startLineNumber-B,D.original.endLineNumberExclusive+G),new p.LineRange(D.modified.startLineNumber-B,D.modified.endLineNumberExclusive+G)))}return g}function u(N,P,E){if(N.trim()===P.trim())return!0;if(N.length>300&&P.length>300)return!1;const l=new m.MyersDiffAlgorithm().compute(new c.LinesSliceCharSequence([N],new e.Range(1,1,1,N.length),!1),new c.LinesSliceCharSequence([P],new e.Range(1,1,1,P.length),!1),E);let b=0;const g=i.SequenceDiff.invert(l.diffs,N.length);for(const _ of g)_.seq1Range.forEach(C=>{(0,a.isSpace)(N.charCodeAt(C))||b++});function w(_){let C=0;for(let R=0;RP.length?N:P);return b/M>.6&&M>10}function S(N){if(N.length===0)return N;N.sort((0,A.compareBy)(E=>E.original.startLineNumber,A.numberComparator));const P=[N[0]];for(let E=1;E=0&&g>=0&&b+g<=2){P[P.length-1]=v.join(l);continue}P.push(l)}return P}function L(N,P){const E=new d.MonotonousArray(N);return P=P.filter(v=>{const l=E.findLastMonotonous(w=>w.original.startLineNumberw.modified.startLineNumber$===U))return new s.LinesDiff([],[],!1);if(E.length===1&&E[0].length===0||v.length===1&&v[0].length===0)return new s.LinesDiff([new o.DetailedLineRangeMapping(new A.LineRange(1,E.length+1),new A.LineRange(1,v.length+1),[new o.RangeMapping(new f.Range(1,1,E.length,E[E.length-1].length+1),new f.Range(1,1,v.length,v[v.length-1].length+1))])],[],!1);const b=l.maxComputationTimeMs===0?p.InfiniteTimeout.instance:new p.DateTimeout(l.maxComputationTimeMs),g=!l.ignoreTrimWhitespace,w=new Map;function M($){let U=w.get($);return U===void 0&&(U=w.size,w.set($,U)),U}const y=E.map($=>M($.trim())),_=v.map($=>M($.trim())),C=new h.LineSequence(y,E),R=new h.LineSequence(_,v),D=C.length+R.length<1700?this.dynamicProgrammingDiffing.compute(C,R,b,($,U)=>E[$]===v[U]?v[U].length===0?.1:1+Math.log(1+v[U].length):.99):this.myersDiffingAlgorithm.compute(C,R,b);let T=D.diffs,O=D.hitTimeout;T=(0,e.optimizeSequenceDiffs)(C,R,T),T=(0,e.removeVeryShortMatchingLinesBetweenDiffs)(C,R,T);const z=[],j=$=>{if(g)for(let U=0;U<$;U++){const ee=F+U,re=q+U;if(E[ee]!==v[re]){const ue=this.refineDiff(E,v,new p.SequenceDiff(new d.OffsetRange(ee,ee+1),new d.OffsetRange(re,re+1)),b,g);for(const de of ue.mappings)z.push(de);ue.hitTimeout&&(O=!0)}}};let F=0,q=0;for(const $ of T){(0,x.assertFn)(()=>$.seq1Range.start-F===$.seq2Range.start-q);const U=$.seq1Range.start-F;j(U),F=$.seq1Range.endExclusive,q=$.seq2Range.endExclusive;const ee=this.refineDiff(E,v,$,b,g);ee.hitTimeout&&(O=!0);for(const re of ee.mappings)z.push(re)}j(E.length-F);const B=S(z,E,v);let G=[];return l.computeMoves&&(G=this.computeMoves(B,E,v,y,_,b,g)),(0,x.assertFn)(()=>{function $(ee,re){if(ee.lineNumber<1||ee.lineNumber>re.length)return!1;const ue=re[ee.lineNumber-1];return!(ee.column<1||ee.column>ue.length+1)}function U(ee,re){return!(ee.startLineNumber<1||ee.startLineNumber>re.length+1||ee.endLineNumberExclusive<1||ee.endLineNumberExclusive>re.length+1)}for(const ee of B){if(!ee.innerChanges)return!1;for(const re of ee.innerChanges)if(!($(re.modifiedRange.getStartPosition(),v)&&$(re.modifiedRange.getEndPosition(),v)&&$(re.originalRange.getStartPosition(),E)&&$(re.originalRange.getEndPosition(),E)))return!1;if(!U(ee.modified,v)||!U(ee.original,E))return!1}return!0}),new s.LinesDiff(B,G,O)}computeMoves(E,v,l,b,g,w,M){return(0,m.computeMovedLines)(E,v,l,b,g,w).map(C=>{const R=this.refineDiff(v,l,new p.SequenceDiff(C.original.toOffsetRange(),C.modified.toOffsetRange()),w,M),D=S(R.mappings,v,l,!0);return new s.MovedText(C,D)})}refineDiff(E,v,l,b,g){const M=N(l).toRangeMapping2(E,v),y=new r.LinesSliceCharSequence(E,M.originalRange,g),_=new r.LinesSliceCharSequence(v,M.modifiedRange,g),C=y.length+_.length<500?this.dynamicProgrammingDiffing.compute(y,_,b):this.myersDiffingAlgorithm.compute(y,_,b),R=!1;let D=C.diffs;R&&p.SequenceDiff.assertSorted(D),D=(0,e.optimizeSequenceDiffs)(y,_,D),R&&p.SequenceDiff.assertSorted(D),D=(0,e.extendDiffsToEntireWordIfAppropriate)(y,_,D),R&&p.SequenceDiff.assertSorted(D),D=(0,e.removeShortMatches)(y,_,D),R&&p.SequenceDiff.assertSorted(D),D=(0,e.removeVeryShortMatchingTextBetweenLongDiffs)(y,_,D),R&&p.SequenceDiff.assertSorted(D);const T=D.map(O=>new o.RangeMapping(y.translateRange(O.seq1Range),_.translateRange(O.seq2Range)));return R&&o.RangeMapping.assertSorted(T),{mappings:T,hitTimeout:C.hitTimeout}}}n.DefaultLinesDiffComputer=u;function S(P,E,v,l=!1){const b=[];for(const g of(0,i.groupAdjacentBy)(P.map(w=>L(w,E,v)),(w,M)=>w.original.overlapOrTouch(M.original)||w.modified.overlapOrTouch(M.modified))){const w=g[0],M=g[g.length-1];b.push(new o.DetailedLineRangeMapping(w.original.join(M.original),w.modified.join(M.modified),g.map(y=>y.innerChanges[0])))}return(0,x.assertFn)(()=>!l&&b.length>0&&(b[0].modified.startLineNumber!==b[0].original.startLineNumber||v.length-b[b.length-1].modified.endLineNumberExclusive!==E.length-b[b.length-1].original.endLineNumberExclusive)?!1:(0,x.checkAdjacentItems)(b,(g,w)=>w.original.startLineNumber-g.original.endLineNumberExclusive===w.modified.startLineNumber-g.modified.endLineNumberExclusive&&g.original.endLineNumberExclusive=v[P.modifiedRange.startLineNumber-1].length&&P.originalRange.startColumn-1>=E[P.originalRange.startLineNumber-1].length&&P.originalRange.startLineNumber<=P.originalRange.endLineNumber+b&&P.modifiedRange.startLineNumber<=P.modifiedRange.endLineNumber+b&&(l=1);const g=new A.LineRange(P.originalRange.startLineNumber+l,P.originalRange.endLineNumber+1+b),w=new A.LineRange(P.modifiedRange.startLineNumber+l,P.modifiedRange.endLineNumber+1+b);return new o.DetailedLineRangeMapping(g,w,[P])}function N(P){return new o.LineRangeMapping(new A.LineRange(P.seq1Range.start+1,P.seq1Range.endExclusive+1),new A.LineRange(P.seq2Range.start+1,P.seq2Range.endExclusive+1))}}),X(J[57],Z([0,1,24,34,17,6,2,12,13]),function(W,n,i,x,A,d,f,p,c){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.DiffComputer=n.LegacyLinesDiffComputer=void 0;const a=3;class m{computeDiff(v,l,b){const w=new S(v,l,{maxComputationTime:b.maxComputationTimeMs,shouldIgnoreTrimWhitespace:b.ignoreTrimWhitespace,shouldComputeCharChanges:!0,shouldMakePrettyDiff:!0,shouldPostProcessCharChanges:!0}).computeDiff(),M=[];let y=null;for(const _ of w.changes){let C;_.originalEndLineNumber===0?C=new c.LineRange(_.originalStartLineNumber+1,_.originalStartLineNumber+1):C=new c.LineRange(_.originalStartLineNumber,_.originalEndLineNumber+1);let R;_.modifiedEndLineNumber===0?R=new c.LineRange(_.modifiedStartLineNumber+1,_.modifiedStartLineNumber+1):R=new c.LineRange(_.modifiedStartLineNumber,_.modifiedEndLineNumber+1);let D=new A.DetailedLineRangeMapping(C,R,_.charChanges?.map(T=>new A.RangeMapping(new f.Range(T.originalStartLineNumber,T.originalStartColumn,T.originalEndLineNumber,T.originalEndColumn),new f.Range(T.modifiedStartLineNumber,T.modifiedStartColumn,T.modifiedEndLineNumber,T.modifiedEndColumn))));y&&(y.modified.endLineNumberExclusive===D.modified.startLineNumber||y.original.endLineNumberExclusive===D.original.startLineNumber)&&(D=new A.DetailedLineRangeMapping(y.original.join(D.original),y.modified.join(D.modified),y.innerChanges&&D.innerChanges?y.innerChanges.concat(D.innerChanges):void 0),M.pop()),M.push(D),y=D}return(0,p.assertFn)(()=>(0,p.checkAdjacentItems)(M,(_,C)=>C.original.startLineNumber-_.original.endLineNumberExclusive===C.modified.startLineNumber-_.modified.endLineNumberExclusive&&_.original.endLineNumberExclusive(v===10?"\\n":String.fromCharCode(v))+`-(${this._lineNumbers[l]},${this._columns[l]})`).join(", ")+"]"}_assertIndex(v,l){if(v<0||v>=l.length)throw new Error("Illegal index")}getElements(){return this._charCodes}getStartLineNumber(v){return v>0&&v===this._lineNumbers.length?this.getEndLineNumber(v-1):(this._assertIndex(v,this._lineNumbers),this._lineNumbers[v])}getEndLineNumber(v){return v===-1?this.getStartLineNumber(v+1):(this._assertIndex(v,this._lineNumbers),this._charCodes[v]===10?this._lineNumbers[v]+1:this._lineNumbers[v])}getStartColumn(v){return v>0&&v===this._columns.length?this.getEndColumn(v-1):(this._assertIndex(v,this._columns),this._columns[v])}getEndColumn(v){return v===-1?this.getStartColumn(v+1):(this._assertIndex(v,this._columns),this._charCodes[v]===10?1:this._columns[v]+1)}}class s{constructor(v,l,b,g,w,M,y,_){this.originalStartLineNumber=v,this.originalStartColumn=l,this.originalEndLineNumber=b,this.originalEndColumn=g,this.modifiedStartLineNumber=w,this.modifiedStartColumn=M,this.modifiedEndLineNumber=y,this.modifiedEndColumn=_}static createFromDiffChange(v,l,b){const g=l.getStartLineNumber(v.originalStart),w=l.getStartColumn(v.originalStart),M=l.getEndLineNumber(v.originalStart+v.originalLength-1),y=l.getEndColumn(v.originalStart+v.originalLength-1),_=b.getStartLineNumber(v.modifiedStart),C=b.getStartColumn(v.modifiedStart),R=b.getEndLineNumber(v.modifiedStart+v.modifiedLength-1),D=b.getEndColumn(v.modifiedStart+v.modifiedLength-1);return new s(g,w,M,y,_,C,R,D)}}function o(E){if(E.length<=1)return E;const v=[E[0]];let l=v[0];for(let b=1,g=E.length;b0&&l.originalLength<20&&l.modifiedLength>0&&l.modifiedLength<20&&w()){const O=b.createCharSequence(v,l.originalStart,l.originalStart+l.originalLength-1),z=g.createCharSequence(v,l.modifiedStart,l.modifiedStart+l.modifiedLength-1);if(O.getElements().length>0&&z.getElements().length>0){let j=e(O,z,w,!0).changes;y&&(j=o(j)),T=[];for(let F=0,q=j.length;F1&&j>1;){const F=T.charCodeAt(z-2),q=O.charCodeAt(j-2);if(F!==q)break;z--,j--}(z>1||j>1)&&this._pushTrimWhitespaceCharChange(g,w+1,1,z,M+1,1,j)}{let z=N(T,1),j=N(O,1);const F=T.length+1,q=O.length+1;for(;z!0;const v=Date.now();return()=>Date.now()-vnew i.LegacyLinesDiffComputer,getDefault:()=>new x.DefaultLinesDiffComputer}}),X(J[59],Z([0,1,40]),function(W,n,i){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.computeDefaultDocumentColors=e;function x(h){const r=[];for(const s of h){const o=Number(s);(o||o===0&&s.replace(/\s/g,"")!=="")&&r.push(o)}return r}function A(h,r,s,o){return{red:h/255,blue:s/255,green:r/255,alpha:o}}function d(h,r){const s=r.index,o=r[0].length;if(!s)return;const u=h.positionAt(s);return{startLineNumber:u.lineNumber,startColumn:u.column,endLineNumber:u.lineNumber,endColumn:u.column+o}}function f(h,r){if(!h)return;const s=i.Color.Format.CSS.parseHex(r);if(s)return{range:h,color:A(s.rgba.r,s.rgba.g,s.rgba.b,s.rgba.a)}}function p(h,r,s){if(!h||r.length!==1)return;const u=r[0].values(),S=x(u);return{range:h,color:A(S[0],S[1],S[2],s?S[3]:1)}}function c(h,r,s){if(!h||r.length!==1)return;const u=r[0].values(),S=x(u),L=new i.Color(new i.HSLA(S[0],S[1]/100,S[2]/100,s?S[3]:1));return{range:h,color:A(L.rgba.r,L.rgba.g,L.rgba.b,L.rgba.a)}}function a(h,r){return typeof h=="string"?[...h.matchAll(r)]:h.findMatches(r)}function m(h){const r=[],o=a(h,/\b(rgb|rgba|hsl|hsla)(\([0-9\s,.\%]*\))|(#)([A-Fa-f0-9]{3})\b|(#)([A-Fa-f0-9]{4})\b|(#)([A-Fa-f0-9]{6})\b|(#)([A-Fa-f0-9]{8})\b/gm);if(o.length>0)for(const u of o){const S=u.filter(E=>E!==void 0),L=S[1],N=S[2];if(!N)continue;let P;if(L==="rgb"){const E=/^\(\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*\)$/gm;P=p(d(h,u),a(N,E),!1)}else if(L==="rgba"){const E=/^\(\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(0[.][0-9]+|[.][0-9]+|[01][.]|[01])\s*\)$/gm;P=p(d(h,u),a(N,E),!0)}else if(L==="hsl"){const E=/^\(\s*(36[0]|3[0-5][0-9]|[12][0-9][0-9]|[1-9]?[0-9])\s*,\s*(100|\d{1,2}[.]\d*|\d{1,2})%\s*,\s*(100|\d{1,2}[.]\d*|\d{1,2})%\s*\)$/gm;P=c(d(h,u),a(N,E),!1)}else if(L==="hsla"){const E=/^\(\s*(36[0]|3[0-5][0-9]|[12][0-9][0-9]|[1-9]?[0-9])\s*,\s*(100|\d{1,2}[.]\d*|\d{1,2})%\s*,\s*(100|\d{1,2}[.]\d*|\d{1,2})%\s*,\s*(0[.][0-9]+|[.][0-9]+|[01][.]|[01])\s*\)$/gm;P=c(d(h,u),a(N,E),!0)}else L==="#"&&(P=f(d(h,u),L+N));P&&r.push(P)}return r}function e(h){return!h||typeof h.getValue!="function"||typeof h.positionAt!="function"?[]:m(h)}}),X(J[60],Z([0,1,29]),function(W,n,i){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.LinkComputer=n.StateMachine=void 0,n.computeLinks=m;class x{constructor(h,r,s){const o=new Uint8Array(h*r);for(let u=0,S=h*r;ur&&(r=N),L>s&&(s=L),P>s&&(s=P)}r++,s++;const o=new x(s,r,0);for(let u=0,S=h.length;u=this._maxCharCode?0:this._states.get(h,r)}}n.StateMachine=A;let d=null;function f(){return d===null&&(d=new A([[1,104,2],[1,72,2],[1,102,6],[1,70,6],[2,116,3],[2,84,3],[3,116,4],[3,84,4],[4,112,5],[4,80,5],[5,115,9],[5,83,9],[5,58,10],[6,105,7],[6,73,7],[7,108,8],[7,76,8],[8,101,9],[8,69,9],[9,58,10],[10,47,11],[11,47,12]])),d}let p=null;function c(){if(p===null){p=new i.CharacterClassifier(0);const e=` <>'"\u3001\u3002\uFF61\uFF64\uFF0C\uFF0E\uFF1A\uFF1B\u2018\u3008\u300C\u300E\u3014\uFF08\uFF3B\uFF5B\uFF62\uFF63\uFF5D\uFF3D\uFF09\u3015\u300F\u300D\u3009\u2019\uFF40\uFF5E\u2026`;for(let r=0;ro);if(o>0){const L=r.charCodeAt(o-1),N=r.charCodeAt(S);(L===40&&N===41||L===91&&N===93||L===123&&N===125)&&S--}return{range:{startLineNumber:s,startColumn:o+1,endLineNumber:s,endColumn:S+2},url:r.substring(o,S+1)}}static computeLinks(h,r=f()){const s=c(),o=[];for(let u=1,S=h.getLineCount();u<=S;u++){const L=h.getLineContent(u),N=L.length;let P=0,E=0,v=0,l=1,b=!1,g=!1,w=!1,M=!1;for(;P=0?(p+=f?1:-1,p<0?p=A.length-1:p%=A.length,A[p]):null}}n.BasicInplaceReplace=i}),X(J[62],Z([0,1,27]),function(W,n,i){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.ApplyEditsResult=n.SearchData=n.ValidAnnotatedEditOperation=n.FindMatch=n.TextModelResolvedOptions=n.InjectedTextCursorStops=n.GlyphMarginLane=n.OverviewRulerLane=void 0,n.isITextSnapshot=c,n.shouldSynchronizeModel=h;var x;(function(r){r[r.Left=1]="Left",r[r.Center=2]="Center",r[r.Right=4]="Right",r[r.Full=7]="Full"})(x||(n.OverviewRulerLane=x={}));var A;(function(r){r[r.Left=1]="Left",r[r.Center=2]="Center",r[r.Right=3]="Right"})(A||(n.GlyphMarginLane=A={}));var d;(function(r){r[r.Both=0]="Both",r[r.Right=1]="Right",r[r.Left=2]="Left",r[r.None=3]="None"})(d||(n.InjectedTextCursorStops=d={}));class f{get originalIndentSize(){return this._indentSizeIsTabSize?"tabSize":this.indentSize}constructor(s){this._textModelResolvedOptionsBrand=void 0,this.tabSize=Math.max(1,s.tabSize|0),s.indentSize==="tabSize"?(this.indentSize=this.tabSize,this._indentSizeIsTabSize=!0):(this.indentSize=Math.max(1,s.indentSize|0),this._indentSizeIsTabSize=!1),this.insertSpaces=!!s.insertSpaces,this.defaultEOL=s.defaultEOL|0,this.trimAutoWhitespace=!!s.trimAutoWhitespace,this.bracketPairColorizationOptions=s.bracketPairColorizationOptions}equals(s){return this.tabSize===s.tabSize&&this._indentSizeIsTabSize===s._indentSizeIsTabSize&&this.indentSize===s.indentSize&&this.insertSpaces===s.insertSpaces&&this.defaultEOL===s.defaultEOL&&this.trimAutoWhitespace===s.trimAutoWhitespace&&(0,i.equals)(this.bracketPairColorizationOptions,s.bracketPairColorizationOptions)}createChangeEvent(s){return{tabSize:this.tabSize!==s.tabSize,indentSize:this.indentSize!==s.indentSize,insertSpaces:this.insertSpaces!==s.insertSpaces,trimAutoWhitespace:this.trimAutoWhitespace!==s.trimAutoWhitespace}}}n.TextModelResolvedOptions=f;class p{constructor(s,o){this._findMatchBrand=void 0,this.range=s,this.matches=o}}n.FindMatch=p;function c(r){return r&&typeof r.read=="function"}class a{constructor(s,o,u,S,L,N){this.identifier=s,this.range=o,this.text=u,this.forceMoveMarkers=S,this.isAutoWhitespaceEdit=L,this._isTracked=N}}n.ValidAnnotatedEditOperation=a;class m{constructor(s,o,u){this.regex=s,this.wordSeparators=o,this.simpleSearch=u}}n.SearchData=m;class e{constructor(s,o,u){this.reverseEdits=s,this.changes=o,this.trimAutoWhitespaceLineNumbers=u}}n.ApplyEditsResult=e;function h(r){return!r.isTooLargeForSyncing()&&!r.isForSimpleWidget}}),X(J[63],Z([0,1,7,28]),function(W,n,i,x){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.PrefixSumIndexOfResult=n.ConstantTimePrefixSumComputer=n.PrefixSumComputer=void 0;class A{constructor(c){this.values=c,this.prefixSum=new Uint32Array(c.length),this.prefixSumValidIndex=new Int32Array(1),this.prefixSumValidIndex[0]=-1}insertValues(c,a){c=(0,x.toUint32)(c);const m=this.values,e=this.prefixSum,h=a.length;return h===0?!1:(this.values=new Uint32Array(m.length+h),this.values.set(m.subarray(0,c),0),this.values.set(m.subarray(c),c+h),this.values.set(a,c),c-1=0&&this.prefixSum.set(e.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}setValue(c,a){return c=(0,x.toUint32)(c),a=(0,x.toUint32)(a),this.values[c]===a?!1:(this.values[c]=a,c-1=m.length)return!1;const h=m.length-c;return a>=h&&(a=h),a===0?!1:(this.values=new Uint32Array(m.length-a),this.values.set(m.subarray(0,c),0),this.values.set(m.subarray(c+a),c),this.prefixSum=new Uint32Array(this.values.length),c-1=0&&this.prefixSum.set(e.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}getTotalSum(){return this.values.length===0?0:this._getPrefixSum(this.values.length-1)}getPrefixSum(c){return c<0?0:(c=(0,x.toUint32)(c),this._getPrefixSum(c))}_getPrefixSum(c){if(c<=this.prefixSumValidIndex[0])return this.prefixSum[c];let a=this.prefixSumValidIndex[0]+1;a===0&&(this.prefixSum[0]=this.values[0],a++),c>=this.values.length&&(c=this.values.length-1);for(let m=a;m<=c;m++)this.prefixSum[m]=this.prefixSum[m-1]+this.values[m];return this.prefixSumValidIndex[0]=Math.max(this.prefixSumValidIndex[0],c),this.prefixSum[c]}getIndexOf(c){c=Math.floor(c),this.getTotalSum();let a=0,m=this.values.length-1,e=0,h=0,r=0;for(;a<=m;)if(e=a+(m-a)/2|0,h=this.prefixSum[e],r=h-this.values[e],c=h)a=e+1;else break;return new f(e,c-r)}}n.PrefixSumComputer=A;class d{constructor(c){this._values=c,this._isValid=!1,this._validEndIndex=-1,this._prefixSum=[],this._indexBySum=[]}getTotalSum(){return this._ensureValid(),this._indexBySum.length}getPrefixSum(c){return this._ensureValid(),c===0?0:this._prefixSum[c-1]}getIndexOf(c){this._ensureValid();const a=this._indexBySum[c],m=a>0?this._prefixSum[a-1]:0;return new f(a,c-m)}removeValues(c,a){this._values.splice(c,a),this._invalidate(c)}insertValues(c,a){this._values=(0,i.arrayInsert)(this._values,c,a),this._invalidate(c)}_invalidate(c){this._isValid=!1,this._validEndIndex=Math.min(this._validEndIndex,c-1)}_ensureValid(){if(!this._isValid){for(let c=this._validEndIndex+1,a=this._values.length;c0?this._prefixSum[c-1]:0;this._prefixSum[c]=e+m;for(let h=0;h=0;let N=null;try{N=i.createRegExp(this.searchString,this.isRegex,{matchCase:this.matchCase,wholeWord:!1,multiline:L,global:!0,unicode:!0})}catch{return null}if(!N)return null;let P=!this.isRegex&&!L;return P&&this.searchString.toLowerCase()!==this.searchString.toUpperCase()&&(P=this.matchCase),new f.SearchData(N,this.wordSeparators?(0,x.getMapForWordSeparators)(this.wordSeparators,[]):null,P?this.searchString:null)}}n.SearchParams=c;function a(S){if(!S||S.length===0)return!1;for(let L=0,N=S.length;L=N)break;const E=S.charCodeAt(L);if(E===110||E===114||E===87)return!0}}return!1}function m(S,L,N){if(!N)return new f.FindMatch(S,null);const P=[];for(let E=0,v=L.length;E>0);N[v]>=L?E=v-1:N[v+1]>=L?(P=v,E=v):P=v+1}return P+1}}class h{static findMatches(L,N,P,E,v){const l=N.parseSearchRequest();return l?l.regex.multiline?this._doFindMatchesMultiline(L,P,new u(l.wordSeparators,l.regex),E,v):this._doFindMatchesLineByLine(L,P,l,E,v):[]}static _getMultilineMatchRange(L,N,P,E,v,l){let b,g=0;E?(g=E.findLineFeedCountBeforeOffset(v),b=N+v+g):b=N+v;let w;if(E){const C=E.findLineFeedCountBeforeOffset(v+l.length)-g;w=b+l.length+C}else w=b+l.length;const M=L.getPositionAt(b),y=L.getPositionAt(w);return new d.Range(M.lineNumber,M.column,y.lineNumber,y.column)}static _doFindMatchesMultiline(L,N,P,E,v){const l=L.getOffsetAt(N.getStartPosition()),b=L.getValueInRange(N,1),g=L.getEOL()===`\r +`?new e(b):null,w=[];let M=0,y;for(P.reset(0);y=P.next(b);)if(w[M++]=m(this._getMultilineMatchRange(L,l,b,g,y.index,y[0]),y,E),M>=v)return w;return w}static _doFindMatchesLineByLine(L,N,P,E,v){const l=[];let b=0;if(N.startLineNumber===N.endLineNumber){const w=L.getLineContent(N.startLineNumber).substring(N.startColumn-1,N.endColumn-1);return b=this._findMatchesInLine(P,w,N.startLineNumber,N.startColumn-1,b,l,E,v),l}const g=L.getLineContent(N.startLineNumber).substring(N.startColumn-1);b=this._findMatchesInLine(P,g,N.startLineNumber,N.startColumn-1,b,l,E,v);for(let w=N.startLineNumber+1;w=g))return v;return v}const M=new u(L.wordSeparators,L.regex);let y;M.reset(0);do if(y=M.next(N),y&&(l[v++]=m(new d.Range(P,y.index+1+E,P,y.index+1+y[0].length+E),y,b),v>=g))return v;while(y);return v}static findNextMatch(L,N,P,E){const v=N.parseSearchRequest();if(!v)return null;const l=new u(v.wordSeparators,v.regex);return v.regex.multiline?this._doFindNextMatchMultiline(L,P,l,E):this._doFindNextMatchLineByLine(L,P,l,E)}static _doFindNextMatchMultiline(L,N,P,E){const v=new A.Position(N.lineNumber,1),l=L.getOffsetAt(v),b=L.getLineCount(),g=L.getValueInRange(new d.Range(v.lineNumber,v.column,b,L.getLineMaxColumn(b)),1),w=L.getEOL()===`\r +`?new e(g):null;P.reset(N.column-1);const M=P.next(g);return M?m(this._getMultilineMatchRange(L,l,g,w,M.index,M[0]),M,E):N.lineNumber!==1||N.column!==1?this._doFindNextMatchMultiline(L,new A.Position(1,1),P,E):null}static _doFindNextMatchLineByLine(L,N,P,E){const v=L.getLineCount(),l=N.lineNumber,b=L.getLineContent(l),g=this._findFirstMatchInLine(P,b,l,N.column,E);if(g)return g;for(let w=1;w<=v;w++){const M=(l+w-1)%v,y=L.getLineContent(M+1),_=this._findFirstMatchInLine(P,y,M+1,1,E);if(_)return _}return null}static _findFirstMatchInLine(L,N,P,E,v){L.reset(E-1);const l=L.next(N);return l?m(new d.Range(P,l.index+1,P,l.index+1+l[0].length),l,v):null}static findPreviousMatch(L,N,P,E){const v=N.parseSearchRequest();if(!v)return null;const l=new u(v.wordSeparators,v.regex);return v.regex.multiline?this._doFindPreviousMatchMultiline(L,P,l,E):this._doFindPreviousMatchLineByLine(L,P,l,E)}static _doFindPreviousMatchMultiline(L,N,P,E){const v=this._doFindMatchesMultiline(L,new d.Range(1,1,N.lineNumber,N.column),P,E,10*p);if(v.length>0)return v[v.length-1];const l=L.getLineCount();return N.lineNumber!==l||N.column!==L.getLineMaxColumn(l)?this._doFindPreviousMatchMultiline(L,new A.Position(l,L.getLineMaxColumn(l)),P,E):null}static _doFindPreviousMatchLineByLine(L,N,P,E){const v=L.getLineCount(),l=N.lineNumber,b=L.getLineContent(l).substring(0,N.column-1),g=this._findLastMatchInLine(P,b,l,E);if(g)return g;for(let w=1;w<=v;w++){const M=(v+l-w-1)%v,y=L.getLineContent(M+1),_=this._findLastMatchInLine(P,y,M+1,E);if(_)return _}return null}static _findLastMatchInLine(L,N,P,E){let v=null,l;for(L.reset(0);l=L.next(N);)v=m(new d.Range(P,l.index+1,P,l.index+1+l[0].length),l,E);return v}}n.TextModelSearch=h;function r(S,L,N,P,E){if(P===0)return!0;const v=L.charCodeAt(P-1);if(S.get(v)!==0||v===13||v===10)return!0;if(E>0){const l=L.charCodeAt(P);if(S.get(l)!==0)return!0}return!1}function s(S,L,N,P,E){if(P+E===N)return!0;const v=L.charCodeAt(P+E);if(S.get(v)!==0||v===13||v===10)return!0;if(E>0){const l=L.charCodeAt(P+E-1);if(S.get(l)!==0)return!0}return!1}function o(S,L,N,P,E){return r(S,L,N,P,E)&&s(S,L,N,P,E)}class u{constructor(L,N){this._wordSeparators=L,this._searchRegex=N,this._prevMatchStartIndex=-1,this._prevMatchLength=0}reset(L){this._searchRegex.lastIndex=L,this._prevMatchStartIndex=-1,this._prevMatchLength=0}next(L){const N=L.length;let P;do{if(this._prevMatchStartIndex+this._prevMatchLength===N||(P=this._searchRegex.exec(L),!P))return null;const E=P.index,v=P[0].length;if(E===this._prevMatchStartIndex&&v===this._prevMatchLength){if(v===0){i.getNextCodePoint(L,N,this._searchRegex.lastIndex)>65535?this._searchRegex.lastIndex+=2:this._searchRegex.lastIndex+=1;continue}return null}if(this._prevMatchStartIndex=E,this._prevMatchLength=v,!this._wordSeparators||o(this._wordSeparators,L,N,E,v))return P}while(P);return null}}n.Searcher=u}),X(J[66],Z([0,1]),function(W,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.EditorWorkerHost=void 0;class i{static{this.CHANNEL_NAME="editorWorkerHost"}static getChannel(A){return A.getChannel(i.CHANNEL_NAME)}static setChannel(A,d){A.setChannel(i.CHANNEL_NAME,d)}}n.EditorWorkerHost=i}),X(J[67],Z([0,1]),function(W,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.findSectionHeaders=A;const i=new RegExp("\\bMARK:\\s*(.*)$","d"),x=/^-+|-+$/g;function A(a,m){let e=[];if(m.findRegionSectionHeaders&&m.foldingRules?.markers){const h=d(a,m);e=e.concat(h)}if(m.findMarkSectionHeaders){const h=f(a);e=e.concat(h)}return e}function d(a,m){const e=[],h=a.getLineCount();for(let r=1;r<=h;r++){const s=a.getLineContent(r),o=s.match(m.foldingRules.markers.start);if(o){const u={startLineNumber:r,startColumn:o[0].length+1,endLineNumber:r,endColumn:s.length+1};if(u.endColumn>u.startColumn){const S={range:u,...c(s.substring(o[0].length)),shouldBeInComments:!1};(S.text||S.hasSeparatorLine)&&e.push(S)}}}return e}function f(a){const m=[],e=a.getLineCount();for(let h=1;h<=e;h++){const r=a.getLineContent(h);p(r,h,m)}return m}function p(a,m,e){i.lastIndex=0;const h=i.exec(a);if(h){const r=h.indices[1][0]+1,s=h.indices[1][1]+1,o={startLineNumber:m,startColumn:r,endLineNumber:m,endColumn:s};if(o.endColumn>o.startColumn){const u={range:o,...c(h[1]),shouldBeInComments:!0};(u.text||u.hasSeparatorLine)&&e.push(u)}}}function c(a){a=a.trim();const m=a.startsWith("-");return a=a.replace(x,""),{text:a,hasSeparatorLine:m}}}),X(J[68],Z([0,1,2,65,6,12,31]),function(W,n,i,x,A,d,f){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.UnicodeTextModelHighlighter=void 0;class p{static computeUnicodeHighlights(h,r,s){const o=s?s.startLineNumber:1,u=s?s.endLineNumber:h.getLineCount(),S=new a(r),L=S.getCandidateCodePoints();let N;L==="allNonBasicAscii"?N=new RegExp("[^\\t\\n\\r\\x20-\\x7E]","g"):N=new RegExp(`${c(Array.from(L))}`,"g");const P=new x.Searcher(null,N),E=[];let v=!1,l,b=0,g=0,w=0;e:for(let M=o,y=u;M<=y;M++){const _=h.getLineContent(M),C=_.length;P.reset(0);do if(l=P.next(_),l){let R=l.index,D=l.index+l[0].length;if(R>0){const j=_.charCodeAt(R-1);A.isHighSurrogate(j)&&R--}if(D+1=1e3){v=!0;break e}E.push(new i.Range(M,R+1,M,D+1))}}while(l)}return{ranges:E,hasMore:v,ambiguousCharacterCount:b,invisibleCharacterCount:g,nonBasicAsciiCharacterCount:w}}static computeUnicodeHighlightReason(h,r){const s=new a(r);switch(s.shouldHighlightNonBasicASCII(h,null)){case 0:return null;case 2:return{kind:1};case 3:{const u=h.codePointAt(0),S=s.ambiguousCharacters.getPrimaryConfusable(u),L=A.AmbiguousCharacters.getLocales().filter(N=>!A.AmbiguousCharacters.getInstance(new Set([...r.allowedLocales,N])).isAmbiguous(u));return{kind:0,confusableWith:String.fromCodePoint(S),notAmbiguousInLocales:L}}case 1:return{kind:2}}}}n.UnicodeTextModelHighlighter=p;function c(e,h){return`[${A.escapeRegExpCharacters(e.map(s=>String.fromCodePoint(s)).join(""))}]`}class a{constructor(h){this.options=h,this.allowedCodePoints=new Set(h.allowedCodePoints),this.ambiguousCharacters=A.AmbiguousCharacters.getInstance(new Set(h.allowedLocales))}getCandidateCodePoints(){if(this.options.nonBasicASCII)return"allNonBasicAscii";const h=new Set;if(this.options.invisibleCharacters)for(const r of A.InvisibleCharacters.codePoints)m(String.fromCodePoint(r))||h.add(r);if(this.options.ambiguousCharacters)for(const r of this.ambiguousCharacters.getConfusableCodePoints())h.add(r);for(const r of this.allowedCodePoints)h.delete(r);return h}shouldHighlightNonBasicASCII(h,r){const s=h.codePointAt(0);if(this.allowedCodePoints.has(s))return 0;if(this.options.nonBasicASCII)return 1;let o=!1,u=!1;if(r)for(const S of r){const L=S.codePointAt(0),N=A.isBasicASCII(S);o=o||N,!N&&!this.ambiguousCharacters.isAmbiguous(L)&&!A.InvisibleCharacters.isInvisibleCharacter(L)&&(u=!0)}return!o&&u?0:this.options.invisibleCharacters&&!m(h)&&A.InvisibleCharacters.isInvisibleCharacter(s)?2:this.options.ambiguousCharacters&&this.ambiguousCharacters.isAmbiguous(s)?3:0}}function m(e){return e===" "||e===` +`||e===" "}}),X(J[69],Z([0,1]),function(W,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.WrappingIndent=n.TrackedRangeStickiness=n.TextEditorCursorStyle=n.TextEditorCursorBlinkingStyle=n.SymbolTag=n.SymbolKind=n.SignatureHelpTriggerKind=n.ShowLightbulbIconMode=n.SelectionDirection=n.ScrollbarVisibility=n.ScrollType=n.RenderMinimap=n.RenderLineNumbersType=n.PositionAffinity=n.PartialAcceptTriggerKind=n.OverviewRulerLane=n.OverlayWidgetPositionPreference=n.NewSymbolNameTriggerKind=n.NewSymbolNameTag=n.MouseTargetType=n.MinimapSectionHeaderStyle=n.MinimapPosition=n.MarkerTag=n.MarkerSeverity=n.KeyCode=n.InlineEditTriggerKind=n.InlineCompletionTriggerKind=n.InlayHintKind=n.InjectedTextCursorStops=n.IndentAction=n.HoverVerbosityAction=n.GlyphMarginLane=n.EndOfLineSequence=n.EndOfLinePreference=n.EditorOption=n.EditorAutoIndentStrategy=n.DocumentHighlightKind=n.DefaultEndOfLine=n.CursorChangeReason=n.ContentWidgetPositionPreference=n.CompletionTriggerKind=n.CompletionItemTag=n.CompletionItemKind=n.CompletionItemInsertTextRule=n.CodeActionTriggerType=n.AccessibilitySupport=void 0;var i;(function(t){t[t.Unknown=0]="Unknown",t[t.Disabled=1]="Disabled",t[t.Enabled=2]="Enabled"})(i||(n.AccessibilitySupport=i={}));var x;(function(t){t[t.Invoke=1]="Invoke",t[t.Auto=2]="Auto"})(x||(n.CodeActionTriggerType=x={}));var A;(function(t){t[t.None=0]="None",t[t.KeepWhitespace=1]="KeepWhitespace",t[t.InsertAsSnippet=4]="InsertAsSnippet"})(A||(n.CompletionItemInsertTextRule=A={}));var d;(function(t){t[t.Method=0]="Method",t[t.Function=1]="Function",t[t.Constructor=2]="Constructor",t[t.Field=3]="Field",t[t.Variable=4]="Variable",t[t.Class=5]="Class",t[t.Struct=6]="Struct",t[t.Interface=7]="Interface",t[t.Module=8]="Module",t[t.Property=9]="Property",t[t.Event=10]="Event",t[t.Operator=11]="Operator",t[t.Unit=12]="Unit",t[t.Value=13]="Value",t[t.Constant=14]="Constant",t[t.Enum=15]="Enum",t[t.EnumMember=16]="EnumMember",t[t.Keyword=17]="Keyword",t[t.Text=18]="Text",t[t.Color=19]="Color",t[t.File=20]="File",t[t.Reference=21]="Reference",t[t.Customcolor=22]="Customcolor",t[t.Folder=23]="Folder",t[t.TypeParameter=24]="TypeParameter",t[t.User=25]="User",t[t.Issue=26]="Issue",t[t.Snippet=27]="Snippet"})(d||(n.CompletionItemKind=d={}));var f;(function(t){t[t.Deprecated=1]="Deprecated"})(f||(n.CompletionItemTag=f={}));var p;(function(t){t[t.Invoke=0]="Invoke",t[t.TriggerCharacter=1]="TriggerCharacter",t[t.TriggerForIncompleteCompletions=2]="TriggerForIncompleteCompletions"})(p||(n.CompletionTriggerKind=p={}));var c;(function(t){t[t.EXACT=0]="EXACT",t[t.ABOVE=1]="ABOVE",t[t.BELOW=2]="BELOW"})(c||(n.ContentWidgetPositionPreference=c={}));var a;(function(t){t[t.NotSet=0]="NotSet",t[t.ContentFlush=1]="ContentFlush",t[t.RecoverFromMarkers=2]="RecoverFromMarkers",t[t.Explicit=3]="Explicit",t[t.Paste=4]="Paste",t[t.Undo=5]="Undo",t[t.Redo=6]="Redo"})(a||(n.CursorChangeReason=a={}));var m;(function(t){t[t.LF=1]="LF",t[t.CRLF=2]="CRLF"})(m||(n.DefaultEndOfLine=m={}));var e;(function(t){t[t.Text=0]="Text",t[t.Read=1]="Read",t[t.Write=2]="Write"})(e||(n.DocumentHighlightKind=e={}));var h;(function(t){t[t.None=0]="None",t[t.Keep=1]="Keep",t[t.Brackets=2]="Brackets",t[t.Advanced=3]="Advanced",t[t.Full=4]="Full"})(h||(n.EditorAutoIndentStrategy=h={}));var r;(function(t){t[t.acceptSuggestionOnCommitCharacter=0]="acceptSuggestionOnCommitCharacter",t[t.acceptSuggestionOnEnter=1]="acceptSuggestionOnEnter",t[t.accessibilitySupport=2]="accessibilitySupport",t[t.accessibilityPageSize=3]="accessibilityPageSize",t[t.ariaLabel=4]="ariaLabel",t[t.ariaRequired=5]="ariaRequired",t[t.autoClosingBrackets=6]="autoClosingBrackets",t[t.autoClosingComments=7]="autoClosingComments",t[t.screenReaderAnnounceInlineSuggestion=8]="screenReaderAnnounceInlineSuggestion",t[t.autoClosingDelete=9]="autoClosingDelete",t[t.autoClosingOvertype=10]="autoClosingOvertype",t[t.autoClosingQuotes=11]="autoClosingQuotes",t[t.autoIndent=12]="autoIndent",t[t.automaticLayout=13]="automaticLayout",t[t.autoSurround=14]="autoSurround",t[t.bracketPairColorization=15]="bracketPairColorization",t[t.guides=16]="guides",t[t.codeLens=17]="codeLens",t[t.codeLensFontFamily=18]="codeLensFontFamily",t[t.codeLensFontSize=19]="codeLensFontSize",t[t.colorDecorators=20]="colorDecorators",t[t.colorDecoratorsLimit=21]="colorDecoratorsLimit",t[t.columnSelection=22]="columnSelection",t[t.comments=23]="comments",t[t.contextmenu=24]="contextmenu",t[t.copyWithSyntaxHighlighting=25]="copyWithSyntaxHighlighting",t[t.cursorBlinking=26]="cursorBlinking",t[t.cursorSmoothCaretAnimation=27]="cursorSmoothCaretAnimation",t[t.cursorStyle=28]="cursorStyle",t[t.cursorSurroundingLines=29]="cursorSurroundingLines",t[t.cursorSurroundingLinesStyle=30]="cursorSurroundingLinesStyle",t[t.cursorWidth=31]="cursorWidth",t[t.disableLayerHinting=32]="disableLayerHinting",t[t.disableMonospaceOptimizations=33]="disableMonospaceOptimizations",t[t.domReadOnly=34]="domReadOnly",t[t.dragAndDrop=35]="dragAndDrop",t[t.dropIntoEditor=36]="dropIntoEditor",t[t.emptySelectionClipboard=37]="emptySelectionClipboard",t[t.experimentalWhitespaceRendering=38]="experimentalWhitespaceRendering",t[t.extraEditorClassName=39]="extraEditorClassName",t[t.fastScrollSensitivity=40]="fastScrollSensitivity",t[t.find=41]="find",t[t.fixedOverflowWidgets=42]="fixedOverflowWidgets",t[t.folding=43]="folding",t[t.foldingStrategy=44]="foldingStrategy",t[t.foldingHighlight=45]="foldingHighlight",t[t.foldingImportsByDefault=46]="foldingImportsByDefault",t[t.foldingMaximumRegions=47]="foldingMaximumRegions",t[t.unfoldOnClickAfterEndOfLine=48]="unfoldOnClickAfterEndOfLine",t[t.fontFamily=49]="fontFamily",t[t.fontInfo=50]="fontInfo",t[t.fontLigatures=51]="fontLigatures",t[t.fontSize=52]="fontSize",t[t.fontWeight=53]="fontWeight",t[t.fontVariations=54]="fontVariations",t[t.formatOnPaste=55]="formatOnPaste",t[t.formatOnType=56]="formatOnType",t[t.glyphMargin=57]="glyphMargin",t[t.gotoLocation=58]="gotoLocation",t[t.hideCursorInOverviewRuler=59]="hideCursorInOverviewRuler",t[t.hover=60]="hover",t[t.inDiffEditor=61]="inDiffEditor",t[t.inlineSuggest=62]="inlineSuggest",t[t.inlineEdit=63]="inlineEdit",t[t.letterSpacing=64]="letterSpacing",t[t.lightbulb=65]="lightbulb",t[t.lineDecorationsWidth=66]="lineDecorationsWidth",t[t.lineHeight=67]="lineHeight",t[t.lineNumbers=68]="lineNumbers",t[t.lineNumbersMinChars=69]="lineNumbersMinChars",t[t.linkedEditing=70]="linkedEditing",t[t.links=71]="links",t[t.matchBrackets=72]="matchBrackets",t[t.minimap=73]="minimap",t[t.mouseStyle=74]="mouseStyle",t[t.mouseWheelScrollSensitivity=75]="mouseWheelScrollSensitivity",t[t.mouseWheelZoom=76]="mouseWheelZoom",t[t.multiCursorMergeOverlapping=77]="multiCursorMergeOverlapping",t[t.multiCursorModifier=78]="multiCursorModifier",t[t.multiCursorPaste=79]="multiCursorPaste",t[t.multiCursorLimit=80]="multiCursorLimit",t[t.occurrencesHighlight=81]="occurrencesHighlight",t[t.overviewRulerBorder=82]="overviewRulerBorder",t[t.overviewRulerLanes=83]="overviewRulerLanes",t[t.padding=84]="padding",t[t.pasteAs=85]="pasteAs",t[t.parameterHints=86]="parameterHints",t[t.peekWidgetDefaultFocus=87]="peekWidgetDefaultFocus",t[t.placeholder=88]="placeholder",t[t.definitionLinkOpensInPeek=89]="definitionLinkOpensInPeek",t[t.quickSuggestions=90]="quickSuggestions",t[t.quickSuggestionsDelay=91]="quickSuggestionsDelay",t[t.readOnly=92]="readOnly",t[t.readOnlyMessage=93]="readOnlyMessage",t[t.renameOnType=94]="renameOnType",t[t.renderControlCharacters=95]="renderControlCharacters",t[t.renderFinalNewline=96]="renderFinalNewline",t[t.renderLineHighlight=97]="renderLineHighlight",t[t.renderLineHighlightOnlyWhenFocus=98]="renderLineHighlightOnlyWhenFocus",t[t.renderValidationDecorations=99]="renderValidationDecorations",t[t.renderWhitespace=100]="renderWhitespace",t[t.revealHorizontalRightPadding=101]="revealHorizontalRightPadding",t[t.roundedSelection=102]="roundedSelection",t[t.rulers=103]="rulers",t[t.scrollbar=104]="scrollbar",t[t.scrollBeyondLastColumn=105]="scrollBeyondLastColumn",t[t.scrollBeyondLastLine=106]="scrollBeyondLastLine",t[t.scrollPredominantAxis=107]="scrollPredominantAxis",t[t.selectionClipboard=108]="selectionClipboard",t[t.selectionHighlight=109]="selectionHighlight",t[t.selectOnLineNumbers=110]="selectOnLineNumbers",t[t.showFoldingControls=111]="showFoldingControls",t[t.showUnused=112]="showUnused",t[t.snippetSuggestions=113]="snippetSuggestions",t[t.smartSelect=114]="smartSelect",t[t.smoothScrolling=115]="smoothScrolling",t[t.stickyScroll=116]="stickyScroll",t[t.stickyTabStops=117]="stickyTabStops",t[t.stopRenderingLineAfter=118]="stopRenderingLineAfter",t[t.suggest=119]="suggest",t[t.suggestFontSize=120]="suggestFontSize",t[t.suggestLineHeight=121]="suggestLineHeight",t[t.suggestOnTriggerCharacters=122]="suggestOnTriggerCharacters",t[t.suggestSelection=123]="suggestSelection",t[t.tabCompletion=124]="tabCompletion",t[t.tabIndex=125]="tabIndex",t[t.unicodeHighlighting=126]="unicodeHighlighting",t[t.unusualLineTerminators=127]="unusualLineTerminators",t[t.useShadowDOM=128]="useShadowDOM",t[t.useTabStops=129]="useTabStops",t[t.wordBreak=130]="wordBreak",t[t.wordSegmenterLocales=131]="wordSegmenterLocales",t[t.wordSeparators=132]="wordSeparators",t[t.wordWrap=133]="wordWrap",t[t.wordWrapBreakAfterCharacters=134]="wordWrapBreakAfterCharacters",t[t.wordWrapBreakBeforeCharacters=135]="wordWrapBreakBeforeCharacters",t[t.wordWrapColumn=136]="wordWrapColumn",t[t.wordWrapOverride1=137]="wordWrapOverride1",t[t.wordWrapOverride2=138]="wordWrapOverride2",t[t.wrappingIndent=139]="wrappingIndent",t[t.wrappingStrategy=140]="wrappingStrategy",t[t.showDeprecated=141]="showDeprecated",t[t.inlayHints=142]="inlayHints",t[t.editorClassName=143]="editorClassName",t[t.pixelRatio=144]="pixelRatio",t[t.tabFocusMode=145]="tabFocusMode",t[t.layoutInfo=146]="layoutInfo",t[t.wrappingInfo=147]="wrappingInfo",t[t.defaultColorDecorators=148]="defaultColorDecorators",t[t.colorDecoratorsActivatedOn=149]="colorDecoratorsActivatedOn",t[t.inlineCompletionsAccessibilityVerbose=150]="inlineCompletionsAccessibilityVerbose"})(r||(n.EditorOption=r={}));var s;(function(t){t[t.TextDefined=0]="TextDefined",t[t.LF=1]="LF",t[t.CRLF=2]="CRLF"})(s||(n.EndOfLinePreference=s={}));var o;(function(t){t[t.LF=0]="LF",t[t.CRLF=1]="CRLF"})(o||(n.EndOfLineSequence=o={}));var u;(function(t){t[t.Left=1]="Left",t[t.Center=2]="Center",t[t.Right=3]="Right"})(u||(n.GlyphMarginLane=u={}));var S;(function(t){t[t.Increase=0]="Increase",t[t.Decrease=1]="Decrease"})(S||(n.HoverVerbosityAction=S={}));var L;(function(t){t[t.None=0]="None",t[t.Indent=1]="Indent",t[t.IndentOutdent=2]="IndentOutdent",t[t.Outdent=3]="Outdent"})(L||(n.IndentAction=L={}));var N;(function(t){t[t.Both=0]="Both",t[t.Right=1]="Right",t[t.Left=2]="Left",t[t.None=3]="None"})(N||(n.InjectedTextCursorStops=N={}));var P;(function(t){t[t.Type=1]="Type",t[t.Parameter=2]="Parameter"})(P||(n.InlayHintKind=P={}));var E;(function(t){t[t.Automatic=0]="Automatic",t[t.Explicit=1]="Explicit"})(E||(n.InlineCompletionTriggerKind=E={}));var v;(function(t){t[t.Invoke=0]="Invoke",t[t.Automatic=1]="Automatic"})(v||(n.InlineEditTriggerKind=v={}));var l;(function(t){t[t.DependsOnKbLayout=-1]="DependsOnKbLayout",t[t.Unknown=0]="Unknown",t[t.Backspace=1]="Backspace",t[t.Tab=2]="Tab",t[t.Enter=3]="Enter",t[t.Shift=4]="Shift",t[t.Ctrl=5]="Ctrl",t[t.Alt=6]="Alt",t[t.PauseBreak=7]="PauseBreak",t[t.CapsLock=8]="CapsLock",t[t.Escape=9]="Escape",t[t.Space=10]="Space",t[t.PageUp=11]="PageUp",t[t.PageDown=12]="PageDown",t[t.End=13]="End",t[t.Home=14]="Home",t[t.LeftArrow=15]="LeftArrow",t[t.UpArrow=16]="UpArrow",t[t.RightArrow=17]="RightArrow",t[t.DownArrow=18]="DownArrow",t[t.Insert=19]="Insert",t[t.Delete=20]="Delete",t[t.Digit0=21]="Digit0",t[t.Digit1=22]="Digit1",t[t.Digit2=23]="Digit2",t[t.Digit3=24]="Digit3",t[t.Digit4=25]="Digit4",t[t.Digit5=26]="Digit5",t[t.Digit6=27]="Digit6",t[t.Digit7=28]="Digit7",t[t.Digit8=29]="Digit8",t[t.Digit9=30]="Digit9",t[t.KeyA=31]="KeyA",t[t.KeyB=32]="KeyB",t[t.KeyC=33]="KeyC",t[t.KeyD=34]="KeyD",t[t.KeyE=35]="KeyE",t[t.KeyF=36]="KeyF",t[t.KeyG=37]="KeyG",t[t.KeyH=38]="KeyH",t[t.KeyI=39]="KeyI",t[t.KeyJ=40]="KeyJ",t[t.KeyK=41]="KeyK",t[t.KeyL=42]="KeyL",t[t.KeyM=43]="KeyM",t[t.KeyN=44]="KeyN",t[t.KeyO=45]="KeyO",t[t.KeyP=46]="KeyP",t[t.KeyQ=47]="KeyQ",t[t.KeyR=48]="KeyR",t[t.KeyS=49]="KeyS",t[t.KeyT=50]="KeyT",t[t.KeyU=51]="KeyU",t[t.KeyV=52]="KeyV",t[t.KeyW=53]="KeyW",t[t.KeyX=54]="KeyX",t[t.KeyY=55]="KeyY",t[t.KeyZ=56]="KeyZ",t[t.Meta=57]="Meta",t[t.ContextMenu=58]="ContextMenu",t[t.F1=59]="F1",t[t.F2=60]="F2",t[t.F3=61]="F3",t[t.F4=62]="F4",t[t.F5=63]="F5",t[t.F6=64]="F6",t[t.F7=65]="F7",t[t.F8=66]="F8",t[t.F9=67]="F9",t[t.F10=68]="F10",t[t.F11=69]="F11",t[t.F12=70]="F12",t[t.F13=71]="F13",t[t.F14=72]="F14",t[t.F15=73]="F15",t[t.F16=74]="F16",t[t.F17=75]="F17",t[t.F18=76]="F18",t[t.F19=77]="F19",t[t.F20=78]="F20",t[t.F21=79]="F21",t[t.F22=80]="F22",t[t.F23=81]="F23",t[t.F24=82]="F24",t[t.NumLock=83]="NumLock",t[t.ScrollLock=84]="ScrollLock",t[t.Semicolon=85]="Semicolon",t[t.Equal=86]="Equal",t[t.Comma=87]="Comma",t[t.Minus=88]="Minus",t[t.Period=89]="Period",t[t.Slash=90]="Slash",t[t.Backquote=91]="Backquote",t[t.BracketLeft=92]="BracketLeft",t[t.Backslash=93]="Backslash",t[t.BracketRight=94]="BracketRight",t[t.Quote=95]="Quote",t[t.OEM_8=96]="OEM_8",t[t.IntlBackslash=97]="IntlBackslash",t[t.Numpad0=98]="Numpad0",t[t.Numpad1=99]="Numpad1",t[t.Numpad2=100]="Numpad2",t[t.Numpad3=101]="Numpad3",t[t.Numpad4=102]="Numpad4",t[t.Numpad5=103]="Numpad5",t[t.Numpad6=104]="Numpad6",t[t.Numpad7=105]="Numpad7",t[t.Numpad8=106]="Numpad8",t[t.Numpad9=107]="Numpad9",t[t.NumpadMultiply=108]="NumpadMultiply",t[t.NumpadAdd=109]="NumpadAdd",t[t.NUMPAD_SEPARATOR=110]="NUMPAD_SEPARATOR",t[t.NumpadSubtract=111]="NumpadSubtract",t[t.NumpadDecimal=112]="NumpadDecimal",t[t.NumpadDivide=113]="NumpadDivide",t[t.KEY_IN_COMPOSITION=114]="KEY_IN_COMPOSITION",t[t.ABNT_C1=115]="ABNT_C1",t[t.ABNT_C2=116]="ABNT_C2",t[t.AudioVolumeMute=117]="AudioVolumeMute",t[t.AudioVolumeUp=118]="AudioVolumeUp",t[t.AudioVolumeDown=119]="AudioVolumeDown",t[t.BrowserSearch=120]="BrowserSearch",t[t.BrowserHome=121]="BrowserHome",t[t.BrowserBack=122]="BrowserBack",t[t.BrowserForward=123]="BrowserForward",t[t.MediaTrackNext=124]="MediaTrackNext",t[t.MediaTrackPrevious=125]="MediaTrackPrevious",t[t.MediaStop=126]="MediaStop",t[t.MediaPlayPause=127]="MediaPlayPause",t[t.LaunchMediaPlayer=128]="LaunchMediaPlayer",t[t.LaunchMail=129]="LaunchMail",t[t.LaunchApp2=130]="LaunchApp2",t[t.Clear=131]="Clear",t[t.MAX_VALUE=132]="MAX_VALUE"})(l||(n.KeyCode=l={}));var b;(function(t){t[t.Hint=1]="Hint",t[t.Info=2]="Info",t[t.Warning=4]="Warning",t[t.Error=8]="Error"})(b||(n.MarkerSeverity=b={}));var g;(function(t){t[t.Unnecessary=1]="Unnecessary",t[t.Deprecated=2]="Deprecated"})(g||(n.MarkerTag=g={}));var w;(function(t){t[t.Inline=1]="Inline",t[t.Gutter=2]="Gutter"})(w||(n.MinimapPosition=w={}));var M;(function(t){t[t.Normal=1]="Normal",t[t.Underlined=2]="Underlined"})(M||(n.MinimapSectionHeaderStyle=M={}));var y;(function(t){t[t.UNKNOWN=0]="UNKNOWN",t[t.TEXTAREA=1]="TEXTAREA",t[t.GUTTER_GLYPH_MARGIN=2]="GUTTER_GLYPH_MARGIN",t[t.GUTTER_LINE_NUMBERS=3]="GUTTER_LINE_NUMBERS",t[t.GUTTER_LINE_DECORATIONS=4]="GUTTER_LINE_DECORATIONS",t[t.GUTTER_VIEW_ZONE=5]="GUTTER_VIEW_ZONE",t[t.CONTENT_TEXT=6]="CONTENT_TEXT",t[t.CONTENT_EMPTY=7]="CONTENT_EMPTY",t[t.CONTENT_VIEW_ZONE=8]="CONTENT_VIEW_ZONE",t[t.CONTENT_WIDGET=9]="CONTENT_WIDGET",t[t.OVERVIEW_RULER=10]="OVERVIEW_RULER",t[t.SCROLLBAR=11]="SCROLLBAR",t[t.OVERLAY_WIDGET=12]="OVERLAY_WIDGET",t[t.OUTSIDE_EDITOR=13]="OUTSIDE_EDITOR"})(y||(n.MouseTargetType=y={}));var _;(function(t){t[t.AIGenerated=1]="AIGenerated"})(_||(n.NewSymbolNameTag=_={}));var C;(function(t){t[t.Invoke=0]="Invoke",t[t.Automatic=1]="Automatic"})(C||(n.NewSymbolNameTriggerKind=C={}));var R;(function(t){t[t.TOP_RIGHT_CORNER=0]="TOP_RIGHT_CORNER",t[t.BOTTOM_RIGHT_CORNER=1]="BOTTOM_RIGHT_CORNER",t[t.TOP_CENTER=2]="TOP_CENTER"})(R||(n.OverlayWidgetPositionPreference=R={}));var D;(function(t){t[t.Left=1]="Left",t[t.Center=2]="Center",t[t.Right=4]="Right",t[t.Full=7]="Full"})(D||(n.OverviewRulerLane=D={}));var T;(function(t){t[t.Word=0]="Word",t[t.Line=1]="Line",t[t.Suggest=2]="Suggest"})(T||(n.PartialAcceptTriggerKind=T={}));var O;(function(t){t[t.Left=0]="Left",t[t.Right=1]="Right",t[t.None=2]="None",t[t.LeftOfInjectedText=3]="LeftOfInjectedText",t[t.RightOfInjectedText=4]="RightOfInjectedText"})(O||(n.PositionAffinity=O={}));var z;(function(t){t[t.Off=0]="Off",t[t.On=1]="On",t[t.Relative=2]="Relative",t[t.Interval=3]="Interval",t[t.Custom=4]="Custom"})(z||(n.RenderLineNumbersType=z={}));var j;(function(t){t[t.None=0]="None",t[t.Text=1]="Text",t[t.Blocks=2]="Blocks"})(j||(n.RenderMinimap=j={}));var F;(function(t){t[t.Smooth=0]="Smooth",t[t.Immediate=1]="Immediate"})(F||(n.ScrollType=F={}));var q;(function(t){t[t.Auto=1]="Auto",t[t.Hidden=2]="Hidden",t[t.Visible=3]="Visible"})(q||(n.ScrollbarVisibility=q={}));var B;(function(t){t[t.LTR=0]="LTR",t[t.RTL=1]="RTL"})(B||(n.SelectionDirection=B={}));var G;(function(t){t.Off="off",t.OnCode="onCode",t.On="on"})(G||(n.ShowLightbulbIconMode=G={}));var $;(function(t){t[t.Invoke=1]="Invoke",t[t.TriggerCharacter=2]="TriggerCharacter",t[t.ContentChange=3]="ContentChange"})($||(n.SignatureHelpTriggerKind=$={}));var U;(function(t){t[t.File=0]="File",t[t.Module=1]="Module",t[t.Namespace=2]="Namespace",t[t.Package=3]="Package",t[t.Class=4]="Class",t[t.Method=5]="Method",t[t.Property=6]="Property",t[t.Field=7]="Field",t[t.Constructor=8]="Constructor",t[t.Enum=9]="Enum",t[t.Interface=10]="Interface",t[t.Function=11]="Function",t[t.Variable=12]="Variable",t[t.Constant=13]="Constant",t[t.String=14]="String",t[t.Number=15]="Number",t[t.Boolean=16]="Boolean",t[t.Array=17]="Array",t[t.Object=18]="Object",t[t.Key=19]="Key",t[t.Null=20]="Null",t[t.EnumMember=21]="EnumMember",t[t.Struct=22]="Struct",t[t.Event=23]="Event",t[t.Operator=24]="Operator",t[t.TypeParameter=25]="TypeParameter"})(U||(n.SymbolKind=U={}));var ee;(function(t){t[t.Deprecated=1]="Deprecated"})(ee||(n.SymbolTag=ee={}));var re;(function(t){t[t.Hidden=0]="Hidden",t[t.Blink=1]="Blink",t[t.Smooth=2]="Smooth",t[t.Phase=3]="Phase",t[t.Expand=4]="Expand",t[t.Solid=5]="Solid"})(re||(n.TextEditorCursorBlinkingStyle=re={}));var ue;(function(t){t[t.Line=1]="Line",t[t.Block=2]="Block",t[t.Underline=3]="Underline",t[t.LineThin=4]="LineThin",t[t.BlockOutline=5]="BlockOutline",t[t.UnderlineThin=6]="UnderlineThin"})(ue||(n.TextEditorCursorStyle=ue={}));var de;(function(t){t[t.AlwaysGrowsWhenTypingAtEdges=0]="AlwaysGrowsWhenTypingAtEdges",t[t.NeverGrowsWhenTypingAtEdges=1]="NeverGrowsWhenTypingAtEdges",t[t.GrowsOnlyWhenTypingBefore=2]="GrowsOnlyWhenTypingBefore",t[t.GrowsOnlyWhenTypingAfter=3]="GrowsOnlyWhenTypingAfter"})(de||(n.TrackedRangeStickiness=de={}));var ge;(function(t){t[t.None=0]="None",t[t.Same=1]="Same",t[t.Indent=2]="Indent",t[t.DeepIndent=3]="DeepIndent"})(ge||(n.WrappingIndent=ge={}))}),X(J[70],Z([0,1,9,8]),function(W,n,i,x){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.TokenizationRegistry=void 0;class A{constructor(){this._tokenizationSupports=new Map,this._factories=new Map,this._onDidChange=new i.Emitter,this.onDidChange=this._onDidChange.event,this._colorMap=null}handleChange(p){this._onDidChange.fire({changedLanguages:p,changedColorMap:!1})}register(p,c){return this._tokenizationSupports.set(p,c),this.handleChange([p]),(0,x.toDisposable)(()=>{this._tokenizationSupports.get(p)===c&&(this._tokenizationSupports.delete(p),this.handleChange([p]))})}get(p){return this._tokenizationSupports.get(p)||null}registerFactory(p,c){this._factories.get(p)?.dispose();const a=new d(this,p,c);return this._factories.set(p,a),(0,x.toDisposable)(()=>{const m=this._factories.get(p);!m||m!==a||(this._factories.delete(p),m.dispose())})}async getOrCreate(p){const c=this.get(p);if(c)return c;const a=this._factories.get(p);return!a||a.isResolved?null:(await a.resolve(),this.get(p))}isResolved(p){if(this.get(p))return!0;const a=this._factories.get(p);return!!(!a||a.isResolved)}setColorMap(p){this._colorMap=p,this._onDidChange.fire({changedLanguages:Array.from(this._tokenizationSupports.keys()),changedColorMap:!0})}getColorMap(){return this._colorMap}getDefaultBackground(){return this._colorMap&&this._colorMap.length>2?this._colorMap[2]:null}}n.TokenizationRegistry=A;class d extends x.Disposable{get isResolved(){return this._isResolved}constructor(p,c,a){super(),this._registry=p,this._languageId=c,this._factory=a,this._isDisposed=!1,this._resolvePromise=null,this._isResolved=!1}dispose(){this._isDisposed=!0,super.dispose()}async resolve(){return this._resolvePromise||(this._resolvePromise=this._create()),this._resolvePromise}async _create(){const p=await this._factory.tokenizationSupport;this._isResolved=!0,p&&!this._isDisposed&&this._register(this._registry.register(this._languageId,p))}}}),X(J[35],Z([0,1]),function(W,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.getNLSMessages=i,n.getNLSLanguage=x;function i(){return globalThis._VSCODE_NLS_MESSAGES}function x(){return globalThis._VSCODE_NLS_LANGUAGE}}),X(J[36],Z([0,1,35,35]),function(W,n,i,x){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.getNLSMessages=n.getNLSLanguage=void 0,n.localize=f,n.localize2=c,Object.defineProperty(n,"getNLSLanguage",{enumerable:!0,get:function(){return x.getNLSLanguage}}),Object.defineProperty(n,"getNLSMessages",{enumerable:!0,get:function(){return x.getNLSMessages}});const A=(0,i.getNLSLanguage)()==="pseudo"||typeof document<"u"&&document.location&&document.location.hash.indexOf("pseudo=true")>=0;function d(a,m){let e;return m.length===0?e=a:e=a.replace(/\{(\d+)\}/g,(h,r)=>{const s=r[0],o=m[s];let u=h;return typeof o=="string"?u=o:(typeof o=="number"||typeof o=="boolean"||o===void 0||o===null)&&(u=String(o)),u}),A&&(e="\uFF3B"+e.replace(/[aouei]/g,"$&$&")+"\uFF3D"),e}function f(a,m,...e){return d(typeof a=="number"?p(a,m):m,e)}function p(a,m){const e=(0,i.getNLSMessages)()?.[a];if(typeof e!="string"){if(typeof m=="string")return m;throw new Error(`!!! NLS MISSING: ${a} !!!`)}return e}function c(a,m,...e){let h;typeof a=="number"?h=p(a,m):h=m;const r=d(h,e);return{value:r,original:m===h?r:d(m,e)}}}),X(J[11],Z([0,1,36]),function(W,n,i){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.isAndroid=n.isEdge=n.isSafari=n.isFirefox=n.isChrome=n.OS=n.setTimeout0=n.setTimeout0IsFaster=n.language=n.userAgent=n.isMobile=n.isIOS=n.webWorkerOrigin=n.isWebWorker=n.isWeb=n.isNative=n.isLinux=n.isMacintosh=n.isWindows=n.LANGUAGE_DEFAULT=void 0,n.isLittleEndian=g,n.LANGUAGE_DEFAULT="en";let x=!1,A=!1,d=!1,f=!1,p=!1,c=!1,a=!1,m=!1,e=!1,h=!1,r,s=n.LANGUAGE_DEFAULT,o=n.LANGUAGE_DEFAULT,u,S;const L=globalThis;let N;typeof L.vscode<"u"&&typeof L.vscode.process<"u"?N=L.vscode.process:typeof process<"u"&&typeof process?.versions?.node=="string"&&(N=process);const P=typeof N?.versions?.electron=="string",E=P&&N?.type==="renderer";if(typeof N=="object"){x=N.platform==="win32",A=N.platform==="darwin",d=N.platform==="linux",f=d&&!!N.env.SNAP&&!!N.env.SNAP_REVISION,a=P,e=!!N.env.CI||!!N.env.BUILD_ARTIFACTSTAGINGDIRECTORY,r=n.LANGUAGE_DEFAULT,s=n.LANGUAGE_DEFAULT;const w=N.env.VSCODE_NLS_CONFIG;if(w)try{const M=JSON.parse(w);r=M.userLocale,o=M.osLocale,s=M.resolvedLanguage||n.LANGUAGE_DEFAULT,u=M.languagePack?.translationsConfigFile}catch{}p=!0}else typeof navigator=="object"&&!E?(S=navigator.userAgent,x=S.indexOf("Windows")>=0,A=S.indexOf("Macintosh")>=0,m=(S.indexOf("Macintosh")>=0||S.indexOf("iPad")>=0||S.indexOf("iPhone")>=0)&&!!navigator.maxTouchPoints&&navigator.maxTouchPoints>0,d=S.indexOf("Linux")>=0,h=S?.indexOf("Mobi")>=0,c=!0,s=i.getNLSLanguage()||n.LANGUAGE_DEFAULT,r=navigator.language.toLowerCase(),o=r):console.error("Unable to resolve platform.");let v=0;A?v=1:x?v=3:d&&(v=2),n.isWindows=x,n.isMacintosh=A,n.isLinux=d,n.isNative=p,n.isWeb=c,n.isWebWorker=c&&typeof L.importScripts=="function",n.webWorkerOrigin=n.isWebWorker?L.origin:void 0,n.isIOS=m,n.isMobile=h,n.userAgent=S,n.language=s,n.setTimeout0IsFaster=typeof L.postMessage=="function"&&!L.importScripts,n.setTimeout0=(()=>{if(n.setTimeout0IsFaster){const w=[];L.addEventListener("message",y=>{if(y.data&&y.data.vscodeScheduleAsyncWork)for(let _=0,C=w.length;_{const _=++M;w.push({id:_,callback:y}),L.postMessage({vscodeScheduleAsyncWork:_},"*")}}return w=>setTimeout(w)})(),n.OS=A||m?2:x?1:3;let l=!0,b=!1;function g(){if(!b){b=!0;const w=new Uint8Array(2);w[0]=1,w[1]=2,l=new Uint16Array(w.buffer)[0]===513}return l}n.isChrome=!!(n.userAgent&&n.userAgent.indexOf("Chrome")>=0),n.isFirefox=!!(n.userAgent&&n.userAgent.indexOf("Firefox")>=0),n.isSafari=!!(!n.isChrome&&n.userAgent&&n.userAgent.indexOf("Safari")>=0),n.isEdge=!!(n.userAgent&&n.userAgent.indexOf("Edg/")>=0),n.isAndroid=!!(n.userAgent&&n.userAgent.indexOf("Android")>=0)}),X(J[71],Z([0,1,23,3,9,8,11,45]),function(W,n,i,x,A,d,f,p){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.CancelableAsyncIterableObject=n.AsyncIterableObject=n.Promises=n.DeferredPromise=n.GlobalIdleValue=n.AbstractIdleValue=n._runWhenIdle=n.runWhenGlobalIdle=n.RunOnceScheduler=n.IntervalTimer=n.TimeoutTimer=n.ThrottledDelayer=n.Delayer=n.Throttler=void 0,n.isThenable=c,n.createCancelablePromise=a,n.raceCancellation=m,n.timeout=u,n.disposableTimeout=S,n.first=L,n.createCancelableAsyncIterable=y;function c(_){return!!_&&typeof _.then=="function"}function a(_){const C=new i.CancellationTokenSource,R=_(C.token),D=new Promise((T,O)=>{const z=C.token.onCancellationRequested(()=>{z.dispose(),O(new x.CancellationError)});Promise.resolve(R).then(j=>{z.dispose(),C.dispose(),T(j)},j=>{z.dispose(),C.dispose(),O(j)})});return new class{cancel(){C.cancel(),C.dispose()}then(T,O){return D.then(T,O)}catch(T){return this.then(void 0,T)}finally(T){return D.finally(T)}}}function m(_,C,R){return new Promise((D,T)=>{const O=C.onCancellationRequested(()=>{O.dispose(),D(R)});_.then(D,T).finally(()=>O.dispose())})}class e{constructor(){this.isDisposed=!1,this.activePromise=null,this.queuedPromise=null,this.queuedPromiseFactory=null}queue(C){if(this.isDisposed)return Promise.reject(new Error("Throttler is disposed"));if(this.activePromise){if(this.queuedPromiseFactory=C,!this.queuedPromise){const R=()=>{if(this.queuedPromise=null,this.isDisposed)return;const D=this.queue(this.queuedPromiseFactory);return this.queuedPromiseFactory=null,D};this.queuedPromise=new Promise(D=>{this.activePromise.then(R,R).then(D)})}return new Promise((R,D)=>{this.queuedPromise.then(R,D)})}return this.activePromise=C(),new Promise((R,D)=>{this.activePromise.then(T=>{this.activePromise=null,R(T)},T=>{this.activePromise=null,D(T)})})}dispose(){this.isDisposed=!0}}n.Throttler=e;const h=(_,C)=>{let R=!0;const D=setTimeout(()=>{R=!1,C()},_);return{isTriggered:()=>R,dispose:()=>{clearTimeout(D),R=!1}}},r=_=>{let C=!0;return queueMicrotask(()=>{C&&(C=!1,_())}),{isTriggered:()=>C,dispose:()=>{C=!1}}};class s{constructor(C){this.defaultDelay=C,this.deferred=null,this.completionPromise=null,this.doResolve=null,this.doReject=null,this.task=null}trigger(C,R=this.defaultDelay){this.task=C,this.cancelTimeout(),this.completionPromise||(this.completionPromise=new Promise((T,O)=>{this.doResolve=T,this.doReject=O}).then(()=>{if(this.completionPromise=null,this.doResolve=null,this.task){const T=this.task;return this.task=null,T()}}));const D=()=>{this.deferred=null,this.doResolve?.(null)};return this.deferred=R===p.MicrotaskDelay?r(D):h(R,D),this.completionPromise}isTriggered(){return!!this.deferred?.isTriggered()}cancel(){this.cancelTimeout(),this.completionPromise&&(this.doReject?.(new x.CancellationError),this.completionPromise=null)}cancelTimeout(){this.deferred?.dispose(),this.deferred=null}dispose(){this.cancel()}}n.Delayer=s;class o{constructor(C){this.delayer=new s(C),this.throttler=new e}trigger(C,R){return this.delayer.trigger(()=>this.throttler.queue(C),R)}cancel(){this.delayer.cancel()}dispose(){this.delayer.dispose(),this.throttler.dispose()}}n.ThrottledDelayer=o;function u(_,C){return C?new Promise((R,D)=>{const T=setTimeout(()=>{O.dispose(),R()},_),O=C.onCancellationRequested(()=>{clearTimeout(T),O.dispose(),D(new x.CancellationError)})}):a(R=>u(_,R))}function S(_,C=0,R){const D=setTimeout(()=>{_(),R&&T.dispose()},C),T=(0,d.toDisposable)(()=>{clearTimeout(D),R?.deleteAndLeak(T)});return R?.add(T),T}function L(_,C=D=>!!D,R=null){let D=0;const T=_.length,O=()=>{if(D>=T)return Promise.resolve(R);const z=_[D++];return Promise.resolve(z()).then(F=>C(F)?Promise.resolve(F):O())};return O()}class N{constructor(C,R){this._isDisposed=!1,this._token=-1,typeof C=="function"&&typeof R=="number"&&this.setIfNotSet(C,R)}dispose(){this.cancel(),this._isDisposed=!0}cancel(){this._token!==-1&&(clearTimeout(this._token),this._token=-1)}cancelAndSet(C,R){if(this._isDisposed)throw new x.BugIndicatingError("Calling 'cancelAndSet' on a disposed TimeoutTimer");this.cancel(),this._token=setTimeout(()=>{this._token=-1,C()},R)}setIfNotSet(C,R){if(this._isDisposed)throw new x.BugIndicatingError("Calling 'setIfNotSet' on a disposed TimeoutTimer");this._token===-1&&(this._token=setTimeout(()=>{this._token=-1,C()},R))}}n.TimeoutTimer=N;class P{constructor(){this.disposable=void 0,this.isDisposed=!1}cancel(){this.disposable?.dispose(),this.disposable=void 0}cancelAndSet(C,R,D=globalThis){if(this.isDisposed)throw new x.BugIndicatingError("Calling 'cancelAndSet' on a disposed IntervalTimer");this.cancel();const T=D.setInterval(()=>{C()},R);this.disposable=(0,d.toDisposable)(()=>{D.clearInterval(T),this.disposable=void 0})}dispose(){this.cancel(),this.isDisposed=!0}}n.IntervalTimer=P;class E{constructor(C,R){this.timeoutToken=-1,this.runner=C,this.timeout=R,this.timeoutHandler=this.onTimeout.bind(this)}dispose(){this.cancel(),this.runner=null}cancel(){this.isScheduled()&&(clearTimeout(this.timeoutToken),this.timeoutToken=-1)}schedule(C=this.timeout){this.cancel(),this.timeoutToken=setTimeout(this.timeoutHandler,C)}get delay(){return this.timeout}set delay(C){this.timeout=C}isScheduled(){return this.timeoutToken!==-1}onTimeout(){this.timeoutToken=-1,this.runner&&this.doRun()}doRun(){this.runner?.()}}n.RunOnceScheduler=E,function(){typeof globalThis.requestIdleCallback!="function"||typeof globalThis.cancelIdleCallback!="function"?n._runWhenIdle=(_,C)=>{(0,f.setTimeout0)(()=>{if(R)return;const D=Date.now()+15;C(Object.freeze({didTimeout:!0,timeRemaining(){return Math.max(0,D-Date.now())}}))});let R=!1;return{dispose(){R||(R=!0)}}}:n._runWhenIdle=(_,C,R)=>{const D=_.requestIdleCallback(C,typeof R=="number"?{timeout:R}:void 0);let T=!1;return{dispose(){T||(T=!0,_.cancelIdleCallback(D))}}},n.runWhenGlobalIdle=_=>(0,n._runWhenIdle)(globalThis,_)}();class v{constructor(C,R){this._didRun=!1,this._executor=()=>{try{this._value=R()}catch(D){this._error=D}finally{this._didRun=!0}},this._handle=(0,n._runWhenIdle)(C,()=>this._executor())}dispose(){this._handle.dispose()}get value(){if(this._didRun||(this._handle.dispose(),this._executor()),this._error)throw this._error;return this._value}get isInitialized(){return this._didRun}}n.AbstractIdleValue=v;class l extends v{constructor(C){super(globalThis,C)}}n.GlobalIdleValue=l;class b{get isRejected(){return this.outcome?.outcome===1}get isSettled(){return!!this.outcome}constructor(){this.p=new Promise((C,R)=>{this.completeCallback=C,this.errorCallback=R})}complete(C){return new Promise(R=>{this.completeCallback(C),this.outcome={outcome:0,value:C},R()})}error(C){return new Promise(R=>{this.errorCallback(C),this.outcome={outcome:1,value:C},R()})}cancel(){return this.error(new x.CancellationError)}}n.DeferredPromise=b;var g;(function(_){async function C(D){let T;const O=await Promise.all(D.map(z=>z.then(j=>j,j=>{T||(T=j)})));if(typeof T<"u")throw T;return O}_.settled=C;function R(D){return new Promise(async(T,O)=>{try{await D(T,O)}catch(z){O(z)}})}_.withAsyncBody=R})(g||(n.Promises=g={}));class w{static fromArray(C){return new w(R=>{R.emitMany(C)})}static fromPromise(C){return new w(async R=>{R.emitMany(await C)})}static fromPromises(C){return new w(async R=>{await Promise.all(C.map(async D=>R.emitOne(await D)))})}static merge(C){return new w(async R=>{await Promise.all(C.map(async D=>{for await(const T of D)R.emitOne(T)}))})}static{this.EMPTY=w.fromArray([])}constructor(C,R){this._state=0,this._results=[],this._error=null,this._onReturn=R,this._onStateChanged=new A.Emitter,queueMicrotask(async()=>{const D={emitOne:T=>this.emitOne(T),emitMany:T=>this.emitMany(T),reject:T=>this.reject(T)};try{await Promise.resolve(C(D)),this.resolve()}catch(T){this.reject(T)}finally{D.emitOne=void 0,D.emitMany=void 0,D.reject=void 0}})}[Symbol.asyncIterator](){let C=0;return{next:async()=>{do{if(this._state===2)throw this._error;if(C(this._onReturn?.(),{done:!0,value:void 0})}}static map(C,R){return new w(async D=>{for await(const T of C)D.emitOne(R(T))})}map(C){return w.map(this,C)}static filter(C,R){return new w(async D=>{for await(const T of C)R(T)&&D.emitOne(T)})}filter(C){return w.filter(this,C)}static coalesce(C){return w.filter(C,R=>!!R)}coalesce(){return w.coalesce(this)}static async toPromise(C){const R=[];for await(const D of C)R.push(D);return R}toPromise(){return w.toPromise(this)}emitOne(C){this._state===0&&(this._results.push(C),this._onStateChanged.fire())}emitMany(C){this._state===0&&(this._results=this._results.concat(C),this._onStateChanged.fire())}resolve(){this._state===0&&(this._state=1,this._onStateChanged.fire())}reject(C){this._state===0&&(this._state=2,this._error=C,this._onStateChanged.fire())}}n.AsyncIterableObject=w;class M extends w{constructor(C,R){super(R),this._source=C}cancel(){this._source.cancel()}}n.CancelableAsyncIterableObject=M;function y(_){const C=new i.CancellationTokenSource,R=_(C.token);return new M(C,async D=>{const T=C.token.onCancellationRequested(()=>{T.dispose(),C.dispose(),D.reject(new x.CancellationError)});try{for await(const O of R){if(C.token.isCancellationRequested)return;D.emitOne(O)}T.dispose(),C.dispose()}catch(O){T.dispose(),C.dispose(),D.reject(O)}})}}),X(J[72],Z([0,1,11]),function(W,n,i){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.platform=n.env=n.cwd=void 0;let x;const A=globalThis.vscode;if(typeof A<"u"&&typeof A.process<"u"){const d=A.process;x={get platform(){return d.platform},get arch(){return d.arch},get env(){return d.env},cwd(){return d.cwd()}}}else typeof process<"u"&&typeof process?.versions?.node=="string"?x={get platform(){return process.platform},get arch(){return process.arch},get env(){return process.env},cwd(){return process.env.VSCODE_CWD||process.cwd()}}:x={get platform(){return i.isWindows?"win32":i.isMacintosh?"darwin":"linux"},get arch(){},get env(){return{}},cwd(){return"/"}};n.cwd=x.cwd,n.env=x.env,n.platform=x.platform}),X(J[37],Z([0,1,72]),function(W,n,i){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.sep=n.extname=n.basename=n.dirname=n.relative=n.resolve=n.join=n.normalize=n.posix=n.win32=void 0;const x=65,A=97,d=90,f=122,p=46,c=47,a=92,m=58,e=63;class h extends Error{constructor(b,g,w){let M;typeof g=="string"&&g.indexOf("not ")===0?(M="must not be",g=g.replace(/^not /,"")):M="must be";const y=b.indexOf(".")!==-1?"property":"argument";let _=`The "${b}" ${y} ${M} of type ${g}`;_+=`. Received type ${typeof w}`,super(_),this.code="ERR_INVALID_ARG_TYPE"}}function r(l,b){if(l===null||typeof l!="object")throw new h(b,"Object",l)}function s(l,b){if(typeof l!="string")throw new h(b,"string",l)}const o=i.platform==="win32";function u(l){return l===c||l===a}function S(l){return l===c}function L(l){return l>=x&&l<=d||l>=A&&l<=f}function N(l,b,g,w){let M="",y=0,_=-1,C=0,R=0;for(let D=0;D<=l.length;++D){if(D2){const T=M.lastIndexOf(g);T===-1?(M="",y=0):(M=M.slice(0,T),y=M.length-1-M.lastIndexOf(g)),_=D,C=0;continue}else if(M.length!==0){M="",y=0,_=D,C=0;continue}}b&&(M+=M.length>0?`${g}..`:"..",y=2)}else M.length>0?M+=`${g}${l.slice(_+1,D)}`:M=l.slice(_+1,D),y=D-_-1;_=D,C=0}else R===p&&C!==-1?++C:C=-1}return M}function P(l){return l?`${l[0]==="."?"":"."}${l}`:""}function E(l,b){r(b,"pathObject");const g=b.dir||b.root,w=b.base||`${b.name||""}${P(b.ext)}`;return g?g===b.root?`${g}${w}`:`${g}${l}${w}`:w}n.win32={resolve(...l){let b="",g="",w=!1;for(let M=l.length-1;M>=-1;M--){let y;if(M>=0){if(y=l[M],s(y,`paths[${M}]`),y.length===0)continue}else b.length===0?y=i.cwd():(y=i.env[`=${b}`]||i.cwd(),(y===void 0||y.slice(0,2).toLowerCase()!==b.toLowerCase()&&y.charCodeAt(2)===a)&&(y=`${b}\\`));const _=y.length;let C=0,R="",D=!1;const T=y.charCodeAt(0);if(_===1)u(T)&&(C=1,D=!0);else if(u(T))if(D=!0,u(y.charCodeAt(1))){let O=2,z=O;for(;O<_&&!u(y.charCodeAt(O));)O++;if(O<_&&O!==z){const j=y.slice(z,O);for(z=O;O<_&&u(y.charCodeAt(O));)O++;if(O<_&&O!==z){for(z=O;O<_&&!u(y.charCodeAt(O));)O++;(O===_||O!==z)&&(R=`\\\\${j}\\${y.slice(z,O)}`,C=O)}}}else C=1;else L(T)&&y.charCodeAt(1)===m&&(R=y.slice(0,2),C=2,_>2&&u(y.charCodeAt(2))&&(D=!0,C=3));if(R.length>0)if(b.length>0){if(R.toLowerCase()!==b.toLowerCase())continue}else b=R;if(w){if(b.length>0)break}else if(g=`${y.slice(C)}\\${g}`,w=D,D&&b.length>0)break}return g=N(g,!w,"\\",u),w?`${b}\\${g}`:`${b}${g}`||"."},normalize(l){s(l,"path");const b=l.length;if(b===0)return".";let g=0,w,M=!1;const y=l.charCodeAt(0);if(b===1)return S(y)?"\\":l;if(u(y))if(M=!0,u(l.charCodeAt(1))){let C=2,R=C;for(;C2&&u(l.charCodeAt(2))&&(M=!0,g=3));let _=g0&&u(l.charCodeAt(b-1))&&(_+="\\"),w===void 0?M?`\\${_}`:_:M?`${w}\\${_}`:`${w}${_}`},isAbsolute(l){s(l,"path");const b=l.length;if(b===0)return!1;const g=l.charCodeAt(0);return u(g)||b>2&&L(g)&&l.charCodeAt(1)===m&&u(l.charCodeAt(2))},join(...l){if(l.length===0)return".";let b,g;for(let y=0;y0&&(b===void 0?b=g=_:b+=`\\${_}`)}if(b===void 0)return".";let w=!0,M=0;if(typeof g=="string"&&u(g.charCodeAt(0))){++M;const y=g.length;y>1&&u(g.charCodeAt(1))&&(++M,y>2&&(u(g.charCodeAt(2))?++M:w=!1))}if(w){for(;M=2&&(b=`\\${b.slice(M)}`)}return n.win32.normalize(b)},relative(l,b){if(s(l,"from"),s(b,"to"),l===b)return"";const g=n.win32.resolve(l),w=n.win32.resolve(b);if(g===w||(l=g.toLowerCase(),b=w.toLowerCase(),l===b))return"";let M=0;for(;MM&&l.charCodeAt(y-1)===a;)y--;const _=y-M;let C=0;for(;CC&&b.charCodeAt(R-1)===a;)R--;const D=R-C,T=_T){if(b.charCodeAt(C+z)===a)return w.slice(C+z+1);if(z===2)return w.slice(C+z)}_>T&&(l.charCodeAt(M+z)===a?O=z:z===2&&(O=3)),O===-1&&(O=0)}let j="";for(z=M+O+1;z<=y;++z)(z===y||l.charCodeAt(z)===a)&&(j+=j.length===0?"..":"\\..");return C+=O,j.length>0?`${j}${w.slice(C,R)}`:(w.charCodeAt(C)===a&&++C,w.slice(C,R))},toNamespacedPath(l){if(typeof l!="string"||l.length===0)return l;const b=n.win32.resolve(l);if(b.length<=2)return l;if(b.charCodeAt(0)===a){if(b.charCodeAt(1)===a){const g=b.charCodeAt(2);if(g!==e&&g!==p)return`\\\\?\\UNC\\${b.slice(2)}`}}else if(L(b.charCodeAt(0))&&b.charCodeAt(1)===m&&b.charCodeAt(2)===a)return`\\\\?\\${b}`;return l},dirname(l){s(l,"path");const b=l.length;if(b===0)return".";let g=-1,w=0;const M=l.charCodeAt(0);if(b===1)return u(M)?l:".";if(u(M)){if(g=w=1,u(l.charCodeAt(1))){let C=2,R=C;for(;C2&&u(l.charCodeAt(2))?3:2,w=g);let y=-1,_=!0;for(let C=b-1;C>=w;--C)if(u(l.charCodeAt(C))){if(!_){y=C;break}}else _=!1;if(y===-1){if(g===-1)return".";y=g}return l.slice(0,y)},basename(l,b){b!==void 0&&s(b,"suffix"),s(l,"path");let g=0,w=-1,M=!0,y;if(l.length>=2&&L(l.charCodeAt(0))&&l.charCodeAt(1)===m&&(g=2),b!==void 0&&b.length>0&&b.length<=l.length){if(b===l)return"";let _=b.length-1,C=-1;for(y=l.length-1;y>=g;--y){const R=l.charCodeAt(y);if(u(R)){if(!M){g=y+1;break}}else C===-1&&(M=!1,C=y+1),_>=0&&(R===b.charCodeAt(_)?--_===-1&&(w=y):(_=-1,w=C))}return g===w?w=C:w===-1&&(w=l.length),l.slice(g,w)}for(y=l.length-1;y>=g;--y)if(u(l.charCodeAt(y))){if(!M){g=y+1;break}}else w===-1&&(M=!1,w=y+1);return w===-1?"":l.slice(g,w)},extname(l){s(l,"path");let b=0,g=-1,w=0,M=-1,y=!0,_=0;l.length>=2&&l.charCodeAt(1)===m&&L(l.charCodeAt(0))&&(b=w=2);for(let C=l.length-1;C>=b;--C){const R=l.charCodeAt(C);if(u(R)){if(!y){w=C+1;break}continue}M===-1&&(y=!1,M=C+1),R===p?g===-1?g=C:_!==1&&(_=1):g!==-1&&(_=-1)}return g===-1||M===-1||_===0||_===1&&g===M-1&&g===w+1?"":l.slice(g,M)},format:E.bind(null,"\\"),parse(l){s(l,"path");const b={root:"",dir:"",base:"",ext:"",name:""};if(l.length===0)return b;const g=l.length;let w=0,M=l.charCodeAt(0);if(g===1)return u(M)?(b.root=b.dir=l,b):(b.base=b.name=l,b);if(u(M)){if(w=1,u(l.charCodeAt(1))){let O=2,z=O;for(;O0&&(b.root=l.slice(0,w));let y=-1,_=w,C=-1,R=!0,D=l.length-1,T=0;for(;D>=w;--D){if(M=l.charCodeAt(D),u(M)){if(!R){_=D+1;break}continue}C===-1&&(R=!1,C=D+1),M===p?y===-1?y=D:T!==1&&(T=1):y!==-1&&(T=-1)}return C!==-1&&(y===-1||T===0||T===1&&y===C-1&&y===_+1?b.base=b.name=l.slice(_,C):(b.name=l.slice(_,y),b.base=l.slice(_,C),b.ext=l.slice(y,C))),_>0&&_!==w?b.dir=l.slice(0,_-1):b.dir=b.root,b},sep:"\\",delimiter:";",win32:null,posix:null};const v=(()=>{if(o){const l=/\\/g;return()=>{const b=i.cwd().replace(l,"/");return b.slice(b.indexOf("/"))}}return()=>i.cwd()})();n.posix={resolve(...l){let b="",g=!1;for(let w=l.length-1;w>=-1&&!g;w--){const M=w>=0?l[w]:v();s(M,`paths[${w}]`),M.length!==0&&(b=`${M}/${b}`,g=M.charCodeAt(0)===c)}return b=N(b,!g,"/",S),g?`/${b}`:b.length>0?b:"."},normalize(l){if(s(l,"path"),l.length===0)return".";const b=l.charCodeAt(0)===c,g=l.charCodeAt(l.length-1)===c;return l=N(l,!b,"/",S),l.length===0?b?"/":g?"./":".":(g&&(l+="/"),b?`/${l}`:l)},isAbsolute(l){return s(l,"path"),l.length>0&&l.charCodeAt(0)===c},join(...l){if(l.length===0)return".";let b;for(let g=0;g0&&(b===void 0?b=w:b+=`/${w}`)}return b===void 0?".":n.posix.normalize(b)},relative(l,b){if(s(l,"from"),s(b,"to"),l===b||(l=n.posix.resolve(l),b=n.posix.resolve(b),l===b))return"";const g=1,w=l.length,M=w-g,y=1,_=b.length-y,C=M<_?M:_;let R=-1,D=0;for(;DC){if(b.charCodeAt(y+D)===c)return b.slice(y+D+1);if(D===0)return b.slice(y+D)}else M>C&&(l.charCodeAt(g+D)===c?R=D:D===0&&(R=0));let T="";for(D=g+R+1;D<=w;++D)(D===w||l.charCodeAt(D)===c)&&(T+=T.length===0?"..":"/..");return`${T}${b.slice(y+R)}`},toNamespacedPath(l){return l},dirname(l){if(s(l,"path"),l.length===0)return".";const b=l.charCodeAt(0)===c;let g=-1,w=!0;for(let M=l.length-1;M>=1;--M)if(l.charCodeAt(M)===c){if(!w){g=M;break}}else w=!1;return g===-1?b?"/":".":b&&g===1?"//":l.slice(0,g)},basename(l,b){b!==void 0&&s(b,"ext"),s(l,"path");let g=0,w=-1,M=!0,y;if(b!==void 0&&b.length>0&&b.length<=l.length){if(b===l)return"";let _=b.length-1,C=-1;for(y=l.length-1;y>=0;--y){const R=l.charCodeAt(y);if(R===c){if(!M){g=y+1;break}}else C===-1&&(M=!1,C=y+1),_>=0&&(R===b.charCodeAt(_)?--_===-1&&(w=y):(_=-1,w=C))}return g===w?w=C:w===-1&&(w=l.length),l.slice(g,w)}for(y=l.length-1;y>=0;--y)if(l.charCodeAt(y)===c){if(!M){g=y+1;break}}else w===-1&&(M=!1,w=y+1);return w===-1?"":l.slice(g,w)},extname(l){s(l,"path");let b=-1,g=0,w=-1,M=!0,y=0;for(let _=l.length-1;_>=0;--_){const C=l.charCodeAt(_);if(C===c){if(!M){g=_+1;break}continue}w===-1&&(M=!1,w=_+1),C===p?b===-1?b=_:y!==1&&(y=1):b!==-1&&(y=-1)}return b===-1||w===-1||y===0||y===1&&b===w-1&&b===g+1?"":l.slice(b,w)},format:E.bind(null,"/"),parse(l){s(l,"path");const b={root:"",dir:"",base:"",ext:"",name:""};if(l.length===0)return b;const g=l.charCodeAt(0)===c;let w;g?(b.root="/",w=1):w=0;let M=-1,y=0,_=-1,C=!0,R=l.length-1,D=0;for(;R>=w;--R){const T=l.charCodeAt(R);if(T===c){if(!C){y=R+1;break}continue}_===-1&&(C=!1,_=R+1),T===p?M===-1?M=R:D!==1&&(D=1):M!==-1&&(D=-1)}if(_!==-1){const T=y===0&&g?1:y;M===-1||D===0||D===1&&M===_-1&&M===y+1?b.base=b.name=l.slice(T,_):(b.name=l.slice(T,M),b.base=l.slice(T,_),b.ext=l.slice(M,_))}return y>0?b.dir=l.slice(0,y-1):g&&(b.dir="/"),b},sep:"/",delimiter:":",win32:null,posix:null},n.posix.win32=n.win32.win32=n.win32,n.posix.posix=n.win32.posix=n.posix,n.normalize=o?n.win32.normalize:n.posix.normalize,n.join=o?n.win32.join:n.posix.join,n.resolve=o?n.win32.resolve:n.posix.resolve,n.relative=o?n.win32.relative:n.posix.relative,n.dirname=o?n.win32.dirname:n.posix.dirname,n.basename=o?n.win32.basename:n.posix.basename,n.extname=o?n.win32.extname:n.posix.extname,n.sep=o?n.win32.sep:n.posix.sep}),X(J[14],Z([0,1,37,11]),function(W,n,i,x){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.URI=void 0,n.uriToFsPath=N;const A=/^\w[\w\d+.-]*$/,d=/^\//,f=/^\/\//;function p(b,g){if(!b.scheme&&g)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${b.authority}", path: "${b.path}", query: "${b.query}", fragment: "${b.fragment}"}`);if(b.scheme&&!A.test(b.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(b.path){if(b.authority){if(!d.test(b.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(f.test(b.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}function c(b,g){return!b&&!g?"file":b}function a(b,g){switch(b){case"https":case"http":case"file":g?g[0]!==e&&(g=e+g):g=e;break}return g}const m="",e="/",h=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class r{static isUri(g){return g instanceof r?!0:g?typeof g.authority=="string"&&typeof g.fragment=="string"&&typeof g.path=="string"&&typeof g.query=="string"&&typeof g.scheme=="string"&&typeof g.fsPath=="string"&&typeof g.with=="function"&&typeof g.toString=="function":!1}constructor(g,w,M,y,_,C=!1){typeof g=="object"?(this.scheme=g.scheme||m,this.authority=g.authority||m,this.path=g.path||m,this.query=g.query||m,this.fragment=g.fragment||m):(this.scheme=c(g,C),this.authority=w||m,this.path=a(this.scheme,M||m),this.query=y||m,this.fragment=_||m,p(this,C))}get fsPath(){return N(this,!1)}with(g){if(!g)return this;let{scheme:w,authority:M,path:y,query:_,fragment:C}=g;return w===void 0?w=this.scheme:w===null&&(w=m),M===void 0?M=this.authority:M===null&&(M=m),y===void 0?y=this.path:y===null&&(y=m),_===void 0?_=this.query:_===null&&(_=m),C===void 0?C=this.fragment:C===null&&(C=m),w===this.scheme&&M===this.authority&&y===this.path&&_===this.query&&C===this.fragment?this:new o(w,M,y,_,C)}static parse(g,w=!1){const M=h.exec(g);return M?new o(M[2]||m,l(M[4]||m),l(M[5]||m),l(M[7]||m),l(M[9]||m),w):new o(m,m,m,m,m)}static file(g){let w=m;if(x.isWindows&&(g=g.replace(/\\/g,e)),g[0]===e&&g[1]===e){const M=g.indexOf(e,2);M===-1?(w=g.substring(2),g=e):(w=g.substring(2,M),g=g.substring(M)||e)}return new o("file",w,g,m,m)}static from(g,w){return new o(g.scheme,g.authority,g.path,g.query,g.fragment,w)}static joinPath(g,...w){if(!g.path)throw new Error("[UriError]: cannot call joinPath on URI without path");let M;return x.isWindows&&g.scheme==="file"?M=r.file(i.win32.join(N(g,!0),...w)).path:M=i.posix.join(g.path,...w),g.with({path:M})}toString(g=!1){return P(this,g)}toJSON(){return this}static revive(g){if(g){if(g instanceof r)return g;{const w=new o(g);return w._formatted=g.external??null,w._fsPath=g._sep===s?g.fsPath??null:null,w}}else return g}}n.URI=r;const s=x.isWindows?1:void 0;class o extends r{constructor(){super(...arguments),this._formatted=null,this._fsPath=null}get fsPath(){return this._fsPath||(this._fsPath=N(this,!1)),this._fsPath}toString(g=!1){return g?P(this,!0):(this._formatted||(this._formatted=P(this,!1)),this._formatted)}toJSON(){const g={$mid:1};return this._fsPath&&(g.fsPath=this._fsPath,g._sep=s),this._formatted&&(g.external=this._formatted),this.path&&(g.path=this.path),this.scheme&&(g.scheme=this.scheme),this.authority&&(g.authority=this.authority),this.query&&(g.query=this.query),this.fragment&&(g.fragment=this.fragment),g}}const u={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function S(b,g,w){let M,y=-1;for(let _=0;_=97&&C<=122||C>=65&&C<=90||C>=48&&C<=57||C===45||C===46||C===95||C===126||g&&C===47||w&&C===91||w&&C===93||w&&C===58)y!==-1&&(M+=encodeURIComponent(b.substring(y,_)),y=-1),M!==void 0&&(M+=b.charAt(_));else{M===void 0&&(M=b.substr(0,_));const R=u[C];R!==void 0?(y!==-1&&(M+=encodeURIComponent(b.substring(y,_)),y=-1),M+=R):y===-1&&(y=_)}}return y!==-1&&(M+=encodeURIComponent(b.substring(y))),M!==void 0?M:b}function L(b){let g;for(let w=0;w1&&b.scheme==="file"?w=`//${b.authority}${b.path}`:b.path.charCodeAt(0)===47&&(b.path.charCodeAt(1)>=65&&b.path.charCodeAt(1)<=90||b.path.charCodeAt(1)>=97&&b.path.charCodeAt(1)<=122)&&b.path.charCodeAt(2)===58?g?w=b.path.substr(1):w=b.path[1].toLowerCase()+b.path.substr(2):w=b.path,x.isWindows&&(w=w.replace(/\//g,"\\")),w}function P(b,g){const w=g?L:S;let M="",{scheme:y,authority:_,path:C,query:R,fragment:D}=b;if(y&&(M+=y,M+=":"),(_||y==="file")&&(M+=e,M+=e),_){let T=_.indexOf("@");if(T!==-1){const O=_.substr(0,T);_=_.substr(T+1),T=O.lastIndexOf(":"),T===-1?M+=w(O,!1,!1):(M+=w(O.substr(0,T),!1,!1),M+=":",M+=w(O.substr(T+1),!1,!0)),M+="@"}_=_.toLowerCase(),T=_.lastIndexOf(":"),T===-1?M+=w(_,!1,!0):(M+=w(_.substr(0,T),!1,!0),M+=_.substr(T))}if(C){if(C.length>=3&&C.charCodeAt(0)===47&&C.charCodeAt(2)===58){const T=C.charCodeAt(1);T>=65&&T<=90&&(C=`/${String.fromCharCode(T+32)}:${C.substr(3)}`)}else if(C.length>=2&&C.charCodeAt(1)===58){const T=C.charCodeAt(0);T>=65&&T<=90&&(C=`${String.fromCharCode(T+32)}:${C.substr(2)}`)}M+=w(C,!0,!1)}return R&&(M+="?",M+=w(R,!1,!1)),D&&(M+="#",M+=g?D:S(D,!1,!1)),M}function E(b){try{return decodeURIComponent(b)}catch{return b.length>3?b.substr(0,3)+E(b.substr(3)):b}}const v=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function l(b){return b.match(v)?b.replace(v,g=>E(g)):b}}),X(J[38],Z([0,1,3,11,6,14,37]),function(W,n,i,x,A,d,f){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.COI=n.FileAccess=n.VSCODE_AUTHORITY=n.RemoteAuthorities=n.connectionTokenQueryName=n.Schemas=void 0,n.matchesScheme=c,n.matchesSomeScheme=a;var p;(function(r){r.inMemory="inmemory",r.vscode="vscode",r.internal="private",r.walkThrough="walkThrough",r.walkThroughSnippet="walkThroughSnippet",r.http="http",r.https="https",r.file="file",r.mailto="mailto",r.untitled="untitled",r.data="data",r.command="command",r.vscodeRemote="vscode-remote",r.vscodeRemoteResource="vscode-remote-resource",r.vscodeManagedRemoteResource="vscode-managed-remote-resource",r.vscodeUserData="vscode-userdata",r.vscodeCustomEditor="vscode-custom-editor",r.vscodeNotebookCell="vscode-notebook-cell",r.vscodeNotebookCellMetadata="vscode-notebook-cell-metadata",r.vscodeNotebookCellMetadataDiff="vscode-notebook-cell-metadata-diff",r.vscodeNotebookCellOutput="vscode-notebook-cell-output",r.vscodeNotebookCellOutputDiff="vscode-notebook-cell-output-diff",r.vscodeNotebookMetadata="vscode-notebook-metadata",r.vscodeInteractiveInput="vscode-interactive-input",r.vscodeSettings="vscode-settings",r.vscodeWorkspaceTrust="vscode-workspace-trust",r.vscodeTerminal="vscode-terminal",r.vscodeChatCodeBlock="vscode-chat-code-block",r.vscodeChatCodeCompareBlock="vscode-chat-code-compare-block",r.vscodeChatSesssion="vscode-chat-editor",r.webviewPanel="webview-panel",r.vscodeWebview="vscode-webview",r.extension="extension",r.vscodeFileResource="vscode-file",r.tmp="tmp",r.vsls="vsls",r.vscodeSourceControl="vscode-scm",r.commentsInput="comment",r.codeSetting="code-setting",r.outputChannel="output"})(p||(n.Schemas=p={}));function c(r,s){return d.URI.isUri(r)?(0,A.equalsIgnoreCase)(r.scheme,s):(0,A.startsWithIgnoreCase)(r,s+":")}function a(r,...s){return s.some(o=>c(r,o))}n.connectionTokenQueryName="tkn";class m{constructor(){this._hosts=Object.create(null),this._ports=Object.create(null),this._connectionTokens=Object.create(null),this._preferredWebSchema="http",this._delegate=null,this._serverRootPath="/"}setPreferredWebSchema(s){this._preferredWebSchema=s}get _remoteResourcesPath(){return f.posix.join(this._serverRootPath,p.vscodeRemoteResource)}rewrite(s){if(this._delegate)try{return this._delegate(s)}catch(P){return i.onUnexpectedError(P),s}const o=s.authority;let u=this._hosts[o];u&&u.indexOf(":")!==-1&&u.indexOf("[")===-1&&(u=`[${u}]`);const S=this._ports[o],L=this._connectionTokens[o];let N=`path=${encodeURIComponent(s.path)}`;return typeof L=="string"&&(N+=`&${n.connectionTokenQueryName}=${encodeURIComponent(L)}`),d.URI.from({scheme:x.isWeb?this._preferredWebSchema:p.vscodeRemoteResource,authority:`${u}:${S}`,path:this._remoteResourcesPath,query:N})}}n.RemoteAuthorities=new m,n.VSCODE_AUTHORITY="vscode-app";class e{static{this.FALLBACK_AUTHORITY=n.VSCODE_AUTHORITY}asBrowserUri(s){const o=this.toUri(s,W);return this.uriToBrowserUri(o)}uriToBrowserUri(s){return s.scheme===p.vscodeRemote?n.RemoteAuthorities.rewrite(s):s.scheme===p.file&&(x.isNative||x.webWorkerOrigin===`${p.vscodeFileResource}://${e.FALLBACK_AUTHORITY}`)?s.with({scheme:p.vscodeFileResource,authority:s.authority||e.FALLBACK_AUTHORITY,query:null,fragment:null}):s}toUri(s,o){if(d.URI.isUri(s))return s;if(globalThis._VSCODE_FILE_ROOT){const u=globalThis._VSCODE_FILE_ROOT;if(/^\w[\w\d+.-]*:\/\//.test(u))return d.URI.joinPath(d.URI.parse(u,!0),s);const S=f.join(u,s);return d.URI.file(S)}return d.URI.parse(o.toUrl(s))}}n.FileAccess=new e;var h;(function(r){const s=new Map([["1",{"Cross-Origin-Opener-Policy":"same-origin"}],["2",{"Cross-Origin-Embedder-Policy":"require-corp"}],["3",{"Cross-Origin-Opener-Policy":"same-origin","Cross-Origin-Embedder-Policy":"require-corp"}]]);r.CoopAndCoep=Object.freeze(s.get("3"));const o="vscode-coi";function u(L){let N;typeof L=="string"?N=new URL(L).searchParams:L instanceof URL?N=L.searchParams:d.URI.isUri(L)&&(N=new URL(L.toString(!0)).searchParams);const P=N?.get(o);if(P)return s.get(P)}r.getHeadersFromQuery=u;function S(L,N,P){if(!globalThis.crossOriginIsolated)return;const E=N&&P?"3":P?"2":"1";L instanceof URLSearchParams?L.set(o,E):L[o]=E}r.addSearchParam=S})(h||(n.COI=h={}))}),X(J[76],Z([0,1,3,9,8,38,11,6]),function(W,n,i,x,A,d,f,p){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.SimpleWorkerServer=n.SimpleWorkerClient=void 0,n.logOnceWebWorkerWarning=h,n.create=l;const c=!1,a="default",m="$initialize";let e=!1;function h(b){f.isWeb&&(e||(e=!0,console.warn("Could not create web worker(s). Falling back to loading web worker code in main thread, which might cause UI freezes. Please see https://github.com/microsoft/monaco-editor#faq")),console.warn(b.message))}class r{constructor(g,w,M,y,_){this.vsWorker=g,this.req=w,this.channel=M,this.method=y,this.args=_,this.type=0}}class s{constructor(g,w,M,y){this.vsWorker=g,this.seq=w,this.res=M,this.err=y,this.type=1}}class o{constructor(g,w,M,y,_){this.vsWorker=g,this.req=w,this.channel=M,this.eventName=y,this.arg=_,this.type=2}}class u{constructor(g,w,M){this.vsWorker=g,this.req=w,this.event=M,this.type=3}}class S{constructor(g,w){this.vsWorker=g,this.req=w,this.type=4}}class L{constructor(g){this._workerId=-1,this._handler=g,this._lastSentReq=0,this._pendingReplies=Object.create(null),this._pendingEmitters=new Map,this._pendingEvents=new Map}setWorkerId(g){this._workerId=g}sendMessage(g,w,M){const y=String(++this._lastSentReq);return new Promise((_,C)=>{this._pendingReplies[y]={resolve:_,reject:C},this._send(new r(this._workerId,y,g,w,M))})}listen(g,w,M){let y=null;const _=new x.Emitter({onWillAddFirstListener:()=>{y=String(++this._lastSentReq),this._pendingEmitters.set(y,_),this._send(new o(this._workerId,y,g,w,M))},onDidRemoveLastListener:()=>{this._pendingEmitters.delete(y),this._send(new S(this._workerId,y)),y=null}});return _.event}handleMessage(g){!g||!g.vsWorker||this._workerId!==-1&&g.vsWorker!==this._workerId||this._handleMessage(g)}createProxyToRemoteChannel(g,w){const M={get:(y,_)=>(typeof _=="string"&&!y[_]&&(E(_)?y[_]=C=>this.listen(g,_,C):P(_)?y[_]=this.listen(g,_,void 0):_.charCodeAt(0)===36&&(y[_]=async(...C)=>(await w?.(),this.sendMessage(g,_,C)))),y[_])};return new Proxy(Object.create(null),M)}_handleMessage(g){switch(g.type){case 1:return this._handleReplyMessage(g);case 0:return this._handleRequestMessage(g);case 2:return this._handleSubscribeEventMessage(g);case 3:return this._handleEventMessage(g);case 4:return this._handleUnsubscribeEventMessage(g)}}_handleReplyMessage(g){if(!this._pendingReplies[g.seq]){console.warn("Got reply to unknown seq");return}const w=this._pendingReplies[g.seq];if(delete this._pendingReplies[g.seq],g.err){let M=g.err;g.err.$isError&&(M=new Error,M.name=g.err.name,M.message=g.err.message,M.stack=g.err.stack),w.reject(M);return}w.resolve(g.res)}_handleRequestMessage(g){const w=g.req;this._handler.handleMessage(g.channel,g.method,g.args).then(y=>{this._send(new s(this._workerId,w,y,void 0))},y=>{y.detail instanceof Error&&(y.detail=(0,i.transformErrorForSerialization)(y.detail)),this._send(new s(this._workerId,w,void 0,(0,i.transformErrorForSerialization)(y)))})}_handleSubscribeEventMessage(g){const w=g.req,M=this._handler.handleEvent(g.channel,g.eventName,g.arg)(y=>{this._send(new u(this._workerId,w,y))});this._pendingEvents.set(w,M)}_handleEventMessage(g){if(!this._pendingEmitters.has(g.req)){console.warn("Got event for unknown req");return}this._pendingEmitters.get(g.req).fire(g.event)}_handleUnsubscribeEventMessage(g){if(!this._pendingEvents.has(g.req)){console.warn("Got unsubscribe for unknown req");return}this._pendingEvents.get(g.req).dispose(),this._pendingEvents.delete(g.req)}_send(g){const w=[];if(g.type===0)for(let M=0;M{this._protocol.handleMessage(_)},_=>{(0,i.onUnexpectedError)(_)})),this._protocol=new L({sendMessage:(_,C)=>{this._worker.postMessage(_,C)},handleMessage:(_,C,R)=>this._handleMessage(_,C,R),handleEvent:(_,C,R)=>this._handleEvent(_,C,R)}),this._protocol.setWorkerId(this._worker.getId());let M=null;const y=globalThis.require;typeof y<"u"&&typeof y.getConfig=="function"?M=y.getConfig():typeof globalThis.requirejs<"u"&&(M=globalThis.requirejs.s.contexts._.config),this._onModuleLoaded=this._protocol.sendMessage(a,m,[this._worker.getId(),JSON.parse(JSON.stringify(M)),w.amdModuleId]),this.proxy=this._protocol.createProxyToRemoteChannel(a,async()=>{await this._onModuleLoaded}),this._onModuleLoaded.catch(_=>{this._onError("Worker failed to load "+w.amdModuleId,_)})}_handleMessage(g,w,M){const y=this._localChannels.get(g);if(!y)return Promise.reject(new Error(`Missing channel ${g} on main thread`));if(typeof y[w]!="function")return Promise.reject(new Error(`Missing method ${w} on main thread channel ${g}`));try{return Promise.resolve(y[w].apply(y,M))}catch(_){return Promise.reject(_)}}_handleEvent(g,w,M){const y=this._localChannels.get(g);if(!y)throw new Error(`Missing channel ${g} on main thread`);if(E(w)){const _=y[w].call(y,M);if(typeof _!="function")throw new Error(`Missing dynamic event ${w} on main thread channel ${g}.`);return _}if(P(w)){const _=y[w];if(typeof _!="function")throw new Error(`Missing event ${w} on main thread channel ${g}.`);return _}throw new Error(`Malformed event name ${w}`)}setChannel(g,w){this._localChannels.set(g,w)}_onError(g,w){console.error(g),console.info(w)}}n.SimpleWorkerClient=N;function P(b){return b[0]==="o"&&b[1]==="n"&&p.isUpperAsciiLetter(b.charCodeAt(2))}function E(b){return/^onDynamic/.test(b)&&p.isUpperAsciiLetter(b.charCodeAt(9))}class v{constructor(g,w){this._localChannels=new Map,this._remoteChannels=new Map,this._requestHandlerFactory=w,this._requestHandler=null,this._protocol=new L({sendMessage:(M,y)=>{g(M,y)},handleMessage:(M,y,_)=>this._handleMessage(M,y,_),handleEvent:(M,y,_)=>this._handleEvent(M,y,_)})}onmessage(g){this._protocol.handleMessage(g)}_handleMessage(g,w,M){if(g===a&&w===m)return this.initialize(M[0],M[1],M[2]);const y=g===a?this._requestHandler:this._localChannels.get(g);if(!y)return Promise.reject(new Error(`Missing channel ${g} on worker thread`));if(typeof y[w]!="function")return Promise.reject(new Error(`Missing method ${w} on worker thread channel ${g}`));try{return Promise.resolve(y[w].apply(y,M))}catch(_){return Promise.reject(_)}}_handleEvent(g,w,M){const y=g===a?this._requestHandler:this._localChannels.get(g);if(!y)throw new Error(`Missing channel ${g} on worker thread`);if(E(w)){const _=y[w].call(y,M);if(typeof _!="function")throw new Error(`Missing dynamic event ${w} on request handler.`);return _}if(P(w)){const _=y[w];if(typeof _!="function")throw new Error(`Missing event ${w} on request handler.`);return _}throw new Error(`Malformed event name ${w}`)}getChannel(g){if(!this._remoteChannels.has(g)){const w=this._protocol.createProxyToRemoteChannel(g);this._remoteChannels.set(g,w)}return this._remoteChannels.get(g)}async initialize(g,w,M){if(this._protocol.setWorkerId(g),this._requestHandlerFactory){this._requestHandler=this._requestHandlerFactory(this);return}if(w&&(typeof w.baseUrl<"u"&&delete w.baseUrl,typeof w.paths<"u"&&typeof w.paths.vs<"u"&&delete w.paths.vs,typeof w.trustedTypesPolicy<"u"&&delete w.trustedTypesPolicy,w.catchError=!0,globalThis.require.config(w)),c){const y=d.FileAccess.asBrowserUri(`${M}.js`).toString(!0);return new Promise((_,C)=>{W([`${y}`],_,C)}).then(_=>{if(this._requestHandler=_.create(this),!this._requestHandler)throw new Error("No RequestHandler!")})}return new Promise((y,_)=>{(globalThis.require||W)([M],R=>{if(this._requestHandler=R.create(this),!this._requestHandler){_(new Error("No RequestHandler!"));return}y()},_)})}}n.SimpleWorkerServer=v;function l(b){return new v(b,null)}}),X(J[73],Z([0,1,47,14,2,70,36]),function(W,n,i,x,A,d,f){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.InlineEditTriggerKind=n.TreeSitterTokenizationRegistry=n.TokenizationRegistry=n.LazyTokenizationSupport=n.InlayHintKind=n.Command=n.NewSymbolNameTriggerKind=n.NewSymbolNameTag=n.FoldingRangeKind=n.TextEdit=n.SymbolKinds=n.symbolKindNames=n.DocumentHighlightKind=n.SignatureHelpTriggerKind=n.DocumentPasteTriggerKind=n.SelectedSuggestionInfo=n.InlineCompletionTriggerKind=n.CompletionItemKinds=n.HoverVerbosityAction=n.EncodedTokenizationResult=n.TokenizationResult=n.Token=void 0,n.isLocationLink=S,n.getAriaLabelForSymbol=L;class p{constructor(_,C,R){this.offset=_,this.type=C,this.language=R,this._tokenBrand=void 0}toString(){return"("+this.offset+", "+this.type+")"}}n.Token=p;class c{constructor(_,C){this.tokens=_,this.endState=C,this._tokenizationResultBrand=void 0}}n.TokenizationResult=c;class a{constructor(_,C){this.tokens=_,this.endState=C,this._encodedTokenizationResultBrand=void 0}}n.EncodedTokenizationResult=a;var m;(function(y){y[y.Increase=0]="Increase",y[y.Decrease=1]="Decrease"})(m||(n.HoverVerbosityAction=m={}));var e;(function(y){const _=new Map;_.set(0,i.Codicon.symbolMethod),_.set(1,i.Codicon.symbolFunction),_.set(2,i.Codicon.symbolConstructor),_.set(3,i.Codicon.symbolField),_.set(4,i.Codicon.symbolVariable),_.set(5,i.Codicon.symbolClass),_.set(6,i.Codicon.symbolStruct),_.set(7,i.Codicon.symbolInterface),_.set(8,i.Codicon.symbolModule),_.set(9,i.Codicon.symbolProperty),_.set(10,i.Codicon.symbolEvent),_.set(11,i.Codicon.symbolOperator),_.set(12,i.Codicon.symbolUnit),_.set(13,i.Codicon.symbolValue),_.set(15,i.Codicon.symbolEnum),_.set(14,i.Codicon.symbolConstant),_.set(15,i.Codicon.symbolEnum),_.set(16,i.Codicon.symbolEnumMember),_.set(17,i.Codicon.symbolKeyword),_.set(27,i.Codicon.symbolSnippet),_.set(18,i.Codicon.symbolText),_.set(19,i.Codicon.symbolColor),_.set(20,i.Codicon.symbolFile),_.set(21,i.Codicon.symbolReference),_.set(22,i.Codicon.symbolCustomColor),_.set(23,i.Codicon.symbolFolder),_.set(24,i.Codicon.symbolTypeParameter),_.set(25,i.Codicon.account),_.set(26,i.Codicon.issues);function C(T){let O=_.get(T);return O||(console.info("No codicon found for CompletionItemKind "+T),O=i.Codicon.symbolProperty),O}y.toIcon=C;const R=new Map;R.set("method",0),R.set("function",1),R.set("constructor",2),R.set("field",3),R.set("variable",4),R.set("class",5),R.set("struct",6),R.set("interface",7),R.set("module",8),R.set("property",9),R.set("event",10),R.set("operator",11),R.set("unit",12),R.set("value",13),R.set("constant",14),R.set("enum",15),R.set("enum-member",16),R.set("enumMember",16),R.set("keyword",17),R.set("snippet",27),R.set("text",18),R.set("color",19),R.set("file",20),R.set("reference",21),R.set("customcolor",22),R.set("folder",23),R.set("type-parameter",24),R.set("typeParameter",24),R.set("account",25),R.set("issue",26);function D(T,O){let z=R.get(T);return typeof z>"u"&&!O&&(z=9),z}y.fromString=D})(e||(n.CompletionItemKinds=e={}));var h;(function(y){y[y.Automatic=0]="Automatic",y[y.Explicit=1]="Explicit"})(h||(n.InlineCompletionTriggerKind=h={}));class r{constructor(_,C,R,D){this.range=_,this.text=C,this.completionKind=R,this.isSnippetText=D}equals(_){return A.Range.lift(this.range).equalsRange(_.range)&&this.text===_.text&&this.completionKind===_.completionKind&&this.isSnippetText===_.isSnippetText}}n.SelectedSuggestionInfo=r;var s;(function(y){y[y.Automatic=0]="Automatic",y[y.PasteAs=1]="PasteAs"})(s||(n.DocumentPasteTriggerKind=s={}));var o;(function(y){y[y.Invoke=1]="Invoke",y[y.TriggerCharacter=2]="TriggerCharacter",y[y.ContentChange=3]="ContentChange"})(o||(n.SignatureHelpTriggerKind=o={}));var u;(function(y){y[y.Text=0]="Text",y[y.Read=1]="Read",y[y.Write=2]="Write"})(u||(n.DocumentHighlightKind=u={}));function S(y){return y&&x.URI.isUri(y.uri)&&A.Range.isIRange(y.range)&&(A.Range.isIRange(y.originSelectionRange)||A.Range.isIRange(y.targetSelectionRange))}n.symbolKindNames={17:(0,f.localize)(669,"array"),16:(0,f.localize)(670,"boolean"),4:(0,f.localize)(671,"class"),13:(0,f.localize)(672,"constant"),8:(0,f.localize)(673,"constructor"),9:(0,f.localize)(674,"enumeration"),21:(0,f.localize)(675,"enumeration member"),23:(0,f.localize)(676,"event"),7:(0,f.localize)(677,"field"),0:(0,f.localize)(678,"file"),11:(0,f.localize)(679,"function"),10:(0,f.localize)(680,"interface"),19:(0,f.localize)(681,"key"),5:(0,f.localize)(682,"method"),1:(0,f.localize)(683,"module"),2:(0,f.localize)(684,"namespace"),20:(0,f.localize)(685,"null"),15:(0,f.localize)(686,"number"),18:(0,f.localize)(687,"object"),24:(0,f.localize)(688,"operator"),3:(0,f.localize)(689,"package"),6:(0,f.localize)(690,"property"),14:(0,f.localize)(691,"string"),22:(0,f.localize)(692,"struct"),25:(0,f.localize)(693,"type parameter"),12:(0,f.localize)(694,"variable")};function L(y,_){return(0,f.localize)(695,"{0} ({1})",y,n.symbolKindNames[_])}var N;(function(y){const _=new Map;_.set(0,i.Codicon.symbolFile),_.set(1,i.Codicon.symbolModule),_.set(2,i.Codicon.symbolNamespace),_.set(3,i.Codicon.symbolPackage),_.set(4,i.Codicon.symbolClass),_.set(5,i.Codicon.symbolMethod),_.set(6,i.Codicon.symbolProperty),_.set(7,i.Codicon.symbolField),_.set(8,i.Codicon.symbolConstructor),_.set(9,i.Codicon.symbolEnum),_.set(10,i.Codicon.symbolInterface),_.set(11,i.Codicon.symbolFunction),_.set(12,i.Codicon.symbolVariable),_.set(13,i.Codicon.symbolConstant),_.set(14,i.Codicon.symbolString),_.set(15,i.Codicon.symbolNumber),_.set(16,i.Codicon.symbolBoolean),_.set(17,i.Codicon.symbolArray),_.set(18,i.Codicon.symbolObject),_.set(19,i.Codicon.symbolKey),_.set(20,i.Codicon.symbolNull),_.set(21,i.Codicon.symbolEnumMember),_.set(22,i.Codicon.symbolStruct),_.set(23,i.Codicon.symbolEvent),_.set(24,i.Codicon.symbolOperator),_.set(25,i.Codicon.symbolTypeParameter);function C(R){let D=_.get(R);return D||(console.info("No codicon found for SymbolKind "+R),D=i.Codicon.symbolProperty),D}y.toIcon=C})(N||(n.SymbolKinds=N={}));class P{}n.TextEdit=P;class E{static{this.Comment=new E("comment")}static{this.Imports=new E("imports")}static{this.Region=new E("region")}static fromValue(_){switch(_){case"comment":return E.Comment;case"imports":return E.Imports;case"region":return E.Region}return new E(_)}constructor(_){this.value=_}}n.FoldingRangeKind=E;var v;(function(y){y[y.AIGenerated=1]="AIGenerated"})(v||(n.NewSymbolNameTag=v={}));var l;(function(y){y[y.Invoke=0]="Invoke",y[y.Automatic=1]="Automatic"})(l||(n.NewSymbolNameTriggerKind=l={}));var b;(function(y){function _(C){return!C||typeof C!="object"?!1:typeof C.id=="string"&&typeof C.title=="string"}y.is=_})(b||(n.Command=b={}));var g;(function(y){y[y.Type=1]="Type",y[y.Parameter=2]="Parameter"})(g||(n.InlayHintKind=g={}));class w{constructor(_){this.createSupport=_,this._tokenizationSupport=null}dispose(){this._tokenizationSupport&&this._tokenizationSupport.then(_=>{_&&_.dispose()})}get tokenizationSupport(){return this._tokenizationSupport||(this._tokenizationSupport=this.createSupport()),this._tokenizationSupport}}n.LazyTokenizationSupport=w,n.TokenizationRegistry=new d.TokenizationRegistry,n.TreeSitterTokenizationRegistry=new d.TokenizationRegistry;var M;(function(y){y[y.Invoke=0]="Invoke",y[y.Automatic=1]="Automatic"})(M||(n.InlineEditTriggerKind=M={}))}),X(J[74],Z([0,1,23,9,42,14,4,2,48,73,69]),function(W,n,i,x,A,d,f,p,c,a,m){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.KeyMod=void 0,n.createMonacoBaseAPI=h;class e{static{this.CtrlCmd=2048}static{this.Shift=1024}static{this.Alt=512}static{this.WinCtrl=256}static chord(s,o){return(0,A.KeyChord)(s,o)}}n.KeyMod=e;function h(){return{editor:void 0,languages:void 0,CancellationTokenSource:i.CancellationTokenSource,Emitter:x.Emitter,KeyCode:m.KeyCode,KeyMod:e,Position:f.Position,Range:p.Range,Selection:c.Selection,SelectionDirection:m.SelectionDirection,MarkerSeverity:m.MarkerSeverity,MarkerTag:m.MarkerTag,Uri:d.URI,Token:a.Token}}}),X(J[75],Z([0,1,71,8,14,4,2,31,64]),function(W,n,i,x,A,d,f,p,c){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.MirrorModel=n.WorkerTextModelSyncServer=n.WorkerTextModelSyncClient=n.STOP_SYNC_MODEL_DELTA_TIME_MS=void 0,n.STOP_SYNC_MODEL_DELTA_TIME_MS=60*1e3;class a extends x.Disposable{constructor(r,s,o=!1){if(super(),this._syncedModels=Object.create(null),this._syncedModelsLastUsedTime=Object.create(null),this._proxy=r,this._modelService=s,!o){const u=new i.IntervalTimer;u.cancelAndSet(()=>this._checkStopModelSync(),Math.round(n.STOP_SYNC_MODEL_DELTA_TIME_MS/2)),this._register(u)}}dispose(){for(const r in this._syncedModels)(0,x.dispose)(this._syncedModels[r]);this._syncedModels=Object.create(null),this._syncedModelsLastUsedTime=Object.create(null),super.dispose()}ensureSyncedResources(r,s=!1){for(const o of r){const u=o.toString();this._syncedModels[u]||this._beginModelSync(o,s),this._syncedModels[u]&&(this._syncedModelsLastUsedTime[u]=new Date().getTime())}}_checkStopModelSync(){const r=new Date().getTime(),s=[];for(const o in this._syncedModelsLastUsedTime)r-this._syncedModelsLastUsedTime[o]>n.STOP_SYNC_MODEL_DELTA_TIME_MS&&s.push(o);for(const o of s)this._stopModelSync(o)}_beginModelSync(r,s){const o=this._modelService.getModel(r);if(!o||!s&&o.isTooLargeForSyncing())return;const u=r.toString();this._proxy.$acceptNewModel({url:o.uri.toString(),lines:o.getLinesContent(),EOL:o.getEOL(),versionId:o.getVersionId()});const S=new x.DisposableStore;S.add(o.onDidChangeContent(L=>{this._proxy.$acceptModelChanged(u.toString(),L)})),S.add(o.onWillDispose(()=>{this._stopModelSync(u)})),S.add((0,x.toDisposable)(()=>{this._proxy.$acceptRemovedModel(u)})),this._syncedModels[u]=S}_stopModelSync(r){const s=this._syncedModels[r];delete this._syncedModels[r],delete this._syncedModelsLastUsedTime[r],(0,x.dispose)(s)}}n.WorkerTextModelSyncClient=a;class m{constructor(){this._models=Object.create(null)}getModel(r){return this._models[r]}getModels(){const r=[];return Object.keys(this._models).forEach(s=>r.push(this._models[s])),r}$acceptNewModel(r){this._models[r.url]=new e(A.URI.parse(r.url),r.lines,r.EOL,r.versionId)}$acceptModelChanged(r,s){if(!this._models[r])return;this._models[r].onEvents(s)}$acceptRemovedModel(r){this._models[r]&&delete this._models[r]}}n.WorkerTextModelSyncServer=m;class e extends c.MirrorTextModel{get uri(){return this._uri}get eol(){return this._eol}getValue(){return this.getText()}findMatches(r){const s=[];for(let o=0;othis._lines.length)s=this._lines.length,o=this._lines[s-1].length+1,u=!0;else{const S=this._lines[s-1].length+1;o<1?(o=1,u=!0):o>S&&(o=S,u=!0)}return u?{lineNumber:s,column:o}:r}}n.MirrorModel=e}),X(J[77],Z([0,1,24,2,60,61,74,66,22,68,58,27,38,59,67,75]),function(W,n,i,x,A,d,f,p,c,a,m,e,h,r,s,o){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.EditorSimpleWorker=n.BaseEditorSimpleWorker=void 0,n.create=N;const u=!1;class S{constructor(){this._workerTextModelSyncServer=new o.WorkerTextModelSyncServer}dispose(){}_getModel(E){return this._workerTextModelSyncServer.getModel(E)}_getModels(){return this._workerTextModelSyncServer.getModels()}$acceptNewModel(E){this._workerTextModelSyncServer.$acceptNewModel(E)}$acceptModelChanged(E,v){this._workerTextModelSyncServer.$acceptModelChanged(E,v)}$acceptRemovedModel(E){this._workerTextModelSyncServer.$acceptRemovedModel(E)}async $computeUnicodeHighlights(E,v,l){const b=this._getModel(E);return b?a.UnicodeTextModelHighlighter.computeUnicodeHighlights(b,v,l):{ranges:[],hasMore:!1,ambiguousCharacterCount:0,invisibleCharacterCount:0,nonBasicAsciiCharacterCount:0}}async $findSectionHeaders(E,v){const l=this._getModel(E);return l?(0,s.findSectionHeaders)(l,v):[]}async $computeDiff(E,v,l,b){const g=this._getModel(E),w=this._getModel(v);return!g||!w?null:L.computeDiff(g,w,l,b)}static computeDiff(E,v,l,b){const g=b==="advanced"?m.linesDiffComputers.getDefault():m.linesDiffComputers.getLegacy(),w=E.getLinesContent(),M=v.getLinesContent(),y=g.computeDiff(w,M,l),_=y.changes.length>0?!1:this._modelsAreIdentical(E,v);function C(R){return R.map(D=>[D.original.startLineNumber,D.original.endLineNumberExclusive,D.modified.startLineNumber,D.modified.endLineNumberExclusive,D.innerChanges?.map(T=>[T.originalRange.startLineNumber,T.originalRange.startColumn,T.originalRange.endLineNumber,T.originalRange.endColumn,T.modifiedRange.startLineNumber,T.modifiedRange.startColumn,T.modifiedRange.endLineNumber,T.modifiedRange.endColumn])])}return{identical:_,quitEarly:y.hitTimeout,changes:C(y.changes),moves:y.moves.map(R=>[R.lineRangeMapping.original.startLineNumber,R.lineRangeMapping.original.endLineNumberExclusive,R.lineRangeMapping.modified.startLineNumber,R.lineRangeMapping.modified.endLineNumberExclusive,C(R.changes)])}}static _modelsAreIdentical(E,v){const l=E.getLineCount(),b=v.getLineCount();if(l!==b)return!1;for(let g=1;g<=l;g++){const w=E.getLineContent(g),M=v.getLineContent(g);if(w!==M)return!1}return!0}static{this._diffLimit=1e5}async $computeMoreMinimalEdits(E,v,l){const b=this._getModel(E);if(!b)return v;const g=[];let w;v=v.slice(0).sort((y,_)=>{if(y.range&&_.range)return x.Range.compareRangesUsingStarts(y.range,_.range);const C=y.range?0:1,R=_.range?0:1;return C-R});let M=0;for(let y=1;yL._diffLimit){g.push({range:y,text:_});continue}const D=(0,i.stringDiff)(R,_,l),T=b.offsetAt(x.Range.lift(y).getStartPosition());for(const O of D){const z=b.positionAt(T+O.originalStart),j=b.positionAt(T+O.originalStart+O.originalLength),F={text:_.substr(O.modifiedStart,O.modifiedLength),range:{startLineNumber:z.lineNumber,startColumn:z.column,endLineNumber:j.lineNumber,endColumn:j.column}};b.getValueInRange(F.range)!==F.text&&g.push(F)}}return typeof w=="number"&&g.push({eol:w,text:"",range:{startLineNumber:0,startColumn:0,endLineNumber:0,endColumn:0}}),g}async $computeLinks(E){const v=this._getModel(E);return v?(0,A.computeLinks)(v):null}async $computeDefaultDocumentColors(E){const v=this._getModel(E);return v?(0,r.computeDefaultDocumentColors)(v):null}static{this._suggestionsLimit=1e4}async $textualSuggest(E,v,l,b){const g=new c.StopWatch,w=new RegExp(l,b),M=new Set;e:for(const y of E){const _=this._getModel(y);if(_){for(const C of _.words(w))if(!(C===v||!isNaN(Number(C)))&&(M.add(C),M.size>L._suggestionsLimit))break e}}return{words:Array.from(M),duration:g.elapsed()}}async $computeWordRanges(E,v,l,b){const g=this._getModel(E);if(!g)return Object.create(null);const w=new RegExp(l,b),M=Object.create(null);for(let y=v.startLineNumber;ythis._host.$fhr(M,y),w={host:(0,e.createProxyObject)(l,b),getMirrorModels:()=>this._getModels()};return this._foreignModuleFactory?(this._foreignModule=this._foreignModuleFactory(w,v),Promise.resolve((0,e.getAllMethodNames)(this._foreignModule))):new Promise((M,y)=>{const _=C=>{this._foreignModule=C.create(w,v),M((0,e.getAllMethodNames)(this._foreignModule))};if(!u)W([`${E}`],_,y);else{const C=h.FileAccess.asBrowserUri(`${E}.js`).toString(!0);new Promise((R,D)=>{W([`${C}`],R,D)}).then(_).catch(y)}})}$fmr(E,v){if(!this._foreignModule||typeof this._foreignModule[E]!="function")return Promise.reject(new Error("Missing requestHandler or method: "+E));try{return Promise.resolve(this._foreignModule[E].apply(this._foreignModule,v))}catch(l){return Promise.reject(l)}}}n.EditorSimpleWorker=L;function N(P){return new L(p.EditorWorkerHost.getChannel(P),null)}typeof importScripts=="function"&&(globalThis.monaco=(0,f.createMonacoBaseAPI)())})}).call(this); + +//# sourceMappingURL=../../../../min-maps/vs/base/worker/workerMain.js.map \ No newline at end of file diff --git a/src/control/content/js/monaco-editor/min/vs/basic-languages/css/css.js b/src/control/content/js/monaco-editor/min/vs/basic-languages/css/css.js new file mode 100644 index 0000000..8503909 --- /dev/null +++ b/src/control/content/js/monaco-editor/min/vs/basic-languages/css/css.js @@ -0,0 +1,12 @@ +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Version: 0.52.0(f420968fc91d2d10d9d3e47dc52e2f2bda0778dd) + * Released under the MIT license + * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt + *-----------------------------------------------------------------------------*/ +define("vs/basic-languages/css/css", ["require","require"],(require)=>{ +"use strict";var moduleExports=(()=>{var r=Object.defineProperty;var a=Object.getOwnPropertyDescriptor;var s=Object.getOwnPropertyNames;var l=Object.prototype.hasOwnProperty;var m=(t,e)=>{for(var o in e)r(t,o,{get:e[o],enumerable:!0})},c=(t,e,o,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of s(e))!l.call(t,n)&&n!==o&&r(t,n,{get:()=>e[n],enumerable:!(i=a(e,n))||i.enumerable});return t};var d=t=>c(r({},"__esModule",{value:!0}),t);var k={};m(k,{conf:()=>u,language:()=>p});var u={wordPattern:/(#?-?\d*\.\d\w*%?)|((::|[@#.!:])?[\w-?]+%?)|::|[@#.!:]/g,comments:{blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}",notIn:["string","comment"]},{open:"[",close:"]",notIn:["string","comment"]},{open:"(",close:")",notIn:["string","comment"]},{open:'"',close:'"',notIn:["string","comment"]},{open:"'",close:"'",notIn:["string","comment"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{markers:{start:new RegExp("^\\s*\\/\\*\\s*#region\\b\\s*(.*?)\\s*\\*\\/"),end:new RegExp("^\\s*\\/\\*\\s*#endregion\\b.*\\*\\/")}}},p={defaultToken:"",tokenPostfix:".css",ws:`[ +\r\f]*`,identifier:"-?-?([a-zA-Z]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))([\\w\\-]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))*",brackets:[{open:"{",close:"}",token:"delimiter.bracket"},{open:"[",close:"]",token:"delimiter.bracket"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}],tokenizer:{root:[{include:"@selector"}],selector:[{include:"@comments"},{include:"@import"},{include:"@strings"},["[@](keyframes|-webkit-keyframes|-moz-keyframes|-o-keyframes)",{token:"keyword",next:"@keyframedeclaration"}],["[@](page|content|font-face|-moz-document)",{token:"keyword"}],["[@](charset|namespace)",{token:"keyword",next:"@declarationbody"}],["(url-prefix)(\\()",["attribute.value",{token:"delimiter.parenthesis",next:"@urldeclaration"}]],["(url)(\\()",["attribute.value",{token:"delimiter.parenthesis",next:"@urldeclaration"}]],{include:"@selectorname"},["[\\*]","tag"],["[>\\+,]","delimiter"],["\\[",{token:"delimiter.bracket",next:"@selectorattribute"}],["{",{token:"delimiter.bracket",next:"@selectorbody"}]],selectorbody:[{include:"@comments"},["[*_]?@identifier@ws:(?=(\\s|\\d|[^{;}]*[;}]))","attribute.name","@rulevalue"],["}",{token:"delimiter.bracket",next:"@pop"}]],selectorname:[["(\\.|#(?=[^{])|%|(@identifier)|:)+","tag"]],selectorattribute:[{include:"@term"},["]",{token:"delimiter.bracket",next:"@pop"}]],term:[{include:"@comments"},["(url-prefix)(\\()",["attribute.value",{token:"delimiter.parenthesis",next:"@urldeclaration"}]],["(url)(\\()",["attribute.value",{token:"delimiter.parenthesis",next:"@urldeclaration"}]],{include:"@functioninvocation"},{include:"@numbers"},{include:"@name"},{include:"@strings"},["([<>=\\+\\-\\*\\/\\^\\|\\~,])","delimiter"],[",","delimiter"]],rulevalue:[{include:"@comments"},{include:"@strings"},{include:"@term"},["!important","keyword"],[";","delimiter","@pop"],["(?=})",{token:"",next:"@pop"}]],warndebug:[["[@](warn|debug)",{token:"keyword",next:"@declarationbody"}]],import:[["[@](import)",{token:"keyword",next:"@declarationbody"}]],urldeclaration:[{include:"@strings"},[`[^)\r +]+`,"string"],["\\)",{token:"delimiter.parenthesis",next:"@pop"}]],parenthizedterm:[{include:"@term"},["\\)",{token:"delimiter.parenthesis",next:"@pop"}]],declarationbody:[{include:"@term"},[";","delimiter","@pop"],["(?=})",{token:"",next:"@pop"}]],comments:[["\\/\\*","comment","@comment"],["\\/\\/+.*","comment"]],comment:[["\\*\\/","comment","@pop"],[/[^*/]+/,"comment"],[/./,"comment"]],name:[["@identifier","attribute.value"]],numbers:[["-?(\\d*\\.)?\\d+([eE][\\-+]?\\d+)?",{token:"attribute.value.number",next:"@units"}],["#[0-9a-fA-F_]+(?!\\w)","attribute.value.hex"]],units:[["(em|ex|ch|rem|fr|vmin|vmax|vw|vh|vm|cm|mm|in|px|pt|pc|deg|grad|rad|turn|s|ms|Hz|kHz|%)?","attribute.value.unit","@pop"]],keyframedeclaration:[["@identifier","attribute.value"],["{",{token:"delimiter.bracket",switchTo:"@keyframebody"}]],keyframebody:[{include:"@term"},["{",{token:"delimiter.bracket",next:"@selectorbody"}],["}",{token:"delimiter.bracket",next:"@pop"}]],functioninvocation:[["@identifier\\(",{token:"attribute.value",next:"@functionarguments"}]],functionarguments:[["\\$@identifier@ws:","attribute.name"],["[,]","delimiter"],{include:"@term"},["\\)",{token:"attribute.value",next:"@pop"}]],strings:[['~?"',{token:"string",next:"@stringenddoublequote"}],["~?'",{token:"string",next:"@stringendquote"}]],stringenddoublequote:[["\\\\.","string"],['"',{token:"string",next:"@pop"}],[/[^\\"]+/,"string"],[".","string"]],stringendquote:[["\\\\.","string"],["'",{token:"string",next:"@pop"}],[/[^\\']+/,"string"],[".","string"]]}};return d(k);})(); +return moduleExports; +}); diff --git a/src/control/content/js/monaco-editor/min/vs/basic-languages/html/html.js b/src/control/content/js/monaco-editor/min/vs/basic-languages/html/html.js new file mode 100644 index 0000000..07f4fc1 --- /dev/null +++ b/src/control/content/js/monaco-editor/min/vs/basic-languages/html/html.js @@ -0,0 +1,10 @@ +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Version: 0.52.0(f420968fc91d2d10d9d3e47dc52e2f2bda0778dd) + * Released under the MIT license + * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt + *-----------------------------------------------------------------------------*/ +define("vs/basic-languages/html/html", ["require","require"],(require)=>{ +"use strict";var moduleExports=(()=>{var u=Object.create;var a=Object.defineProperty;var b=Object.getOwnPropertyDescriptor;var x=Object.getOwnPropertyNames;var y=Object.getPrototypeOf,g=Object.prototype.hasOwnProperty;var k=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,n)=>(typeof require<"u"?require:t)[n]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var E=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),T=(e,t)=>{for(var n in t)a(e,n,{get:t[n],enumerable:!0})},o=(e,t,n,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of x(t))!g.call(e,r)&&r!==n&&a(e,r,{get:()=>t[r],enumerable:!(s=b(t,r))||s.enumerable});return e},d=(e,t,n)=>(o(e,t,"default"),n&&o(n,t,"default")),m=(e,t,n)=>(n=e!=null?u(y(e)):{},o(t||!e||!e.__esModule?a(n,"default",{value:e,enumerable:!0}):n,e)),w=e=>o(a({},"__esModule",{value:!0}),e);var l=E((A,p)=>{var h=m(k("vs/editor/editor.api"));p.exports=h});var $={};T($,{conf:()=>v,language:()=>f});var i={};d(i,m(l()));var c=["area","base","br","col","embed","hr","img","input","keygen","link","menuitem","meta","param","source","track","wbr"],v={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\$\^\&\*\(\)\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\s]+)/g,comments:{blockComment:[""]},brackets:[[""],["<",">"],["{","}"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:'"',close:'"'},{open:"'",close:"'"},{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"}],onEnterRules:[{beforeText:new RegExp(`<(?!(?:${c.join("|")}))([_:\\w][_:\\w-.\\d]*)([^/>]*(?!/)>)[^<]*$`,"i"),afterText:/^<\/([_:\w][_:\w-.\d]*)\s*>$/i,action:{indentAction:i.languages.IndentAction.IndentOutdent}},{beforeText:new RegExp(`<(?!(?:${c.join("|")}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,"i"),action:{indentAction:i.languages.IndentAction.Indent}}],folding:{markers:{start:new RegExp("^\\s*"),end:new RegExp("^\\s*")}}},f={defaultToken:"",tokenPostfix:".html",ignoreCase:!0,tokenizer:{root:[[/)/,["delimiter","tag","","delimiter"]],[/(<)(script)/,["delimiter",{token:"tag",next:"@script"}]],[/(<)(style)/,["delimiter",{token:"tag",next:"@style"}]],[/(<)((?:[\w\-]+:)?[\w\-]+)/,["delimiter",{token:"tag",next:"@otherTag"}]],[/(<\/)((?:[\w\-]+:)?[\w\-]+)/,["delimiter",{token:"tag",next:"@otherTag"}]],[/]+/,"metatag.content"],[/>/,"metatag","@pop"]],comment:[[/-->/,"comment","@pop"],[/[^-]+/,"comment.content"],[/./,"comment.content"]],otherTag:[[/\/?>/,"delimiter","@pop"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/]],script:[[/type/,"attribute.name","@scriptAfterType"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/>/,{token:"delimiter",next:"@scriptEmbedded",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/(<\/)(script\s*)(>)/,["delimiter","tag",{token:"delimiter",next:"@pop"}]]],scriptAfterType:[[/=/,"delimiter","@scriptAfterTypeEquals"],[/>/,{token:"delimiter",next:"@scriptEmbedded",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptAfterTypeEquals:[[/"module"/,{token:"attribute.value",switchTo:"@scriptWithCustomType.text/javascript"}],[/'module'/,{token:"attribute.value",switchTo:"@scriptWithCustomType.text/javascript"}],[/"([^"]*)"/,{token:"attribute.value",switchTo:"@scriptWithCustomType.$1"}],[/'([^']*)'/,{token:"attribute.value",switchTo:"@scriptWithCustomType.$1"}],[/>/,{token:"delimiter",next:"@scriptEmbedded",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptWithCustomType:[[/>/,{token:"delimiter",next:"@scriptEmbedded.$S2",nextEmbedded:"$S2"}],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptEmbedded:[[/<\/script/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}],[/[^<]+/,""]],style:[[/type/,"attribute.name","@styleAfterType"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/>/,{token:"delimiter",next:"@styleEmbedded",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/(<\/)(style\s*)(>)/,["delimiter","tag",{token:"delimiter",next:"@pop"}]]],styleAfterType:[[/=/,"delimiter","@styleAfterTypeEquals"],[/>/,{token:"delimiter",next:"@styleEmbedded",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleAfterTypeEquals:[[/"([^"]*)"/,{token:"attribute.value",switchTo:"@styleWithCustomType.$1"}],[/'([^']*)'/,{token:"attribute.value",switchTo:"@styleWithCustomType.$1"}],[/>/,{token:"delimiter",next:"@styleEmbedded",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleWithCustomType:[[/>/,{token:"delimiter",next:"@styleEmbedded.$S2",nextEmbedded:"$S2"}],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleEmbedded:[[/<\/style/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}],[/[^<]+/,""]]}};return w($);})(); +return moduleExports; +}); diff --git a/src/control/content/js/monaco-editor/min/vs/basic-languages/javascript/javascript.js b/src/control/content/js/monaco-editor/min/vs/basic-languages/javascript/javascript.js new file mode 100644 index 0000000..7e9c5e6 --- /dev/null +++ b/src/control/content/js/monaco-editor/min/vs/basic-languages/javascript/javascript.js @@ -0,0 +1,10 @@ +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Version: 0.52.0(f420968fc91d2d10d9d3e47dc52e2f2bda0778dd) + * Released under the MIT license + * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt + *-----------------------------------------------------------------------------*/ +define("vs/basic-languages/javascript/javascript", ["require","require"],(require)=>{ +"use strict";var moduleExports=(()=>{var x=Object.create;var a=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var f=Object.getOwnPropertyNames;var b=Object.getPrototypeOf,k=Object.prototype.hasOwnProperty;var y=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,n)=>(typeof require<"u"?require:t)[n]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var w=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),h=(e,t)=>{for(var n in t)a(e,n,{get:t[n],enumerable:!0})},s=(e,t,n,c)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of f(t))!k.call(e,r)&&r!==n&&a(e,r,{get:()=>t[r],enumerable:!(c=u(t,r))||c.enumerable});return e},g=(e,t,n)=>(s(e,t,"default"),n&&s(n,t,"default")),p=(e,t,n)=>(n=e!=null?x(b(e)):{},s(t||!e||!e.__esModule?a(n,"default",{value:e,enumerable:!0}):n,e)),v=e=>s(a({},"__esModule",{value:!0}),e);var d=w((C,l)=>{var A=p(y("vs/editor/editor.api"));l.exports=A});var _={};h(_,{conf:()=>$,language:()=>T});var i={};g(i,p(d()));var m={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],onEnterRules:[{beforeText:/^\s*\/\*\*(?!\/)([^\*]|\*(?!\/))*$/,afterText:/^\s*\*\/$/,action:{indentAction:i.languages.IndentAction.IndentOutdent,appendText:" * "}},{beforeText:/^\s*\/\*\*(?!\/)([^\*]|\*(?!\/))*$/,action:{indentAction:i.languages.IndentAction.None,appendText:" * "}},{beforeText:/^(\t|(\ \ ))*\ \*(\ ([^\*]|\*(?!\/))*)?$/,action:{indentAction:i.languages.IndentAction.None,appendText:"* "}},{beforeText:/^(\t|(\ \ ))*\ \*\/\s*$/,action:{indentAction:i.languages.IndentAction.None,removeText:1}}],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string","comment"]},{open:"`",close:"`",notIn:["string","comment"]},{open:"/**",close:" */",notIn:["string"]}],folding:{markers:{start:new RegExp("^\\s*//\\s*#?region\\b"),end:new RegExp("^\\s*//\\s*#?endregion\\b")}}},o={defaultToken:"invalid",tokenPostfix:".ts",keywords:["abstract","any","as","asserts","bigint","boolean","break","case","catch","class","continue","const","constructor","debugger","declare","default","delete","do","else","enum","export","extends","false","finally","for","from","function","get","if","implements","import","in","infer","instanceof","interface","is","keyof","let","module","namespace","never","new","null","number","object","out","package","private","protected","public","override","readonly","require","global","return","satisfies","set","static","string","super","switch","symbol","this","throw","true","try","type","typeof","undefined","unique","unknown","var","void","while","with","yield","async","await","of"],operators:["<=",">=","==","!=","===","!==","=>","+","-","**","*","/","%","++","--","<<",">",">>>","&","|","^","!","~","&&","||","??","?",":","=","+=","-=","*=","**=","/=","%=","<<=",">>=",">>>=","&=","|=","^=","@"],symbols:/[=>](?!@symbols)/,"@brackets"],[/!(?=([^=]|$))/,"delimiter"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/(@digits)[eE]([\-+]?(@digits))?/,"number.float"],[/(@digits)\.(@digits)([eE][\-+]?(@digits))?/,"number.float"],[/0[xX](@hexdigits)n?/,"number.hex"],[/0[oO]?(@octaldigits)n?/,"number.octal"],[/0[bB](@binarydigits)n?/,"number.binary"],[/(@digits)n?/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string_double"],[/'/,"string","@string_single"],[/`/,"string","@string_backtick"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@jsdoc"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],jsdoc:[[/[^\/*]+/,"comment.doc"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],regexp:[[/(\{)(\d+(?:,\d*)?)(\})/,["regexp.escape.control","regexp.escape.control","regexp.escape.control"]],[/(\[)(\^?)(?=(?:[^\]\\\/]|\\.)+)/,["regexp.escape.control",{token:"regexp.escape.control",next:"@regexrange"}]],[/(\()(\?:|\?=|\?!)/,["regexp.escape.control","regexp.escape.control"]],[/[()]/,"regexp.escape.control"],[/@regexpctl/,"regexp.escape.control"],[/[^\\\/]/,"regexp"],[/@regexpesc/,"regexp.escape"],[/\\\./,"regexp.invalid"],[/(\/)([dgimsuy]*)/,[{token:"regexp",bracket:"@close",next:"@pop"},"keyword.other"]]],regexrange:[[/-/,"regexp.escape.control"],[/\^/,"regexp.invalid"],[/@regexpesc/,"regexp.escape"],[/[^\]]/,"regexp"],[/\]/,{token:"regexp.escape.control",next:"@pop",bracket:"@close"}]],string_double:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]],string_single:[[/[^\\']+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/'/,"string","@pop"]],string_backtick:[[/\$\{/,{token:"delimiter.bracket",next:"@bracketCounting"}],[/[^\\`$]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/`/,"string","@pop"]],bracketCounting:[[/\{/,"delimiter.bracket","@bracketCounting"],[/\}/,"delimiter.bracket","@pop"],{include:"common"}]}};var $=m,T={defaultToken:"invalid",tokenPostfix:".js",keywords:["break","case","catch","class","continue","const","constructor","debugger","default","delete","do","else","export","extends","false","finally","for","from","function","get","if","import","in","instanceof","let","new","null","return","set","static","super","switch","symbol","this","throw","true","try","typeof","undefined","var","void","while","with","yield","async","await","of"],typeKeywords:[],operators:o.operators,symbols:o.symbols,escapes:o.escapes,digits:o.digits,octaldigits:o.octaldigits,binarydigits:o.binarydigits,hexdigits:o.hexdigits,regexpctl:o.regexpctl,regexpesc:o.regexpesc,tokenizer:o.tokenizer};return v(_);})(); +return moduleExports; +}); diff --git a/src/control/content/js/monaco-editor/min/vs/editor/editor.main.css b/src/control/content/js/monaco-editor/min/vs/editor/editor.main.css new file mode 100644 index 0000000..d4ebd65 --- /dev/null +++ b/src/control/content/js/monaco-editor/min/vs/editor/editor.main.css @@ -0,0 +1,8 @@ +/*!----------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Version: 0.52.0-rc2(3c7eb57085d23d24c3b5527c45324440ea55c865) + * Released under the MIT license + * https://github.com/microsoft/vscode/blob/main/LICENSE.txt + *-----------------------------------------------------------*/.monaco-action-bar{height:100%;white-space:nowrap}.monaco-action-bar .actions-container{align-items:center;display:flex;height:100%;margin:0 auto;padding:0;width:100%}.monaco-action-bar.vertical .actions-container{display:inline-block}.monaco-action-bar .action-item{align-items:center;cursor:pointer;display:block;justify-content:center;position:relative}.monaco-action-bar .action-item.disabled{cursor:default}.monaco-action-bar .action-item .codicon,.monaco-action-bar .action-item .icon{display:block}.monaco-action-bar .action-item .codicon{align-items:center;display:flex;height:16px;width:16px}.monaco-action-bar .action-label{border-radius:5px;display:flex;font-size:11px;padding:3px}.monaco-action-bar .action-item.disabled .action-label,.monaco-action-bar .action-item.disabled .action-label:before,.monaco-action-bar .action-item.disabled .action-label:hover{color:var(--vscode-disabledForeground)}.monaco-action-bar.vertical{text-align:left}.monaco-action-bar.vertical .action-item{display:block}.monaco-action-bar.vertical .action-label.separator{border-bottom:1px solid #bbb;display:block;margin-left:.8em;margin-right:.8em;padding-top:1px}.monaco-action-bar .action-item .action-label.separator{background-color:#bbb;cursor:default;height:16px;margin:5px 4px!important;min-width:1px;padding:0;width:1px}.secondary-actions .monaco-action-bar .action-label{margin-left:6px}.monaco-action-bar .action-item.select-container{align-items:center;display:flex;flex:1;justify-content:center;margin-right:10px;max-width:170px;min-width:60px;overflow:hidden}.monaco-action-bar .action-item.action-dropdown-item{display:flex}.monaco-action-bar .action-item.action-dropdown-item>.action-dropdown-item-separator{align-items:center;cursor:default;display:flex}.monaco-action-bar .action-item.action-dropdown-item>.action-dropdown-item-separator>div{width:1px}.monaco-aria-container{left:-999em;position:absolute}.monaco-text-button{align-items:center;border:1px solid var(--vscode-button-border,transparent);border-radius:2px;box-sizing:border-box;cursor:pointer;display:flex;justify-content:center;line-height:18px;padding:4px;text-align:center;width:100%}.monaco-text-button:focus{outline-offset:2px!important}.monaco-text-button:hover{text-decoration:none!important}.monaco-button.disabled,.monaco-button.disabled:focus{cursor:default;opacity:.4!important}.monaco-text-button .codicon{color:inherit!important;margin:0 .2em}.monaco-text-button.monaco-text-button-with-short-label{flex-direction:row;flex-wrap:wrap;height:28px;overflow:hidden;padding:0 4px}.monaco-text-button.monaco-text-button-with-short-label>.monaco-button-label{flex-basis:100%}.monaco-text-button.monaco-text-button-with-short-label>.monaco-button-label-short{flex-grow:1;overflow:hidden;width:0}.monaco-text-button.monaco-text-button-with-short-label>.monaco-button-label,.monaco-text-button.monaco-text-button-with-short-label>.monaco-button-label-short{align-items:center;display:flex;font-style:inherit;font-weight:400;justify-content:center;padding:4px 0}.monaco-button-dropdown{cursor:pointer;display:flex}.monaco-button-dropdown.disabled{cursor:default}.monaco-button-dropdown>.monaco-button:focus{outline-offset:-1px!important}.monaco-button-dropdown.disabled>.monaco-button-dropdown-separator,.monaco-button-dropdown.disabled>.monaco-button.disabled,.monaco-button-dropdown.disabled>.monaco-button.disabled:focus{opacity:.4!important}.monaco-button-dropdown>.monaco-button.monaco-text-button{border-right-width:0!important}.monaco-button-dropdown .monaco-button-dropdown-separator{cursor:default;padding:4px 0}.monaco-button-dropdown .monaco-button-dropdown-separator>div{height:100%;width:1px}.monaco-button-dropdown>.monaco-button.monaco-dropdown-button{align-items:center;border:1px solid var(--vscode-button-border,transparent);border-left-width:0!important;border-radius:0 2px 2px 0;display:flex}.monaco-button-dropdown>.monaco-button.monaco-text-button{border-radius:2px 0 0 2px}.monaco-description-button{align-items:center;display:flex;flex-direction:column;margin:4px 5px}.monaco-description-button .monaco-button-description{font-size:11px;font-style:italic;padding:4px 20px}.monaco-description-button .monaco-button-description,.monaco-description-button .monaco-button-label{align-items:center;display:flex;justify-content:center}.monaco-description-button .monaco-button-description>.codicon,.monaco-description-button .monaco-button-label>.codicon{color:inherit!important;margin:0 .2em}.monaco-button-dropdown.default-colors>.monaco-button,.monaco-button.default-colors{background-color:var(--vscode-button-background);color:var(--vscode-button-foreground)}.monaco-button-dropdown.default-colors>.monaco-button:hover,.monaco-button.default-colors:hover{background-color:var(--vscode-button-hoverBackground)}.monaco-button-dropdown.default-colors>.monaco-button.secondary,.monaco-button.default-colors.secondary{background-color:var(--vscode-button-secondaryBackground);color:var(--vscode-button-secondaryForeground)}.monaco-button-dropdown.default-colors>.monaco-button.secondary:hover,.monaco-button.default-colors.secondary:hover{background-color:var(--vscode-button-secondaryHoverBackground)}.monaco-button-dropdown.default-colors .monaco-button-dropdown-separator{background-color:var(--vscode-button-background);border-bottom:1px solid var(--vscode-button-border);border-top:1px solid var(--vscode-button-border)}.monaco-button-dropdown.default-colors .monaco-button.secondary+.monaco-button-dropdown-separator{background-color:var(--vscode-button-secondaryBackground)}.monaco-button-dropdown.default-colors .monaco-button-dropdown-separator>div{background-color:var(--vscode-button-separator)}@font-face{font-display:block;font-family:codicon;src:url(../base/browser/ui/codicons/codicon/codicon.ttf) format("truetype")}.codicon[class*=codicon-]{display:inline-block;font:normal normal normal 16px/1 codicon;text-align:center;text-decoration:none;text-rendering:auto;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;user-select:none;-webkit-user-select:none}.codicon-wrench-subaction{opacity:.5}@keyframes codicon-spin{to{transform:rotate(1turn)}}.codicon-gear.codicon-modifier-spin,.codicon-loading.codicon-modifier-spin,.codicon-notebook-state-executing.codicon-modifier-spin,.codicon-sync.codicon-modifier-spin{animation:codicon-spin 1.5s steps(30) infinite}.codicon-modifier-disabled{opacity:.4}.codicon-loading,.codicon-tree-item-loading:before{animation-duration:1s!important;animation-timing-function:cubic-bezier(.53,.21,.29,.67)!important}.context-view{position:absolute}.context-view.fixed{all:initial;color:inherit;font-family:inherit;font-size:13px;position:fixed}.monaco-count-badge{border-radius:11px;box-sizing:border-box;display:inline-block;font-size:11px;font-weight:400;line-height:11px;min-height:18px;min-width:18px;padding:3px 6px;text-align:center}.monaco-count-badge.long{border-radius:2px;line-height:normal;min-height:auto;padding:2px 3px}.monaco-dropdown{height:100%;padding:0}.monaco-dropdown>.dropdown-label{align-items:center;cursor:pointer;display:flex;height:100%;justify-content:center}.monaco-dropdown>.dropdown-label>.action-label.disabled{cursor:default}.monaco-dropdown-with-primary{border-radius:5px;display:flex!important;flex-direction:row}.monaco-dropdown-with-primary>.action-container>.action-label{margin-right:0}.monaco-dropdown-with-primary>.dropdown-action-container>.monaco-dropdown>.dropdown-label .codicon[class*=codicon-]{font-size:12px;line-height:16px;margin-left:-3px;padding-left:0;padding-right:0}.monaco-dropdown-with-primary>.dropdown-action-container>.monaco-dropdown>.dropdown-label>.action-label{background-position:50%;background-repeat:no-repeat;background-size:16px;display:block}.monaco-findInput{position:relative}.monaco-findInput .monaco-inputbox{font-size:13px;width:100%}.monaco-findInput>.controls{position:absolute;right:2px;top:3px}.vs .monaco-findInput.disabled{background-color:#e1e1e1}.vs-dark .monaco-findInput.disabled{background-color:#333}.hc-light .monaco-findInput.highlight-0 .controls,.monaco-findInput.highlight-0 .controls{animation:monaco-findInput-highlight-0 .1s linear 0s}.hc-light .monaco-findInput.highlight-1 .controls,.monaco-findInput.highlight-1 .controls{animation:monaco-findInput-highlight-1 .1s linear 0s}.hc-black .monaco-findInput.highlight-0 .controls,.vs-dark .monaco-findInput.highlight-0 .controls{animation:monaco-findInput-highlight-dark-0 .1s linear 0s}.hc-black .monaco-findInput.highlight-1 .controls,.vs-dark .monaco-findInput.highlight-1 .controls{animation:monaco-findInput-highlight-dark-1 .1s linear 0s}@keyframes monaco-findInput-highlight-0{0%{background:rgba(253,255,0,.8)}to{background:transparent}}@keyframes monaco-findInput-highlight-1{0%{background:rgba(253,255,0,.8)}99%{background:transparent}}@keyframes monaco-findInput-highlight-dark-0{0%{background:hsla(0,0%,100%,.44)}to{background:transparent}}@keyframes monaco-findInput-highlight-dark-1{0%{background:hsla(0,0%,100%,.44)}99%{background:transparent}}.monaco-hover{animation:fadein .1s linear;box-sizing:border-box;cursor:default;line-height:1.5em;overflow:hidden;position:absolute;user-select:text;-webkit-user-select:text;white-space:var(--vscode-hover-whiteSpace,normal)}.monaco-hover.hidden{display:none}.monaco-hover a:hover:not(.disabled){cursor:pointer}.monaco-hover .hover-contents:not(.html-hover-contents){padding:4px 8px}.monaco-hover .markdown-hover>.hover-contents:not(.code-hover-contents){max-width:var(--vscode-hover-maxWidth,500px);word-wrap:break-word}.monaco-hover .markdown-hover>.hover-contents:not(.code-hover-contents) hr{min-width:100%}.monaco-hover .code,.monaco-hover h1,.monaco-hover h2,.monaco-hover h3,.monaco-hover h4,.monaco-hover h5,.monaco-hover h6,.monaco-hover p,.monaco-hover ul{margin:8px 0}.monaco-hover h1,.monaco-hover h2,.monaco-hover h3,.monaco-hover h4,.monaco-hover h5,.monaco-hover h6{line-height:1.1}.monaco-hover code{font-family:var(--monaco-monospace-font)}.monaco-hover hr{border-left:0;border-right:0;box-sizing:border-box;height:1px;margin:4px -8px -4px}.monaco-hover .code:first-child,.monaco-hover p:first-child,.monaco-hover ul:first-child{margin-top:0}.monaco-hover .code:last-child,.monaco-hover p:last-child,.monaco-hover ul:last-child{margin-bottom:0}.monaco-hover ol,.monaco-hover ul{padding-left:20px}.monaco-hover li>p{margin-bottom:0}.monaco-hover li>ul{margin-top:0}.monaco-hover code{border-radius:3px;padding:0 .4em}.monaco-hover .monaco-tokenized-source{white-space:var(--vscode-hover-sourceWhiteSpace,pre-wrap)}.monaco-hover .hover-row.status-bar{font-size:12px;line-height:22px}.monaco-hover .hover-row.status-bar .info{font-style:italic;padding:0 8px}.monaco-hover .hover-row.status-bar .actions{display:flex;padding:0 8px;width:100%}.monaco-hover .hover-row.status-bar .actions .action-container{cursor:pointer;margin-right:16px}.monaco-hover .hover-row.status-bar .actions .action-container .action .icon{padding-right:4px}.monaco-hover .hover-row.status-bar .actions .action-container a{color:var(--vscode-textLink-foreground);text-decoration:var(--text-link-decoration)}.monaco-hover .markdown-hover .hover-contents .codicon{color:inherit;font-size:inherit;vertical-align:middle}.monaco-hover .hover-contents a.code-link,.monaco-hover .hover-contents a.code-link:hover{color:inherit}.monaco-hover .hover-contents a.code-link:before{content:"("}.monaco-hover .hover-contents a.code-link:after{content:")"}.monaco-hover .hover-contents a.code-link>span{border-bottom:1px solid transparent;color:var(--vscode-textLink-foreground);text-decoration:underline;text-underline-position:under}.monaco-hover .hover-contents a.code-link>span:hover{color:var(--vscode-textLink-activeForeground)}.monaco-hover .markdown-hover .hover-contents:not(.code-hover-contents):not(.html-hover-contents) span{display:inline-block;margin-bottom:4px}.monaco-hover .markdown-hover .hover-contents:not(.code-hover-contents):not(.html-hover-contents) span.codicon{margin-bottom:2px}.monaco-hover-content .action-container a{-webkit-user-select:none;user-select:none}.monaco-hover-content .action-container.disabled{cursor:default;opacity:.4;pointer-events:none}.monaco-icon-label{display:flex;overflow:hidden;text-overflow:ellipsis}.monaco-icon-label:before{background-position:0;background-repeat:no-repeat;background-size:16px;display:inline-block;height:22px;line-height:inherit!important;padding-right:6px;width:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;flex-shrink:0;vertical-align:top}.monaco-icon-label-iconpath{display:flex;height:16px;margin-top:2px;padding-left:2px;width:16px}.monaco-icon-label-container.disabled{color:var(--vscode-disabledForeground)}.monaco-icon-label>.monaco-icon-label-container{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.monaco-icon-label>.monaco-icon-label-container>.monaco-icon-name-container>.label-name{color:inherit;white-space:pre}.monaco-icon-label>.monaco-icon-label-container>.monaco-icon-name-container>.label-name>.label-separator{margin:0 2px;opacity:.5}.monaco-icon-label>.monaco-icon-label-container>.monaco-icon-suffix-container>.label-suffix{opacity:.7;white-space:pre}.monaco-icon-label>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{font-size:.9em;margin-left:.5em;opacity:.7;white-space:pre}.monaco-icon-label.nowrap>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{white-space:nowrap}.vs .monaco-icon-label>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{opacity:.95}.monaco-icon-label.italic>.monaco-icon-label-container>.monaco-icon-description-container>.label-description,.monaco-icon-label.italic>.monaco-icon-label-container>.monaco-icon-name-container>.label-name{font-style:italic}.monaco-icon-label.deprecated{opacity:.66;text-decoration:line-through}.monaco-icon-label.italic:after{font-style:italic}.monaco-icon-label.strikethrough>.monaco-icon-label-container>.monaco-icon-description-container>.label-description,.monaco-icon-label.strikethrough>.monaco-icon-label-container>.monaco-icon-name-container>.label-name{text-decoration:line-through}.monaco-icon-label:after{font-size:90%;font-weight:600;margin:auto 16px 0 5px;opacity:.75;text-align:center}.monaco-list:focus .selected .monaco-icon-label,.monaco-list:focus .selected .monaco-icon-label:after{color:inherit!important}.monaco-list-row.focused.selected .label-description,.monaco-list-row.selected .label-description{opacity:.8}.monaco-inputbox{border-radius:2px;box-sizing:border-box;display:block;font-size:inherit;padding:0;position:relative}.monaco-inputbox>.ibwrapper>.input,.monaco-inputbox>.ibwrapper>.mirror{padding:4px 6px}.monaco-inputbox>.ibwrapper{height:100%;position:relative;width:100%}.monaco-inputbox>.ibwrapper>.input{border:none;box-sizing:border-box;color:inherit;display:inline-block;font-family:inherit;font-size:inherit;height:100%;line-height:inherit;resize:none;width:100%}.monaco-inputbox>.ibwrapper>input{text-overflow:ellipsis}.monaco-inputbox>.ibwrapper>textarea.input{display:block;outline:none;scrollbar-width:none}.monaco-inputbox>.ibwrapper>textarea.input::-webkit-scrollbar{display:none}.monaco-inputbox>.ibwrapper>textarea.input.empty{white-space:nowrap}.monaco-inputbox>.ibwrapper>.mirror{box-sizing:border-box;display:inline-block;left:0;position:absolute;top:0;visibility:hidden;white-space:pre-wrap;width:100%;word-wrap:break-word}.monaco-inputbox-container{text-align:right}.monaco-inputbox-container .monaco-inputbox-message{box-sizing:border-box;display:inline-block;font-size:12px;line-height:17px;margin-top:-1px;overflow:hidden;padding:.4em;text-align:left;width:100%;word-wrap:break-word}.monaco-inputbox .monaco-action-bar{position:absolute;right:2px;top:4px}.monaco-inputbox .monaco-action-bar .action-item{margin-left:2px}.monaco-inputbox .monaco-action-bar .action-item .codicon{background-repeat:no-repeat;height:16px;width:16px}.monaco-keybinding{align-items:center;display:flex;line-height:10px}.monaco-keybinding>.monaco-keybinding-key{border-radius:3px;border-style:solid;border-width:1px;display:inline-block;font-size:11px;margin:0 2px;padding:3px 5px;vertical-align:middle}.monaco-keybinding>.monaco-keybinding-key:first-child{margin-left:0}.monaco-keybinding>.monaco-keybinding-key:last-child{margin-right:0}.monaco-keybinding>.monaco-keybinding-key-separator{display:inline-block}.monaco-keybinding>.monaco-keybinding-key-chord-separator{width:6px}.monaco-list{height:100%;position:relative;white-space:nowrap;width:100%}.monaco-list.mouse-support{user-select:none;-webkit-user-select:none}.monaco-list>.monaco-scrollable-element{height:100%}.monaco-list-rows{height:100%;position:relative;width:100%}.monaco-list.horizontal-scrolling .monaco-list-rows{min-width:100%;width:auto}.monaco-list-row{box-sizing:border-box;overflow:hidden;position:absolute;width:100%}.monaco-list.mouse-support .monaco-list-row{cursor:pointer;touch-action:none}.monaco-list .monaco-scrollable-element>.scrollbar.vertical,.monaco-pane-view>.monaco-split-view2.vertical>.monaco-scrollable-element>.scrollbar.vertical{z-index:14}.monaco-list-row.scrolling{display:none!important}.monaco-list.element-focused,.monaco-list.selection-multiple,.monaco-list.selection-single{outline:0!important}.monaco-drag-image{border-radius:10px;display:inline-block;font-size:12px;padding:1px 7px;position:absolute;z-index:1000}.monaco-list-type-filter-message{box-sizing:border-box;height:100%;left:0;opacity:.7;padding:40px 1em 1em;pointer-events:none;position:absolute;text-align:center;top:0;white-space:normal;width:100%}.monaco-list-type-filter-message:empty{display:none}.monaco-mouse-cursor-text{cursor:text}.monaco-progress-container{height:2px;overflow:hidden;width:100%}.monaco-progress-container .progress-bit{display:none;height:2px;left:0;position:absolute;width:2%}.monaco-progress-container.active .progress-bit{display:inherit}.monaco-progress-container.discrete .progress-bit{left:0;transition:width .1s linear}.monaco-progress-container.discrete.done .progress-bit{width:100%}.monaco-progress-container.infinite .progress-bit{animation-duration:4s;animation-iteration-count:infinite;animation-name:progress;animation-timing-function:linear;transform:translateZ(0)}.monaco-progress-container.infinite.infinite-long-running .progress-bit{animation-timing-function:steps(100)}@keyframes progress{0%{transform:translateX(0) scaleX(1)}50%{transform:translateX(2500%) scaleX(3)}to{transform:translateX(4900%) scaleX(1)}}:root{--vscode-sash-size:4px;--vscode-sash-hover-size:4px}.monaco-sash{position:absolute;touch-action:none;z-index:35}.monaco-sash.disabled{pointer-events:none}.monaco-sash.mac.vertical{cursor:col-resize}.monaco-sash.vertical.minimum{cursor:e-resize}.monaco-sash.vertical.maximum{cursor:w-resize}.monaco-sash.mac.horizontal{cursor:row-resize}.monaco-sash.horizontal.minimum{cursor:s-resize}.monaco-sash.horizontal.maximum{cursor:n-resize}.monaco-sash.disabled{cursor:default!important;pointer-events:none!important}.monaco-sash.vertical{cursor:ew-resize;height:100%;top:0;width:var(--vscode-sash-size)}.monaco-sash.horizontal{cursor:ns-resize;height:var(--vscode-sash-size);left:0;width:100%}.monaco-sash:not(.disabled)>.orthogonal-drag-handle{content:" ";cursor:all-scroll;display:block;height:calc(var(--vscode-sash-size)*2);position:absolute;width:calc(var(--vscode-sash-size)*2);z-index:100}.monaco-sash.horizontal.orthogonal-edge-north:not(.disabled)>.orthogonal-drag-handle.start,.monaco-sash.horizontal.orthogonal-edge-south:not(.disabled)>.orthogonal-drag-handle.end{cursor:nwse-resize}.monaco-sash.horizontal.orthogonal-edge-north:not(.disabled)>.orthogonal-drag-handle.end,.monaco-sash.horizontal.orthogonal-edge-south:not(.disabled)>.orthogonal-drag-handle.start{cursor:nesw-resize}.monaco-sash.vertical>.orthogonal-drag-handle.start{left:calc(var(--vscode-sash-size)*-.5);top:calc(var(--vscode-sash-size)*-1)}.monaco-sash.vertical>.orthogonal-drag-handle.end{bottom:calc(var(--vscode-sash-size)*-1);left:calc(var(--vscode-sash-size)*-.5)}.monaco-sash.horizontal>.orthogonal-drag-handle.start{left:calc(var(--vscode-sash-size)*-1);top:calc(var(--vscode-sash-size)*-.5)}.monaco-sash.horizontal>.orthogonal-drag-handle.end{right:calc(var(--vscode-sash-size)*-1);top:calc(var(--vscode-sash-size)*-.5)}.monaco-sash:before{background:transparent;content:"";height:100%;pointer-events:none;position:absolute;width:100%}.monaco-workbench:not(.reduce-motion) .monaco-sash:before{transition:background-color .1s ease-out}.monaco-sash.active:before,.monaco-sash.hover:before{background:var(--vscode-sash-hoverBorder)}.monaco-sash.vertical:before{left:calc(50% - var(--vscode-sash-hover-size)/2);width:var(--vscode-sash-hover-size)}.monaco-sash.horizontal:before{height:var(--vscode-sash-hover-size);top:calc(50% - var(--vscode-sash-hover-size)/2)}.pointer-events-disabled{pointer-events:none!important}.monaco-sash.debug{background:cyan}.monaco-sash.debug.disabled{background:rgba(0,255,255,.2)}.monaco-sash.debug:not(.disabled)>.orthogonal-drag-handle{background:red}.monaco-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.monaco-scrollable-element>.visible{background:transparent;opacity:1;transition:opacity .1s linear;z-index:11}.monaco-scrollable-element>.invisible{opacity:0;pointer-events:none}.monaco-scrollable-element>.invisible.fade{transition:opacity .8s linear}.monaco-scrollable-element>.shadow{display:none;position:absolute}.monaco-scrollable-element>.shadow.top{box-shadow:var(--vscode-scrollbar-shadow) 0 6px 6px -6px inset;display:block;height:3px;left:3px;top:0;width:100%}.monaco-scrollable-element>.shadow.left{box-shadow:var(--vscode-scrollbar-shadow) 6px 0 6px -6px inset;display:block;height:100%;left:0;top:3px;width:3px}.monaco-scrollable-element>.shadow.top-left-corner{display:block;height:3px;left:0;top:0;width:3px}.monaco-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow) 6px 0 6px -6px inset}.monaco-scrollable-element>.scrollbar>.slider{background:var(--vscode-scrollbarSlider-background)}.monaco-scrollable-element>.scrollbar>.slider:hover{background:var(--vscode-scrollbarSlider-hoverBackground)}.monaco-scrollable-element>.scrollbar>.slider.active{background:var(--vscode-scrollbarSlider-activeBackground)}.monaco-select-box{border-radius:2px;cursor:pointer;width:100%}.monaco-select-box-dropdown-container{font-size:13px;font-weight:400;text-transform:none}.monaco-action-bar .action-item.select-container{cursor:default}.monaco-action-bar .action-item .monaco-select-box{cursor:pointer;min-height:18px;min-width:100px;padding:2px 23px 2px 8px}.mac .monaco-action-bar .action-item .monaco-select-box{border-radius:5px;font-size:11px}.monaco-select-box-dropdown-padding{--dropdown-padding-top:1px;--dropdown-padding-bottom:1px}.hc-black .monaco-select-box-dropdown-padding,.hc-light .monaco-select-box-dropdown-padding{--dropdown-padding-top:3px;--dropdown-padding-bottom:4px}.monaco-select-box-dropdown-container{box-sizing:border-box;display:none}.monaco-select-box-dropdown-container>.select-box-details-pane>.select-box-description-markdown *{margin:0}.monaco-select-box-dropdown-container>.select-box-details-pane>.select-box-description-markdown a:focus{outline:1px solid -webkit-focus-ring-color;outline-offset:-1px}.monaco-select-box-dropdown-container>.select-box-details-pane>.select-box-description-markdown code{font-family:var(--monaco-monospace-font);line-height:15px}.monaco-select-box-dropdown-container.visible{border-bottom-left-radius:3px;border-bottom-right-radius:3px;display:flex;flex-direction:column;overflow:hidden;text-align:left;width:1px}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container{align-self:flex-start;box-sizing:border-box;flex:0 0 auto;overflow:hidden;padding-bottom:var(--dropdown-padding-bottom);padding-left:1px;padding-right:1px;padding-top:var(--dropdown-padding-top);width:100%}.monaco-select-box-dropdown-container>.select-box-details-pane{padding:5px}.hc-black .monaco-select-box-dropdown-container>.select-box-dropdown-list-container{padding-bottom:var(--dropdown-padding-bottom);padding-top:var(--dropdown-padding-top)}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row{cursor:pointer}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row>.option-text{float:left;overflow:hidden;padding-left:3.5px;text-overflow:ellipsis;white-space:nowrap}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row>.option-detail{float:left;opacity:.7;overflow:hidden;padding-left:3.5px;text-overflow:ellipsis;white-space:nowrap}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row>.option-decorator-right{float:right;overflow:hidden;padding-right:10px;text-overflow:ellipsis;white-space:nowrap}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row>.visually-hidden{height:1px;left:-10000px;overflow:hidden;position:absolute;top:auto;width:1px}.monaco-select-box-dropdown-container>.select-box-dropdown-container-width-control{align-self:flex-start;flex:1 1 auto;opacity:0}.monaco-select-box-dropdown-container>.select-box-dropdown-container-width-control>.width-control-div{max-height:0;overflow:hidden}.monaco-select-box-dropdown-container>.select-box-dropdown-container-width-control>.width-control-div>.option-text-width-control{padding-left:4px;padding-right:8px;white-space:nowrap}.monaco-split-view2{height:100%;position:relative;width:100%}.monaco-split-view2>.sash-container{height:100%;pointer-events:none;position:absolute;width:100%}.monaco-split-view2>.sash-container>.monaco-sash{pointer-events:auto}.monaco-split-view2>.monaco-scrollable-element{height:100%;width:100%}.monaco-split-view2>.monaco-scrollable-element>.split-view-container{height:100%;position:relative;white-space:nowrap;width:100%}.monaco-split-view2>.monaco-scrollable-element>.split-view-container>.split-view-view{position:absolute;white-space:normal}.monaco-split-view2>.monaco-scrollable-element>.split-view-container>.split-view-view:not(.visible){display:none}.monaco-split-view2.vertical>.monaco-scrollable-element>.split-view-container>.split-view-view{width:100%}.monaco-split-view2.horizontal>.monaco-scrollable-element>.split-view-container>.split-view-view{height:100%}.monaco-split-view2.separator-border>.monaco-scrollable-element>.split-view-container>.split-view-view:not(:first-child):before{background-color:var(--separator-border);content:" ";left:0;pointer-events:none;position:absolute;top:0;z-index:5}.monaco-split-view2.separator-border.horizontal>.monaco-scrollable-element>.split-view-container>.split-view-view:not(:first-child):before{height:100%;width:1px}.monaco-split-view2.separator-border.vertical>.monaco-scrollable-element>.split-view-container>.split-view-view:not(:first-child):before{height:1px;width:100%}.monaco-table{display:flex;flex-direction:column;height:100%;overflow:hidden;position:relative;white-space:nowrap;width:100%}.monaco-table>.monaco-split-view2{border-bottom:1px solid transparent}.monaco-table>.monaco-list{flex:1}.monaco-table-tr{display:flex;height:100%}.monaco-table-th{font-weight:700;height:100%;overflow:hidden;text-overflow:ellipsis;width:100%}.monaco-table-td,.monaco-table-th{box-sizing:border-box;flex-shrink:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.monaco-table>.monaco-split-view2 .monaco-sash.vertical:before{border-left:1px solid transparent;content:"";left:calc(var(--vscode-sash-size)/2);position:absolute;width:0}.monaco-workbench:not(.reduce-motion) .monaco-table>.monaco-split-view2,.monaco-workbench:not(.reduce-motion) .monaco-table>.monaco-split-view2 .monaco-sash.vertical:before{transition:border-color .2s ease-out}.monaco-custom-toggle{border:1px solid transparent;border-radius:3px;box-sizing:border-box;cursor:pointer;float:left;height:20px;margin-left:2px;overflow:hidden;padding:1px;user-select:none;-webkit-user-select:none;width:20px}.monaco-custom-toggle:hover{background-color:var(--vscode-inputOption-hoverBackground)}.hc-black .monaco-custom-toggle:hover,.hc-light .monaco-custom-toggle:hover{border:1px dashed var(--vscode-focusBorder)}.hc-black .monaco-custom-toggle,.hc-black .monaco-custom-toggle:hover,.hc-light .monaco-custom-toggle,.hc-light .monaco-custom-toggle:hover{background:none}.monaco-custom-toggle.monaco-checkbox{background-size:16px!important;border:1px solid transparent;border-radius:3px;height:18px;margin-left:0;margin-right:9px;opacity:1;padding:0;width:18px}.monaco-action-bar .checkbox-action-item{align-items:center;border-radius:2px;display:flex;padding-right:2px}.monaco-action-bar .checkbox-action-item:hover{background-color:var(--vscode-toolbar-hoverBackground)}.monaco-action-bar .checkbox-action-item>.monaco-custom-toggle.monaco-checkbox{margin-right:4px}.monaco-action-bar .checkbox-action-item>.checkbox-label{font-size:12px}.monaco-custom-toggle.monaco-checkbox:not(.checked):before{visibility:hidden}.monaco-toolbar{height:100%}.monaco-toolbar .toolbar-toggle-more{display:inline-block;padding:0}.monaco-tl-row{align-items:center;display:flex;height:100%;position:relative}.monaco-tl-row.disabled{cursor:default}.monaco-tl-indent{height:100%;left:16px;pointer-events:none;position:absolute;top:0}.hide-arrows .monaco-tl-indent{left:12px}.monaco-tl-indent>.indent-guide{border-left:1px solid transparent;box-sizing:border-box;display:inline-block;height:100%}.monaco-workbench:not(.reduce-motion) .monaco-tl-indent>.indent-guide{transition:border-color .1s linear}.monaco-tl-contents,.monaco-tl-twistie{height:100%}.monaco-tl-twistie{align-items:center;display:flex!important;flex-shrink:0;font-size:10px;justify-content:center;padding-right:6px;text-align:right;transform:translateX(3px);width:16px}.monaco-tl-contents{flex:1;overflow:hidden}.monaco-tl-twistie:before{border-radius:20px}.monaco-tl-twistie.collapsed:before{transform:rotate(-90deg)}.monaco-tl-twistie.codicon-tree-item-loading:before{animation:codicon-spin 1.25s steps(30) infinite}.monaco-tree-type-filter{border:1px solid var(--vscode-widget-border);border-bottom-left-radius:4px;border-bottom-right-radius:4px;display:flex;margin:0 6px;max-width:200px;padding:3px;position:absolute;top:0;z-index:100}.monaco-workbench:not(.reduce-motion) .monaco-tree-type-filter{transition:top .3s}.monaco-tree-type-filter.disabled{top:-40px!important}.monaco-tree-type-filter-grab{align-items:center;cursor:grab;display:flex!important;justify-content:center;margin-right:2px}.monaco-tree-type-filter-grab.grabbing{cursor:grabbing}.monaco-tree-type-filter-input{flex:1}.monaco-tree-type-filter-input .monaco-inputbox{height:23px}.monaco-tree-type-filter-input .monaco-inputbox>.ibwrapper>.input,.monaco-tree-type-filter-input .monaco-inputbox>.ibwrapper>.mirror{padding:2px 4px}.monaco-tree-type-filter-input .monaco-findInput>.controls{top:2px}.monaco-tree-type-filter-actionbar{margin-left:4px}.monaco-tree-type-filter-actionbar .monaco-action-bar .action-label{padding:2px}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container{background-color:var(--vscode-sideBar-background);height:0;left:0;position:absolute;top:0;width:100%;z-index:13}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-row.monaco-list-row{background-color:var(--vscode-sideBar-background);opacity:1!important;overflow:hidden;position:absolute;width:100%}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-row:hover{background-color:var(--vscode-list-hoverBackground)!important;cursor:pointer}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container.empty,.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container.empty .monaco-tree-sticky-container-shadow{display:none}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-container-shadow{bottom:-3px;height:0;left:0;position:absolute;width:100%}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container[tabindex="0"]:focus{outline:none}.monaco-editor .inputarea{background-color:transparent;border:none;color:transparent;margin:0;min-height:0;min-width:0;outline:none!important;overflow:hidden;padding:0;position:absolute;resize:none;z-index:-10}.monaco-editor .inputarea.ime-input{caret-color:var(--vscode-editorCursor-foreground);color:var(--vscode-editor-foreground);z-index:10}.monaco-workbench .workbench-hover{background:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border);border-radius:3px;box-shadow:0 2px 8px var(--vscode-widget-shadow);color:var(--vscode-editorHoverWidget-foreground);font-size:13px;line-height:19px;max-width:700px;overflow:hidden;position:relative;z-index:40}.monaco-workbench .workbench-hover hr{border-bottom:none}.monaco-workbench .workbench-hover:not(.skip-fade-in){animation:fadein .1s linear}.monaco-workbench .workbench-hover.compact{font-size:12px}.monaco-workbench .workbench-hover.compact .hover-contents{padding:2px 8px}.monaco-workbench .workbench-hover-container.locked .workbench-hover{outline:1px solid var(--vscode-editorHoverWidget-border)}.monaco-workbench .workbench-hover-container.locked .workbench-hover:focus,.monaco-workbench .workbench-hover-lock:focus{outline:1px solid var(--vscode-focusBorder)}.monaco-workbench .workbench-hover-container.locked .workbench-hover-lock:hover{background:var(--vscode-toolbar-hoverBackground)}.monaco-workbench .workbench-hover-pointer{pointer-events:none;position:absolute;z-index:41}.monaco-workbench .workbench-hover-pointer:after{background-color:var(--vscode-editorHoverWidget-background);border-bottom:1px solid var(--vscode-editorHoverWidget-border);border-right:1px solid var(--vscode-editorHoverWidget-border);content:"";height:5px;position:absolute;width:5px}.monaco-workbench .locked .workbench-hover-pointer:after{border-bottom-width:2px;border-right-width:2px;height:4px;width:4px}.monaco-workbench .workbench-hover-pointer.left{left:-3px}.monaco-workbench .workbench-hover-pointer.right{right:3px}.monaco-workbench .workbench-hover-pointer.top{top:-3px}.monaco-workbench .workbench-hover-pointer.bottom{bottom:3px}.monaco-workbench .workbench-hover-pointer.left:after{transform:rotate(135deg)}.monaco-workbench .workbench-hover-pointer.right:after{transform:rotate(315deg)}.monaco-workbench .workbench-hover-pointer.top:after{transform:rotate(225deg)}.monaco-workbench .workbench-hover-pointer.bottom:after{transform:rotate(45deg)}.monaco-workbench .workbench-hover a{color:var(--vscode-textLink-foreground)}.monaco-workbench .workbench-hover a:focus{outline:1px solid;outline-color:var(--vscode-focusBorder);outline-offset:-1px;text-decoration:underline}.monaco-workbench .workbench-hover a:active,.monaco-workbench .workbench-hover a:hover{color:var(--vscode-textLink-activeForeground)}.monaco-workbench .workbench-hover code{background:var(--vscode-textCodeBlock-background)}.monaco-workbench .workbench-hover .hover-row .actions{background:var(--vscode-editorHoverWidget-statusBarBackground)}.monaco-workbench .workbench-hover.right-aligned{left:1px}.monaco-workbench .workbench-hover.right-aligned .hover-row.status-bar .actions{flex-direction:row-reverse}.monaco-workbench .workbench-hover.right-aligned .hover-row.status-bar .actions .action-container{margin-left:16px;margin-right:0}.monaco-editor .blockDecorations-container{pointer-events:none;position:absolute;top:0}.monaco-editor .blockDecorations-block{box-sizing:border-box;position:absolute}.monaco-editor .margin-view-overlays .current-line,.monaco-editor .view-overlays .current-line{box-sizing:border-box;display:block;height:100%;left:0;position:absolute;top:0}.monaco-editor + .margin-view-overlays + .current-line.current-line-margin.current-line-margin-both{border-right:0}.monaco-editor .lines-content .cdr{height:100%;position:absolute}.monaco-editor .glyph-margin{position:absolute;top:0}.monaco-editor .glyph-margin-widgets .cgmr{align-items:center;display:flex;justify-content:center;position:absolute}.monaco-editor .glyph-margin-widgets .cgmr.codicon-modifier-spin:before{left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.monaco-editor .lines-content .core-guide{box-sizing:border-box;height:100%;position:absolute}.monaco-editor .margin-view-overlays .line-numbers{bottom:0;box-sizing:border-box;cursor:default;display:inline-block;font-variant-numeric:tabular-nums;position:absolute;text-align:right;vertical-align:middle}.monaco-editor .relative-current-line-number{display:inline-block;text-align:left;width:100%}.monaco-editor .margin-view-overlays .line-numbers.lh-odd{margin-top:1px}.monaco-editor .line-numbers{color:var(--vscode-editorLineNumber-foreground)}.monaco-editor .line-numbers.active-line-number{color:var(--vscode-editorLineNumber-activeForeground)}.mtkcontrol{background:#960000!important;color:#fff!important}.mtkoverflow{background-color:var(--vscode-button-background,var(--vscode-editor-background));border-color:var(--vscode-contrastBorder);border-radius:2px;border-style:solid;border-width:1px;color:var(--vscode-button-foreground,var(--vscode-editor-foreground));cursor:pointer;padding:4px}.mtkoverflow:hover{background-color:var(--vscode-button-hoverBackground)}.monaco-editor.no-user-select .lines-content,.monaco-editor.no-user-select .view-line,.monaco-editor.no-user-select .view-lines{user-select:none;-webkit-user-select:none}.monaco-editor.mac .lines-content:hover,.monaco-editor.mac .view-line:hover,.monaco-editor.mac .view-lines:hover{user-select:text;-webkit-user-select:text;-ms-user-select:text}.monaco-editor.enable-user-select{user-select:auto;-webkit-user-select:initial}.monaco-editor .view-lines{white-space:nowrap}.monaco-editor .view-line{position:absolute;width:100%}.monaco-editor .lines-content>.view-lines>.view-line>span{bottom:0;position:absolute;top:0}.monaco-editor .mtkw,.monaco-editor .mtkz{color:var(--vscode-editorWhitespace-foreground)!important}.monaco-editor .mtkz{display:inline-block}.monaco-editor .lines-decorations{background:#fff;position:absolute;top:0}.monaco-editor .margin-view-overlays .cldr{height:100%;position:absolute}.monaco-editor .margin{background-color:var(--vscode-editorGutter-background)}.monaco-editor .margin-view-overlays .cmdr{height:100%;left:0;position:absolute;width:100%}.monaco-editor .minimap.slider-mouseover .minimap-slider{opacity:0;transition:opacity .1s linear}.monaco-editor .minimap.slider-mouseover .minimap-slider.active,.monaco-editor .minimap.slider-mouseover:hover .minimap-slider{opacity:1}.monaco-editor .minimap-slider .minimap-slider-horizontal{background:var(--vscode-minimapSlider-background)}.monaco-editor .minimap-slider:hover .minimap-slider-horizontal{background:var(--vscode-minimapSlider-hoverBackground)}.monaco-editor .minimap-slider.active .minimap-slider-horizontal{background:var(--vscode-minimapSlider-activeBackground)}.monaco-editor .minimap-shadow-visible{box-shadow:var(--vscode-scrollbar-shadow) -6px 0 6px -6px inset}.monaco-editor .minimap-shadow-hidden{position:absolute;width:0}.monaco-editor .minimap-shadow-visible{left:-6px;position:absolute;width:6px}.monaco-editor.no-minimap-shadow .minimap-shadow-visible{left:-1px;position:absolute;width:1px}.minimap.autohide{opacity:0;transition:opacity .5s}.minimap.autohide:hover{opacity:1}.monaco-editor .minimap{z-index:5}.monaco-editor .overlayWidgets{left:0;position:absolute;top:0}.monaco-editor .view-ruler{box-shadow:1px 0 0 0 var(--vscode-editorRuler-foreground) inset;position:absolute;top:0}.monaco-editor .scroll-decoration{box-shadow:var(--vscode-scrollbar-shadow) 0 6px 6px -6px inset;height:6px;left:0;position:absolute;top:0}.monaco-editor .lines-content .cslr{position:absolute}.monaco-editor .focused .selected-text{background-color:var(--vscode-editor-selectionBackground)}.monaco-editor .selected-text{background-color:var(--vscode-editor-inactiveSelectionBackground)}.monaco-editor .top-left-radius{border-top-left-radius:3px}.monaco-editor .bottom-left-radius{border-bottom-left-radius:3px}.monaco-editor .top-right-radius{border-top-right-radius:3px}.monaco-editor .bottom-right-radius{border-bottom-right-radius:3px}.monaco-editor.hc-black .top-left-radius{border-top-left-radius:0}.monaco-editor.hc-black .bottom-left-radius{border-bottom-left-radius:0}.monaco-editor.hc-black .top-right-radius{border-top-right-radius:0}.monaco-editor.hc-black .bottom-right-radius{border-bottom-right-radius:0}.monaco-editor.hc-light .top-left-radius{border-top-left-radius:0}.monaco-editor.hc-light .bottom-left-radius{border-bottom-left-radius:0}.monaco-editor.hc-light .top-right-radius{border-top-right-radius:0}.monaco-editor.hc-light .bottom-right-radius{border-bottom-right-radius:0}.monaco-editor .cursors-layer{position:absolute;top:0}.monaco-editor .cursors-layer>.cursor{box-sizing:border-box;overflow:hidden;position:absolute}.monaco-editor .cursors-layer.cursor-smooth-caret-animation>.cursor{transition:all 80ms}.monaco-editor .cursors-layer.cursor-block-outline-style>.cursor{background:transparent!important;border-style:solid;border-width:1px}.monaco-editor .cursors-layer.cursor-underline-style>.cursor{background:transparent!important;border-bottom-style:solid;border-bottom-width:2px}.monaco-editor .cursors-layer.cursor-underline-thin-style>.cursor{background:transparent!important;border-bottom-style:solid;border-bottom-width:1px}@keyframes monaco-cursor-smooth{0%,20%{opacity:1}60%,to{opacity:0}}@keyframes monaco-cursor-phase{0%,20%{opacity:1}90%,to{opacity:0}}@keyframes monaco-cursor-expand{0%,20%{transform:scaleY(1)}80%,to{transform:scaleY(0)}}.cursor-smooth{animation:monaco-cursor-smooth .5s ease-in-out 0s 20 alternate}.cursor-phase{animation:monaco-cursor-phase .5s ease-in-out 0s 20 alternate}.cursor-expand>.cursor{animation:monaco-cursor-expand .5s ease-in-out 0s 20 alternate}.monaco-editor .mwh{color:var(--vscode-editorWhitespace-foreground)!important;position:absolute}::-ms-clear{display:none}.monaco-editor .editor-widget input{color:inherit}.monaco-editor{overflow:visible;position:relative;-webkit-text-size-adjust:100%;color:var(--vscode-editor-foreground);overflow-wrap:normal}.monaco-editor,.monaco-editor-background{background-color:var(--vscode-editor-background)}.monaco-editor .rangeHighlight{background-color:var(--vscode-editor-rangeHighlightBackground);border:1px solid var(--vscode-editor-rangeHighlightBorder);box-sizing:border-box}.monaco-editor.hc-black .rangeHighlight,.monaco-editor.hc-light .rangeHighlight{border-style:dotted}.monaco-editor .symbolHighlight{background-color:var(--vscode-editor-symbolHighlightBackground);border:1px solid var(--vscode-editor-symbolHighlightBorder);box-sizing:border-box}.monaco-editor.hc-black .symbolHighlight,.monaco-editor.hc-light .symbolHighlight{border-style:dotted}.monaco-editor .overflow-guard{overflow:hidden;position:relative}.monaco-editor .view-overlays{position:absolute;top:0}.monaco-editor .margin-view-overlays>div,.monaco-editor .view-overlays>div{position:absolute;width:100%}.monaco-editor .squiggly-error{border-bottom:4px double var(--vscode-editorError-border)}.monaco-editor .squiggly-error:before{background:var(--vscode-editorError-background);content:"";display:block;height:100%;width:100%}.monaco-editor .squiggly-warning{border-bottom:4px double var(--vscode-editorWarning-border)}.monaco-editor .squiggly-warning:before{background:var(--vscode-editorWarning-background);content:"";display:block;height:100%;width:100%}.monaco-editor .squiggly-info{border-bottom:4px double var(--vscode-editorInfo-border)}.monaco-editor .squiggly-info:before{background:var(--vscode-editorInfo-background);content:"";display:block;height:100%;width:100%}.monaco-editor .squiggly-hint{border-bottom:2px dotted var(--vscode-editorHint-border)}.monaco-editor.showUnused .squiggly-unnecessary{border-bottom:2px dashed var(--vscode-editorUnnecessaryCode-border)}.monaco-editor.showDeprecated .squiggly-inline-deprecated{text-decoration:line-through;text-decoration-color:var(--vscode-editor-foreground,inherit)}.monaco-component.diff-review{user-select:none;-webkit-user-select:none;z-index:99}.monaco-diff-editor .diff-review{position:absolute}.monaco-component.diff-review .diff-review-line-number{color:var(--vscode-editorLineNumber-foreground);display:inline-block;text-align:right}.monaco-component.diff-review .diff-review-summary{padding-left:10px}.monaco-component.diff-review .diff-review-shadow{box-shadow:var(--vscode-scrollbar-shadow) 0 -6px 6px -6px inset;position:absolute}.monaco-component.diff-review .diff-review-row{white-space:pre}.monaco-component.diff-review .diff-review-table{display:table;min-width:100%}.monaco-component.diff-review .diff-review-row{display:table-row;width:100%}.monaco-component.diff-review .diff-review-spacer{display:inline-block;vertical-align:middle;width:10px}.monaco-component.diff-review .diff-review-spacer>.codicon{font-size:9px!important}.monaco-component.diff-review .diff-review-actions{display:inline-block;position:absolute;right:10px;top:2px;z-index:100}.monaco-component.diff-review .diff-review-actions .action-label{height:16px;margin:2px 0;width:16px}.monaco-component.diff-review .revertButton{cursor:pointer}.monaco-editor .diff-hidden-lines-widget{width:100%}.monaco-editor .diff-hidden-lines{font-size:13px;height:0;line-height:14px;transform:translateY(-10px)}.monaco-editor .diff-hidden-lines .bottom.dragging,.monaco-editor .diff-hidden-lines .top.dragging,.monaco-editor .diff-hidden-lines:not(.dragging) .bottom:hover,.monaco-editor .diff-hidden-lines:not(.dragging) .top:hover{background-color:var(--vscode-focusBorder)}.monaco-editor .diff-hidden-lines .bottom,.monaco-editor .diff-hidden-lines .top{background-clip:padding-box;background-color:transparent;border-bottom:2px solid transparent;border-top:4px solid transparent;height:4px;transition:background-color .1s ease-out}.monaco-editor .diff-hidden-lines .bottom.canMoveTop:not(.canMoveBottom),.monaco-editor .diff-hidden-lines .top.canMoveTop:not(.canMoveBottom),.monaco-editor.draggingUnchangedRegion.canMoveTop:not(.canMoveBottom) *{cursor:n-resize!important}.monaco-editor .diff-hidden-lines .bottom:not(.canMoveTop).canMoveBottom,.monaco-editor .diff-hidden-lines .top:not(.canMoveTop).canMoveBottom,.monaco-editor.draggingUnchangedRegion:not(.canMoveTop).canMoveBottom *{cursor:s-resize!important}.monaco-editor .diff-hidden-lines .bottom.canMoveTop.canMoveBottom,.monaco-editor .diff-hidden-lines .top.canMoveTop.canMoveBottom,.monaco-editor.draggingUnchangedRegion.canMoveTop.canMoveBottom *{cursor:ns-resize!important}.monaco-editor .diff-hidden-lines .top{transform:translateY(4px)}.monaco-editor .diff-hidden-lines .bottom{transform:translateY(-6px)}.monaco-editor .diff-unchanged-lines{background:var(--vscode-diffEditor-unchangedCodeBackground)}.monaco-editor .noModificationsOverlay{align-items:center;background:var(--vscode-editor-background);display:flex;justify-content:center;z-index:1}.monaco-editor .diff-hidden-lines .center{background:var(--vscode-diffEditor-unchangedRegionBackground);box-shadow:inset 0 -5px 5px -7px var(--vscode-diffEditor-unchangedRegionShadow),inset 0 5px 5px -7px var(--vscode-diffEditor-unchangedRegionShadow);color:var(--vscode-diffEditor-unchangedRegionForeground);display:block;height:24px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.monaco-editor .diff-hidden-lines .center span.codicon{vertical-align:middle}.monaco-editor .diff-hidden-lines .center a:hover .codicon{color:var(--vscode-editorLink-activeForeground)!important;cursor:pointer}.monaco-editor .diff-hidden-lines div.breadcrumb-item{cursor:pointer}.monaco-editor .diff-hidden-lines div.breadcrumb-item:hover{color:var(--vscode-editorLink-activeForeground)}.monaco-editor .movedModified,.monaco-editor .movedOriginal{border:2px solid var(--vscode-diffEditor-move-border)}.monaco-editor .movedModified.currentMove,.monaco-editor .movedOriginal.currentMove{border:2px solid var(--vscode-diffEditor-moveActive-border)}.monaco-diff-editor .moved-blocks-lines path.currentMove{stroke:var(--vscode-diffEditor-moveActive-border)}.monaco-diff-editor .moved-blocks-lines path{pointer-events:visiblestroke}.monaco-diff-editor .moved-blocks-lines .arrow{fill:var(--vscode-diffEditor-move-border)}.monaco-diff-editor .moved-blocks-lines .arrow.currentMove{fill:var(--vscode-diffEditor-moveActive-border)}.monaco-diff-editor .moved-blocks-lines .arrow-rectangle{fill:var(--vscode-editor-background)}.monaco-diff-editor .moved-blocks-lines{pointer-events:none;position:absolute}.monaco-diff-editor .moved-blocks-lines path{fill:none;stroke:var(--vscode-diffEditor-move-border);stroke-width:2}.monaco-editor .char-delete.diff-range-empty{border-left:3px solid var(--vscode-diffEditor-removedTextBackground);margin-left:-1px}.monaco-editor .char-insert.diff-range-empty{border-left:3px solid var(--vscode-diffEditor-insertedTextBackground)}.monaco-editor .fold-unchanged{cursor:pointer}.monaco-diff-editor .diff-moved-code-block{display:flex;justify-content:flex-end;margin-top:-4px}.monaco-diff-editor .diff-moved-code-block .action-bar .action-label.codicon{font-size:12px;height:12px;width:12px}.monaco-diff-editor .diffOverview{z-index:9}.monaco-diff-editor .diffOverview .diffViewport{z-index:10}.monaco-diff-editor.vs .diffOverview{background:rgba(0,0,0,.03)}.monaco-diff-editor.vs-dark .diffOverview{background:hsla(0,0%,100%,.01)}.monaco-scrollable-element.modified-in-monaco-diff-editor.vs .scrollbar,.monaco-scrollable-element.modified-in-monaco-diff-editor.vs-dark .scrollbar{background:transparent}.monaco-scrollable-element.modified-in-monaco-diff-editor.hc-black .scrollbar,.monaco-scrollable-element.modified-in-monaco-diff-editor.hc-light .scrollbar{background:none}.monaco-scrollable-element.modified-in-monaco-diff-editor .slider{z-index:10}.modified-in-monaco-diff-editor .slider.active{background:hsla(0,0%,67%,.4)}.modified-in-monaco-diff-editor.hc-black .slider.active,.modified-in-monaco-diff-editor.hc-light .slider.active{background:none}.monaco-diff-editor .delete-sign,.monaco-diff-editor .insert-sign,.monaco-editor .delete-sign,.monaco-editor .insert-sign{align-items:center;display:flex!important;font-size:11px!important;opacity:.7!important}.monaco-diff-editor.hc-black .delete-sign,.monaco-diff-editor.hc-black .insert-sign,.monaco-diff-editor.hc-light .delete-sign,.monaco-diff-editor.hc-light .insert-sign,.monaco-editor.hc-black .delete-sign,.monaco-editor.hc-black .insert-sign,.monaco-editor.hc-light .delete-sign,.monaco-editor.hc-light .insert-sign{opacity:1}.monaco-editor .inline-added-margin-view-zone,.monaco-editor .inline-deleted-margin-view-zone{text-align:right}.monaco-editor .arrow-revert-change{position:absolute;z-index:10}.monaco-editor .arrow-revert-change:hover{cursor:pointer}.monaco-editor .view-zones .view-lines .view-line span{display:inline-block}.monaco-editor .margin-view-zones .lightbulb-glyph:hover{cursor:pointer}.monaco-diff-editor .char-insert,.monaco-editor .char-insert{background-color:var(--vscode-diffEditor-insertedTextBackground)}.monaco-diff-editor .line-insert,.monaco-editor .line-insert{background-color:var(--vscode-diffEditor-insertedLineBackground,var(--vscode-diffEditor-insertedTextBackground))}.monaco-editor .char-insert,.monaco-editor .line-insert{border:1px solid var(--vscode-diffEditor-insertedTextBorder);box-sizing:border-box}.monaco-editor.hc-black .char-insert,.monaco-editor.hc-black .line-insert,.monaco-editor.hc-light .char-insert,.monaco-editor.hc-light .line-insert{border-style:dashed}.monaco-editor .char-delete,.monaco-editor .line-delete{border:1px solid var(--vscode-diffEditor-removedTextBorder);box-sizing:border-box}.monaco-editor.hc-black .char-delete,.monaco-editor.hc-black .line-delete,.monaco-editor.hc-light .char-delete,.monaco-editor.hc-light .line-delete{border-style:dashed}.monaco-diff-editor .gutter-insert,.monaco-editor .gutter-insert,.monaco-editor .inline-added-margin-view-zone{background-color:var(--vscode-diffEditorGutter-insertedLineBackground,var(--vscode-diffEditor-insertedLineBackground),var(--vscode-diffEditor-insertedTextBackground))}.monaco-diff-editor .char-delete,.monaco-editor .char-delete,.monaco-editor .inline-deleted-text{background-color:var(--vscode-diffEditor-removedTextBackground)}.monaco-editor .inline-deleted-text{text-decoration:line-through}.monaco-diff-editor .line-delete,.monaco-editor .line-delete{background-color:var(--vscode-diffEditor-removedLineBackground,var(--vscode-diffEditor-removedTextBackground))}.monaco-diff-editor .gutter-delete,.monaco-editor .gutter-delete,.monaco-editor .inline-deleted-margin-view-zone{background-color:var(--vscode-diffEditorGutter-removedLineBackground,var(--vscode-diffEditor-removedLineBackground),var(--vscode-diffEditor-removedTextBackground))}.monaco-diff-editor.side-by-side .editor.modified{border-left:1px solid var(--vscode-diffEditor-border);box-shadow:-6px 0 5px -5px var(--vscode-scrollbar-shadow)}.monaco-diff-editor.side-by-side .editor.original{border-right:1px solid var(--vscode-diffEditor-border);box-shadow:6px 0 5px -5px var(--vscode-scrollbar-shadow)}.monaco-diff-editor .diffViewport{background:var(--vscode-scrollbarSlider-background)}.monaco-diff-editor .diffViewport:hover{background:var(--vscode-scrollbarSlider-hoverBackground)}.monaco-diff-editor .diffViewport:active{background:var(--vscode-scrollbarSlider-activeBackground)}.monaco-editor .diagonal-fill{background-image:linear-gradient(-45deg,var(--vscode-diffEditor-diagonalFill) 12.5%,#0000 12.5%,#0000 50%,var(--vscode-diffEditor-diagonalFill) 50%,var(--vscode-diffEditor-diagonalFill) 62.5%,#0000 62.5%,#0000 100%);background-size:8px 8px}.monaco-diff-editor .gutter{flex-grow:0;flex-shrink:0;overflow:hidden;position:relative}.monaco-diff-editor .gutter>div{position:absolute}.monaco-diff-editor .gutter .gutterItem{opacity:0;transition:opacity .7s}.monaco-diff-editor .gutter .gutterItem.showAlways{opacity:1;transition:none}.monaco-diff-editor .gutter .gutterItem.noTransition{transition:none}.monaco-diff-editor .gutter:hover .gutterItem{opacity:1;transition:opacity .1s ease-in-out}.monaco-diff-editor .gutter .gutterItem .background{border-left:2px solid var(--vscode-menu-border);height:100%;left:50%;position:absolute;width:1px}.monaco-diff-editor .gutter .gutterItem .buttons{align-items:center;display:flex;justify-content:center;position:absolute;width:100%}.monaco-diff-editor .gutter .gutterItem .buttons .monaco-toolbar{height:fit-content}.monaco-diff-editor .gutter .gutterItem .buttons .monaco-toolbar .monaco-action-bar{line-height:1}.monaco-diff-editor .gutter .gutterItem .buttons .monaco-toolbar .monaco-action-bar .actions-container{background:var(--vscode-editorGutter-commentRangeForeground);border-radius:4px;width:fit-content}.monaco-diff-editor .gutter .gutterItem .buttons .monaco-toolbar .monaco-action-bar .actions-container .action-item:hover{background:var(--vscode-toolbar-hoverBackground)}.monaco-diff-editor .gutter .gutterItem .buttons .monaco-toolbar .monaco-action-bar .actions-container .action-item .action-label{padding:1px 2px}.monaco-diff-editor .diff-hidden-lines-compact{display:flex;height:11px}.monaco-diff-editor .diff-hidden-lines-compact .line-left,.monaco-diff-editor .diff-hidden-lines-compact .line-right{border-top:1px solid;border-color:var(--vscode-editorCodeLens-foreground);height:1px;margin:auto;opacity:.5;width:100%}.monaco-diff-editor .diff-hidden-lines-compact .line-left{width:20px}.monaco-diff-editor .diff-hidden-lines-compact .text{color:var(--vscode-editorCodeLens-foreground);text-wrap:nowrap;font-size:11px;line-height:11px;margin:0 4px}.monaco-editor .rendered-markdown kbd{background-color:var(--vscode-keybindingLabel-background);border-color:var(--vscode-keybindingLabel-border);border-bottom-color:var(--vscode-keybindingLabel-bottomBorder);border-radius:3px;border-style:solid;border-width:1px;box-shadow:inset 0 -1px 0 var(--vscode-widget-shadow);color:var(--vscode-keybindingLabel-foreground);padding:1px 3px;vertical-align:middle}.rendered-markdown li:has(input[type=checkbox]){list-style-type:none}.monaco-component.multiDiffEditor{background:var(--vscode-multiDiffEditor-background);height:100%;overflow-y:hidden;position:relative;width:100%}.monaco-component.multiDiffEditor>div{height:100%;left:0;position:absolute;top:0;width:100%}.monaco-component.multiDiffEditor>div.placeholder{display:grid;place-content:center;place-items:center;visibility:hidden}.monaco-component.multiDiffEditor>div.placeholder.visible{visibility:visible}.monaco-component.multiDiffEditor .active{--vscode-multiDiffEditor-border:var(--vscode-focusBorder)}.monaco-component.multiDiffEditor .multiDiffEntry{display:flex;flex:1;flex-direction:column;overflow:hidden}.monaco-component.multiDiffEditor .multiDiffEntry .collapse-button{cursor:pointer;margin:0 5px}.monaco-component.multiDiffEditor .multiDiffEntry .collapse-button a{display:block}.monaco-component.multiDiffEditor .multiDiffEntry .header{background:var(--vscode-editor-background);z-index:1000}.monaco-component.multiDiffEditor .multiDiffEntry .header:not(.collapsed) .header-content{border-bottom:1px solid var(--vscode-sideBarSectionHeader-border)}.monaco-component.multiDiffEditor .multiDiffEntry .header .header-content{align-items:center;background:var(--vscode-multiDiffEditor-headerBackground);border-top:1px solid var(--vscode-multiDiffEditor-border);color:var(--vscode-foreground);display:flex;margin:8px 0 0;padding:4px 5px}.monaco-component.multiDiffEditor .multiDiffEntry .header .header-content.shadow{box-shadow:var(--vscode-scrollbar-shadow) 0 6px 6px -6px}.monaco-component.multiDiffEditor .multiDiffEntry .header .header-content .file-path{display:flex;flex:1;min-width:0}.monaco-component.multiDiffEditor .multiDiffEntry .header .header-content .file-path .title{font-size:14px;line-height:22px}.monaco-component.multiDiffEditor .multiDiffEntry .header .header-content .file-path .title.original{flex:1;min-width:0;text-overflow:ellipsis}.monaco-component.multiDiffEditor .multiDiffEntry .header .header-content .file-path .status{font-weight:600;line-height:22px;margin:0 10px;opacity:.75}.monaco-component.multiDiffEditor .multiDiffEntry .header .header-content .actions{padding:0 8px}.monaco-component.multiDiffEditor .multiDiffEntry .editorParent{border-bottom:1px solid var(--vscode-multiDiffEditor-border);display:flex;flex:1;flex-direction:column;overflow:hidden}.monaco-component.multiDiffEditor .multiDiffEntry .editorContainer{flex:1}.monaco-editor .selection-anchor{background-color:#007acc;width:2px!important}.monaco-editor .bracket-match{background-color:var(--vscode-editorBracketMatch-background);border:1px solid var(--vscode-editorBracketMatch-border);box-sizing:border-box}.monaco-editor .lightBulbWidget{align-items:center;display:flex;justify-content:center}.monaco-editor .lightBulbWidget:hover{cursor:pointer}.monaco-editor .lightBulbWidget.codicon-light-bulb,.monaco-editor .lightBulbWidget.codicon-lightbulb-sparkle{color:var(--vscode-editorLightBulb-foreground)}.monaco-editor .lightBulbWidget.codicon-lightbulb-autofix,.monaco-editor .lightBulbWidget.codicon-lightbulb-sparkle-autofix{color:var(--vscode-editorLightBulbAutoFix-foreground,var(--vscode-editorLightBulb-foreground))}.monaco-editor .lightBulbWidget.codicon-sparkle-filled{color:var(--vscode-editorLightBulbAi-foreground,var(--vscode-icon-foreground))}.monaco-editor .lightBulbWidget:before{position:relative;z-index:2}.monaco-editor .lightBulbWidget:after{content:"";display:block;height:100%;left:0;opacity:.3;position:absolute;top:0;width:100%;z-index:1}.monaco-editor .glyph-margin-widgets .cgmr[class*=codicon-gutter-lightbulb]{cursor:pointer;display:block}.monaco-editor .glyph-margin-widgets .cgmr.codicon-gutter-lightbulb,.monaco-editor .glyph-margin-widgets .cgmr.codicon-gutter-lightbulb-sparkle{color:var(--vscode-editorLightBulb-foreground)}.monaco-editor .glyph-margin-widgets .cgmr.codicon-gutter-lightbulb-aifix-auto-fix,.monaco-editor .glyph-margin-widgets .cgmr.codicon-gutter-lightbulb-auto-fix{color:var(--vscode-editorLightBulbAutoFix-foreground,var(--vscode-editorLightBulb-foreground))}.monaco-editor .glyph-margin-widgets .cgmr.codicon-gutter-lightbulb-sparkle-filled{color:var(--vscode-editorLightBulbAi-foreground,var(--vscode-icon-foreground))}.monaco-editor .codelens-decoration{color:var(--vscode-editorCodeLens-foreground);display:inline-block;font-family:var(--vscode-editorCodeLens-fontFamily),var(--vscode-editorCodeLens-fontFamilyDefault);font-feature-settings:var(--vscode-editorCodeLens-fontFeatureSettings);font-size:var(--vscode-editorCodeLens-fontSize);line-height:var(--vscode-editorCodeLens-lineHeight);overflow:hidden;padding-right:calc(var(--vscode-editorCodeLens-fontSize)*.5);text-overflow:ellipsis;white-space:nowrap}.monaco-editor .codelens-decoration>a,.monaco-editor .codelens-decoration>span{user-select:none;-webkit-user-select:none;vertical-align:sub;white-space:nowrap}.monaco-editor .codelens-decoration>a{text-decoration:none}.monaco-editor .codelens-decoration>a:hover{cursor:pointer}.monaco-editor .codelens-decoration>a:hover,.monaco-editor .codelens-decoration>a:hover .codicon{color:var(--vscode-editorLink-activeForeground)!important}.monaco-editor .codelens-decoration .codicon{color:currentColor!important;color:var(--vscode-editorCodeLens-foreground);font-size:var(--vscode-editorCodeLens-fontSize);line-height:var(--vscode-editorCodeLens-lineHeight);vertical-align:middle}.monaco-editor .codelens-decoration>a:hover .codicon:before{cursor:pointer}@keyframes fadein{0%{opacity:0;visibility:visible}to{opacity:1}}.monaco-editor .codelens-decoration.fadein{animation:fadein .1s linear}.colorpicker-widget{height:190px;user-select:none;-webkit-user-select:none}.colorpicker-color-decoration,.hc-light .colorpicker-color-decoration{border:.1em solid #000;box-sizing:border-box;cursor:pointer;display:inline-block;height:.8em;line-height:.8em;margin:.1em .2em 0;width:.8em}.hc-black .colorpicker-color-decoration,.vs-dark .colorpicker-color-decoration{border:.1em solid #eee}.colorpicker-header{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuMTZEaa/1AAAAHUlEQVQYV2PYvXu3JAi7uLiAMaYAjAGTQBPYLQkAa/0Zef3qRswAAAAASUVORK5CYII=);background-size:9px 9px;display:flex;height:24px;image-rendering:pixelated;position:relative}.colorpicker-header .picked-color{align-items:center;color:#fff;cursor:pointer;display:flex;flex:1;justify-content:center;line-height:24px;overflow:hidden;white-space:nowrap;width:240px}.colorpicker-header .picked-color .picked-color-presentation{margin-left:5px;margin-right:5px;white-space:nowrap}.colorpicker-header .picked-color .codicon{color:inherit;font-size:14px}.colorpicker-header .picked-color.light{color:#000}.colorpicker-header .original-color{cursor:pointer;width:74px;z-index:inherit}.standalone-colorpicker{background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border);color:var(--vscode-editorHoverWidget-foreground)}.colorpicker-header.standalone-colorpicker{border-bottom:none}.colorpicker-header .close-button{background-color:var(--vscode-editorHoverWidget-background);border-left:1px solid var(--vscode-editorHoverWidget-border);cursor:pointer}.colorpicker-header .close-button-inner-div{height:100%;text-align:center;width:100%}.colorpicker-header .close-button-inner-div:hover{background-color:var(--vscode-toolbar-hoverBackground)}.colorpicker-header .close-icon{padding:3px}.colorpicker-body{display:flex;padding:8px;position:relative}.colorpicker-body .saturation-wrap{flex:1;height:150px;min-width:220px;overflow:hidden;position:relative}.colorpicker-body .saturation-box{height:150px;position:absolute}.colorpicker-body .saturation-selection{border:1px solid #fff;border-radius:100%;box-shadow:0 0 2px rgba(0,0,0,.8);height:9px;margin:-5px 0 0 -5px;position:absolute;width:9px}.colorpicker-body .strip{height:150px;width:25px}.colorpicker-body .standalone-strip{height:122px;width:25px}.colorpicker-body .hue-strip{background:linear-gradient(180deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red);cursor:grab;margin-left:8px;position:relative}.colorpicker-body .opacity-strip{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuMTZEaa/1AAAAHUlEQVQYV2PYvXu3JAi7uLiAMaYAjAGTQBPYLQkAa/0Zef3qRswAAAAASUVORK5CYII=);background-size:9px 9px;cursor:grab;image-rendering:pixelated;margin-left:8px;position:relative}.colorpicker-body .strip.grabbing{cursor:grabbing}.colorpicker-body .slider{border:1px solid hsla(0,0%,100%,.71);box-shadow:0 0 1px rgba(0,0,0,.85);box-sizing:border-box;height:4px;left:-2px;position:absolute;top:0;width:calc(100% + 4px)}.colorpicker-body .strip .overlay{height:150px;pointer-events:none}.colorpicker-body .standalone-strip .standalone-overlay{height:122px;pointer-events:none}.standalone-colorpicker-body{border:1px solid transparent;border-bottom:1px solid var(--vscode-editorHoverWidget-border);display:block;overflow:hidden}.colorpicker-body .insert-button{background:var(--vscode-button-background);border:none;border-radius:2px;bottom:8px;color:var(--vscode-button-foreground);cursor:pointer;height:20px;padding:0;position:absolute;right:8px;width:58px}.colorpicker-body .insert-button:hover{background:var(--vscode-button-hoverBackground)}.monaco-editor.hc-light .dnd-target,.monaco-editor.vs .dnd-target{border-right:2px dotted #000;color:#fff}.monaco-editor.vs-dark .dnd-target{border-right:2px dotted #aeafad;color:#51504f}.monaco-editor.hc-black .dnd-target{border-right:2px dotted #fff;color:#000}.monaco-editor.hc-black.mac.mouse-default .view-lines,.monaco-editor.hc-light.mac.mouse-default .view-lines,.monaco-editor.mouse-default .view-lines,.monaco-editor.vs-dark.mac.mouse-default .view-lines{cursor:default}.monaco-editor.hc-black.mac.mouse-copy .view-lines,.monaco-editor.hc-light.mac.mouse-copy .view-lines,.monaco-editor.mouse-copy .view-lines,.monaco-editor.vs-dark.mac.mouse-copy .view-lines{cursor:copy}.post-edit-widget{background-color:var(--vscode-editorWidget-background);border:1px solid var(--vscode-widget-border,transparent);border-radius:4px;box-shadow:0 0 8px 2px var(--vscode-widget-shadow);overflow:hidden}.post-edit-widget .monaco-button{border:none;border-radius:0;padding:2px}.post-edit-widget .monaco-button:hover{background-color:var(--vscode-button-secondaryHoverBackground)!important}.post-edit-widget .monaco-button .codicon{margin:0}.monaco-editor .findOptionsWidget{border:2px solid var(--vscode-contrastBorder)}.monaco-editor .find-widget,.monaco-editor .findOptionsWidget{background-color:var(--vscode-editorWidget-background);box-shadow:0 0 8px 2px var(--vscode-widget-shadow);color:var(--vscode-editorWidget-foreground)}.monaco-editor .find-widget{border-bottom:1px solid var(--vscode-widget-border);border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-left:1px solid var(--vscode-widget-border);border-right:1px solid var(--vscode-widget-border);box-sizing:border-box;height:33px;line-height:19px;overflow:hidden;padding:0 4px;position:absolute;transform:translateY(calc(-100% - 10px));transition:transform .2s linear;z-index:35}.monaco-workbench.reduce-motion .monaco-editor .find-widget{transition:transform 0ms linear}.monaco-editor .find-widget textarea{margin:0}.monaco-editor .find-widget.hiddenEditor{display:none}.monaco-editor .find-widget.replaceToggled>.replace-part{display:flex}.monaco-editor .find-widget.visible{transform:translateY(0)}.monaco-editor .find-widget .monaco-inputbox.synthetic-focus{outline:1px solid -webkit-focus-ring-color;outline-color:var(--vscode-focusBorder);outline-offset:-1px}.monaco-editor .find-widget .monaco-inputbox .input{background-color:transparent;min-height:0}.monaco-editor .find-widget .monaco-findInput .input{font-size:13px}.monaco-editor .find-widget>.find-part,.monaco-editor .find-widget>.replace-part{display:flex;font-size:12px;margin:3px 25px 0 17px}.monaco-editor .find-widget>.find-part .monaco-inputbox,.monaco-editor .find-widget>.replace-part .monaco-inputbox{min-height:25px}.monaco-editor .find-widget>.replace-part .monaco-inputbox>.ibwrapper>.mirror{padding-right:22px}.monaco-editor .find-widget>.find-part .monaco-inputbox>.ibwrapper>.input,.monaco-editor .find-widget>.find-part .monaco-inputbox>.ibwrapper>.mirror,.monaco-editor .find-widget>.replace-part .monaco-inputbox>.ibwrapper>.input,.monaco-editor .find-widget>.replace-part .monaco-inputbox>.ibwrapper>.mirror{padding-bottom:2px;padding-top:2px}.monaco-editor .find-widget>.find-part .find-actions,.monaco-editor .find-widget>.replace-part .replace-actions{align-items:center;display:flex;height:25px}.monaco-editor .find-widget .monaco-findInput{display:flex;flex:1;vertical-align:middle}.monaco-editor .find-widget .monaco-findInput .monaco-scrollable-element{width:100%}.monaco-editor .find-widget .monaco-findInput .monaco-scrollable-element .scrollbar.vertical{opacity:0}.monaco-editor .find-widget .matchesCount{box-sizing:border-box;display:flex;flex:initial;height:25px;line-height:23px;margin:0 0 0 3px;padding:2px 0 0 2px;text-align:center;vertical-align:middle}.monaco-editor .find-widget .button{align-items:center;background-position:50%;background-repeat:no-repeat;border-radius:5px;cursor:pointer;display:flex;flex:initial;height:16px;justify-content:center;margin-left:3px;padding:3px;width:16px}.monaco-editor .find-widget .codicon-find-selection{border-radius:5px;height:22px;padding:3px;width:22px}.monaco-editor .find-widget .button.left{margin-left:0;margin-right:3px}.monaco-editor .find-widget .button.wide{padding:1px 6px;top:-1px;width:auto}.monaco-editor .find-widget .button.toggle{border-radius:0;box-sizing:border-box;height:100%;left:3px;position:absolute;top:0;width:18px}.monaco-editor .find-widget .button.toggle.disabled{display:none}.monaco-editor .find-widget .disabled{color:var(--vscode-disabledForeground);cursor:default}.monaco-editor .find-widget>.replace-part{display:none}.monaco-editor .find-widget>.replace-part>.monaco-findInput{display:flex;flex:auto;flex-grow:0;flex-shrink:0;position:relative;vertical-align:middle}.monaco-editor .find-widget>.replace-part>.monaco-findInput>.controls{position:absolute;right:2px;top:3px}.monaco-editor .find-widget.reduced-find-widget .matchesCount{display:none}.monaco-editor .find-widget.narrow-find-widget{max-width:257px!important}.monaco-editor .find-widget.collapsed-find-widget{max-width:170px!important}.monaco-editor .find-widget.collapsed-find-widget .button.next,.monaco-editor .find-widget.collapsed-find-widget .button.previous,.monaco-editor .find-widget.collapsed-find-widget .button.replace,.monaco-editor .find-widget.collapsed-find-widget .button.replace-all,.monaco-editor .find-widget.collapsed-find-widget>.find-part .monaco-findInput .controls{display:none}.monaco-editor .find-widget.no-results .matchesCount{color:var(--vscode-errorForeground)}.monaco-editor .findMatch{animation-duration:0;animation-name:inherit!important;background-color:var(--vscode-editor-findMatchHighlightBackground)}.monaco-editor .currentFindMatch{background-color:var(--vscode-editor-findMatchBackground);border:2px solid var(--vscode-editor-findMatchBorder);box-sizing:border-box;padding:1px}.monaco-editor .findScope{background-color:var(--vscode-editor-findRangeHighlightBackground)}.monaco-editor .find-widget .monaco-sash{background-color:var(--vscode-editorWidget-resizeBorder,var(--vscode-editorWidget-border));left:0!important}.monaco-editor.hc-black .find-widget .button:before{left:2px;position:relative;top:1px}.monaco-editor .find-widget .button:not(.disabled):hover,.monaco-editor .find-widget .codicon-find-selection:hover{background-color:var(--vscode-toolbar-hoverBackground)!important}.monaco-editor.findMatch{background-color:var(--vscode-editor-findMatchHighlightBackground)}.monaco-editor.currentFindMatch{background-color:var(--vscode-editor-findMatchBackground)}.monaco-editor.findScope{background-color:var(--vscode-editor-findRangeHighlightBackground)}.monaco-editor.findMatch{background-color:var(--vscode-editorWidget-background)}.monaco-editor .find-widget>.button.codicon-widget-close{position:absolute;right:4px;top:5px}.monaco-editor .margin-view-overlays .codicon-folding-collapsed,.monaco-editor .margin-view-overlays .codicon-folding-expanded,.monaco-editor .margin-view-overlays .codicon-folding-manual-collapsed,.monaco-editor .margin-view-overlays .codicon-folding-manual-expanded{align-items:center;cursor:pointer;display:flex;font-size:140%;justify-content:center;margin-left:2px;opacity:0;transition:opacity .5s}.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-collapsed,.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-expanded,.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-manual-collapsed,.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-manual-expanded{transition:initial}.monaco-editor .margin-view-overlays .codicon.alwaysShowFoldIcons,.monaco-editor .margin-view-overlays .codicon.codicon-folding-collapsed,.monaco-editor .margin-view-overlays .codicon.codicon-folding-manual-collapsed,.monaco-editor .margin-view-overlays:hover .codicon{opacity:1}.monaco-editor .inline-folded:after{color:var(--vscode-editor-foldPlaceholderForeground);content:"\22EF";cursor:pointer;display:inline;line-height:1em;margin:.1em .2em 0}.monaco-editor .folded-background{background-color:var(--vscode-editor-foldBackground)}.monaco-editor .cldr.codicon.codicon-folding-collapsed,.monaco-editor .cldr.codicon.codicon-folding-expanded,.monaco-editor .cldr.codicon.codicon-folding-manual-collapsed,.monaco-editor .cldr.codicon.codicon-folding-manual-expanded{color:var(--vscode-editorGutter-foldingControlForeground)!important}.monaco-editor .peekview-widget .head .peekview-title .severity-icon{display:inline-block;margin-right:4px;vertical-align:text-top}.monaco-editor .marker-widget{text-overflow:ellipsis;white-space:nowrap}.monaco-editor .marker-widget>.stale{font-style:italic;opacity:.6}.monaco-editor .marker-widget .title{display:inline-block;padding-right:5px}.monaco-editor .marker-widget .descriptioncontainer{padding:8px 12px 0 20px;position:absolute;user-select:text;-webkit-user-select:text;white-space:pre}.monaco-editor .marker-widget .descriptioncontainer .message{display:flex;flex-direction:column}.monaco-editor .marker-widget .descriptioncontainer .message .details{padding-left:6px}.monaco-editor .marker-widget .descriptioncontainer .message .source,.monaco-editor .marker-widget .descriptioncontainer .message span.code{opacity:.6}.monaco-editor .marker-widget .descriptioncontainer .message a.code-link{color:inherit;opacity:.6}.monaco-editor .marker-widget .descriptioncontainer .message a.code-link:before{content:"("}.monaco-editor .marker-widget .descriptioncontainer .message a.code-link:after{content:")"}.monaco-editor .marker-widget .descriptioncontainer .message a.code-link>span{border-bottom:1px solid transparent;color:var(--vscode-textLink-activeForeground);text-decoration:underline;text-underline-position:under}.monaco-editor .marker-widget .descriptioncontainer .filename{color:var(--vscode-textLink-activeForeground);cursor:pointer}.monaco-editor .goto-definition-link{color:var(--vscode-editorLink-activeForeground)!important;cursor:pointer;text-decoration:underline}.monaco-editor .zone-widget .zone-widget-container.reference-zone-widget{border-bottom-width:1px;border-top-width:1px}.monaco-editor .reference-zone-widget .inline{display:inline-block;vertical-align:top}.monaco-editor .reference-zone-widget .messages{height:100%;padding:3em 0;text-align:center;width:100%}.monaco-editor .reference-zone-widget .ref-tree{background-color:var(--vscode-peekViewResult-background);color:var(--vscode-peekViewResult-lineForeground);line-height:23px}.monaco-editor .reference-zone-widget .ref-tree .reference{overflow:hidden;text-overflow:ellipsis}.monaco-editor .reference-zone-widget .ref-tree .reference-file{color:var(--vscode-peekViewResult-fileForeground);display:inline-flex;height:100%;width:100%}.monaco-editor .reference-zone-widget .ref-tree .monaco-list:focus .selected .reference-file{color:inherit!important}.monaco-editor .reference-zone-widget .ref-tree .monaco-list:focus .monaco-list-rows>.monaco-list-row.selected:not(.highlighted){background-color:var(--vscode-peekViewResult-selectionBackground);color:var(--vscode-peekViewResult-selectionForeground)!important}.monaco-editor .reference-zone-widget .ref-tree .reference-file .count{margin-left:auto;margin-right:12px}.monaco-editor .reference-zone-widget .ref-tree .referenceMatch .highlight{background-color:var(--vscode-peekViewResult-matchHighlightBackground)}.monaco-editor .reference-zone-widget .preview .reference-decoration{background-color:var(--vscode-peekViewEditor-matchHighlightBackground);border:2px solid var(--vscode-peekViewEditor-matchHighlightBorder);box-sizing:border-box}.monaco-editor .reference-zone-widget .preview .monaco-editor .inputarea.ime-input,.monaco-editor .reference-zone-widget .preview .monaco-editor .monaco-editor-background{background-color:var(--vscode-peekViewEditor-background)}.monaco-editor .reference-zone-widget .preview .monaco-editor .margin{background-color:var(--vscode-peekViewEditorGutter-background)}.monaco-editor.hc-black .reference-zone-widget .ref-tree .reference-file,.monaco-editor.hc-light .reference-zone-widget .ref-tree .reference-file{font-weight:700}.monaco-editor.hc-black .reference-zone-widget .ref-tree .referenceMatch .highlight,.monaco-editor.hc-light .reference-zone-widget .ref-tree .referenceMatch .highlight{border:1px dotted var(--vscode-contrastActiveBorder,transparent);box-sizing:border-box}.monaco-editor .hoverHighlight{background-color:var(--vscode-editor-hoverHighlightBackground)}.monaco-editor .monaco-hover-content{box-sizing:border-box;padding-bottom:2px;padding-right:2px}.monaco-editor .monaco-hover{background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border);border-radius:3px;color:var(--vscode-editorHoverWidget-foreground)}.monaco-editor .monaco-hover a{color:var(--vscode-textLink-foreground)}.monaco-editor .monaco-hover a:hover{color:var(--vscode-textLink-activeForeground)}.monaco-editor .monaco-hover .hover-row{display:flex}.monaco-editor .monaco-hover .hover-row .hover-row-contents{display:flex;flex-direction:column;min-width:0}.monaco-editor .monaco-hover .hover-row .verbosity-actions{border-right:1px solid var(--vscode-editorHoverWidget-border);display:flex;flex-direction:column;justify-content:end;padding-left:5px;padding-right:5px}.monaco-editor .monaco-hover .hover-row .verbosity-actions .codicon{cursor:pointer;font-size:11px}.monaco-editor .monaco-hover .hover-row .verbosity-actions .codicon.enabled{color:var(--vscode-textLink-foreground)}.monaco-editor .monaco-hover .hover-row .verbosity-actions .codicon.disabled{opacity:.6}.monaco-editor .monaco-hover .hover-row .actions{background-color:var(--vscode-editorHoverWidget-statusBarBackground)}.monaco-editor .monaco-hover code{background-color:var(--vscode-textCodeBlock-background)}.monaco-editor.vs .valueSetReplacement{outline:solid 2px var(--vscode-editorBracketMatch-border)}.monaco-editor .inlineSuggestionsHints.withBorder{background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border);color:var(--vscode-editorHoverWidget-foreground);z-index:39}.monaco-editor .inlineSuggestionsHints a,.monaco-editor .inlineSuggestionsHints a:hover{color:var(--vscode-foreground)}.monaco-editor .inlineSuggestionsHints .keybinding{display:flex;margin-left:4px;opacity:.6}.monaco-editor .inlineSuggestionsHints .keybinding .monaco-keybinding-key{font-size:8px;padding:2px 3px}.monaco-editor .inlineSuggestionsHints .availableSuggestionCount a{display:flex;justify-content:center;min-width:19px}.monaco-editor .inlineSuggestionStatusBarItemLabel{margin-right:2px}.monaco-editor .suggest-preview-additional-widget{white-space:nowrap}.monaco-editor .suggest-preview-additional-widget .content-spacer{color:transparent;white-space:pre}.monaco-editor .suggest-preview-additional-widget .button{cursor:pointer;display:inline-block;text-decoration:underline;text-underline-position:under}.monaco-editor .ghost-text-hidden{font-size:0;opacity:0}.monaco-editor .ghost-text-decoration,.monaco-editor .suggest-preview-text .ghost-text{font-style:italic}.monaco-editor .ghost-text-decoration,.monaco-editor .ghost-text-decoration-preview,.monaco-editor .suggest-preview-text .ghost-text{background-color:var(--vscode-editorGhostText-background);border:1px solid var(--vscode-editorGhostText-border);color:var(--vscode-editorGhostText-foreground)!important}.monaco-editor .inline-edit-remove{background-color:var(--vscode-editorGhostText-background);font-style:italic}.monaco-editor .inline-edit-hidden{font-size:0;opacity:0}.monaco-editor .inline-edit-decoration,.monaco-editor .suggest-preview-text .inline-edit{font-style:italic}.monaco-editor .inline-completion-text-to-replace{text-decoration:underline;text-underline-position:under}.monaco-editor .inline-edit-decoration,.monaco-editor .inline-edit-decoration-preview,.monaco-editor .suggest-preview-text .inline-edit{background-color:var(--vscode-editorGhostText-background);border:1px solid var(--vscode-editorGhostText-border);color:var(--vscode-editorGhostText-foreground)!important}.monaco-editor .inlineEditHints.withBorder{background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border);color:var(--vscode-editorHoverWidget-foreground);z-index:39}.monaco-editor .inlineEditHints a,.monaco-editor .inlineEditHints a:hover{color:var(--vscode-foreground)}.monaco-editor .inlineEditHints .keybinding{display:flex;margin-left:4px;opacity:.6}.monaco-editor .inlineEditHints .keybinding .monaco-keybinding-key{font-size:8px;padding:2px 3px}.monaco-editor .inlineEditStatusBarItemLabel{margin-right:2px}.monaco-editor .inlineEditSideBySide{background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border);color:var(--vscode-editorHoverWidget-foreground);white-space:pre;z-index:39}.monaco-editor div.inline-edits-widget{--widget-color:var(--vscode-notifications-background)}.monaco-editor div.inline-edits-widget .promptEditor .monaco-editor{--vscode-editor-placeholder-foreground:var(--vscode-editorGhostText-foreground)}.monaco-editor div.inline-edits-widget .promptEditor,.monaco-editor div.inline-edits-widget .toolbar{opacity:0;transition:opacity .2s ease-in-out}.monaco-editor div.inline-edits-widget.focused .promptEditor,.monaco-editor div.inline-edits-widget.focused .toolbar,.monaco-editor div.inline-edits-widget:hover .promptEditor,.monaco-editor div.inline-edits-widget:hover .toolbar{opacity:1}.monaco-editor div.inline-edits-widget .preview .monaco-editor{--vscode-editor-background:var(--widget-color)}.monaco-editor div.inline-edits-widget .preview .monaco-editor .mtk1{color:var(--vscode-editorGhostText-foreground)}.monaco-editor div.inline-edits-widget .preview .monaco-editor .current-line-margin,.monaco-editor div.inline-edits-widget .preview .monaco-editor .view-overlays .current-line-exact{border:none}.monaco-editor div.inline-edits-widget svg .gradient-start{stop-color:var(--vscode-editor-background)}.monaco-editor div.inline-edits-widget svg .gradient-stop{stop-color:var(--widget-color)}.inline-editor-progress-decoration{display:inline-block;height:1em;width:1em}.inline-progress-widget{align-items:center;display:flex!important;justify-content:center}.inline-progress-widget .icon{font-size:80%!important}.inline-progress-widget:hover .icon{animation:none;font-size:90%!important}.inline-progress-widget:hover .icon:before{content:var(--vscode-icon-x-content);font-family:var(--vscode-icon-x-font-family)}.monaco-editor .linked-editing-decoration{background-color:var(--vscode-editor-linkedEditingBackground);min-width:1px}.monaco-editor .detected-link,.monaco-editor .detected-link-active{text-decoration:underline;text-underline-position:under}.monaco-editor .detected-link-active{color:var(--vscode-editorLink-activeForeground)!important;cursor:pointer}.monaco-editor .monaco-editor-overlaymessage{padding-bottom:8px;z-index:10000}.monaco-editor .monaco-editor-overlaymessage.below{padding-bottom:0;padding-top:8px;z-index:10000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.monaco-editor .monaco-editor-overlaymessage.fadeIn{animation:fadeIn .15s ease-out}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.monaco-editor .monaco-editor-overlaymessage.fadeOut{animation:fadeOut .1s ease-out}.monaco-editor .monaco-editor-overlaymessage .message{background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-inputValidation-infoBorder);border-radius:3px;color:var(--vscode-editorHoverWidget-foreground);padding:2px 4px}.monaco-editor .monaco-editor-overlaymessage .message p{margin-block:0}.monaco-editor .monaco-editor-overlaymessage .message a{color:var(--vscode-textLink-foreground)}.monaco-editor .monaco-editor-overlaymessage .message a:hover{color:var(--vscode-textLink-activeForeground)}.monaco-editor.hc-black .monaco-editor-overlaymessage .message,.monaco-editor.hc-light .monaco-editor-overlaymessage .message{border-width:2px}.monaco-editor .monaco-editor-overlaymessage .anchor{border:8px solid transparent;height:0!important;left:2px;position:absolute;width:0!important;z-index:1000}.monaco-editor .monaco-editor-overlaymessage .anchor.top{border-bottom-color:var(--vscode-inputValidation-infoBorder)}.monaco-editor .monaco-editor-overlaymessage .anchor.below{border-top-color:var(--vscode-inputValidation-infoBorder)}.monaco-editor .monaco-editor-overlaymessage.below .anchor.below,.monaco-editor .monaco-editor-overlaymessage:not(.below) .anchor.top{display:none}.monaco-editor .monaco-editor-overlaymessage.below .anchor.top{display:inherit;top:-8px}.monaco-editor .parameter-hints-widget{background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border);color:var(--vscode-editorHoverWidget-foreground);cursor:default;display:flex;flex-direction:column;line-height:1.5em;z-index:39}.hc-black .monaco-editor .parameter-hints-widget,.hc-light .monaco-editor .parameter-hints-widget{border-width:2px}.monaco-editor .parameter-hints-widget>.phwrapper{display:flex;flex-direction:row;max-width:440px}.monaco-editor .parameter-hints-widget.multiple{min-height:3.3em;padding:0}.monaco-editor .parameter-hints-widget.multiple .body:before{border-left:1px solid var(--vscode-editorHoverWidget-border);content:"";display:block;height:100%;opacity:.5;position:absolute}.monaco-editor .parameter-hints-widget p,.monaco-editor .parameter-hints-widget ul{margin:8px 0}.monaco-editor .parameter-hints-widget .body,.monaco-editor .parameter-hints-widget .monaco-scrollable-element{display:flex;flex:1;flex-direction:column;min-height:100%}.monaco-editor .parameter-hints-widget .signature{padding:4px 5px;position:relative}.monaco-editor .parameter-hints-widget .signature.has-docs:after{border-bottom:1px solid var(--vscode-editorHoverWidget-border);content:"";display:block;left:0;opacity:.5;padding-top:4px;position:absolute;width:100%}.monaco-editor .parameter-hints-widget .code{font-family:var(--vscode-parameterHintsWidget-editorFontFamily),var(--vscode-parameterHintsWidget-editorFontFamilyDefault)}.monaco-editor .parameter-hints-widget .docs{padding:0 10px 0 5px;white-space:pre-wrap}.monaco-editor .parameter-hints-widget .docs.empty{display:none}.monaco-editor .parameter-hints-widget .docs a{color:var(--vscode-textLink-foreground)}.monaco-editor .parameter-hints-widget .docs a:hover{color:var(--vscode-textLink-activeForeground);cursor:pointer}.monaco-editor .parameter-hints-widget .docs .markdown-docs{white-space:normal}.monaco-editor .parameter-hints-widget .docs code{background-color:var(--vscode-textCodeBlock-background);border-radius:3px;font-family:var(--monaco-monospace-font);padding:0 .4em}.monaco-editor .parameter-hints-widget .docs .code,.monaco-editor .parameter-hints-widget .docs .monaco-tokenized-source{white-space:pre-wrap}.monaco-editor .parameter-hints-widget .controls{align-items:center;display:none;flex-direction:column;justify-content:flex-end;min-width:22px}.monaco-editor .parameter-hints-widget.multiple .controls{display:flex;padding:0 2px}.monaco-editor .parameter-hints-widget.multiple .button{background-repeat:no-repeat;cursor:pointer;height:16px;width:16px}.monaco-editor .parameter-hints-widget .button.previous{bottom:24px}.monaco-editor .parameter-hints-widget .overloads{font-family:var(--monaco-monospace-font);height:12px;line-height:12px;text-align:center}.monaco-editor .parameter-hints-widget .signature .parameter.active{color:var(--vscode-editorHoverWidget-highlightForeground);font-weight:700}.monaco-editor .parameter-hints-widget .documentation-parameter>.parameter{font-weight:700;margin-right:.5em}.monaco-editor .peekview-widget .head{box-sizing:border-box;display:flex;flex-wrap:nowrap;justify-content:space-between}.monaco-editor .peekview-widget .head .peekview-title{align-items:baseline;display:flex;font-size:13px;margin-left:20px;min-width:0;overflow:hidden;text-overflow:ellipsis}.monaco-editor .peekview-widget .head .peekview-title.clickable{cursor:pointer}.monaco-editor .peekview-widget .head .peekview-title .dirname:not(:empty){font-size:.9em;margin-left:.5em}.monaco-editor .peekview-widget .head .peekview-title .dirname,.monaco-editor .peekview-widget .head .peekview-title .filename,.monaco-editor .peekview-widget .head .peekview-title .meta{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.monaco-editor .peekview-widget .head .peekview-title .meta:not(:empty):before{content:"-";padding:0 .3em}.monaco-editor .peekview-widget .head .peekview-actions{flex:1;padding-right:2px;text-align:right}.monaco-editor .peekview-widget .head .peekview-actions>.monaco-action-bar{display:inline-block}.monaco-editor .peekview-widget .head .peekview-actions>.monaco-action-bar,.monaco-editor .peekview-widget .head .peekview-actions>.monaco-action-bar>.actions-container{height:100%}.monaco-editor .peekview-widget>.body{border-top:1px solid;position:relative}.monaco-editor .peekview-widget .head .peekview-title .codicon{align-self:center;margin-right:4px}.monaco-editor .peekview-widget .monaco-list .monaco-list-row.focused .codicon{color:inherit!important}.monaco-editor{--vscode-editor-placeholder-foreground:var(--vscode-editorGhostText-foreground)}.monaco-editor .editorPlaceholder{overflow:hidden;position:absolute;text-overflow:ellipsis;top:0;text-wrap:nowrap;color:var(--vscode-editor-placeholder-foreground);pointer-events:none}.monaco-editor .rename-box{border-radius:4px;color:inherit;z-index:100}.monaco-editor .rename-box.preview{padding:4px 4px 0}.monaco-editor .rename-box .rename-input-with-button{border-radius:2px;padding:3px;width:calc(100% - 8px)}.monaco-editor .rename-box .rename-input{padding:0;width:calc(100% - 8px)}.monaco-editor .rename-box .rename-input:focus{outline:none}.monaco-editor .rename-box .rename-suggestions-button{align-items:center;background-color:transparent;border:none;border-radius:5px;cursor:pointer;display:flex;padding:3px}.monaco-editor .rename-box .rename-suggestions-button:hover{background-color:var(--vscode-toolbar-hoverBackground)}.monaco-editor .rename-box .rename-candidate-list-container .monaco-list-row{border-radius:2px}.monaco-editor .rename-box .rename-label{display:none;opacity:.8}.monaco-editor .rename-box.preview .rename-label{display:inherit}.monaco-editor .snippet-placeholder{background-color:var(--vscode-editor-snippetTabstopHighlightBackground,transparent);min-width:2px;outline-color:var(--vscode-editor-snippetTabstopHighlightBorder,transparent);outline-style:solid;outline-width:1px}.monaco-editor .finish-snippet-placeholder{background-color:var(--vscode-editor-snippetFinalTabstopHighlightBackground,transparent);outline-color:var(--vscode-editor-snippetFinalTabstopHighlightBorder,transparent);outline-style:solid;outline-width:1px}.monaco-editor .sticky-widget{overflow:hidden}.monaco-editor .sticky-widget-line-numbers{background-color:inherit;float:left}.monaco-editor .sticky-widget-lines-scrollable{background-color:inherit;display:inline-block;overflow:hidden;position:absolute;width:var(--vscode-editorStickyScroll-scrollableWidth)}.monaco-editor .sticky-widget-lines{background-color:inherit;position:absolute}.monaco-editor .sticky-line-content,.monaco-editor .sticky-line-number{background-color:inherit;color:var(--vscode-editorLineNumber-foreground);display:inline-block;position:absolute;white-space:nowrap}.monaco-editor .sticky-line-number .codicon-folding-collapsed,.monaco-editor .sticky-line-number .codicon-folding-expanded{float:right;transition:var(--vscode-editorStickyScroll-foldingOpacityTransition)}.monaco-editor .sticky-line-content{background-color:inherit;white-space:nowrap;width:var(--vscode-editorStickyScroll-scrollableWidth)}.monaco-editor .sticky-line-number-inner{display:inline-block;text-align:right}.monaco-editor .sticky-widget{border-bottom:1px solid var(--vscode-editorStickyScroll-border)}.monaco-editor .sticky-line-content:hover{background-color:var(--vscode-editorStickyScrollHover-background);cursor:pointer}.monaco-editor .sticky-widget{background-color:var(--vscode-editorStickyScroll-background);box-shadow:var(--vscode-editorStickyScroll-shadow) 0 4px 2px -2px;right:auto!important;width:100%;z-index:4}.monaco-editor .sticky-widget.peek{background-color:var(--vscode-peekViewEditorStickyScroll-background)}.monaco-editor .suggest-widget{border-radius:3px;display:flex;flex-direction:column;width:430px;z-index:40}.monaco-editor .suggest-widget.message{align-items:center;flex-direction:row}.monaco-editor .suggest-details,.monaco-editor .suggest-widget{background-color:var(--vscode-editorSuggestWidget-background);border-color:var(--vscode-editorSuggestWidget-border);border-style:solid;border-width:1px;flex:0 1 auto;width:100%}.monaco-editor.hc-black .suggest-details,.monaco-editor.hc-black .suggest-widget,.monaco-editor.hc-light .suggest-details,.monaco-editor.hc-light .suggest-widget{border-width:2px}.monaco-editor .suggest-widget .suggest-status-bar{border-top:1px solid var(--vscode-editorSuggestWidget-border);box-sizing:border-box;display:none;flex-flow:row nowrap;font-size:80%;justify-content:space-between;overflow:hidden;padding:0 4px;width:100%}.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar{display:flex}.monaco-editor .suggest-widget .suggest-status-bar .left{padding-right:8px}.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-label{color:var(--vscode-editorSuggestWidgetStatus-foreground)}.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-item:not(:last-of-type) .action-label{margin-right:0}.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-item:not(:last-of-type) .action-label:after{content:", ";margin-right:.3em}.monaco-editor .suggest-widget.with-status-bar .monaco-list .monaco-list-row.focused.string-label>.contents>.main>.right>.readMore,.monaco-editor .suggest-widget.with-status-bar .monaco-list .monaco-list-row>.contents>.main>.right>.readMore{display:none}.monaco-editor .suggest-widget.with-status-bar:not(.docs-side) .monaco-list .monaco-list-row:hover>.contents>.main>.right.can-expand-details>.details-label{width:100%}.monaco-editor .suggest-widget>.message{padding-left:22px}.monaco-editor .suggest-widget>.tree{height:100%;width:100%}.monaco-editor .suggest-widget .monaco-list{user-select:none;-webkit-user-select:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row{background-position:2px 2px;background-repeat:no-repeat;-mox-box-sizing:border-box;box-sizing:border-box;cursor:pointer;display:flex;padding-right:10px;touch-action:none;white-space:nowrap}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused{color:var(--vscode-editorSuggestWidget-selectedForeground)}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused .codicon{color:var(--vscode-editorSuggestWidget-selectedIconForeground)}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents{flex:1;height:100%;overflow:hidden;padding-left:2px}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main{display:flex;justify-content:space-between;overflow:hidden;text-overflow:ellipsis;white-space:pre}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left,.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right{display:flex}.monaco-editor .suggest-widget .monaco-list .monaco-list-row:not(.focused)>.contents>.main .monaco-icon-label{color:var(--vscode-editorSuggestWidget-foreground)}.monaco-editor .suggest-widget:not(.frozen) .monaco-highlighted-label .highlight{font-weight:700}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main .monaco-highlighted-label .highlight{color:var(--vscode-editorSuggestWidget-highlightForeground)}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused>.contents>.main .monaco-highlighted-label .highlight{color:var(--vscode-editorSuggestWidget-focusHighlightForeground)}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.codicon-close,.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.readMore:before{color:inherit;cursor:pointer;font-size:14px;opacity:1}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.codicon-close{position:absolute;right:2px;top:6px}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.codicon-close:hover,.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.readMore:hover{opacity:1}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label{opacity:.7}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left>.signature-label{opacity:.6;overflow:hidden;text-overflow:ellipsis}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left>.qualifier-label{align-self:center;font-size:85%;line-height:normal;margin-left:12px;opacity:.4;overflow:hidden;text-overflow:ellipsis}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label{font-size:85%;margin-left:1.1em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label>.monaco-tokenized-source{display:inline}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label{display:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row:not(.string-label)>.contents>.main>.right>.details-label,.monaco-editor .suggest-widget.docs-side .monaco-list .monaco-list-row.focused:not(.string-label)>.contents>.main>.right>.details-label,.monaco-editor .suggest-widget:not(.shows-details) .monaco-list .monaco-list-row.focused>.contents>.main>.right>.details-label{display:inline}.monaco-editor .suggest-widget:not(.docs-side) .monaco-list .monaco-list-row.focused:hover>.contents>.main>.right.can-expand-details>.details-label{width:calc(100% - 26px)}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left{flex-grow:1;flex-shrink:1;overflow:hidden}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left>.monaco-icon-label{flex-shrink:0}.monaco-editor .suggest-widget .monaco-list .monaco-list-row:not(.string-label)>.contents>.main>.left>.monaco-icon-label{max-width:100%}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.string-label>.contents>.main>.left>.monaco-icon-label{flex-shrink:1}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right{flex-shrink:4;max-width:70%;overflow:hidden}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.readMore{display:inline-block;height:18px;position:absolute;right:10px;visibility:hidden;width:18px}.monaco-editor .suggest-widget.docs-side .monaco-list .monaco-list-row>.contents>.main>.right>.readMore{display:none!important}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.string-label>.contents>.main>.right>.readMore{display:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused.string-label>.contents>.main>.right>.readMore{display:inline-block}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused:hover>.contents>.main>.right>.readMore{visibility:visible}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label.deprecated{opacity:.66;text-decoration:unset}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label.deprecated>.monaco-icon-label-container>.monaco-icon-name-container{text-decoration:line-through}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label:before{height:100%}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon{background-position:50%;background-repeat:no-repeat;background-size:80%;display:block;height:16px;margin-left:2px;width:16px}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.hide{display:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .suggest-icon{align-items:center;display:flex;margin-right:4px}.monaco-editor .suggest-widget.no-icons .monaco-list .monaco-list-row .icon,.monaco-editor .suggest-widget.no-icons .monaco-list .monaco-list-row .suggest-icon:before{display:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.customcolor .colorspan{border:.1em solid #000;display:inline-block;height:.7em;margin:0 0 0 .3em;width:.7em}.monaco-editor .suggest-details-container{z-index:41}.monaco-editor .suggest-details{color:var(--vscode-editorSuggestWidget-foreground);cursor:default;display:flex;flex-direction:column}.monaco-editor .suggest-details.focused{border-color:var(--vscode-focusBorder)}.monaco-editor .suggest-details a{color:var(--vscode-textLink-foreground)}.monaco-editor .suggest-details a:hover{color:var(--vscode-textLink-activeForeground)}.monaco-editor .suggest-details code{background-color:var(--vscode-textCodeBlock-background)}.monaco-editor .suggest-details.no-docs{display:none}.monaco-editor .suggest-details>.monaco-scrollable-element{flex:1}.monaco-editor .suggest-details>.monaco-scrollable-element>.body{box-sizing:border-box;height:100%;width:100%}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.type{flex:2;margin:0 24px 0 0;opacity:.7;overflow:hidden;padding:4px 0 12px 5px;text-overflow:ellipsis;white-space:pre}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.type.auto-wrap{white-space:normal;word-break:break-all}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs{margin:0;padding:4px 5px;white-space:pre-wrap}.monaco-editor .suggest-details.no-type>.monaco-scrollable-element>.body>.docs{margin-right:24px;overflow:hidden}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs{min-height:calc(1rem + 8px);padding:0;white-space:normal}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>div,.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>span:not(:empty){padding:4px 5px}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>div>p:first-child{margin-top:0}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>div>p:last-child{margin-bottom:0}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs .monaco-tokenized-source{white-space:pre}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs .code{white-space:pre-wrap;word-wrap:break-word}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs .codicon{vertical-align:sub}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>p:empty{display:none}.monaco-editor .suggest-details code{border-radius:3px;padding:0 .4em}.monaco-editor .suggest-details ol,.monaco-editor .suggest-details ul{padding-left:20px}.monaco-editor .suggest-details p code{font-family:var(--monaco-monospace-font)}.monaco-editor .codicon.codicon-symbol-array,.monaco-workbench .codicon.codicon-symbol-array{color:var(--vscode-symbolIcon-arrayForeground)}.monaco-editor .codicon.codicon-symbol-boolean,.monaco-workbench .codicon.codicon-symbol-boolean{color:var(--vscode-symbolIcon-booleanForeground)}.monaco-editor .codicon.codicon-symbol-class,.monaco-workbench .codicon.codicon-symbol-class{color:var(--vscode-symbolIcon-classForeground)}.monaco-editor .codicon.codicon-symbol-method,.monaco-workbench .codicon.codicon-symbol-method{color:var(--vscode-symbolIcon-methodForeground)}.monaco-editor .codicon.codicon-symbol-color,.monaco-workbench .codicon.codicon-symbol-color{color:var(--vscode-symbolIcon-colorForeground)}.monaco-editor .codicon.codicon-symbol-constant,.monaco-workbench .codicon.codicon-symbol-constant{color:var(--vscode-symbolIcon-constantForeground)}.monaco-editor .codicon.codicon-symbol-constructor,.monaco-workbench .codicon.codicon-symbol-constructor{color:var(--vscode-symbolIcon-constructorForeground)}.monaco-editor .codicon.codicon-symbol-enum,.monaco-editor .codicon.codicon-symbol-value,.monaco-workbench .codicon.codicon-symbol-enum,.monaco-workbench .codicon.codicon-symbol-value{color:var(--vscode-symbolIcon-enumeratorForeground)}.monaco-editor .codicon.codicon-symbol-enum-member,.monaco-workbench .codicon.codicon-symbol-enum-member{color:var(--vscode-symbolIcon-enumeratorMemberForeground)}.monaco-editor .codicon.codicon-symbol-event,.monaco-workbench .codicon.codicon-symbol-event{color:var(--vscode-symbolIcon-eventForeground)}.monaco-editor .codicon.codicon-symbol-field,.monaco-workbench .codicon.codicon-symbol-field{color:var(--vscode-symbolIcon-fieldForeground)}.monaco-editor .codicon.codicon-symbol-file,.monaco-workbench .codicon.codicon-symbol-file{color:var(--vscode-symbolIcon-fileForeground)}.monaco-editor .codicon.codicon-symbol-folder,.monaco-workbench .codicon.codicon-symbol-folder{color:var(--vscode-symbolIcon-folderForeground)}.monaco-editor .codicon.codicon-symbol-function,.monaco-workbench .codicon.codicon-symbol-function{color:var(--vscode-symbolIcon-functionForeground)}.monaco-editor .codicon.codicon-symbol-interface,.monaco-workbench .codicon.codicon-symbol-interface{color:var(--vscode-symbolIcon-interfaceForeground)}.monaco-editor .codicon.codicon-symbol-key,.monaco-workbench .codicon.codicon-symbol-key{color:var(--vscode-symbolIcon-keyForeground)}.monaco-editor .codicon.codicon-symbol-keyword,.monaco-workbench .codicon.codicon-symbol-keyword{color:var(--vscode-symbolIcon-keywordForeground)}.monaco-editor .codicon.codicon-symbol-module,.monaco-workbench .codicon.codicon-symbol-module{color:var(--vscode-symbolIcon-moduleForeground)}.monaco-editor .codicon.codicon-symbol-namespace,.monaco-workbench .codicon.codicon-symbol-namespace{color:var(--vscode-symbolIcon-namespaceForeground)}.monaco-editor .codicon.codicon-symbol-null,.monaco-workbench .codicon.codicon-symbol-null{color:var(--vscode-symbolIcon-nullForeground)}.monaco-editor .codicon.codicon-symbol-number,.monaco-workbench .codicon.codicon-symbol-number{color:var(--vscode-symbolIcon-numberForeground)}.monaco-editor .codicon.codicon-symbol-object,.monaco-workbench .codicon.codicon-symbol-object{color:var(--vscode-symbolIcon-objectForeground)}.monaco-editor .codicon.codicon-symbol-operator,.monaco-workbench .codicon.codicon-symbol-operator{color:var(--vscode-symbolIcon-operatorForeground)}.monaco-editor .codicon.codicon-symbol-package,.monaco-workbench .codicon.codicon-symbol-package{color:var(--vscode-symbolIcon-packageForeground)}.monaco-editor .codicon.codicon-symbol-property,.monaco-workbench .codicon.codicon-symbol-property{color:var(--vscode-symbolIcon-propertyForeground)}.monaco-editor .codicon.codicon-symbol-reference,.monaco-workbench .codicon.codicon-symbol-reference{color:var(--vscode-symbolIcon-referenceForeground)}.monaco-editor .codicon.codicon-symbol-snippet,.monaco-workbench .codicon.codicon-symbol-snippet{color:var(--vscode-symbolIcon-snippetForeground)}.monaco-editor .codicon.codicon-symbol-string,.monaco-workbench .codicon.codicon-symbol-string{color:var(--vscode-symbolIcon-stringForeground)}.monaco-editor .codicon.codicon-symbol-struct,.monaco-workbench .codicon.codicon-symbol-struct{color:var(--vscode-symbolIcon-structForeground)}.monaco-editor .codicon.codicon-symbol-text,.monaco-workbench .codicon.codicon-symbol-text{color:var(--vscode-symbolIcon-textForeground)}.monaco-editor .codicon.codicon-symbol-type-parameter,.monaco-workbench .codicon.codicon-symbol-type-parameter{color:var(--vscode-symbolIcon-typeParameterForeground)}.monaco-editor .codicon.codicon-symbol-unit,.monaco-workbench .codicon.codicon-symbol-unit{color:var(--vscode-symbolIcon-unitForeground)}.monaco-editor .codicon.codicon-symbol-variable,.monaco-workbench .codicon.codicon-symbol-variable{color:var(--vscode-symbolIcon-variableForeground)}.editor-banner{background:var(--vscode-banner-background);box-sizing:border-box;cursor:default;display:flex;font-size:12px;height:26px;overflow:visible;width:100%}.editor-banner .icon-container{align-items:center;display:flex;flex-shrink:0;padding:0 6px 0 10px}.editor-banner .icon-container.custom-icon{background-position:50%;background-repeat:no-repeat;background-size:16px;margin:0 6px 0 10px;padding:0;width:16px}.editor-banner .message-container{align-items:center;display:flex;line-height:26px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editor-banner .message-container p{margin-block-end:0;margin-block-start:0}.editor-banner .message-actions-container{flex-grow:1;flex-shrink:0;line-height:26px;margin:0 4px}.editor-banner .message-actions-container a.monaco-button{margin:2px 8px;padding:0 12px;width:inherit}.editor-banner .message-actions-container a{margin-left:12px;padding:3px;text-decoration:underline}.editor-banner .action-container{padding:0 10px 0 6px}.editor-banner{background-color:var(--vscode-banner-background)}.editor-banner,.editor-banner .action-container .codicon,.editor-banner .message-actions-container .monaco-link{color:var(--vscode-banner-foreground)}.editor-banner .icon-container .codicon{color:var(--vscode-banner-iconForeground)}.monaco-editor .unicode-highlight{background-color:var(--vscode-editorUnicodeHighlight-background);border:1px solid var(--vscode-editorUnicodeHighlight-border);box-sizing:border-box}.monaco-editor .focused .selectionHighlight{background-color:var(--vscode-editor-selectionHighlightBackground);border:1px solid var(--vscode-editor-selectionHighlightBorder);box-sizing:border-box}.monaco-editor.hc-black .focused .selectionHighlight,.monaco-editor.hc-light .focused .selectionHighlight{border-style:dotted}.monaco-editor .wordHighlight{background-color:var(--vscode-editor-wordHighlightBackground);border:1px solid var(--vscode-editor-wordHighlightBorder);box-sizing:border-box}.monaco-editor.hc-black .wordHighlight,.monaco-editor.hc-light .wordHighlight{border-style:dotted}.monaco-editor .wordHighlightStrong{background-color:var(--vscode-editor-wordHighlightStrongBackground);border:1px solid var(--vscode-editor-wordHighlightStrongBorder);box-sizing:border-box}.monaco-editor.hc-black .wordHighlightStrong,.monaco-editor.hc-light .wordHighlightStrong{border-style:dotted}.monaco-editor .wordHighlightText{background-color:var(--vscode-editor-wordHighlightTextBackground);border:1px solid var(--vscode-editor-wordHighlightTextBorder);box-sizing:border-box}.monaco-editor.hc-black .wordHighlightText,.monaco-editor.hc-light .wordHighlightText{border-style:dotted}.monaco-editor .zone-widget{position:absolute;z-index:10}.monaco-editor .zone-widget .zone-widget-container{border-bottom-style:solid;border-bottom-width:0;border-top-style:solid;border-top-width:0;position:relative}.monaco-editor .iPadShowKeyboard{background:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1MyIgaGVpZ2h0PSIzNiIgZmlsbD0ibm9uZSI+PGcgY2xpcC1wYXRoPSJ1cmwoI2EpIj48cGF0aCBmaWxsPSIjNDI0MjQyIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00OC4wMzYgNC4wMUg0LjAwOFYzMi4wM2g0NC4wMjh6TTQuMDA4LjAwOEE0LjAwMyA0LjAwMyAwIDAgMCAuMDA1IDQuMDFWMzIuMDNhNC4wMDMgNC4wMDMgMCAwIDAgNC4wMDMgNC4wMDJoNDQuMDI4YTQuMDAzIDQuMDAzIDAgMCAwIDQuMDAzLTQuMDAyVjQuMDFBNC4wMDMgNC4wMDMgMCAwIDAgNDguMDM2LjAwOHpNOC4wMSA4LjAxM2g0LjAwM3Y0LjAwM0g4LjAxem0xMi4wMDggMGgtNC4wMDJ2NC4wMDNoNC4wMDJ6bTQuMDAzIDBoNC4wMDJ2NC4wMDNoLTQuMDAyem0xMi4wMDggMGgtNC4wMDN2NC4wMDNoNC4wMDN6bTQuMDAyIDBoNC4wMDN2NC4wMDNINDAuMDN6bS0yNC4wMTUgOC4wMDVIOC4wMXY0LjAwM2g4LjAwNnptNC4wMDIgMGg0LjAwM3Y0LjAwM2gtNC4wMDN6bTEyLjAwOCAwaC00LjAwM3Y0LjAwM2g0LjAwM3ptMTIuMDA4IDB2NC4wMDNoLTguMDA1di00LjAwM3ptLTMyLjAyMSA4LjAwNUg4LjAxdjQuMDAzaDQuMDAzem00LjAwMyAwaDIwLjAxM3Y0LjAwM0gxNi4wMTZ6bTI4LjAxOCAwSDQwLjAzdjQuMDAzaDQuMDAzeiIgY2xpcC1ydWxlPSJldmVub2RkIi8+PC9nPjxkZWZzPjxjbGlwUGF0aCBpZD0iYSI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTAgMGg1M3YzNkgweiIvPjwvY2xpcFBhdGg+PC9kZWZzPjwvc3ZnPg==) 50% no-repeat;border:4px solid #f6f6f6;border-radius:4px;height:36px;margin:0;min-height:0;min-width:0;overflow:hidden;padding:0;position:absolute;resize:none;width:58px}.monaco-editor.vs-dark .iPadShowKeyboard{background:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1MyIgaGVpZ2h0PSIzNiIgZmlsbD0ibm9uZSI+PGcgY2xpcC1wYXRoPSJ1cmwoI2EpIj48cGF0aCBmaWxsPSIjQzVDNUM1IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00OC4wMzYgNC4wMUg0LjAwOFYzMi4wM2g0NC4wMjh6TTQuMDA4LjAwOEE0LjAwMyA0LjAwMyAwIDAgMCAuMDA1IDQuMDFWMzIuMDNhNC4wMDMgNC4wMDMgMCAwIDAgNC4wMDMgNC4wMDJoNDQuMDI4YTQuMDAzIDQuMDAzIDAgMCAwIDQuMDAzLTQuMDAyVjQuMDFBNC4wMDMgNC4wMDMgMCAwIDAgNDguMDM2LjAwOHpNOC4wMSA4LjAxM2g0LjAwM3Y0LjAwM0g4LjAxem0xMi4wMDggMGgtNC4wMDJ2NC4wMDNoNC4wMDJ6bTQuMDAzIDBoNC4wMDJ2NC4wMDNoLTQuMDAyem0xMi4wMDggMGgtNC4wMDN2NC4wMDNoNC4wMDN6bTQuMDAyIDBoNC4wMDN2NC4wMDNINDAuMDN6bS0yNC4wMTUgOC4wMDVIOC4wMXY0LjAwM2g4LjAwNnptNC4wMDIgMGg0LjAwM3Y0LjAwM2gtNC4wMDN6bTEyLjAwOCAwaC00LjAwM3Y0LjAwM2g0LjAwM3ptMTIuMDA4IDB2NC4wMDNoLTguMDA1di00LjAwM3ptLTMyLjAyMSA4LjAwNUg4LjAxdjQuMDAzaDQuMDAzem00LjAwMyAwaDIwLjAxM3Y0LjAwM0gxNi4wMTZ6bTI4LjAxOCAwSDQwLjAzdjQuMDAzaDQuMDAzeiIgY2xpcC1ydWxlPSJldmVub2RkIi8+PC9nPjxkZWZzPjxjbGlwUGF0aCBpZD0iYSI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTAgMGg1M3YzNkgweiIvPjwvY2xpcFBhdGg+PC9kZWZzPjwvc3ZnPg==) 50% no-repeat;border:4px solid #252526}.monaco-editor .tokens-inspect-widget{background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border);color:var(--vscode-editorHoverWidget-foreground);padding:10px;user-select:text;-webkit-user-select:text;z-index:50}.monaco-editor.hc-black .tokens-inspect-widget,.monaco-editor.hc-light .tokens-inspect-widget{border-width:2px}.monaco-editor .tokens-inspect-widget .tokens-inspect-separator{background-color:var(--vscode-editorHoverWidget-border);border:0;height:1px}.monaco-editor .tokens-inspect-widget .tm-token{font-family:var(--monaco-monospace-font)}.monaco-editor .tokens-inspect-widget .tm-token-length{float:right;font-size:60%;font-weight:400}.monaco-editor .tokens-inspect-widget .tm-metadata-table{width:100%}.monaco-editor .tokens-inspect-widget .tm-metadata-value{font-family:var(--monaco-monospace-font);text-align:right}.monaco-editor .tokens-inspect-widget .tm-token-type{font-family:var(--monaco-monospace-font)}.quick-input-widget{font-size:13px}.quick-input-widget .monaco-highlighted-label .highlight{color:#0066bf}.vs .quick-input-widget .monaco-list-row.focused .monaco-highlighted-label .highlight{color:#9dddff}.vs-dark .quick-input-widget .monaco-highlighted-label .highlight{color:#0097fb}.hc-black .quick-input-widget .monaco-highlighted-label .highlight{color:#f38518}.hc-light .quick-input-widget .monaco-highlighted-label .highlight{color:#0f4a85}.monaco-keybinding>.monaco-keybinding-key{background-color:hsla(0,0%,87%,.4);border:1px solid hsla(0,0%,80%,.4);border-bottom-color:hsla(0,0%,73%,.4);box-shadow:inset 0 -1px 0 hsla(0,0%,73%,.4);color:#555}.hc-black .monaco-keybinding>.monaco-keybinding-key{background-color:transparent;border:1px solid #6fc3df;box-shadow:none;color:#fff}.hc-light .monaco-keybinding>.monaco-keybinding-key{background-color:transparent;border:1px solid #0f4a85;box-shadow:none;color:#292929}.vs-dark .monaco-keybinding>.monaco-keybinding-key{background-color:hsla(0,0%,50%,.17);border:1px solid rgba(51,51,51,.6);border-bottom-color:rgba(68,68,68,.6);box-shadow:inset 0 -1px 0 rgba(68,68,68,.6);color:#ccc}.monaco-editor{font-family:-apple-system,BlinkMacSystemFont,Segoe WPC,Segoe UI,HelveticaNeue-Light,system-ui,Ubuntu,Droid Sans,sans-serif;--monaco-monospace-font:"SF Mono",Monaco,Menlo,Consolas,"Ubuntu Mono","Liberation Mono","DejaVu Sans Mono","Courier New",monospace}.monaco-editor.hc-black .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label,.monaco-editor.hc-light .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label,.monaco-editor.vs-dark .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label,.monaco-menu .monaco-action-bar.vertical .action-item .action-menu-item:focus .action-label{stroke-width:1.2px}.monaco-hover p{margin:0}.monaco-aria-container{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;top:0;width:1px;clip:rect(1px,1px,1px,1px);clip-path:inset(50%)}.monaco-diff-editor .synthetic-focus,.monaco-diff-editor [tabindex="-1"]:focus,.monaco-diff-editor [tabindex="0"]:focus,.monaco-diff-editor button:focus,.monaco-diff-editor input[type=button]:focus,.monaco-diff-editor input[type=checkbox]:focus,.monaco-diff-editor input[type=search]:focus,.monaco-diff-editor input[type=text]:focus,.monaco-diff-editor select:focus,.monaco-diff-editor textarea:focus,.monaco-editor{opacity:1;outline-color:var(--vscode-focusBorder);outline-offset:-1px;outline-style:solid;outline-width:1px}.action-widget{background-color:var(--vscode-editorActionList-background);border:1px solid var(--vscode-editorWidget-border)!important;border-radius:0;border-radius:5px;box-shadow:0 2px 8px var(--vscode-widget-shadow);color:var(--vscode-editorActionList-foreground);display:block;font-size:13px;max-width:80vw;min-width:160px;padding:4px;width:100%;z-index:40}.context-view-block{z-index:-1}.context-view-block,.context-view-pointerBlock{cursor:auto;height:100%;left:0;position:fixed;top:0;width:100%}.context-view-pointerBlock{z-index:2}.action-widget .monaco-list{border:0!important;user-select:none;-webkit-user-select:none}.action-widget .monaco-list:focus:before{outline:0!important}.action-widget .monaco-list .monaco-scrollable-element{overflow:visible}.action-widget .monaco-list .monaco-list-row{border-radius:4px;cursor:pointer;padding:0 10px;touch-action:none;white-space:nowrap;width:100%}.action-widget .monaco-list .monaco-list-row.action.focused:not(.option-disabled){background-color:var(--vscode-editorActionList-focusBackground)!important;color:var(--vscode-editorActionList-focusForeground);outline:1px solid var(--vscode-menu-selectionBorder,transparent);outline-offset:-1px}.action-widget .monaco-list-row.group-header{color:var(--vscode-descriptionForeground)!important;font-size:12px;font-weight:600}.action-widget .monaco-list-row.group-header:not(:first-of-type){margin-top:2px}.action-widget .monaco-list .group-header,.action-widget .monaco-list .option-disabled,.action-widget .monaco-list .option-disabled .focused,.action-widget .monaco-list .option-disabled .focused:before,.action-widget .monaco-list .option-disabled:before{cursor:default!important;-webkit-touch-callout:none;background-color:transparent!important;outline:0 solid!important;-webkit-user-select:none;user-select:none}.action-widget .monaco-list-row.action{align-items:center;display:flex;gap:8px}.action-widget .monaco-list-row.action.option-disabled,.action-widget .monaco-list-row.action.option-disabled .codicon,.action-widget .monaco-list:focus .monaco-list-row.focused.action.option-disabled,.action-widget .monaco-list:not(.drop-target):not(.dragging) .monaco-list-row:hover:not(.selected):not(.focused).option-disabled{color:var(--vscode-disabledForeground)}.action-widget .monaco-list-row.action:not(.option-disabled) .codicon{color:inherit}.action-widget .monaco-list-row.action .title{flex:1;overflow:hidden;text-overflow:ellipsis}.action-widget .monaco-list-row.action .monaco-keybinding>.monaco-keybinding-key{background-color:var(--vscode-keybindingLabel-background);border-color:var(--vscode-keybindingLabel-border);border-bottom-color:var(--vscode-keybindingLabel-bottomBorder);border-radius:3px;border-style:solid;border-width:1px;box-shadow:inset 0 -1px 0 var(--vscode-widget-shadow);color:var(--vscode-keybindingLabel-foreground)}.action-widget .action-widget-action-bar{background-color:var(--vscode-editorActionList-background);border-top:1px solid var(--vscode-editorHoverWidget-border);margin-top:2px}.action-widget .action-widget-action-bar:before{content:"";display:block;width:100%}.action-widget .action-widget-action-bar .actions-container{padding:3px 8px 0}.action-widget-action-bar .action-label{color:var(--vscode-textLink-activeForeground);font-size:12px;line-height:22px;padding:0;pointer-events:all}.action-widget-action-bar .action-item{margin-right:16px;pointer-events:none}.action-widget-action-bar .action-label:hover{background-color:transparent!important}.monaco-action-bar .actions-container.highlight-toggled .action-label.checked{background:var(--vscode-actionBar-toggledBackground)!important}.monaco-action-bar .action-item.menu-entry .action-label.icon{background-position:50%;background-repeat:no-repeat;background-size:16px;height:16px;width:16px}.monaco-action-bar .action-item.menu-entry.text-only .action-label{border-radius:2px;color:var(--vscode-descriptionForeground);overflow:hidden}.monaco-action-bar .action-item.menu-entry.text-only.use-comma:not(:last-of-type) .action-label:after{content:", "}.monaco-action-bar .action-item.menu-entry.text-only+.action-item:not(.text-only)>.monaco-dropdown .action-label{color:var(--vscode-descriptionForeground)}.monaco-dropdown-with-default{border-radius:5px;display:flex!important;flex-direction:row}.monaco-dropdown-with-default>.action-container>.action-label{margin-right:0}.monaco-dropdown-with-default>.action-container.menu-entry>.action-label.icon{background-position:50%;background-repeat:no-repeat;background-size:16px;height:16px;width:16px}.monaco-dropdown-with-default:hover{background-color:var(--vscode-toolbar-hoverBackground)}.monaco-dropdown-with-default>.dropdown-action-container>.monaco-dropdown>.dropdown-label .codicon[class*=codicon-]{font-size:12px;line-height:16px;margin-left:-3px;padding-left:0;padding-right:0}.monaco-dropdown-with-default>.dropdown-action-container>.monaco-dropdown>.dropdown-label>.action-label{background-position:50%;background-repeat:no-repeat;background-size:16px;display:block}.monaco-link{color:var(--vscode-textLink-foreground)}.monaco-link:hover{color:var(--vscode-textLink-activeForeground)}.quick-input-widget{left:50%;margin-left:-300px;position:absolute;width:600px;z-index:2550;-webkit-app-region:no-drag;border-radius:6px}.quick-input-titlebar{align-items:center;border-top-left-radius:5px;border-top-right-radius:5px;display:flex}.quick-input-left-action-bar{display:flex;flex:1;margin-left:4px}.quick-input-inline-action-bar{margin:2px 0 0 5px}.quick-input-title{overflow:hidden;padding:3px 0;text-align:center;text-overflow:ellipsis}.quick-input-right-action-bar{display:flex;flex:1;margin-right:4px}.quick-input-right-action-bar>.actions-container{justify-content:flex-end}.quick-input-titlebar .monaco-action-bar .action-label.codicon{background-position:50%;background-repeat:no-repeat;padding:2px}.quick-input-description{margin:6px 6px 6px 11px}.quick-input-header .quick-input-description{flex:1;margin:4px 2px}.quick-input-header{display:flex;padding:8px 6px 2px}.quick-input-widget.hidden-input .quick-input-header{margin-bottom:0;padding:0}.quick-input-and-message{display:flex;flex-direction:column;flex-grow:1;min-width:0;position:relative}.quick-input-check-all{align-self:center;margin:0}.quick-input-filter{display:flex;flex-grow:1;position:relative}.quick-input-box{flex-grow:1}.quick-input-widget.show-checkboxes .quick-input-box,.quick-input-widget.show-checkboxes .quick-input-message{margin-left:5px}.quick-input-visible-count{left:-10000px;position:absolute}.quick-input-count{align-items:center;align-self:center;display:flex;position:absolute;right:4px}.quick-input-count .monaco-count-badge{border-radius:2px;line-height:normal;min-height:auto;padding:2px 4px;vertical-align:middle}.quick-input-action{margin-left:6px}.quick-input-action .monaco-text-button{align-items:center;display:flex;font-size:11px;height:25px;padding:0 6px}.quick-input-message{margin-top:-1px;overflow-wrap:break-word;padding:5px}.quick-input-message>.codicon{margin:0 .2em;vertical-align:text-bottom}.quick-input-message a{color:inherit}.quick-input-progress.monaco-progress-container{position:relative}.quick-input-list{line-height:22px}.quick-input-widget.hidden-input .quick-input-list{margin-top:4px;padding-bottom:4px}.quick-input-list .monaco-list{max-height:440px;overflow:hidden;padding-bottom:5px}.quick-input-list .monaco-scrollable-element{padding:0 5px}.quick-input-list .quick-input-list-entry{box-sizing:border-box;display:flex;overflow:hidden;padding:0 6px}.quick-input-list .quick-input-list-entry.quick-input-list-separator-border{border-top-style:solid;border-top-width:1px}.quick-input-list .monaco-list-row{border-radius:3px}.quick-input-list .monaco-list-row[data-index="0"] .quick-input-list-entry.quick-input-list-separator-border{border-top-style:none}.quick-input-list .quick-input-list-label{display:flex;flex:1;height:100%;overflow:hidden}.quick-input-list .quick-input-list-checkbox{align-self:center;margin:0}.quick-input-list .quick-input-list-icon{align-items:center;background-position:0;background-repeat:no-repeat;background-size:16px;display:flex;height:22px;justify-content:center;padding-right:6px;width:16px}.quick-input-list .quick-input-list-rows{display:flex;flex:1;flex-direction:column;height:100%;margin-left:5px;overflow:hidden;text-overflow:ellipsis}.quick-input-widget.show-checkboxes .quick-input-list .quick-input-list-rows{margin-left:10px}.quick-input-widget .quick-input-list .quick-input-list-checkbox{display:none}.quick-input-widget.show-checkboxes .quick-input-list .quick-input-list-checkbox{display:inline}.quick-input-list .quick-input-list-rows>.quick-input-list-row{align-items:center;display:flex}.quick-input-list .quick-input-list-rows>.quick-input-list-row .monaco-icon-label,.quick-input-list .quick-input-list-rows>.quick-input-list-row .monaco-icon-label .monaco-icon-label-container>.monaco-icon-name-container{flex:1}.quick-input-list .quick-input-list-rows>.quick-input-list-row .codicon[class*=codicon-]{vertical-align:text-bottom}.quick-input-list .quick-input-list-rows .monaco-highlighted-label>span{opacity:1}.quick-input-list .quick-input-list-entry .quick-input-list-entry-keybinding{margin-right:8px}.quick-input-list .quick-input-list-label-meta{line-height:normal;opacity:.7;overflow:hidden;text-overflow:ellipsis}.quick-input-list .monaco-list .monaco-list-row .monaco-highlighted-label .highlight{background-color:unset;color:var(--vscode-list-highlightForeground)!important;font-weight:700}.quick-input-list .monaco-list .monaco-list-row.focused .monaco-highlighted-label .highlight{color:var(--vscode-list-focusHighlightForeground)!important}.quick-input-list .quick-input-list-entry .quick-input-list-separator{margin-right:4px}.quick-input-list .quick-input-list-entry-action-bar{display:flex;flex:0;overflow:visible}.quick-input-list .quick-input-list-entry-action-bar .action-label{display:none}.quick-input-list .quick-input-list-entry-action-bar .action-label.codicon{margin-right:4px;padding:2px}.quick-input-list .quick-input-list-entry-action-bar{margin-right:4px;margin-top:1px}.quick-input-list .monaco-list-row.focused .quick-input-list-entry-action-bar .action-label,.quick-input-list .monaco-list-row.passive-focused .quick-input-list-entry-action-bar .action-label,.quick-input-list .quick-input-list-entry .quick-input-list-entry-action-bar .action-label.always-visible,.quick-input-list .quick-input-list-entry.focus-inside .quick-input-list-entry-action-bar .action-label,.quick-input-list .quick-input-list-entry:hover .quick-input-list-entry-action-bar .action-label{display:flex}.quick-input-list .monaco-list-row.focused .monaco-keybinding-key,.quick-input-list .monaco-list-row.focused .quick-input-list-entry .quick-input-list-separator{color:inherit}.quick-input-list .monaco-list-row.focused .monaco-keybinding-key{background:none}.quick-input-list .quick-input-list-separator-as-item{font-size:12px;padding:4px 6px}.quick-input-list .quick-input-list-separator-as-item .label-name{font-weight:600}.quick-input-list .quick-input-list-separator-as-item .label-description{opacity:1!important}.quick-input-list .monaco-tree-sticky-row .quick-input-list-entry.quick-input-list-separator-as-item.quick-input-list-separator-border{border-top-style:none}.quick-input-list .monaco-tree-sticky-row{padding:0 5px}.quick-input-list .monaco-tl-twistie{display:none!important}.extension-editor .codicon.codicon-error,.extensions-viewlet>.extensions .codicon.codicon-error,.markers-panel .marker-icon .codicon.codicon-error,.markers-panel .marker-icon.error,.monaco-editor .zone-widget .codicon.codicon-error,.preferences-editor .codicon.codicon-error,.text-search-provider-messages .providerMessage .codicon.codicon-error{color:var(--vscode-problemsErrorIcon-foreground)}.extension-editor .codicon.codicon-warning,.extensions-viewlet>.extensions .codicon.codicon-warning,.markers-panel .marker-icon .codicon.codicon-warning,.markers-panel .marker-icon.warning,.monaco-editor .zone-widget .codicon.codicon-warning,.preferences-editor .codicon.codicon-warning,.text-search-provider-messages .providerMessage .codicon.codicon-warning{color:var(--vscode-problemsWarningIcon-foreground)}.extension-editor .codicon.codicon-info,.extensions-viewlet>.extensions .codicon.codicon-info,.markers-panel .marker-icon .codicon.codicon-info,.markers-panel .marker-icon.info,.monaco-editor .zone-widget .codicon.codicon-info,.preferences-editor .codicon.codicon-info,.text-search-provider-messages .providerMessage .codicon.codicon-info{color:var(--vscode-problemsInfoIcon-foreground)} \ No newline at end of file diff --git a/src/control/content/js/monaco-editor/min/vs/editor/editor.main.js b/src/control/content/js/monaco-editor/min/vs/editor/editor.main.js new file mode 100644 index 0000000..1190b2d --- /dev/null +++ b/src/control/content/js/monaco-editor/min/vs/editor/editor.main.js @@ -0,0 +1,798 @@ +/*!----------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Version: 0.52.0-rc2(3c7eb57085d23d24c3b5527c45324440ea55c865) + * Released under the MIT license + * https://github.com/microsoft/vscode/blob/main/LICENSE.txt */ /* This fix ensures that old nls-plugin configurations are still respected by the new localization solution. */ /* We should try to avoid this file and find a different solution. */ /* Warning: This file still has to work when replacing "\n" with " "! */ /** * @type {typeof define} */ const globalDefine = globalThis.define; globalDefine('vs/nls.messages-loader', [], function (...args) { return { load: (name, req, load, config) => { const requestedLanguage = config['vs/nls']?.availableLanguages?.['*']; if (!requestedLanguage || requestedLanguage === 'en') { load({}); } else { req([`vs/nls.messages.${requestedLanguage}`], () => { load({}); }); } } }; }); globalDefine( 'vs/nls.messages', ['require', 'exports', 'vs/nls.messages-loader!'], function (require, exports) { Object.assign(exports, { getNLSMessages: () => globalThis._VSCODE_NLS_MESSAGES, getNLSLanguage: () => globalThis._VSCODE_NLS_LANGUAGE }); } ); define = function (...args) { if (args.length > 0 && args[0] === 'vs/nls.messages') { return; } return globalDefine(...args); }; define.amd = true; /* + *-----------------------------------------------------------*/(function(){var ne=["exports","require","vs/base/common/lifecycle","vs/nls","vs/editor/common/core/range","vs/base/browser/dom","vs/base/common/event","vs/platform/instantiation/common/instantiation","vs/base/common/errors","vs/editor/common/core/position","vs/css!vs/editor/editor.main","vs/base/common/strings","vs/platform/contextkey/common/contextkey","vs/base/common/arrays","vs/base/common/async","vs/editor/browser/editorExtensions","vs/base/common/platform","vs/editor/common/services/languageFeatures","vs/base/common/cancellation","vs/base/common/types","vs/editor/common/editorContextKeys","vs/base/common/observable","vs/base/common/uri","vs/editor/common/core/selection","vs/platform/commands/common/commands","vs/platform/theme/common/themeService","vs/base/common/codicons","vs/editor/common/languages","vs/platform/configuration/common/configuration","vs/platform/actions/common/actions","vs/base/common/themables","vs/platform/keybinding/common/keybinding","vs/platform/theme/common/colorRegistry","vs/base/common/color","vs/editor/browser/services/codeEditorService","vs/editor/common/model/textModel","vs/editor/common/languages/languageConfigurationRegistry","vs/editor/common/config/editorOptions","vs/platform/registry/common/platform","vs/base/browser/fastDomNode","vs/editor/common/model","vs/base/common/actions","vs/base/common/network","vs/editor/common/languages/language","vs/base/browser/ui/hover/hoverDelegateFactory","vs/base/common/map","vs/base/browser/ui/aria/aria","vs/base/browser/keyboardEvent","vs/base/common/resources","vs/platform/instantiation/common/extensions","vs/platform/notification/common/notification","vs/editor/common/services/model","vs/base/browser/window","vs/base/common/iterator","vs/base/common/stopwatch","vs/editor/common/core/lineRange","vs/editor/browser/view/viewPart","vs/base/common/htmlContent","vs/platform/contextview/browser/contextView","vs/platform/opener/common/opener","vs/base/common/objects","vs/platform/accessibility/common/accessibility","vs/platform/log/common/log","vs/platform/telemetry/common/telemetry","vs/base/browser/browser","vs/base/common/observableInternal/derived","vs/platform/quickinput/common/quickInput","vs/base/common/arraysFind","vs/editor/common/core/offsetRange","vs/base/browser/touch","vs/editor/common/languages/modesRegistry","vs/platform/theme/common/iconRegistry","vs/base/common/keyCodes","vs/base/common/linkedList","vs/editor/browser/config/domFontInfo","vs/editor/common/core/editOperation","vs/editor/common/cursorCommon","vs/base/browser/mouseEvent","vs/editor/common/services/resolverService","vs/editor/common/services/languageFeatureDebounce","vs/editor/common/core/editorColorRegistry","vs/base/browser/ui/hover/hoverDelegate2","vs/base/common/filters","vs/editor/common/tokens/lineTokens","vs/editor/contrib/hover/browser/hoverTypes","vs/base/browser/ui/widget","vs/base/browser/ui/scrollbar/scrollableElement","vs/base/browser/ui/actionbar/actionbar","vs/editor/browser/widget/diffEditor/utils","vs/platform/theme/common/colorUtils","vs/base/common/assert","vs/base/common/hierarchicalKind","vs/base/common/observableInternal/base","vs/base/browser/event","vs/editor/common/core/cursorColumns","vs/editor/common/viewModel","vs/platform/progress/common/progress","vs/platform/theme/common/theme","vs/base/common/lazy","vs/base/common/path","vs/editor/common/services/editorWorker","vs/platform/storage/common/storage","vs/base/common/equals","vs/base/browser/trustedTypes","vs/editor/common/core/textEdit","vs/editor/common/diff/rangeMapping","vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/length","vs/editor/common/standaloneStrings","vs/platform/markers/common/markers","vs/platform/configuration/common/configurationRegistry","vs/platform/theme/browser/defaultStyles","vs/base/common/severity","vs/editor/browser/observableCodeEditor","vs/editor/common/core/textLength","vs/base/browser/ui/iconLabel/iconLabels","vs/base/browser/ui/list/listWidget","vs/editor/common/core/stringBuilder","vs/platform/clipboard/common/clipboardService","vs/platform/hover/browser/hover","vs/platform/layout/browser/layoutService","vs/editor/browser/widget/markdownRenderer/browser/markdownRenderer","vs/platform/keybinding/common/keybindingsRegistry","vs/editor/contrib/editorState/browser/editorState","vs/platform/theme/common/colors/baseColors","vs/platform/actions/browser/menuEntryActionViewItem","vs/editor/browser/widget/codeEditor/embeddedCodeEditorWidget","vs/base/common/decorators","vs/base/common/functional","vs/base/common/mime","vs/base/common/hash","vs/editor/common/editorFeatures","vs/editor/common/languages/languageConfiguration","vs/editor/common/textModelEvents","vs/editor/browser/view/dynamicViewOverlay","vs/editor/contrib/codeAction/common/types","vs/editor/contrib/snippet/browser/snippetParser","vs/editor/common/viewLayout/viewLineRenderer","vs/platform/accessibilitySignal/browser/accessibilitySignalService","vs/platform/theme/common/colors/editorColors","vs/editor/browser/widget/diffEditor/registrations.contribution","vs/base/common/keybindings","vs/base/common/numbers","vs/base/common/iconLabels","vs/editor/browser/stableEditorScroll","vs/editor/common/core/characterClassifier","vs/editor/common/core/eolCounter","vs/editor/common/commands/replaceCommand","vs/editor/common/core/wordHelper","vs/editor/common/encodedTokenAttributes","vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/smallImmutableSet","vs/editor/common/viewLayout/lineDecorations","vs/base/browser/ui/actionbar/actionViewItems","vs/editor/browser/services/bulkEditService","vs/editor/standalone/common/standaloneTheme","vs/platform/instantiation/common/serviceCollection","vs/editor/contrib/suggest/browser/suggest","vs/platform/quickinput/common/quickAccess","vs/editor/contrib/codeAction/browser/codeAction","vs/editor/contrib/peekView/browser/peekView","vs/base/browser/ui/tree/tree","vs/base/common/buffer","vs/base/common/observableInternal/debugName","vs/base/common/observableInternal/logging","vs/base/common/scrollable","vs/editor/browser/view/renderingContext","vs/editor/common/config/editorZoom","vs/editor/common/core/wordCharacterClassifier","vs/editor/common/diff/defaultLinesDiffComputer/algorithms/diffAlgorithm","vs/editor/browser/editorBrowser","vs/editor/common/languages/supports","vs/editor/common/viewEventHandler","vs/base/common/hotReloadHelpers","vs/base/browser/globalPointerMoveMonitor","vs/base/browser/ui/sash/sash","vs/base/browser/ui/hover/hoverWidget","vs/base/browser/ui/toggle/toggle","vs/base/browser/ui/tree/abstractTree","vs/editor/common/languages/nullTokenize","vs/editor/contrib/gotoSymbol/browser/referencesModel","vs/platform/contextkey/common/contextkeys","vs/platform/dialogs/common/dialogs","vs/platform/label/common/label","vs/editor/contrib/documentSymbols/browser/outlineModel","vs/editor/common/commands/shiftCommand","vs/editor/contrib/message/browser/messageController","vs/editor/browser/editorDom","vs/platform/workspace/common/workspace","vs/base/common/idGenerator","vs/base/common/range","vs/base/common/observableInternal/utils","vs/base/common/diff/diff","vs/base/common/codiconsUtil","vs/base/common/uint","vs/base/common/uuid","vs/base/common/dataTransfer","vs/base/browser/ui/codicons/codiconStyles","vs/css!vs/editor/contrib/hover/browser/hover","vs/editor/common/core/textModelDefaults","vs/editor/common/editorCommon","vs/editor/common/cursor/cursorWordOperations","vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/beforeEditPositionMapper","vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/ast","vs/editor/common/model/textModelSearch","vs/editor/contrib/folding/browser/foldingRanges","vs/editor/contrib/inlineCompletions/browser/model/ghostText","vs/editor/contrib/inlineCompletions/browser/utils","vs/base/browser/ui/keybindingLabel/keybindingLabel","vs/base/browser/markdownRenderer","vs/editor/common/languages/supports/richEditBrackets","vs/editor/contrib/gotoSymbol/browser/link/clickLinkGesture","vs/editor/contrib/hover/browser/hoverUtils","vs/editor/common/services/textResourceConfiguration","vs/editor/browser/controller/textAreaInput","vs/editor/common/cursor/cursorTypeEditOperations","vs/editor/browser/coreCommands","vs/editor/browser/widget/diffEditor/diffProviderFactoryService","vs/platform/list/browser/listService","vs/editor/contrib/hover/browser/markdownHoverParticipant","vs/platform/actions/browser/toolbar","vs/editor/browser/widget/codeEditor/codeEditorWidget","vs/editor/contrib/find/browser/findModel","vs/editor/contrib/snippet/browser/snippetController2","vs/editor/standalone/browser/standaloneServices","vs/base/browser/ui/scrollbar/scrollbarState","vs/base/browser/dnd","vs/base/common/ternarySearchTree","vs/base/browser/ui/mouseCursor/mouseCursor","vs/css!vs/editor/contrib/colorPicker/browser/colorPicker","vs/css!vs/platform/quickinput/browser/media/quickInput","vs/editor/browser/config/tabFocus","vs/editor/common/core/indentation","vs/editor/common/diff/defaultLinesDiffComputer/utils","vs/editor/common/diff/linesDiffComputer","vs/editor/common/cursor/cursorMoveOperations","vs/editor/common/cursor/cursorDeleteOperations","vs/editor/common/cursor/cursorMoveCommands","vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/tokenizer","vs/editor/common/model/utils","vs/editor/common/standalone/standaloneEnums","vs/editor/common/textModelGuides","vs/editor/common/languages/supports/indentationLineProcessor","vs/editor/common/languages/autoIndent","vs/editor/browser/viewParts/glyphMargin/glyphMargin","vs/editor/common/viewEvents","vs/editor/common/viewModelEventDispatcher","vs/editor/contrib/inlineCompletions/browser/controller/commandIds","vs/editor/contrib/inlineCompletions/browser/model/singleTextEdit","vs/base/common/keybindingLabels","vs/base/browser/canIUse","vs/base/browser/ui/tree/indexTreeModel","vs/base/browser/ui/tree/objectTreeModel","vs/base/common/extpath","vs/base/common/marshalling","vs/base/browser/pixelRatio","vs/base/browser/ui/iconLabel/iconLabel","vs/base/browser/ui/resizable/resizable","vs/base/browser/ui/scrollbar/scrollbarArrow","vs/base/browser/ui/list/listView","vs/base/browser/ui/button/button","vs/base/browser/ui/inputbox/inputBox","vs/base/browser/ui/findinput/findInput","vs/editor/common/config/fontInfo","vs/editor/browser/view/viewLayer","vs/editor/common/model/tokens","vs/editor/contrib/hover/browser/hoverActionIds","vs/platform/instantiation/common/descriptors","vs/editor/common/services/markerDecorations","vs/editor/common/services/semanticTokensStyling","vs/editor/contrib/dropOrPasteInto/browser/edit","vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionContextKeys","vs/editor/contrib/parameterHints/browser/provideSignatureHelp","vs/platform/environment/common/environment","vs/platform/quickinput/browser/quickInput","vs/platform/jsonschemas/common/jsonContributionRegistry","vs/editor/common/config/editorConfigurationSchema","vs/editor/common/languages/enterAction","vs/editor/common/cursor/cursorTypeOperations","vs/editor/contrib/gotoSymbol/browser/goToSymbol","vs/platform/theme/common/colors/miscColors","vs/platform/theme/common/colors/listColors","vs/editor/contrib/symbolIcons/browser/symbolIcons","vs/editor/browser/viewParts/lines/viewLine","vs/editor/common/services/semanticTokensProviderStyling","vs/editor/contrib/inlineCompletions/browser/hintsWidget/inlineCompletionsHintsWidget","vs/platform/undoRedo/common/undoRedo","vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/diffEditorViewZones","vs/editor/browser/widget/diffEditor/diffEditorWidget","vs/editor/contrib/codeAction/browser/codeActionController","vs/editor/contrib/colorPicker/browser/colorHoverParticipant","vs/editor/contrib/folding/browser/folding","vs/editor/contrib/inlineProgress/browser/inlineProgress","vs/editor/contrib/gotoSymbol/browser/goToCommands","vs/editor/contrib/hover/browser/contentHoverController2","vs/editor/contrib/dropOrPasteInto/browser/defaultProviders","vs/editor/contrib/suggest/browser/suggestController","vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionsController","vs/base/browser/performance","vs/base/common/cache","vs/base/common/collections","vs/base/common/observableInternal/autorun","vs/base/common/ime","vs/base/common/symbols","vs/css!vs/base/browser/ui/actionbar/actionbar","vs/css!vs/base/browser/ui/dropdown/dropdown","vs/css!vs/base/browser/ui/findinput/findInput","vs/css!vs/base/browser/ui/list/list","vs/css!vs/platform/actionWidget/browser/actionWidget","vs/editor/browser/viewParts/minimap/minimapCharSheet","vs/editor/common/config/diffEditor","vs/editor/browser/view/viewUserInputEvents","vs/editor/browser/controller/textAreaState","vs/editor/common/core/rgba","vs/editor/common/commands/surroundSelectionCommand","vs/editor/common/cursor/cursorAtomicMoveOperations","vs/editor/common/diff/defaultLinesDiffComputer/algorithms/myersDiffAlgorithm","vs/editor/common/diff/defaultLinesDiffComputer/heuristicSequenceOptimizations","vs/editor/common/diff/defaultLinesDiffComputer/linesSliceCharSequence","vs/editor/common/diff/defaultLinesDiffComputer/defaultLinesDiffComputer","vs/editor/common/editorAction","vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/combineTextEditInfos","vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/parser","vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/brackets","vs/editor/common/model/prefixSumComputer","vs/editor/common/model/textModelPart","vs/editor/common/model/pieceTreeTextBuffer/pieceTreeBase","vs/editor/common/modelLineProjectionData","vs/editor/common/services/editorWorkerHost","vs/editor/common/services/treeViewsDnd","vs/editor/common/services/unicodeTextModelHighlighter","vs/editor/common/model/guidesTextModelPart","vs/editor/common/tokens/contiguousMultilineTokensBuilder","vs/editor/browser/viewParts/margin/margin","vs/editor/common/viewModel/overviewZoneManager","vs/editor/contrib/comment/browser/blockCommentCommand","vs/editor/contrib/folding/browser/foldingModel","vs/editor/contrib/folding/browser/indentRangeProvider","vs/editor/contrib/folding/browser/syntaxRangeProvider","vs/editor/contrib/format/browser/formattingEdit","vs/editor/contrib/indentation/common/indentUtils","vs/editor/contrib/semanticTokens/common/semanticTokensConfig","vs/editor/contrib/smartSelect/browser/bracketSelections","vs/editor/contrib/stickyScroll/browser/stickyScrollElement","vs/editor/contrib/suggest/browser/completionModel","vs/editor/contrib/suggest/browser/wordDistance","vs/editor/standalone/common/monarch/monarchCommon","vs/nls.messages","vs/base/common/errorMessage","vs/base/browser/fonts","vs/base/common/process","vs/base/common/hotReload","vs/base/common/glob","vs/base/browser/dompurify/dompurify","vs/base/browser/formattedTextRenderer","vs/base/browser/ui/contextview/contextview","vs/base/browser/ui/countBadge/countBadge","vs/base/browser/ui/highlightedlabel/highlightedLabel","vs/base/browser/ui/scrollbar/abstractScrollbar","vs/base/browser/ui/splitview/splitview","vs/base/browser/ui/findinput/findInputToggles","vs/base/browser/ui/dropdown/dropdownActionViewItem","vs/base/browser/ui/tree/objectTree","vs/base/common/worker/simpleWorker","vs/editor/browser/config/elementSizeObserver","vs/editor/browser/widget/diffEditor/components/diffEditorSash","vs/editor/browser/widget/diffEditor/features/movedBlocksLinesFeature","vs/editor/browser/widget/multiDiffEditor/utils","vs/editor/browser/config/fontMeasurements","vs/editor/common/core/textChange","vs/editor/common/languageSelector","vs/editor/common/languages/textToHtmlTokenizer","vs/editor/common/model/editStack","vs/editor/common/model/pieceTreeTextBuffer/pieceTreeTextBuffer","vs/editor/common/services/editorBaseApi","vs/editor/common/services/textModelSync/textModelSync.impl","vs/editor/common/viewModel/minimapTokensColorTracker","vs/editor/common/viewModel/viewModelDecorations","vs/editor/contrib/hover/browser/hoverOperation","vs/editor/contrib/inlayHints/browser/inlayHints","vs/editor/contrib/inlineCompletions/browser/model/provideInlineCompletions","vs/editor/contrib/placeholderText/browser/placeholderTextContribution","vs/platform/accessibility/browser/accessibleViewRegistry","vs/platform/action/common/action","vs/platform/files/common/files","vs/editor/browser/widget/diffEditor/features/hideUnchangedRegionsFeature","vs/editor/common/services/treeSitterParserService","vs/editor/contrib/colorPicker/browser/defaultDocumentColorProvider","vs/editor/contrib/codelens/browser/codelens","vs/editor/contrib/semanticTokens/common/getSemanticTokens","vs/editor/contrib/colorPicker/browser/color","vs/editor/standalone/common/monarch/monarchLexer","vs/editor/contrib/inlineEdits/browser/consts","vs/editor/contrib/hover/browser/contentHoverStatusBar","vs/platform/keybinding/common/keybindingResolver","vs/platform/keybinding/common/resolvedKeybindingItem","vs/editor/standalone/browser/standaloneLayoutService","vs/platform/contextview/browser/contextViewService","vs/editor/contrib/dropOrPasteInto/browser/postEditWidget","vs/platform/observable/common/platformObservableUtils","vs/platform/quickinput/browser/quickInputUtils","vs/platform/dnd/browser/dnd","vs/editor/browser/dnd","vs/editor/browser/services/editorWorkerService","vs/editor/contrib/suggest/browser/suggestWidgetDetails","vs/platform/configuration/common/configurationModels","vs/platform/history/browser/contextScopedHistoryWidget","vs/editor/contrib/suggest/browser/suggestMemory","vs/platform/actions/common/menuService","vs/editor/browser/widget/diffEditor/diffEditorViewModel","vs/editor/contrib/codeAction/browser/codeActionModel","vs/editor/contrib/format/browser/format","vs/editor/contrib/hover/browser/getHover","vs/editor/contrib/wordOperations/browser/wordOperations","vs/platform/theme/common/colors/inputColors","vs/platform/theme/common/colors/minimapColors","vs/editor/browser/controller/mouseTarget","vs/editor/browser/widget/diffEditor/features/overviewRulerFeature","vs/editor/browser/viewParts/lineNumbers/lineNumbers","vs/editor/contrib/quickAccess/browser/editorNavigationQuickAccess","vs/editor/standalone/browser/standaloneCodeEditorService","vs/editor/standalone/browser/standaloneThemeService","vs/editor/browser/widget/multiDiffEditor/diffEditorItemTemplate","vs/editor/contrib/codeAction/browser/lightBulbWidget","vs/editor/contrib/colorPicker/browser/colorDetector","vs/editor/contrib/find/browser/findController","vs/editor/contrib/folding/browser/foldingDecorations","vs/editor/contrib/inlineEdit/browser/inlineEditController","vs/editor/contrib/wordHighlighter/browser/highlightDecorations","vs/editor/contrib/gotoError/browser/gotoError","vs/editor/contrib/gotoSymbol/browser/peek/referencesController","vs/editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition","vs/editor/contrib/inlayHints/browser/inlayHintsLocations","vs/editor/contrib/inlayHints/browser/inlayHintsController","vs/editor/contrib/inlayHints/browser/inlayHintsHover","vs/editor/contrib/stickyScroll/browser/stickyScrollController","vs/editor/contrib/contextmenu/browser/contextmenu","vs/editor/contrib/dropOrPasteInto/browser/copyPasteController","vs/editor/contrib/snippet/browser/snippetSession","vs/editor/contrib/suggest/browser/suggestModel","vs/editor/contrib/inlineEdits/browser/inlineEditsWidget","vs/editor/contrib/inlineEdits/browser/inlineEditsController","vs/platform/workspace/common/workspaceTrust","vs/base/browser/iframe","vs/base/browser/ui/list/list","vs/base/browser/ui/list/splice","vs/base/common/diff/diffChange","vs/base/common/comparers","vs/base/common/linkedText","vs/base/common/marked/marked","vs/base/common/naturalLanguage/korean","vs/base/common/navigator","vs/base/common/history","vs/base/common/observableInternal/lazyObservableValue","vs/base/common/observableInternal/api","vs/base/common/observableInternal/promise","vs/base/browser/ui/list/rangeMap","vs/base/common/search","vs/base/common/tfIdf","vs/base/common/codiconsLibrary","vs/css!vs/base/browser/ui/aria/aria","vs/css!vs/base/browser/ui/button/button","vs/css!vs/base/browser/ui/codicons/codicon/codicon","vs/css!vs/base/browser/ui/codicons/codicon/codicon-modifiers","vs/css!vs/base/browser/ui/contextview/contextview","vs/css!vs/base/browser/ui/countBadge/countBadge","vs/css!vs/base/browser/ui/hover/hoverWidget","vs/css!vs/base/browser/ui/iconLabel/iconlabel","vs/css!vs/base/browser/ui/inputbox/inputBox","vs/css!vs/base/browser/ui/keybindingLabel/keybindingLabel","vs/css!vs/base/browser/ui/mouseCursor/mouseCursor","vs/css!vs/base/browser/ui/progressbar/progressbar","vs/css!vs/base/browser/ui/sash/sash","vs/css!vs/base/browser/ui/scrollbar/media/scrollbars","vs/css!vs/base/browser/ui/selectBox/selectBox","vs/css!vs/base/browser/ui/selectBox/selectBoxCustom","vs/css!vs/base/browser/ui/splitview/splitview","vs/css!vs/base/browser/ui/table/table","vs/css!vs/base/browser/ui/toggle/toggle","vs/css!vs/base/browser/ui/toolbar/toolbar","vs/css!vs/base/browser/ui/tree/media/tree","vs/css!vs/editor/browser/controller/textAreaHandler","vs/css!vs/editor/browser/services/hoverService/hover","vs/css!vs/editor/browser/viewParts/blockDecorations/blockDecorations","vs/css!vs/editor/browser/viewParts/currentLineHighlight/currentLineHighlight","vs/css!vs/editor/browser/viewParts/decorations/decorations","vs/css!vs/editor/browser/viewParts/glyphMargin/glyphMargin","vs/css!vs/editor/browser/viewParts/indentGuides/indentGuides","vs/css!vs/editor/browser/viewParts/lineNumbers/lineNumbers","vs/css!vs/editor/browser/viewParts/lines/viewLines","vs/css!vs/editor/browser/viewParts/linesDecorations/linesDecorations","vs/css!vs/editor/browser/viewParts/margin/margin","vs/css!vs/editor/browser/viewParts/marginDecorations/marginDecorations","vs/css!vs/editor/browser/viewParts/minimap/minimap","vs/css!vs/editor/browser/viewParts/overlayWidgets/overlayWidgets","vs/css!vs/editor/browser/viewParts/rulers/rulers","vs/css!vs/editor/browser/viewParts/scrollDecoration/scrollDecoration","vs/css!vs/editor/browser/viewParts/selections/selections","vs/css!vs/editor/browser/viewParts/viewCursors/viewCursors","vs/css!vs/editor/browser/viewParts/whitespace/whitespace","vs/css!vs/editor/browser/widget/codeEditor/editor","vs/css!vs/editor/browser/widget/diffEditor/components/accessibleDiffViewer","vs/css!vs/editor/browser/widget/diffEditor/style","vs/css!vs/editor/browser/widget/markdownRenderer/browser/renderedMarkdown","vs/css!vs/editor/browser/widget/multiDiffEditor/style","vs/css!vs/editor/contrib/anchorSelect/browser/anchorSelect","vs/css!vs/editor/contrib/bracketMatching/browser/bracketMatching","vs/css!vs/editor/contrib/codeAction/browser/lightBulbWidget","vs/css!vs/editor/contrib/codelens/browser/codelensWidget","vs/css!vs/editor/contrib/dnd/browser/dnd","vs/css!vs/editor/contrib/dropOrPasteInto/browser/postEditWidget","vs/css!vs/editor/contrib/find/browser/findOptionsWidget","vs/css!vs/editor/contrib/find/browser/findWidget","vs/css!vs/editor/contrib/folding/browser/folding","vs/css!vs/editor/contrib/gotoError/browser/media/gotoErrorWidget","vs/css!vs/editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition","vs/css!vs/editor/contrib/gotoSymbol/browser/peek/referencesWidget","vs/css!vs/editor/contrib/inPlaceReplace/browser/inPlaceReplace","vs/css!vs/editor/contrib/inlineCompletions/browser/hintsWidget/inlineCompletionsHintsWidget","vs/css!vs/editor/contrib/inlineCompletions/browser/view/ghostTextView","vs/css!vs/editor/contrib/inlineEdit/browser/inlineEdit","vs/css!vs/editor/contrib/inlineEdit/browser/inlineEditHintsWidget","vs/css!vs/editor/contrib/inlineEdit/browser/inlineEditSideBySideWidget","vs/css!vs/editor/contrib/inlineEdits/browser/inlineEditsWidget","vs/css!vs/editor/contrib/inlineProgress/browser/inlineProgressWidget","vs/css!vs/editor/contrib/linkedEditing/browser/linkedEditing","vs/css!vs/editor/contrib/links/browser/links","vs/css!vs/editor/contrib/message/browser/messageController","vs/css!vs/editor/contrib/parameterHints/browser/parameterHints","vs/css!vs/editor/contrib/peekView/browser/media/peekViewWidget","vs/css!vs/editor/contrib/placeholderText/browser/placeholderText","vs/css!vs/editor/contrib/rename/browser/renameWidget","vs/css!vs/editor/contrib/snippet/browser/snippetSession","vs/css!vs/editor/contrib/stickyScroll/browser/stickyScroll","vs/css!vs/editor/contrib/suggest/browser/media/suggest","vs/css!vs/editor/contrib/symbolIcons/browser/symbolIcons","vs/css!vs/editor/contrib/unicodeHighlighter/browser/bannerController","vs/css!vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter","vs/css!vs/editor/contrib/wordHighlighter/browser/highlightDecorations","vs/css!vs/editor/contrib/zoneWidget/browser/zoneWidget","vs/css!vs/editor/standalone/browser/iPadShowKeyboard/iPadShowKeyboard","vs/css!vs/editor/standalone/browser/inspectTokens/inspectTokens","vs/css!vs/editor/standalone/browser/quickInput/standaloneQuickInput","vs/css!vs/editor/standalone/browser/standalone-tokens","vs/css!vs/platform/actions/browser/menuEntryActionViewItem","vs/css!vs/platform/opener/browser/link","vs/css!vs/platform/severityIcon/browser/media/severityIcon","vs/editor/browser/config/charWidthReader","vs/editor/browser/config/migrateOptions","vs/editor/browser/viewParts/lines/domReadingContext","vs/editor/browser/viewParts/lines/rangeUtil","vs/editor/browser/viewParts/minimap/minimapCharRenderer","vs/editor/browser/viewParts/minimap/minimapPreBaked","vs/editor/browser/viewParts/minimap/minimapCharRendererFactory","vs/editor/browser/widget/diffEditor/delegatingEditorImpl","vs/editor/browser/widget/multiDiffEditor/objectPool","vs/editor/common/commands/trimTrailingWhitespaceCommand","vs/editor/common/core/positionToOffset","vs/editor/common/cursor/cursorContext","vs/editor/common/diff/defaultLinesDiffComputer/lineSequence","vs/editor/common/diff/defaultLinesDiffComputer/algorithms/dynamicProgrammingDiffing","vs/editor/common/diff/defaultLinesDiffComputer/computeMovedLines","vs/editor/common/diff/legacyLinesDiffComputer","vs/editor/common/diff/linesDiffComputers","vs/editor/common/editorTheme","vs/editor/common/languages/defaultDocumentColorsComputer","vs/editor/common/languages/linkComputer","vs/editor/common/cursor/cursorColumnSelection","vs/editor/common/cursor/oneCursor","vs/editor/common/cursor/cursorCollection","vs/editor/common/languages/supports/characterPair","vs/editor/common/languages/supports/indentRules","vs/editor/common/languages/supports/inplaceReplaceSupport","vs/editor/common/languages/supports/onEnter","vs/editor/common/languages/supports/tokenization","vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/nodeReader","vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/concat23Trees","vs/editor/common/model/bracketPairsTextModelPart/fixBrackets","vs/editor/common/model/fixedArray","vs/editor/common/model/indentationGuesser","vs/editor/common/model/intervalTree","vs/editor/common/model/pieceTreeTextBuffer/rbTreeBase","vs/editor/common/model/mirrorTextModel","vs/editor/common/model/textModelText","vs/editor/common/services/findSectionHeaders","vs/editor/common/textModelBracketPairs","vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/bracketPairsTree","vs/editor/common/tokenizationRegistry","vs/editor/common/tokens/contiguousMultilineTokens","vs/editor/common/tokens/contiguousTokensEditing","vs/editor/common/tokens/contiguousTokensStore","vs/editor/common/tokens/sparseMultilineTokens","vs/editor/common/tokens/sparseTokensStore","vs/editor/browser/viewParts/blockDecorations/blockDecorations","vs/editor/browser/viewParts/decorations/decorations","vs/editor/browser/viewParts/linesDecorations/linesDecorations","vs/editor/browser/viewParts/marginDecorations/marginDecorations","vs/editor/browser/viewParts/rulers/rulers","vs/editor/browser/viewParts/scrollDecoration/scrollDecoration","vs/editor/browser/viewParts/viewZones/viewZones","vs/editor/common/viewLayout/linePart","vs/editor/common/viewLayout/linesLayout","vs/editor/common/viewLayout/viewLinesViewportData","vs/editor/common/viewModel/glyphLanesModel","vs/editor/common/viewModel/modelLineProjection","vs/editor/common/viewModel/monospaceLineBreaksComputer","vs/editor/browser/viewParts/overviewRuler/overviewRuler","vs/editor/common/viewModel/viewContext","vs/editor/common/viewLayout/viewLayout","vs/editor/contrib/caretOperations/browser/moveCaretCommand","vs/editor/contrib/colorPicker/browser/colorPickerModel","vs/editor/contrib/comment/browser/lineCommentCommand","vs/editor/contrib/dnd/browser/dragAndDropCommand","vs/editor/contrib/find/browser/replaceAllCommand","vs/editor/contrib/find/browser/replacePattern","vs/editor/contrib/folding/browser/hiddenRangeModel","vs/editor/contrib/hover/browser/contentHoverTypes","vs/editor/contrib/hover/browser/hoverAccessibleViews","vs/editor/contrib/inPlaceReplace/browser/inPlaceReplaceCommand","vs/editor/contrib/inlineCompletions/browser/inlineCompletionsAccessibleView","vs/editor/contrib/inlineEdit/browser/commandIds","vs/editor/contrib/linesOperations/browser/copyLinesCommand","vs/editor/contrib/linesOperations/browser/sortLinesCommand","vs/editor/contrib/smartSelect/browser/wordSelections","vs/editor/contrib/suggest/browser/suggestCommitCharacters","vs/editor/contrib/suggest/browser/suggestOvertypingCapturer","vs/editor/standalone/browser/standaloneTreeSitterService","vs/editor/standalone/common/monarch/monarchCompile","vs/base/browser/ui/scrollbar/scrollbarVisibilityController","vs/base/browser/ui/tree/compressedObjectTreeModel","vs/base/common/fuzzyScorer","vs/base/common/labels","vs/base/browser/domObservable","vs/base/browser/ui/dropdown/dropdown","vs/base/browser/ui/list/rowCache","vs/base/browser/ui/progressbar/progressbar","vs/base/browser/ui/selectBox/selectBoxNative","vs/base/browser/ui/scrollbar/horizontalScrollbar","vs/base/browser/ui/scrollbar/verticalScrollbar","vs/base/browser/ui/list/listPaging","vs/base/browser/ui/table/tableWidget","vs/base/browser/ui/selectBox/selectBoxCustom","vs/base/browser/ui/selectBox/selectBox","vs/base/browser/ui/findinput/replaceInput","vs/base/browser/ui/menu/menu","vs/base/browser/ui/toolbar/toolbar","vs/base/browser/ui/tree/dataTree","vs/base/browser/ui/tree/asyncDataTree","vs/base/browser/defaultWorkerFactory","vs/base/parts/storage/common/storage","vs/editor/browser/services/hoverService/updatableHoverWidget","vs/editor/browser/viewParts/contentWidgets/contentWidgets","vs/editor/browser/viewParts/overlayWidgets/overlayWidgets","vs/editor/browser/widget/codeEditor/codeEditorContributions","vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/inlineDiffDeletedCodeMargin","vs/editor/browser/widget/diffEditor/features/revertButtonsFeature","vs/editor/browser/widget/diffEditor/utils/editorGutter","vs/editor/browser/viewParts/viewCursors/viewCursor","vs/editor/browser/view/domLineBreaksComputer","vs/editor/browser/view/viewOverlays","vs/editor/common/languageFeatureRegistry","vs/editor/common/languages/supports/electricCharacter","vs/editor/common/languages/supports/languageBracketsConfiguration","vs/editor/common/model/bracketPairsTextModelPart/bracketPairsImpl","vs/editor/common/model/pieceTreeTextBuffer/pieceTreeTextBufferBuilder","vs/editor/common/model/textModelTokens","vs/editor/common/model/treeSitterTokens","vs/editor/common/services/semanticTokensDto","vs/editor/common/services/editorSimpleWorker","vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/renderLines","vs/editor/contrib/hover/browser/contentHoverComputer","vs/editor/contrib/hover/browser/marginHoverComputer","vs/editor/contrib/hover/browser/resizableContentWidget","vs/platform/action/common/actionCommonCategories","vs/platform/contextkey/common/scanner","vs/platform/editor/common/editor","vs/platform/extensions/common/extensions","vs/platform/history/browser/historyWidgetKeybindingHint","vs/platform/instantiation/common/graph","vs/editor/common/services/languageFeaturesService","vs/editor/common/services/treeViewsDndService","vs/editor/contrib/inlineCompletions/browser/view/ghostTextView","vs/editor/contrib/wordHighlighter/browser/textualHighlightProvider","vs/editor/contrib/links/browser/getLinks","vs/editor/standalone/browser/colorizer","vs/editor/contrib/parameterHints/browser/parameterHintsModel","vs/editor/contrib/suggest/browser/suggestAlternatives","vs/editor/contrib/suggest/browser/wordContextKey","vs/editor/browser/config/editorConfiguration","vs/platform/contextkey/browser/contextKeyService","vs/platform/instantiation/common/instantiationService","vs/platform/keybinding/common/baseResolvedKeybinding","vs/editor/contrib/hover/browser/contentHoverWidget","vs/platform/keybinding/common/abstractKeybindingService","vs/platform/keybinding/common/usLayoutResolvedKeybinding","vs/platform/accessibility/browser/accessibilityService","vs/editor/contrib/diffEditorBreadcrumbs/browser/contribution","vs/editor/contrib/documentSymbols/browser/documentSymbols","vs/platform/clipboard/browser/clipboardService","vs/platform/log/common/logService","vs/editor/contrib/gotoError/browser/markerNavigationService","vs/platform/markers/common/markerService","vs/platform/observable/common/wrapInReloadableClass","vs/editor/browser/services/openerService","vs/platform/opener/browser/link","vs/platform/quickinput/browser/pickerQuickAccess","vs/platform/quickinput/browser/quickInputBox","vs/editor/browser/services/hoverService/hoverWidget","vs/editor/common/cursor/cursor","vs/editor/common/model/tokenizationTextModelPart","vs/editor/common/services/getIconClasses","vs/editor/common/services/languagesAssociations","vs/editor/common/services/languagesRegistry","vs/editor/common/services/languageService","vs/editor/contrib/hover/browser/marginHoverWidget","vs/editor/contrib/hover/browser/marginHoverController","vs/editor/contrib/indentation/common/indentation","vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsSource","vs/editor/contrib/linesOperations/browser/moveLinesCommand","vs/platform/configuration/common/configurations","vs/editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode","vs/platform/quickinput/browser/quickInputActions","vs/platform/quickinput/browser/helpQuickAccess","vs/editor/standalone/browser/quickAccess/standaloneHelpQuickAccess","vs/platform/quickinput/browser/quickAccess","vs/platform/severityIcon/browser/severityIcon","vs/editor/contrib/codelens/browser/codeLensCache","vs/editor/browser/services/markerDecorations","vs/editor/browser/view/viewController","vs/editor/contrib/anchorSelect/browser/anchorSelect","vs/editor/contrib/caretOperations/browser/caretOperations","vs/editor/contrib/caretOperations/browser/transpose","vs/editor/contrib/comment/browser/comment","vs/editor/contrib/cursorUndo/browser/cursorUndo","vs/editor/contrib/editorState/browser/keybindingCancellation","vs/editor/contrib/codeAction/browser/codeActionKeybindingResolver","vs/editor/contrib/fontZoom/browser/fontZoom","vs/editor/contrib/format/browser/formatActions","vs/editor/contrib/gotoSymbol/browser/symbolNavigation","vs/editor/contrib/indentation/browser/indentation","vs/editor/contrib/lineSelection/browser/lineSelection","vs/editor/contrib/linesOperations/browser/linesOperations","vs/editor/contrib/longLinesHelper/browser/longLinesHelper","vs/editor/contrib/readOnlyMessage/browser/contribution","vs/editor/contrib/smartSelect/browser/smartSelect","vs/editor/contrib/tokenization/browser/tokenization","vs/editor/contrib/unusualLineTerminators/browser/unusualLineTerminators","vs/editor/contrib/wordPartOperations/browser/wordPartOperations","vs/editor/standalone/browser/iPadShowKeyboard/iPadShowKeyboard","vs/editor/standalone/browser/inspectTokens/inspectTokens","vs/platform/quickinput/browser/commandsQuickAccess","vs/editor/contrib/quickAccess/browser/commandsQuickAccess","vs/editor/standalone/browser/quickAccess/standaloneCommandsQuickAccess","vs/platform/theme/common/colors/menuColors","vs/platform/theme/common/colors/chartsColors","vs/platform/theme/common/colors/quickpickColors","vs/platform/theme/common/colors/searchColors","vs/editor/browser/viewParts/minimap/minimap","vs/editor/browser/widget/multiDiffEditor/colors","vs/editor/contrib/codeAction/browser/codeActionMenu","vs/editor/contrib/gotoSymbol/browser/peek/referencesTree","vs/platform/actionWidget/browser/actionList","vs/platform/actionWidget/browser/actionWidget","vs/platform/contextview/browser/contextMenuHandler","vs/editor/browser/widget/diffEditor/components/accessibleDiffViewer","vs/editor/contrib/colorPicker/browser/colorPickerWidget","vs/editor/contrib/parameterHints/browser/parameterHintsWidget","vs/editor/contrib/parameterHints/browser/parameterHints","vs/editor/contrib/unicodeHighlighter/browser/bannerController","vs/platform/theme/browser/iconsStyleSheet","vs/editor/browser/controller/mouseHandler","vs/editor/browser/controller/pointerHandler","vs/editor/browser/viewParts/lines/viewLines","vs/editor/browser/services/abstractCodeEditorService","vs/editor/browser/services/hoverService/hoverService","vs/editor/browser/viewParts/editorScrollbar/editorScrollbar","vs/editor/browser/viewParts/selections/selections","vs/editor/browser/widget/diffEditor/components/diffEditorEditors","vs/editor/browser/viewParts/currentLineHighlight/currentLineHighlight","vs/editor/browser/viewParts/indentGuides/indentGuides","vs/editor/browser/controller/textAreaHandler","vs/editor/browser/viewParts/overviewRuler/decorationsOverviewRuler","vs/editor/browser/viewParts/viewCursors/viewCursors","vs/editor/browser/viewParts/whitespace/whitespace","vs/editor/browser/view","vs/editor/common/model/bracketPairsTextModelPart/colorizedBracketPairsDecorationProvider","vs/editor/common/services/markerDecorationsService","vs/editor/common/services/semanticTokensStylingService","vs/editor/contrib/placeholderText/browser/placeholderText.contribution","vs/editor/contrib/quickAccess/browser/gotoLineQuickAccess","vs/editor/contrib/quickAccess/browser/gotoSymbolQuickAccess","vs/editor/contrib/rename/browser/renameWidget","vs/editor/contrib/rename/browser/rename","vs/editor/contrib/semanticTokens/browser/documentSemanticTokens","vs/editor/contrib/semanticTokens/browser/viewportSemanticTokens","vs/editor/contrib/suggest/browser/suggestWidgetRenderer","vs/editor/standalone/browser/quickAccess/standaloneGotoLineQuickAccess","vs/editor/standalone/browser/quickAccess/standaloneGotoSymbolQuickAccess","vs/editor/standalone/common/themes","vs/editor/standalone/browser/toggleHighContrast/toggleHighContrast","vs/editor/contrib/suggest/browser/suggestWidgetStatus","vs/editor/browser/widget/diffEditor/features/gutterFeature","vs/editor/contrib/inlineEdit/browser/inlineEditHintsWidget","vs/platform/contextview/browser/contextMenuService","vs/platform/quickinput/browser/quickInputTree","vs/platform/quickinput/browser/quickInputController","vs/platform/quickinput/browser/quickInputService","vs/editor/standalone/browser/quickInput/standaloneQuickInputService","vs/editor/browser/widget/diffEditor/components/diffEditorDecorations","vs/editor/browser/widget/diffEditor/diffEditorOptions","vs/editor/common/services/modelService","vs/editor/common/viewModel/viewModelLines","vs/editor/common/viewModel/viewModelImpl","vs/editor/browser/widget/diffEditor/commands","vs/editor/browser/widget/diffEditor/diffEditor.contribution","vs/editor/browser/widget/multiDiffEditor/multiDiffEditorWidgetImpl","vs/editor/browser/widget/multiDiffEditor/multiDiffEditorWidget","vs/editor/contrib/bracketMatching/browser/bracketMatching","vs/editor/contrib/codeAction/browser/codeActionCommands","vs/editor/contrib/codeAction/browser/codeActionContributions","vs/editor/contrib/codelens/browser/codelensWidget","vs/editor/contrib/codelens/browser/codelensController","vs/editor/contrib/colorPicker/browser/standaloneColorPickerWidget","vs/editor/contrib/colorPicker/browser/standaloneColorPickerActions","vs/editor/contrib/dnd/browser/dnd","vs/editor/contrib/find/browser/findDecorations","vs/editor/contrib/find/browser/findOptionsWidget","vs/editor/contrib/find/browser/findState","vs/editor/contrib/find/browser/findWidget","vs/editor/contrib/inPlaceReplace/browser/inPlaceReplace","vs/editor/contrib/inlineEdit/browser/ghostTextWidget","vs/editor/contrib/inlineEdit/browser/inlineEditSideBySideWidget","vs/editor/contrib/inlineEdit/browser/commands","vs/editor/contrib/inlineEdit/browser/inlineEdit.contribution","vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorController","vs/editor/contrib/linkedEditing/browser/linkedEditing","vs/editor/contrib/links/browser/links","vs/editor/contrib/sectionHeaders/browser/sectionHeaders","vs/editor/contrib/stickyScroll/browser/stickyScrollModelProvider","vs/editor/contrib/stickyScroll/browser/stickyScrollProvider","vs/editor/contrib/stickyScroll/browser/stickyScrollWidget","vs/editor/contrib/suggest/browser/suggestWidget","vs/editor/contrib/multicursor/browser/multicursor","vs/editor/contrib/wordHighlighter/browser/wordHighlighter","vs/editor/contrib/zoneWidget/browser/zoneWidget","vs/editor/contrib/gotoError/browser/gotoErrorWidget","vs/editor/contrib/gotoSymbol/browser/peek/referencesWidget","vs/editor/contrib/hover/browser/markerHoverParticipant","vs/editor/contrib/hover/browser/contentHoverRendered","vs/editor/contrib/hover/browser/contentHoverWidgetWrapper","vs/editor/contrib/colorPicker/browser/colorContributions","vs/editor/contrib/hover/browser/hoverActions","vs/editor/contrib/hover/browser/hoverContribution","vs/editor/contrib/inlayHints/browser/inlayHintsContribution","vs/editor/contrib/stickyScroll/browser/stickyScrollActions","vs/editor/contrib/stickyScroll/browser/stickyScrollContribution","vs/editor/standalone/browser/referenceSearch/standaloneReferenceSearch","vs/platform/undoRedo/common/undoRedoService","vs/editor/contrib/clipboard/browser/clipboard","vs/editor/contrib/dropOrPasteInto/browser/copyPasteContribution","vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorContribution","vs/editor/contrib/snippet/browser/snippetVariables","vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsModel","vs/editor/contrib/inlineCompletions/browser/model/suggestWidgetAdaptor","vs/editor/contrib/inlineCompletions/browser/controller/commands","vs/editor/contrib/inlineCompletions/browser/hintsWidget/hoverParticipant","vs/editor/contrib/inlineCompletions/browser/inlineCompletions.contribution","vs/editor/contrib/inlineEdits/browser/inlineEditsModel","vs/editor/contrib/inlineEdits/browser/commands","vs/editor/contrib/inlineEdits/browser/inlineEdits.contribution","vs/editor/contrib/suggest/browser/suggestInlineCompletions","vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter","vs/editor/editor.all","vs/editor/standalone/browser/standaloneCodeEditor","vs/editor/standalone/browser/standaloneLanguages","vs/editor/standalone/browser/standaloneWebWorker","vs/editor/standalone/browser/standaloneEditor","vs/editor/editor.api","vs/css","vs/editor/edcore.main"],se=function(oe){for(var e=[],d=0,k=oe.length;d{b({})},t=>{typeof b.error=="function"&&b.error("Could not find "+o+".")})}function k(m,_,b,p){if(I(m,_)){b();return}E(m,_,b,p)}function I(m,_){const b=window.document.getElementsByTagName("link");for(let p=0,n=b.length;p{_.removeEventListener("load",o),_.removeEventListener("error",t)},o=i=>{n(),b()},t=i=>{n(),p(i)};_.addEventListener("load",o),_.addEventListener("error",t)}});/*! @license DOMPurify 3.0.5 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.0.5/LICENSE */const{entries:Gt,setPrototypeOf:Qt,isFrozen:gi,getPrototypeOf:fi,getOwnPropertyDescriptor:mi}=Object;let{freeze:vt,seal:Et,create:pi}=Object,{apply:Wt,construct:Bt}=typeof Reflect<"u"&&Reflect;Wt||(Wt=function(e,d,k){return e.apply(d,k)}),vt||(vt=function(e){return e}),Et||(Et=function(e){return e}),Bt||(Bt=function(e,d){return new e(...d)});const bi=yt(Array.prototype.forEach),Yt=yt(Array.prototype.pop),At=yt(Array.prototype.push),Ot=yt(String.prototype.toLowerCase),Ht=yt(String.prototype.toString),Ci=yt(String.prototype.match),It=yt(String.prototype.replace),vi=yt(String.prototype.indexOf),Si=yt(String.prototype.trim),_t=yt(RegExp.prototype.test),Rt=_i(TypeError);function yt(oe){return function(e){for(var d=arguments.length,k=new Array(d>1?d-1:0),I=1;I/gm),Ii=Et(/\${[\w\W]*}/gm),Di=Et(/^data-[\-\w.\u00B7-\uFFFF]/),ki=Et(/^aria-[\-\w]+$/),ti=Et(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),Ti=Et(/^(?:\w+script|data):/i),Ni=Et(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),ii=Et(/^html$/i);var ni=Object.freeze({__proto__:null,MUSTACHE_EXPR:Li,ERB_EXPR:Ei,TMPLIT_EXPR:Ii,DATA_ATTR:Di,ARIA_ATTR:ki,IS_ALLOWED_URI:ti,IS_SCRIPT_OR_DATA:Ti,ATTR_WHITESPACE:Ni,DOCTYPE_NAME:ii});const Mi=()=>typeof window>"u"?null:window,Ai=function(e,d){if(typeof e!="object"||typeof e.createPolicy!="function")return null;let k=null;const I="data-tt-policy-suffix";d&&d.hasAttribute(I)&&(k=d.getAttribute(I));const E="dompurify"+(k?"#"+k:"");try{return e.createPolicy(E,{createHTML(y){return y},createScriptURL(y){return y}})}catch{return console.warn("TrustedTypes policy "+E+" could not be created."),null}};function si(){let oe=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Mi();const e=Qe=>si(Qe);if(e.version="3.0.5",e.removed=[],!oe||!oe.document||oe.document.nodeType!==9)return e.isSupported=!1,e;const d=oe.document,k=d.currentScript;let{document:I}=oe;const{DocumentFragment:E,HTMLTemplateElement:y,Node:m,Element:_,NodeFilter:b,NamedNodeMap:p=oe.NamedNodeMap||oe.MozNamedAttrMap,HTMLFormElement:n,DOMParser:o,trustedTypes:t}=oe,i=_.prototype,s=Ft(i,"cloneNode"),g=Ft(i,"nextSibling"),c=Ft(i,"childNodes"),l=Ft(i,"parentNode");if(typeof y=="function"){const Qe=I.createElement("template");Qe.content&&Qe.content.ownerDocument&&(I=Qe.content.ownerDocument)}let a,r="";const{implementation:u,createNodeIterator:C,createDocumentFragment:f,getElementsByTagName:h}=I,{importNode:v}=d;let w={};e.isSupported=typeof Gt=="function"&&typeof l=="function"&&u&&u.createHTMLDocument!==void 0;const{MUSTACHE_EXPR:S,ERB_EXPR:L,TMPLIT_EXPR:D,DATA_ATTR:T,ARIA_ATTR:M,IS_SCRIPT_OR_DATA:A,ATTR_WHITESPACE:P}=ni;let{IS_ALLOWED_URI:N}=ni,O=null;const F=rt({},[...Zt,...Vt,...zt,...Kt,...Xt]);let x=null;const W=rt({},[...Jt,...qt,...ei,...xt]);let V=Object.seal(Object.create(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),q=null,H=null,z=!0,U=!0,j=!1,Q=!0,G=!1,K=!1,R=!1,J=!1,ie=!1,ue=!1,he=!1,pe=!0,ae=!1;const ee="user-content-";let de=!0,ge=!1,X={},B=null;const $=rt({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let Y=null;const Z=rt({},["audio","video","img","source","image","track"]);let te=null;const re=rt({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),le="http://www.w3.org/1998/Math/MathML",me="http://www.w3.org/2000/svg",ve="http://www.w3.org/1999/xhtml";let Le=ve,Ee=!1,Ie=null;const Ae=rt({},[le,me,ve],Ht);let Me;const Ne=["application/xhtml+xml","text/html"],ze="text/html";let Ve,$e=null;const it=I.createElement("form"),Oe=function(be){return be instanceof RegExp||be instanceof Function},Pe=function(be){if(!($e&&$e===be)){if((!be||typeof be!="object")&&(be={}),be=Nt(be),Me=Ne.indexOf(be.PARSER_MEDIA_TYPE)===-1?Me=ze:Me=be.PARSER_MEDIA_TYPE,Ve=Me==="application/xhtml+xml"?Ht:Ot,O="ALLOWED_TAGS"in be?rt({},be.ALLOWED_TAGS,Ve):F,x="ALLOWED_ATTR"in be?rt({},be.ALLOWED_ATTR,Ve):W,Ie="ALLOWED_NAMESPACES"in be?rt({},be.ALLOWED_NAMESPACES,Ht):Ae,te="ADD_URI_SAFE_ATTR"in be?rt(Nt(re),be.ADD_URI_SAFE_ATTR,Ve):re,Y="ADD_DATA_URI_TAGS"in be?rt(Nt(Z),be.ADD_DATA_URI_TAGS,Ve):Z,B="FORBID_CONTENTS"in be?rt({},be.FORBID_CONTENTS,Ve):$,q="FORBID_TAGS"in be?rt({},be.FORBID_TAGS,Ve):{},H="FORBID_ATTR"in be?rt({},be.FORBID_ATTR,Ve):{},X="USE_PROFILES"in be?be.USE_PROFILES:!1,z=be.ALLOW_ARIA_ATTR!==!1,U=be.ALLOW_DATA_ATTR!==!1,j=be.ALLOW_UNKNOWN_PROTOCOLS||!1,Q=be.ALLOW_SELF_CLOSE_IN_ATTR!==!1,G=be.SAFE_FOR_TEMPLATES||!1,K=be.WHOLE_DOCUMENT||!1,ie=be.RETURN_DOM||!1,ue=be.RETURN_DOM_FRAGMENT||!1,he=be.RETURN_TRUSTED_TYPE||!1,J=be.FORCE_BODY||!1,pe=be.SANITIZE_DOM!==!1,ae=be.SANITIZE_NAMED_PROPS||!1,de=be.KEEP_CONTENT!==!1,ge=be.IN_PLACE||!1,N=be.ALLOWED_URI_REGEXP||ti,Le=be.NAMESPACE||ve,V=be.CUSTOM_ELEMENT_HANDLING||{},be.CUSTOM_ELEMENT_HANDLING&&Oe(be.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(V.tagNameCheck=be.CUSTOM_ELEMENT_HANDLING.tagNameCheck),be.CUSTOM_ELEMENT_HANDLING&&Oe(be.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(V.attributeNameCheck=be.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),be.CUSTOM_ELEMENT_HANDLING&&typeof be.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(V.allowCustomizedBuiltInElements=be.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),G&&(U=!1),ue&&(ie=!0),X&&(O=rt({},[...Xt]),x=[],X.html===!0&&(rt(O,Zt),rt(x,Jt)),X.svg===!0&&(rt(O,Vt),rt(x,qt),rt(x,xt)),X.svgFilters===!0&&(rt(O,zt),rt(x,qt),rt(x,xt)),X.mathMl===!0&&(rt(O,Kt),rt(x,ei),rt(x,xt))),be.ADD_TAGS&&(O===F&&(O=Nt(O)),rt(O,be.ADD_TAGS,Ve)),be.ADD_ATTR&&(x===W&&(x=Nt(x)),rt(x,be.ADD_ATTR,Ve)),be.ADD_URI_SAFE_ATTR&&rt(te,be.ADD_URI_SAFE_ATTR,Ve),be.FORBID_CONTENTS&&(B===$&&(B=Nt(B)),rt(B,be.FORBID_CONTENTS,Ve)),de&&(O["#text"]=!0),K&&rt(O,["html","head","body"]),O.table&&(rt(O,["tbody"]),delete q.tbody),be.TRUSTED_TYPES_POLICY){if(typeof be.TRUSTED_TYPES_POLICY.createHTML!="function")throw Rt('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof be.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw Rt('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');a=be.TRUSTED_TYPES_POLICY,r=a.createHTML("")}else a===void 0&&(a=Ai(t,k)),a!==null&&typeof r=="string"&&(r=a.createHTML(""));vt&&vt(be),$e=be}},fe=rt({},["mi","mo","mn","ms","mtext"]),we=rt({},["foreignobject","desc","title","annotation-xml"]),Fe=rt({},["title","style","font","a","script"]),Ce=rt({},Vt);rt(Ce,zt),rt(Ce,wi);const Se=rt({},Kt);rt(Se,yi);const ye=function(be){let _e=l(be);(!_e||!_e.tagName)&&(_e={namespaceURI:Le,tagName:"template"});const Te=Ot(be.tagName),xe=Ot(_e.tagName);return Ie[be.namespaceURI]?be.namespaceURI===me?_e.namespaceURI===ve?Te==="svg":_e.namespaceURI===le?Te==="svg"&&(xe==="annotation-xml"||fe[xe]):!!Ce[Te]:be.namespaceURI===le?_e.namespaceURI===ve?Te==="math":_e.namespaceURI===me?Te==="math"&&we[xe]:!!Se[Te]:be.namespaceURI===ve?_e.namespaceURI===me&&!we[xe]||_e.namespaceURI===le&&!fe[xe]?!1:!Se[Te]&&(Fe[Te]||!Ce[Te]):!!(Me==="application/xhtml+xml"&&Ie[be.namespaceURI]):!1},De=function(be){At(e.removed,{element:be});try{be.parentNode.removeChild(be)}catch{be.remove()}},Re=function(be,_e){try{At(e.removed,{attribute:_e.getAttributeNode(be),from:_e})}catch{At(e.removed,{attribute:null,from:_e})}if(_e.removeAttribute(be),be==="is"&&!x[be])if(ie||ue)try{De(_e)}catch{}else try{_e.setAttribute(be,"")}catch{}},We=function(be){let _e,Te;if(J)be=""+be;else{const Ye=Ci(be,/^[\r\n\t ]+/);Te=Ye&&Ye[0]}Me==="application/xhtml+xml"&&Le===ve&&(be=''+be+"");const xe=a?a.createHTML(be):be;if(Le===ve)try{_e=new o().parseFromString(xe,Me)}catch{}if(!_e||!_e.documentElement){_e=u.createDocument(Le,"template",null);try{_e.documentElement.innerHTML=Ee?r:xe}catch{}}const Ke=_e.body||_e.documentElement;return be&&Te&&Ke.insertBefore(I.createTextNode(Te),Ke.childNodes[0]||null),Le===ve?h.call(_e,K?"html":"body")[0]:K?_e.documentElement:Ke},He=function(be){return C.call(be.ownerDocument||be,be,b.SHOW_ELEMENT|b.SHOW_COMMENT|b.SHOW_TEXT,null,!1)},je=function(be){return be instanceof n&&(typeof be.nodeName!="string"||typeof be.textContent!="string"||typeof be.removeChild!="function"||!(be.attributes instanceof p)||typeof be.removeAttribute!="function"||typeof be.setAttribute!="function"||typeof be.namespaceURI!="string"||typeof be.insertBefore!="function"||typeof be.hasChildNodes!="function")},qe=function(be){return typeof m=="object"?be instanceof m:be&&typeof be=="object"&&typeof be.nodeType=="number"&&typeof be.nodeName=="string"},Ze=function(be,_e,Te){w[be]&&bi(w[be],xe=>{xe.call(e,_e,Te,$e)})},et=function(be){let _e;if(Ze("beforeSanitizeElements",be,null),je(be))return De(be),!0;const Te=Ve(be.nodeName);if(Ze("uponSanitizeElement",be,{tagName:Te,allowedTags:O}),be.hasChildNodes()&&!qe(be.firstElementChild)&&(!qe(be.content)||!qe(be.content.firstElementChild))&&_t(/<[/\w]/g,be.innerHTML)&&_t(/<[/\w]/g,be.textContent))return De(be),!0;if(!O[Te]||q[Te]){if(!q[Te]&&ct(Te)&&(V.tagNameCheck instanceof RegExp&&_t(V.tagNameCheck,Te)||V.tagNameCheck instanceof Function&&V.tagNameCheck(Te)))return!1;if(de&&!B[Te]){const xe=l(be)||be.parentNode,Ke=c(be)||be.childNodes;if(Ke&&xe){const Ye=Ke.length;for(let Ue=Ye-1;Ue>=0;--Ue)xe.insertBefore(s(Ke[Ue],!0),g(be))}}return De(be),!0}return be instanceof _&&!ye(be)||(Te==="noscript"||Te==="noembed"||Te==="noframes")&&_t(/<\/no(script|embed|frames)/i,be.innerHTML)?(De(be),!0):(G&&be.nodeType===3&&(_e=be.textContent,_e=It(_e,S," "),_e=It(_e,L," "),_e=It(_e,D," "),be.textContent!==_e&&(At(e.removed,{element:be.cloneNode()}),be.textContent=_e)),Ze("afterSanitizeElements",be,null),!1)},lt=function(be,_e,Te){if(pe&&(_e==="id"||_e==="name")&&(Te in I||Te in it))return!1;if(!(U&&!H[_e]&&_t(T,_e))){if(!(z&&_t(M,_e))){if(!x[_e]||H[_e]){if(!(ct(be)&&(V.tagNameCheck instanceof RegExp&&_t(V.tagNameCheck,be)||V.tagNameCheck instanceof Function&&V.tagNameCheck(be))&&(V.attributeNameCheck instanceof RegExp&&_t(V.attributeNameCheck,_e)||V.attributeNameCheck instanceof Function&&V.attributeNameCheck(_e))||_e==="is"&&V.allowCustomizedBuiltInElements&&(V.tagNameCheck instanceof RegExp&&_t(V.tagNameCheck,Te)||V.tagNameCheck instanceof Function&&V.tagNameCheck(Te))))return!1}else if(!te[_e]){if(!_t(N,It(Te,P,""))){if(!((_e==="src"||_e==="xlink:href"||_e==="href")&&be!=="script"&&vi(Te,"data:")===0&&Y[be])){if(!(j&&!_t(A,It(Te,P,"")))){if(Te)return!1}}}}}}return!0},ct=function(be){return be.indexOf("-")>0},ot=function(be){let _e,Te,xe,Ke;Ze("beforeSanitizeAttributes",be,null);const{attributes:Ye}=be;if(!Ye)return;const Ue={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:x};for(Ke=Ye.length;Ke--;){_e=Ye[Ke];const{name:tt,namespaceURI:st}=_e;if(Te=tt==="value"?_e.value:Si(_e.value),xe=Ve(tt),Ue.attrName=xe,Ue.attrValue=Te,Ue.keepAttr=!0,Ue.forceKeepAttr=void 0,Ze("uponSanitizeAttribute",be,Ue),Te=Ue.attrValue,Ue.forceKeepAttr||(Re(tt,be),!Ue.keepAttr))continue;if(!Q&&_t(/\/>/i,Te)){Re(tt,be);continue}G&&(Te=It(Te,S," "),Te=It(Te,L," "),Te=It(Te,D," "));const Je=Ve(be.nodeName);if(lt(Je,xe,Te)){if(ae&&(xe==="id"||xe==="name")&&(Re(tt,be),Te=ee+Te),a&&typeof t=="object"&&typeof t.getAttributeType=="function"&&!st)switch(t.getAttributeType(Je,xe)){case"TrustedHTML":{Te=a.createHTML(Te);break}case"TrustedScriptURL":{Te=a.createScriptURL(Te);break}}try{st?be.setAttributeNS(st,tt,Te):be.setAttribute(tt,Te),Yt(e.removed)}catch{}}}Ze("afterSanitizeAttributes",be,null)},pt=function Qe(be){let _e;const Te=He(be);for(Ze("beforeSanitizeShadowDOM",be,null);_e=Te.nextNode();)Ze("uponSanitizeShadowNode",_e,null),!et(_e)&&(_e.content instanceof E&&Qe(_e.content),ot(_e));Ze("afterSanitizeShadowDOM",be,null)};return e.sanitize=function(Qe){let be=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},_e,Te,xe,Ke;if(Ee=!Qe,Ee&&(Qe=""),typeof Qe!="string"&&!qe(Qe))if(typeof Qe.toString=="function"){if(Qe=Qe.toString(),typeof Qe!="string")throw Rt("dirty is not a string, aborting")}else throw Rt("toString is not a function");if(!e.isSupported)return Qe;if(R||Pe(be),e.removed=[],typeof Qe=="string"&&(ge=!1),ge){if(Qe.nodeName){const tt=Ve(Qe.nodeName);if(!O[tt]||q[tt])throw Rt("root node is forbidden and cannot be sanitized in-place")}}else if(Qe instanceof m)_e=We(""),Te=_e.ownerDocument.importNode(Qe,!0),Te.nodeType===1&&Te.nodeName==="BODY"||Te.nodeName==="HTML"?_e=Te:_e.appendChild(Te);else{if(!ie&&!G&&!K&&Qe.indexOf("<")===-1)return a&&he?a.createHTML(Qe):Qe;if(_e=We(Qe),!_e)return ie?null:he?r:""}_e&&J&&De(_e.firstChild);const Ye=He(ge?Qe:_e);for(;xe=Ye.nextNode();)et(xe)||(xe.content instanceof E&&pt(xe.content),ot(xe));if(ge)return Qe;if(ie){if(ue)for(Ke=f.call(_e.ownerDocument);_e.firstChild;)Ke.appendChild(_e.firstChild);else Ke=_e;return(x.shadowroot||x.shadowrootmode)&&(Ke=v.call(d,Ke,!0)),Ke}let Ue=K?_e.outerHTML:_e.innerHTML;return K&&O["!doctype"]&&_e.ownerDocument&&_e.ownerDocument.doctype&&_e.ownerDocument.doctype.name&&_t(ii,_e.ownerDocument.doctype.name)&&(Ue=" +`+Ue),G&&(Ue=It(Ue,S," "),Ue=It(Ue,L," "),Ue=It(Ue,D," ")),a&&he?a.createHTML(Ue):Ue},e.setConfig=function(Qe){Pe(Qe),R=!0},e.clearConfig=function(){$e=null,R=!1},e.isValidAttribute=function(Qe,be,_e){$e||Pe({});const Te=Ve(Qe),xe=Ve(be);return lt(Te,xe,_e)},e.addHook=function(Qe,be){typeof be=="function"&&(w[Qe]=w[Qe]||[],At(w[Qe],be))},e.removeHook=function(Qe){if(w[Qe])return Yt(w[Qe])},e.removeHooks=function(Qe){w[Qe]&&(w[Qe]=[])},e.removeAllHooks=function(){w={}},e}var Ri=si();define("vs/base/browser/dompurify/dompurify",function(){return Ri}),define(ne[39],se([1,0]),function(oe,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.FastDomNode=void 0,e.createFastDomNode=I;class d{constructor(y){this.domNode=y,this._maxWidth="",this._width="",this._height="",this._top="",this._left="",this._bottom="",this._right="",this._paddingLeft="",this._fontFamily="",this._fontWeight="",this._fontSize="",this._fontStyle="",this._fontFeatureSettings="",this._fontVariationSettings="",this._textDecoration="",this._lineHeight="",this._letterSpacing="",this._className="",this._display="",this._position="",this._visibility="",this._color="",this._backgroundColor="",this._layerHint=!1,this._contain="none",this._boxShadow=""}setMaxWidth(y){const m=k(y);this._maxWidth!==m&&(this._maxWidth=m,this.domNode.style.maxWidth=this._maxWidth)}setWidth(y){const m=k(y);this._width!==m&&(this._width=m,this.domNode.style.width=this._width)}setHeight(y){const m=k(y);this._height!==m&&(this._height=m,this.domNode.style.height=this._height)}setTop(y){const m=k(y);this._top!==m&&(this._top=m,this.domNode.style.top=this._top)}setLeft(y){const m=k(y);this._left!==m&&(this._left=m,this.domNode.style.left=this._left)}setBottom(y){const m=k(y);this._bottom!==m&&(this._bottom=m,this.domNode.style.bottom=this._bottom)}setRight(y){const m=k(y);this._right!==m&&(this._right=m,this.domNode.style.right=this._right)}setPaddingLeft(y){const m=k(y);this._paddingLeft!==m&&(this._paddingLeft=m,this.domNode.style.paddingLeft=this._paddingLeft)}setFontFamily(y){this._fontFamily!==y&&(this._fontFamily=y,this.domNode.style.fontFamily=this._fontFamily)}setFontWeight(y){this._fontWeight!==y&&(this._fontWeight=y,this.domNode.style.fontWeight=this._fontWeight)}setFontSize(y){const m=k(y);this._fontSize!==m&&(this._fontSize=m,this.domNode.style.fontSize=this._fontSize)}setFontStyle(y){this._fontStyle!==y&&(this._fontStyle=y,this.domNode.style.fontStyle=this._fontStyle)}setFontFeatureSettings(y){this._fontFeatureSettings!==y&&(this._fontFeatureSettings=y,this.domNode.style.fontFeatureSettings=this._fontFeatureSettings)}setFontVariationSettings(y){this._fontVariationSettings!==y&&(this._fontVariationSettings=y,this.domNode.style.fontVariationSettings=this._fontVariationSettings)}setTextDecoration(y){this._textDecoration!==y&&(this._textDecoration=y,this.domNode.style.textDecoration=this._textDecoration)}setLineHeight(y){const m=k(y);this._lineHeight!==m&&(this._lineHeight=m,this.domNode.style.lineHeight=this._lineHeight)}setLetterSpacing(y){const m=k(y);this._letterSpacing!==m&&(this._letterSpacing=m,this.domNode.style.letterSpacing=this._letterSpacing)}setClassName(y){this._className!==y&&(this._className=y,this.domNode.className=this._className)}toggleClassName(y,m){this.domNode.classList.toggle(y,m),this._className=this.domNode.className}setDisplay(y){this._display!==y&&(this._display=y,this.domNode.style.display=this._display)}setPosition(y){this._position!==y&&(this._position=y,this.domNode.style.position=this._position)}setVisibility(y){this._visibility!==y&&(this._visibility=y,this.domNode.style.visibility=this._visibility)}setColor(y){this._color!==y&&(this._color=y,this.domNode.style.color=this._color)}setBackgroundColor(y){this._backgroundColor!==y&&(this._backgroundColor=y,this.domNode.style.backgroundColor=this._backgroundColor)}setLayerHinting(y){this._layerHint!==y&&(this._layerHint=y,this.domNode.style.transform=this._layerHint?"translate3d(0px, 0px, 0px)":"")}setBoxShadow(y){this._boxShadow!==y&&(this._boxShadow=y,this.domNode.style.boxShadow=y)}setContain(y){this._contain!==y&&(this._contain=y,this.domNode.style.contain=this._contain)}setAttribute(y,m){this.domNode.setAttribute(y,m)}removeAttribute(y){this.domNode.removeAttribute(y)}appendChild(y){this.domNode.appendChild(y.domNode)}removeChild(y){this.domNode.removeChild(y.domNode)}}e.FastDomNode=d;function k(E){return typeof E=="number"?`${E}px`:E}function I(E){return new d(E)}}),define(ne[441],se([1,0]),function(oe,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.IframeUtils=void 0;const d=new WeakMap;function k(E){if(!E.parent||E.parent===E)return null;try{const y=E.location,m=E.parent.location;if(y.origin!=="null"&&m.origin!=="null"&&y.origin!==m.origin)return null}catch{return null}return E.parent}class I{static getSameOriginWindowChain(y){let m=d.get(y);if(!m){m=[],d.set(y,m);let _=y,b;do b=k(_),b?m.push({window:new WeakRef(_),iframeElement:_.frameElement||null}):m.push({window:new WeakRef(_),iframeElement:null}),_=b;while(_)}return m.slice(0)}static getPositionOfChildWindowRelativeToAncestorWindow(y,m){if(!m||y===m)return{top:0,left:0};let _=0,b=0;const p=this.getSameOriginWindowChain(y);for(const n of p){const o=n.window.deref();if(_+=o?.scrollY??0,b+=o?.scrollX??0,o===m||!n.iframeElement)break;const t=n.iframeElement.getBoundingClientRect();_+=t.top,b+=t.left}return{top:_,left:b}}}e.IframeUtils=I}),define(ne[296],se([1,0]),function(oe,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.inputLatency=void 0;var d;(function(k){const I={total:0,min:Number.MAX_VALUE,max:0},E={...I},y={...I},m={...I};let _=0;const b={keydown:0,input:0,render:0};function p(){r(),performance.mark("inputlatency/start"),performance.mark("keydown/start"),b.keydown=1,queueMicrotask(n)}k.onKeyDown=p;function n(){b.keydown===1&&(performance.mark("keydown/end"),b.keydown=2)}function o(){performance.mark("input/start"),b.input=1,a()}k.onBeforeInput=o;function t(){b.input===0&&o(),queueMicrotask(i)}k.onInput=t;function i(){b.input===1&&(performance.mark("input/end"),b.input=2)}function s(){r()}k.onKeyUp=s;function g(){r()}k.onSelectionChange=g;function c(){b.keydown===2&&b.input===2&&b.render===0&&(performance.mark("render/start"),b.render=1,queueMicrotask(l),a())}k.onRenderStart=c;function l(){b.render===1&&(performance.mark("render/end"),b.render=2)}function a(){setTimeout(r)}function r(){b.keydown===2&&b.input===2&&b.render===2&&(performance.mark("inputlatency/end"),performance.measure("keydown","keydown/start","keydown/end"),performance.measure("input","input/start","input/end"),performance.measure("render","render/start","render/end"),performance.measure("inputlatency","inputlatency/start","inputlatency/end"),u("keydown",I),u("input",E),u("render",y),u("inputlatency",m),_++,C())}function u(w,S){const L=performance.getEntriesByName(w)[0].duration;S.total+=L,S.min=Math.min(S.min,L),S.max=Math.max(S.max,L)}function C(){performance.clearMarks("keydown/start"),performance.clearMarks("keydown/end"),performance.clearMarks("input/start"),performance.clearMarks("input/end"),performance.clearMarks("render/start"),performance.clearMarks("render/end"),performance.clearMarks("inputlatency/start"),performance.clearMarks("inputlatency/end"),performance.clearMeasures("keydown"),performance.clearMeasures("input"),performance.clearMeasures("render"),performance.clearMeasures("inputlatency"),b.keydown=0,b.input=0,b.render=0}function f(){if(_===0)return;const w={keydown:h(I),input:h(E),render:h(y),total:h(m),sampleCount:_};return v(I),v(E),v(y),v(m),_=0,w}k.getAndClearMeasurements=f;function h(w){return{average:w.total/_,max:w.max,min:w.min}}function v(w){w.total=0,w.min=Number.MAX_VALUE,w.max=0}})(d||(e.inputLatency=d={}))}),define(ne[81],se([1,0]),function(oe,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.setBaseLayerHoverDelegate=k,e.getBaseLayerHoverDelegate=I;let d={showHover:()=>{},hideHover:()=>{},showAndFocusLastHover:()=>{},setupManagedHover:()=>null,showManagedHover:()=>{}};function k(E){d=E}function I(){return d}}),define(ne[442],se([1,0]),function(oe,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ListError=void 0;class d extends Error{constructor(I,E){super(`ListError [${I}] ${E}`)}}e.ListError=d}),define(ne[443],se([1,0]),function(oe,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CombinedSpliceable=void 0;class d{constructor(I){this.spliceables=I}splice(I,E,y){this.spliceables.forEach(m=>m.splice(I,E,y))}}e.CombinedSpliceable=d}),define(ne[223],se([1,0]),function(oe,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ScrollbarState=void 0;const d=20;class k{constructor(E,y,m,_,b,p){this._scrollbarSize=Math.round(y),this._oppositeScrollbarSize=Math.round(m),this._arrowSize=Math.round(E),this._visibleSize=_,this._scrollSize=b,this._scrollPosition=p,this._computedAvailableSize=0,this._computedIsNeeded=!1,this._computedSliderSize=0,this._computedSliderRatio=0,this._computedSliderPosition=0,this._refreshComputedValues()}clone(){return new k(this._arrowSize,this._scrollbarSize,this._oppositeScrollbarSize,this._visibleSize,this._scrollSize,this._scrollPosition)}setVisibleSize(E){const y=Math.round(E);return this._visibleSize!==y?(this._visibleSize=y,this._refreshComputedValues(),!0):!1}setScrollSize(E){const y=Math.round(E);return this._scrollSize!==y?(this._scrollSize=y,this._refreshComputedValues(),!0):!1}setScrollPosition(E){const y=Math.round(E);return this._scrollPosition!==y?(this._scrollPosition=y,this._refreshComputedValues(),!0):!1}setScrollbarSize(E){this._scrollbarSize=Math.round(E)}setOppositeScrollbarSize(E){this._oppositeScrollbarSize=Math.round(E)}static _computeValues(E,y,m,_,b){const p=Math.max(0,m-E),n=Math.max(0,p-2*y),o=_>0&&_>m;if(!o)return{computedAvailableSize:Math.round(p),computedIsNeeded:o,computedSliderSize:Math.round(n),computedSliderRatio:0,computedSliderPosition:0};const t=Math.round(Math.max(d,Math.floor(m*n/_))),i=(n-t)/(_-m),s=b*i;return{computedAvailableSize:Math.round(p),computedIsNeeded:o,computedSliderSize:Math.round(t),computedSliderRatio:i,computedSliderPosition:Math.round(s)}}_refreshComputedValues(){const E=k._computeValues(this._oppositeScrollbarSize,this._arrowSize,this._visibleSize,this._scrollSize,this._scrollPosition);this._computedAvailableSize=E.computedAvailableSize,this._computedIsNeeded=E.computedIsNeeded,this._computedSliderSize=E.computedSliderSize,this._computedSliderRatio=E.computedSliderRatio,this._computedSliderPosition=E.computedSliderPosition}getArrowSize(){return this._arrowSize}getScrollPosition(){return this._scrollPosition}getRectangleLargeSize(){return this._computedAvailableSize}getRectangleSmallSize(){return this._scrollbarSize}isNeeded(){return this._computedIsNeeded}getSliderSize(){return this._computedSliderSize}getSliderPosition(){return this._computedSliderPosition}getDesiredScrollPositionFromOffset(E){if(!this._computedIsNeeded)return 0;const y=E-this._arrowSize-this._computedSliderSize/2;return Math.round(y/this._computedSliderRatio)}getDesiredScrollPositionFromOffsetPaged(E){if(!this._computedIsNeeded)return 0;const y=E-this._arrowSize;let m=this._scrollPosition;return yI})}e.mainWindow=window}),define(ne[64],se([1,0,52]),function(oe,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.isAndroid=e.isElectron=e.isWebkitWebView=e.isSafari=e.isChrome=e.isWebKit=e.isFirefox=void 0,e.addMatchMediaChangeListener=I,e.getZoomFactor=E,e.isStandalone=_;class k{constructor(){this.mapWindowIdToZoomFactor=new Map}static{this.INSTANCE=new k}getZoomFactor(p){return this.mapWindowIdToZoomFactor.get(this.getWindowId(p))??1}getWindowId(p){return p.vscodeWindowId}}function I(b,p,n){typeof p=="string"&&(p=b.matchMedia(p)),p.addEventListener("change",n)}function E(b){return k.INSTANCE.getZoomFactor(b)}const y=navigator.userAgent;e.isFirefox=y.indexOf("Firefox")>=0,e.isWebKit=y.indexOf("AppleWebKit")>=0,e.isChrome=y.indexOf("Chrome")>=0,e.isSafari=!e.isChrome&&y.indexOf("Safari")>=0,e.isWebkitWebView=!e.isChrome&&!e.isSafari&&e.isWebKit,e.isElectron=y.indexOf("Electron/")>=0,e.isAndroid=y.indexOf("Android")>=0;let m=!1;if(typeof d.mainWindow.matchMedia=="function"){const b=d.mainWindow.matchMedia("(display-mode: standalone) or (display-mode: window-controls-overlay)"),p=d.mainWindow.matchMedia("(display-mode: fullscreen)");m=b.matches,I(d.mainWindow,b,({matches:n})=>{m&&p.matches||(m=n)})}function _(){return m}}),define(ne[13],se([1,0]),function(oe,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Permutation=e.CallbackIterable=e.ArrayQueue=e.booleanComparator=e.numberComparator=e.CompareResult=void 0,e.tail=d,e.tail2=k,e.equals=I,e.removeFastWithoutKeepingOrder=E,e.binarySearch=y,e.binarySearch2=m,e.quickSelect=_,e.groupBy=b,e.groupAdjacentBy=p,e.forEachAdjacent=n,e.forEachWithNeighbors=o,e.coalesce=t,e.coalesceInPlace=i,e.isFalsyOrEmpty=s,e.isNonEmptyArray=g,e.distinct=c,e.firstOrDefault=l,e.range=a,e.arrayInsert=r,e.pushToStart=u,e.pushToEnd=C,e.pushMany=f,e.asArray=h,e.insertInto=v,e.splice=w,e.compareBy=D,e.tieBreakComparators=T,e.reverseOrder=P;function d(x,W=0){return x[x.length-(1+W)]}function k(x){if(x.length===0)throw new Error("Invalid tail call");return[x.slice(0,x.length-1),x[x.length-1]]}function I(x,W,V=(q,H)=>q===H){if(x===W)return!0;if(!x||!W||x.length!==W.length)return!1;for(let q=0,H=x.length;qV(x[q],W))}function m(x,W){let V=0,q=x-1;for(;V<=q;){const H=(V+q)/2|0,z=W(H);if(z<0)V=H+1;else if(z>0)q=H-1;else return H}return-(V+1)}function _(x,W,V){if(x=x|0,x>=W.length)throw new TypeError("invalid index");const q=W[Math.floor(W.length*Math.random())],H=[],z=[],U=[];for(const j of W){const Q=V(j,q);Q<0?H.push(j):Q>0?z.push(j):U.push(j)}return x!!W)}function i(x){let W=0;for(let V=0;V0}function c(x,W=V=>V){const V=new Set;return x.filter(q=>{const H=W(q);return V.has(H)?!1:(V.add(H),!0)})}function l(x,W){return x.length>0?x[0]:W}function a(x,W){let V=typeof W=="number"?x:0;typeof W=="number"?V=x:(V=0,W=x);const q=[];if(V<=W)for(let H=V;HW;H--)q.push(H);return q}function r(x,W,V){const q=x.slice(0,W),H=x.slice(W);return q.concat(V,H)}function u(x,W){const V=x.indexOf(W);V>-1&&(x.splice(V,1),x.unshift(W))}function C(x,W){const V=x.indexOf(W);V>-1&&(x.splice(V,1),x.push(W))}function f(x,W){for(const V of W)x.push(V)}function h(x){return Array.isArray(x)?x:[x]}function v(x,W,V){const q=S(x,W),H=x.length,z=V.length;x.length=H+z;for(let U=H-1;U>=q;U--)x[U+z]=x[U];for(let U=0;U0}x.isGreaterThan=q;function H(z){return z===0}x.isNeitherLessOrGreaterThan=H,x.greaterThan=1,x.lessThan=-1,x.neitherLessOrGreaterThan=0})(L||(e.CompareResult=L={}));function D(x,W){return(V,q)=>W(x(V),x(q))}function T(...x){return(W,V)=>{for(const q of x){const H=q(W,V);if(!L.isNeitherLessOrGreaterThan(H))return H}return L.neitherLessOrGreaterThan}}const M=(x,W)=>x-W;e.numberComparator=M;const A=(x,W)=>(0,e.numberComparator)(x?1:0,W?1:0);e.booleanComparator=A;function P(x){return(W,V)=>-x(W,V)}class N{constructor(W){this.items=W,this.firstIdx=0,this.lastIdx=this.items.length-1}get length(){return this.lastIdx-this.firstIdx+1}takeWhile(W){let V=this.firstIdx;for(;V=0&&W(this.items[V]);)V--;const q=V===this.lastIdx?null:this.items.slice(V+1,this.lastIdx+1);return this.lastIdx=V,q}peek(){if(this.length!==0)return this.items[this.firstIdx]}dequeue(){const W=this.items[this.firstIdx];return this.firstIdx++,W}takeCount(W){const V=this.items.slice(this.firstIdx,this.firstIdx+W);return this.firstIdx+=W,V}}e.ArrayQueue=N;class O{static{this.empty=new O(W=>{})}constructor(W){this.iterate=W}toArray(){const W=[];return this.iterate(V=>(W.push(V),!0)),W}filter(W){return new O(V=>this.iterate(q=>W(q)?V(q):!0))}map(W){return new O(V=>this.iterate(q=>V(W(q))))}findLast(W){let V;return this.iterate(q=>(W(q)&&(V=q),!0)),V}findLastMaxBy(W){let V,q=!0;return this.iterate(H=>((q||L.isGreaterThan(W(H,V)))&&(q=!1,V=H),!0)),V}}e.CallbackIterable=O;class F{constructor(W){this._indexMap=W}static createSortPermutation(W,V){const q=Array.from(W.keys()).sort((H,z)=>V(W[H],W[z]));return new F(q)}apply(W){return W.map((V,q)=>W[this._indexMap[q]])}inverse(){const W=this._indexMap.slice();for(let V=0;V=0;c--){const l=i[c];if(s(l))return c}return-1}function I(i,s){const g=E(i,s);return g===-1?void 0:i[g]}function E(i,s,g=0,c=i.length){let l=g,a=c;for(;l0&&(g=l)}return g}function p(i,s){if(i.length===0)return;let g=i[0];for(let c=1;c=0&&(g=l)}return g}function n(i,s){return b(i,(g,c)=>-s(g,c))}function o(i,s){if(i.length===0)return-1;let g=0;for(let c=1;c0&&(g=c)}return g}function t(i,s){for(const g of i){const c=s(g);if(c!==void 0)return c}}}),define(ne[297],se([1,0]),function(oe,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CachedFunction=e.LRUCachedFunction=void 0,e.identity=d;function d(E){return E}class k{constructor(y,m){this.lastCache=void 0,this.lastArgKey=void 0,typeof y=="function"?(this._fn=y,this._computeKey=d):(this._fn=m,this._computeKey=y.getCacheKey)}get(y){const m=this._computeKey(y);return this.lastArgKey!==m&&(this.lastArgKey=m,this.lastCache=this._fn(y)),this.lastCache}}e.LRUCachedFunction=k;class I{get cachedValues(){return this._map}constructor(y,m){this._map=new Map,this._map2=new Map,typeof y=="function"?(this._fn=y,this._computeKey=d):(this._fn=m,this._computeKey=y.getCacheKey)}get(y){const m=this._computeKey(y);if(this._map2.has(m))return this._map2.get(m);const _=this._fn(y);return this._map.set(y,_),this._map2.set(m,_),_}}e.CachedFunction=I}),define(ne[298],se([1,0]),function(oe,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.diffSets=d,e.intersection=k;function d(I,E){const y=[],m=[];for(const _ of I)E.has(_)||y.push(_);for(const _ of E)I.has(_)||m.push(_);return{removed:y,added:m}}function k(I,E){const y=new Set;for(const m of E)I.has(m)&&y.add(m);return y}}),define(ne[33],se([1,0]),function(oe,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Color=e.HSVA=e.HSLA=e.RGBA=void 0;function d(m,_){const b=Math.pow(10,_);return Math.round(m*b)/b}class k{constructor(_,b,p,n=1){this._rgbaBrand=void 0,this.r=Math.min(255,Math.max(0,_))|0,this.g=Math.min(255,Math.max(0,b))|0,this.b=Math.min(255,Math.max(0,p))|0,this.a=d(Math.max(Math.min(1,n),0),3)}static equals(_,b){return _.r===b.r&&_.g===b.g&&_.b===b.b&&_.a===b.a}}e.RGBA=k;class I{constructor(_,b,p,n){this._hslaBrand=void 0,this.h=Math.max(Math.min(360,_),0)|0,this.s=d(Math.max(Math.min(1,b),0),3),this.l=d(Math.max(Math.min(1,p),0),3),this.a=d(Math.max(Math.min(1,n),0),3)}static equals(_,b){return _.h===b.h&&_.s===b.s&&_.l===b.l&&_.a===b.a}static fromRGBA(_){const b=_.r/255,p=_.g/255,n=_.b/255,o=_.a,t=Math.max(b,p,n),i=Math.min(b,p,n);let s=0,g=0;const c=(i+t)/2,l=t-i;if(l>0){switch(g=Math.min(c<=.5?l/(2*c):l/(2-2*c),1),t){case b:s=(p-n)/l+(p1&&(p-=1),p<1/6?_+(b-_)*6*p:p<1/2?b:p<2/3?_+(b-_)*(2/3-p)*6:_}static toRGBA(_){const b=_.h/360,{s:p,l:n,a:o}=_;let t,i,s;if(p===0)t=i=s=n;else{const g=n<.5?n*(1+p):n+p-n*p,c=2*n-g;t=I._hue2rgb(c,g,b+1/3),i=I._hue2rgb(c,g,b),s=I._hue2rgb(c,g,b-1/3)}return new k(Math.round(t*255),Math.round(i*255),Math.round(s*255),o)}}e.HSLA=I;class E{constructor(_,b,p,n){this._hsvaBrand=void 0,this.h=Math.max(Math.min(360,_),0)|0,this.s=d(Math.max(Math.min(1,b),0),3),this.v=d(Math.max(Math.min(1,p),0),3),this.a=d(Math.max(Math.min(1,n),0),3)}static equals(_,b){return _.h===b.h&&_.s===b.s&&_.v===b.v&&_.a===b.a}static fromRGBA(_){const b=_.r/255,p=_.g/255,n=_.b/255,o=Math.max(b,p,n),t=Math.min(b,p,n),i=o-t,s=o===0?0:i/o;let g;return i===0?g=0:o===b?g=((p-n)/i%6+6)%6:o===p?g=(n-b)/i+2:g=(b-p)/i+4,new E(Math.round(g*60),s,o,_.a)}static toRGBA(_){const{h:b,s:p,v:n,a:o}=_,t=n*p,i=t*(1-Math.abs(b/60%2-1)),s=n-t;let[g,c,l]=[0,0,0];return b<60?(g=t,c=i):b<120?(g=i,c=t):b<180?(c=t,l=i):b<240?(c=i,l=t):b<300?(g=i,l=t):b<=360&&(g=t,l=i),g=Math.round((g+s)*255),c=Math.round((c+s)*255),l=Math.round((l+s)*255),new k(g,c,l,o)}}e.HSVA=E;class y{static fromHex(_){return y.Format.CSS.parseHex(_)||y.red}static equals(_,b){return!_&&!b?!0:!_||!b?!1:_.equals(b)}get hsla(){return this._hsla?this._hsla:I.fromRGBA(this.rgba)}get hsva(){return this._hsva?this._hsva:E.fromRGBA(this.rgba)}constructor(_){if(_)if(_ instanceof k)this.rgba=_;else if(_ instanceof I)this._hsla=_,this.rgba=I.toRGBA(_);else if(_ instanceof E)this._hsva=_,this.rgba=E.toRGBA(_);else throw new Error("Invalid color ctor argument");else throw new Error("Color needs a value")}equals(_){return!!_&&k.equals(this.rgba,_.rgba)&&I.equals(this.hsla,_.hsla)&&E.equals(this.hsva,_.hsva)}getRelativeLuminance(){const _=y._relativeLuminanceForComponent(this.rgba.r),b=y._relativeLuminanceForComponent(this.rgba.g),p=y._relativeLuminanceForComponent(this.rgba.b),n=.2126*_+.7152*b+.0722*p;return d(n,4)}static _relativeLuminanceForComponent(_){const b=_/255;return b<=.03928?b/12.92:Math.pow((b+.055)/1.055,2.4)}isLighter(){return(this.rgba.r*299+this.rgba.g*587+this.rgba.b*114)/1e3>=128}isLighterThan(_){const b=this.getRelativeLuminance(),p=_.getRelativeLuminance();return b>p}isDarkerThan(_){const b=this.getRelativeLuminance(),p=_.getRelativeLuminance();return bb===p;e.strictEquals=k;function I(b=e.strictEquals){return(p,n)=>d.equals(p,n,b)}function E(){return(b,p)=>b.equals(p)}function y(b,p,n){if(n!==void 0){const o=b;return o==null||p===void 0||p===null?p===o:n(o,p)}else{const o=b;return(t,i)=>t==null||i===void 0||i===null?i===t:o(t,i)}}function m(b,p){if(b===p)return!0;if(Array.isArray(b)&&Array.isArray(p)){if(b.length!==p.length)return!1;for(let n=0;n{throw g.stack?t.isErrorNoTelemetry(g)?new t(g.message+` + +`+g.stack):new Error(g.message+` + +`+g.stack):g},0)}}emit(g){this.listeners.forEach(c=>{c(g)})}onUnexpectedError(g){this.unexpectedErrorHandler(g),this.emit(g)}onUnexpectedExternalError(g){this.unexpectedErrorHandler(g)}}e.ErrorHandler=d,e.errorHandler=new d;function k(s){m(s)||e.errorHandler.onUnexpectedError(s)}function I(s){m(s)||e.errorHandler.onUnexpectedExternalError(s)}function E(s){if(s instanceof Error){const{name:g,message:c}=s,l=s.stacktrace||s.stack;return{$isError:!0,name:g,message:c,stack:l,noTelemetry:t.isErrorNoTelemetry(s)}}return s}const y="Canceled";function m(s){return s instanceof _?!0:s instanceof Error&&s.name===y&&s.message===y}class _ extends Error{constructor(){super(y),this.name=this.message}}e.CancellationError=_;function b(){const s=new Error(y);return s.name=s.message,s}function p(s){return s?new Error(`Illegal argument: ${s}`):new Error("Illegal argument")}function n(s){return s?new Error(`Illegal state: ${s}`):new Error("Illegal state")}class o extends Error{constructor(g){super("NotSupported"),g&&(this.message=g)}}e.NotSupportedError=o;class t extends Error{constructor(g){super(g),this.name="CodeExpectedError"}static fromError(g){if(g instanceof t)return g;const c=new t;return c.message=g.message,c.stack=g.stack,c}static isErrorNoTelemetry(g){return g.name==="CodeExpectedError"}}e.ErrorNoTelemetry=t;class i extends Error{constructor(g){super(g||"An unexpected bug occurred."),Object.setPrototypeOf(this,i.prototype)}}e.BugIndicatingError=i}),define(ne[103],se([1,0,8]),function(oe,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.createTrustedTypesPolicy=k;function k(I,E){const y=globalThis.MonacoEnvironment;if(y?.createTrustedTypesPolicy)try{return y.createTrustedTypesPolicy(I,E)}catch(m){(0,d.onUnexpectedError)(m);return}try{return globalThis.trustedTypes?.createPolicy(I,E)}catch(m){(0,d.onUnexpectedError)(m);return}}}),define(ne[90],se([1,0,8]),function(oe,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ok=k,e.assertNever=I,e.softAssert=E,e.assertFn=y,e.checkAdjacentItems=m;function k(_,b){if(!_)throw new Error(b?`Assertion failed (${b})`:"Assertion Failed")}function I(_,b="Unreachable"){throw new Error(b)}function E(_){_||(0,d.onUnexpectedError)(new d.BugIndicatingError("Soft Assertion Failed"))}function y(_){if(!_()){debugger;_(),(0,d.onUnexpectedError)(new d.BugIndicatingError("Assertion Failed"))}}function m(_,b){let p=0;for(;p<_.length-1;){const n=_[p],o=_[p+1];if(!b(n,o))return!1;p++}return!0}}),define(ne[127],se([1,0]),function(oe,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.createSingleCallFunction=d;function d(k,I){const E=this;let y=!1,m;return function(){if(y)return m;if(y=!0,I)try{m=k.apply(E,arguments)}finally{I()}else m=k.apply(E,arguments);return m}}}),define(ne[91],se([1,0]),function(oe,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.HierarchicalKind=void 0;class d{static{this.sep="."}static{this.None=new d("@@none@@")}static{this.Empty=new d("")}constructor(I){this.value=I}equals(I){return this.value===I.value}contains(I){return this.equals(I)||this.value===""||I.value.startsWith(this.value+d.sep)}intersects(I){return this.contains(I)||I.contains(this)}append(...I){return new d((this.value?[this.value,...I]:I).join(d.sep))}}e.HierarchicalKind=d}),define(ne[187],se([1,0]),function(oe,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.defaultGenerator=e.IdGenerator=void 0;class d{constructor(I){this._prefix=I,this._lastId=0}nextId(){return this._prefix+ ++this._lastId}}e.IdGenerator=d,e.defaultGenerator=new d("id#")}),define(ne[53],se([1,0]),function(oe,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Iterable=void 0;var d;(function(k){function I(f){return f&&typeof f=="object"&&typeof f[Symbol.iterator]=="function"}k.is=I;const E=Object.freeze([]);function y(){return E}k.empty=y;function*m(f){yield f}k.single=m;function _(f){return I(f)?f:m(f)}k.wrap=_;function b(f){return f||E}k.from=b;function*p(f){for(let h=f.length-1;h>=0;h--)yield f[h]}k.reverse=p;function n(f){return!f||f[Symbol.iterator]().next().done===!0}k.isEmpty=n;function o(f){return f[Symbol.iterator]().next().value}k.first=o;function t(f,h){let v=0;for(const w of f)if(h(w,v++))return!0;return!1}k.some=t;function i(f,h){for(const v of f)if(h(v))return v}k.find=i;function*s(f,h){for(const v of f)h(v)&&(yield v)}k.filter=s;function*g(f,h){let v=0;for(const w of f)yield h(w,v++)}k.map=g;function*c(f,h){let v=0;for(const w of f)yield*h(w,v++)}k.flatMap=c;function*l(...f){for(const h of f)yield*h}k.concat=l;function a(f,h,v){let w=v;for(const S of f)w=h(w,S);return w}k.reduce=a;function*r(f,h,v=f.length){for(h<0&&(h+=f.length),v<0?v+=f.length:v>f.length&&(v=f.length);h=98&&l<=113)return null;switch(l){case 16:return"Up";case 18:return"Down";case 15:return"Left";case 17:return"Right"}return k.keyCodeToStr(l)}n.toElectronAccelerator=c})(b||(e.KeyCodeUtils=b={}));function p(n,o){const t=(o&65535)<<16>>>0;return(n|t)>>>0}}),define(ne[140],se([1,0,8]),function(oe,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ResolvedKeybinding=e.ResolvedChord=e.Keybinding=e.ScanCodeChord=e.KeyCodeChord=void 0,e.decodeKeybinding=k,e.createSimpleKeybinding=I;function k(p,n){if(typeof p=="number"){if(p===0)return null;const o=(p&65535)>>>0,t=(p&4294901760)>>>16;return t!==0?new m([I(o,n),I(t,n)]):new m([I(o,n)])}else{const o=[];for(let t=0;t({get delay(){return-1},dispose:()=>{},showHover:()=>{}});const E=new d.Lazy(()=>I("mouse",!1)),y=new d.Lazy(()=>I("element",!1));function m(p){I=p}function _(p){return p==="element"?y.value:E.value}function b(){return I("element",!0)}}),define(ne[160],se([1,0,98]),function(oe,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.VSBuffer=void 0,e.readUInt16LE=m,e.writeUInt16LE=_,e.readUInt32BE=b,e.writeUInt32BE=p,e.readUInt8=n,e.writeUInt8=o;const k=typeof Buffer<"u",I=new d.Lazy(()=>new Uint8Array(256));let E;class y{static wrap(i){return k&&!Buffer.isBuffer(i)&&(i=Buffer.from(i.buffer,i.byteOffset,i.byteLength)),new y(i)}constructor(i){this.buffer=i,this.byteLength=this.buffer.byteLength}toString(){return k?this.buffer.toString():(E||(E=new TextDecoder),E.decode(this.buffer))}}e.VSBuffer=y;function m(t,i){return t[i+0]<<0>>>0|t[i+1]<<8>>>0}function _(t,i,s){t[s+0]=i&255,i=i>>>8,t[s+1]=i&255}function b(t,i){return t[i]*2**24+t[i+1]*2**16+t[i+2]*2**8+t[i+3]}function p(t,i,s){t[s+3]=i,i=i>>>8,t[s+2]=i,i=i>>>8,t[s+1]=i,i=i>>>8,t[s]=i}function n(t,i){return t[i]}function o(t,i,s){t[s]=i}}),define(ne[445],se([1,0,98]),function(oe,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.compareFileNames=y,e.compareAnything=m,e.compareByPrefix=_;const k=new d.Lazy(()=>{const b=new Intl.Collator(void 0,{numeric:!0,sensitivity:"base"});return{collator:b,collatorIsNumeric:b.resolvedOptions().numeric}}),I=new d.Lazy(()=>({collator:new Intl.Collator(void 0,{numeric:!0})})),E=new d.Lazy(()=>({collator:new Intl.Collator(void 0,{numeric:!0,sensitivity:"accent"})}));function y(b,p,n=!1){const o=b||"",t=p||"",i=k.value.collator.compare(o,t);return k.value.collatorIsNumeric&&i===0&&o!==t?ot.length)return 1}return 0}}),define(ne[2],se([1,0,127,53]),function(oe,e,d,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DisposableMap=e.ImmortalReference=e.RefCountedDisposable=e.MutableDisposable=e.Disposable=e.DisposableStore=void 0,e.setDisposableTracker=y,e.trackDisposable=m,e.markAsDisposed=_,e.markAsSingleton=n,e.isDisposable=o,e.dispose=t,e.combinedDisposable=i,e.toDisposable=s;const I=!1;let E=null;function y(C){E=C}if(I){const C="__is_disposable_tracked__";y(new class{trackDisposable(f){const h=new Error("Potentially leaked disposable").stack;setTimeout(()=>{f[C]||console.log(h)},3e3)}setParent(f,h){if(f&&f!==c.None)try{f[C]=!0}catch{}}markAsDisposed(f){if(f&&f!==c.None)try{f[C]=!0}catch{}}markAsSingleton(f){}})}function m(C){return E?.trackDisposable(C),C}function _(C){E?.markAsDisposed(C)}function b(C,f){E?.setParent(C,f)}function p(C,f){if(E)for(const h of C)E.setParent(h,f)}function n(C){return E?.markAsSingleton(C),C}function o(C){return typeof C=="object"&&C!==null&&typeof C.dispose=="function"&&C.dispose.length===0}function t(C){if(k.Iterable.is(C)){const f=[];for(const h of C)if(h)try{h.dispose()}catch(v){f.push(v)}if(f.length===1)throw f[0];if(f.length>1)throw new AggregateError(f,"Encountered errors while disposing of store");return Array.isArray(C)?[]:C}else if(C)return C.dispose(),C}function i(...C){const f=s(()=>t(C));return p(C,f),f}function s(C){const f=m({dispose:(0,d.createSingleCallFunction)(()=>{_(f),C()})});return f}class g{static{this.DISABLE_DISPOSED_WARNING=!1}constructor(){this._toDispose=new Set,this._isDisposed=!1,m(this)}dispose(){this._isDisposed||(_(this),this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(this._toDispose.size!==0)try{t(this._toDispose)}finally{this._toDispose.clear()}}add(f){if(!f)return f;if(f===this)throw new Error("Cannot register a disposable on itself!");return b(f,this),this._isDisposed?g.DISABLE_DISPOSED_WARNING||console.warn(new Error("Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!").stack):this._toDispose.add(f),f}deleteAndLeak(f){f&&this._toDispose.has(f)&&(this._toDispose.delete(f),b(f,null))}}e.DisposableStore=g;class c{static{this.None=Object.freeze({dispose(){}})}constructor(){this._store=new g,m(this),b(this._store,this)}dispose(){_(this),this._store.dispose()}_register(f){if(f===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(f)}}e.Disposable=c;class l{constructor(){this._isDisposed=!1,m(this)}get value(){return this._isDisposed?void 0:this._value}set value(f){this._isDisposed||f===this._value||(this._value?.dispose(),f&&b(f,this),this._value=f)}clear(){this.value=void 0}dispose(){this._isDisposed=!0,_(this),this._value?.dispose(),this._value=void 0}}e.MutableDisposable=l;class a{constructor(f){this._disposable=f,this._counter=1}acquire(){return this._counter++,this}release(){return--this._counter===0&&this._disposable.dispose(),this}}e.RefCountedDisposable=a;class r{constructor(f){this.object=f}dispose(){}}e.ImmortalReference=r;class u{constructor(){this._store=new Map,this._isDisposed=!1,m(this)}dispose(){_(this),this._isDisposed=!0,this.clearAndDisposeAll()}clearAndDisposeAll(){if(this._store.size)try{t(this._store.values())}finally{this._store.clear()}}get(f){return this._store.get(f)}set(f,h,v=!1){this._isDisposed&&console.warn(new Error("Trying to add a disposable to a DisposableMap that has already been disposed of. The added object will be leaked!").stack),v||this._store.get(f)?.dispose(),this._store.set(f,h)}deleteAndDispose(f){this._store.get(f)?.dispose(),this._store.delete(f)}[Symbol.iterator](){return this._store[Symbol.iterator]()}}e.DisposableMap=u}),define(ne[73],se([1,0]),function(oe,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.LinkedList=void 0;class d{static{this.Undefined=new d(void 0)}constructor(E){this.element=E,this.next=d.Undefined,this.prev=d.Undefined}}class k{constructor(){this._first=d.Undefined,this._last=d.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===d.Undefined}clear(){let E=this._first;for(;E!==d.Undefined;){const y=E.next;E.prev=d.Undefined,E.next=d.Undefined,E=y}this._first=d.Undefined,this._last=d.Undefined,this._size=0}unshift(E){return this._insert(E,!1)}push(E){return this._insert(E,!0)}_insert(E,y){const m=new d(E);if(this._first===d.Undefined)this._first=m,this._last=m;else if(y){const b=this._last;this._last=m,m.prev=b,b.next=m}else{const b=this._first;this._first=m,m.next=b,b.prev=m}this._size+=1;let _=!1;return()=>{_||(_=!0,this._remove(m))}}shift(){if(this._first!==d.Undefined){const E=this._first.element;return this._remove(this._first),E}}pop(){if(this._last!==d.Undefined){const E=this._last.element;return this._remove(this._last),E}}_remove(E){if(E.prev!==d.Undefined&&E.next!==d.Undefined){const y=E.prev;y.next=E.next,E.next.prev=y}else E.prev===d.Undefined&&E.next===d.Undefined?(this._first=d.Undefined,this._last=d.Undefined):E.next===d.Undefined?(this._last=this._last.prev,this._last.next=d.Undefined):E.prev===d.Undefined&&(this._first=this._first.next,this._first.prev=d.Undefined);this._size-=1}*[Symbol.iterator](){let E=this._first;for(;E!==d.Undefined;)yield E.element,E=E.next}}e.LinkedList=k});var ke=this&&this.__decorate||function(oe,e,d,k){var I=arguments.length,E=I<3?e:k===null?k=Object.getOwnPropertyDescriptor(e,d):k,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")E=Reflect.decorate(oe,e,d,k);else for(var m=oe.length-1;m>=0;m--)(y=oe[m])&&(E=(I<3?y(E):I>3?y(e,d,E):y(e,d))||E);return I>3&&E&&Object.defineProperty(e,d,E),E};define(ne[446],se([1,0,126]),function(oe,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.LinkedText=void 0,e.parseLinkedText=E;class k{constructor(m){this.nodes=m}toString(){return this.nodes.map(m=>typeof m=="string"?m:m.label).join("")}}e.LinkedText=k,ke([d.memoize],k.prototype,"toString",null);const I=/\[([^\]]+)\]\(((?:https?:\/\/|command:|file:)[^\)\s]+)(?: (["'])(.+?)(\3))?\)/gi;function E(y){const m=[];let _=0,b;for(;b=I.exec(y);){b.index-_>0&&m.push(y.substring(_,b.index));const[,p,n,,o]=b;o?m.push({label:p,href:n,title:o}):m.push({label:p,href:n}),_=b.index+b[0].length}return _t.toString()}constructor(t,i){if(this[d]="ResourceMap",t instanceof y)this.map=new Map(t.map),this.toKey=i??y.defaultToKey;else if(E(t)){this.map=new Map,this.toKey=i??y.defaultToKey;for(const[s,g]of t)this.set(s,g)}else this.map=new Map,this.toKey=t??y.defaultToKey}set(t,i){return this.map.set(this.toKey(t),new I(t,i)),this}get(t){return this.map.get(this.toKey(t))?.value}has(t){return this.map.has(this.toKey(t))}get size(){return this.map.size}clear(){this.map.clear()}delete(t){return this.map.delete(this.toKey(t))}forEach(t,i){typeof i<"u"&&(t=t.bind(i));for(const[s,g]of this.map)t(g.value,g.uri,this)}*values(){for(const t of this.map.values())yield t.value}*keys(){for(const t of this.map.values())yield t.uri}*entries(){for(const t of this.map.values())yield[t.uri,t.value]}*[(d=Symbol.toStringTag,Symbol.iterator)](){for(const[,t]of this.map)yield[t.uri,t.value]}}e.ResourceMap=y;class m{constructor(){this[k]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){return this._head?.value}get last(){return this._tail?.value}has(t){return this._map.has(t)}get(t,i=0){const s=this._map.get(t);if(s)return i!==0&&this.touch(s,i),s.value}set(t,i,s=0){let g=this._map.get(t);if(g)g.value=i,s!==0&&this.touch(g,s);else{switch(g={key:t,value:i,next:void 0,previous:void 0},s){case 0:this.addItemLast(g);break;case 1:this.addItemFirst(g);break;case 2:this.addItemLast(g);break;default:this.addItemLast(g);break}this._map.set(t,g),this._size++}return this}delete(t){return!!this.remove(t)}remove(t){const i=this._map.get(t);if(i)return this._map.delete(t),this.removeItem(i),this._size--,i.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");const t=this._head;return this._map.delete(t.key),this.removeItem(t),this._size--,t.value}forEach(t,i){const s=this._state;let g=this._head;for(;g;){if(i?t.bind(i)(g.value,g.key,this):t(g.value,g.key,this),this._state!==s)throw new Error("LinkedMap got modified during iteration.");g=g.next}}keys(){const t=this,i=this._state;let s=this._head;const g={[Symbol.iterator](){return g},next(){if(t._state!==i)throw new Error("LinkedMap got modified during iteration.");if(s){const c={value:s.key,done:!1};return s=s.next,c}else return{value:void 0,done:!0}}};return g}values(){const t=this,i=this._state;let s=this._head;const g={[Symbol.iterator](){return g},next(){if(t._state!==i)throw new Error("LinkedMap got modified during iteration.");if(s){const c={value:s.value,done:!1};return s=s.next,c}else return{value:void 0,done:!0}}};return g}entries(){const t=this,i=this._state;let s=this._head;const g={[Symbol.iterator](){return g},next(){if(t._state!==i)throw new Error("LinkedMap got modified during iteration.");if(s){const c={value:[s.key,s.value],done:!1};return s=s.next,c}else return{value:void 0,done:!0}}};return g}[(k=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(t){if(t>=this.size)return;if(t===0){this.clear();return}let i=this._head,s=this.size;for(;i&&s>t;)this._map.delete(i.key),i=i.next,s--;this._head=i,this._size=s,i&&(i.previous=void 0),this._state++}trimNew(t){if(t>=this.size)return;if(t===0){this.clear();return}let i=this._tail,s=this.size;for(;i&&s>t;)this._map.delete(i.key),i=i.previous,s--;this._tail=i,this._size=s,i&&(i.next=void 0),this._state++}addItemFirst(t){if(!this._head&&!this._tail)this._tail=t;else if(this._head)t.next=this._head,this._head.previous=t;else throw new Error("Invalid list");this._head=t,this._state++}addItemLast(t){if(!this._head&&!this._tail)this._head=t;else if(this._tail)t.previous=this._tail,this._tail.next=t;else throw new Error("Invalid list");this._tail=t,this._state++}removeItem(t){if(t===this._head&&t===this._tail)this._head=void 0,this._tail=void 0;else if(t===this._head){if(!t.next)throw new Error("Invalid list");t.next.previous=void 0,this._head=t.next}else if(t===this._tail){if(!t.previous)throw new Error("Invalid list");t.previous.next=void 0,this._tail=t.previous}else{const i=t.next,s=t.previous;if(!i||!s)throw new Error("Invalid list");i.previous=s,s.next=i}t.next=void 0,t.previous=void 0,this._state++}touch(t,i){if(!this._head||!this._tail)throw new Error("Invalid list");if(!(i!==1&&i!==2)){if(i===1){if(t===this._head)return;const s=t.next,g=t.previous;t===this._tail?(g.next=void 0,this._tail=g):(s.previous=g,g.next=s),t.previous=void 0,t.next=this._head,this._head.previous=t,this._head=t,this._state++}else if(i===2){if(t===this._tail)return;const s=t.next,g=t.previous;t===this._head?(s.previous=void 0,this._head=s):(s.previous=g,g.next=s),t.next=void 0,t.previous=this._tail,this._tail.next=t,this._tail=t,this._state++}}}toJSON(){const t=[];return this.forEach((i,s)=>{t.push([s,i])}),t}fromJSON(t){this.clear();for(const[i,s]of t)this.set(i,s)}}e.LinkedMap=m;class _ extends m{constructor(t,i=1){super(),this._limit=t,this._ratio=Math.min(Math.max(0,i),1)}get limit(){return this._limit}set limit(t){this._limit=t,this.checkTrim()}get(t,i=2){return super.get(t,i)}peek(t){return super.get(t,0)}set(t,i){return super.set(t,i,2),this}checkTrim(){this.size>this._limit&&this.trim(Math.round(this._limit*this._ratio))}}class b extends _{constructor(t,i=1){super(t,i)}trim(t){this.trimOld(t)}set(t,i){return super.set(t,i),this.checkTrim(),this}}e.LRUCache=b;class p{constructor(t){if(this._m1=new Map,this._m2=new Map,t)for(const[i,s]of t)this.set(i,s)}clear(){this._m1.clear(),this._m2.clear()}set(t,i){this._m1.set(t,i),this._m2.set(i,t)}get(t){return this._m1.get(t)}getKey(t){return this._m2.get(t)}delete(t){const i=this._m1.get(t);return i===void 0?!1:(this._m1.delete(t),this._m2.delete(i),!0)}keys(){return this._m1.keys()}values(){return this._m1.values()}}e.BidirectionalMap=p;class n{constructor(){this.map=new Map}add(t,i){let s=this.map.get(t);s||(s=new Set,this.map.set(t,s)),s.add(i)}delete(t,i){const s=this.map.get(t);s&&(s.delete(i),s.size===0&&this.map.delete(t))}forEach(t,i){const s=this.map.get(t);s&&s.forEach(i)}get(t){const i=this.map.get(t);return i||new Set}}e.SetMap=n}),function(oe,e){typeof define=="function"&&define.amd?define(ne[447],se([0]),e):typeof exports=="object"&&typeof module<"u"?e(exports):(oe=typeof globalThis<"u"?globalThis:oe||self,e(oe.marked={}))}(this,function(oe){"use strict";function e(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}oe.defaults=e();function d(Fe){oe.defaults=Fe}const k=/[&<>"']/,I=new RegExp(k.source,"g"),E=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,y=new RegExp(E.source,"g"),m={"&":"&","<":"<",">":">",'"':""","'":"'"},_=Fe=>m[Fe];function b(Fe,Ce){if(Ce){if(k.test(Fe))return Fe.replace(I,_)}else if(E.test(Fe))return Fe.replace(y,_);return Fe}const p=/(^|[^\[])\^/g;function n(Fe,Ce){let Se=typeof Fe=="string"?Fe:Fe.source;Ce=Ce||"";const ye={replace:(De,Re)=>{let We=typeof Re=="string"?Re:Re.source;return We=We.replace(p,"$1"),Se=Se.replace(De,We),ye},getRegex:()=>new RegExp(Se,Ce)};return ye}function o(Fe){try{Fe=encodeURI(Fe).replace(/%25/g,"%")}catch{return null}return Fe}const t={exec:()=>null};function i(Fe,Ce){const Se=Fe.replace(/\|/g,(Re,We,He)=>{let je=!1,qe=We;for(;--qe>=0&&He[qe]==="\\";)je=!je;return je?"|":" |"}),ye=Se.split(/ \|/);let De=0;if(ye[0].trim()||ye.shift(),ye.length>0&&!ye[ye.length-1].trim()&&ye.pop(),Ce)if(ye.length>Ce)ye.splice(Ce);else for(;ye.length{const Re=De.match(/^\s+/);if(Re===null)return De;const[We]=Re;return We.length>=ye.length?De.slice(ye.length):De}).join(` +`)}class a{options;rules;lexer;constructor(Ce){this.options=Ce||oe.defaults}space(Ce){const Se=this.rules.block.newline.exec(Ce);if(Se&&Se[0].length>0)return{type:"space",raw:Se[0]}}code(Ce){const Se=this.rules.block.code.exec(Ce);if(Se){const ye=Se[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:Se[0],codeBlockStyle:"indented",text:this.options.pedantic?ye:s(ye,` +`)}}}fences(Ce){const Se=this.rules.block.fences.exec(Ce);if(Se){const ye=Se[0],De=l(ye,Se[3]||"");return{type:"code",raw:ye,lang:Se[2]?Se[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):Se[2],text:De}}}heading(Ce){const Se=this.rules.block.heading.exec(Ce);if(Se){let ye=Se[2].trim();if(/#$/.test(ye)){const De=s(ye,"#");(this.options.pedantic||!De||/ $/.test(De))&&(ye=De.trim())}return{type:"heading",raw:Se[0],depth:Se[1].length,text:ye,tokens:this.lexer.inline(ye)}}}hr(Ce){const Se=this.rules.block.hr.exec(Ce);if(Se)return{type:"hr",raw:s(Se[0],` +`)}}blockquote(Ce){const Se=this.rules.block.blockquote.exec(Ce);if(Se){let ye=s(Se[0],` +`).split(` +`),De="",Re="";const We=[];for(;ye.length>0;){let He=!1;const je=[];let qe;for(qe=0;qe/.test(ye[qe]))je.push(ye[qe]),He=!0;else if(!He)je.push(ye[qe]);else break;ye=ye.slice(qe);const Ze=je.join(` +`),et=Ze.replace(/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,` + $1`).replace(/^ {0,3}>[ \t]?/gm,"");De=De?`${De} +${Ze}`:Ze,Re=Re?`${Re} +${et}`:et;const lt=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(et,We,!0),this.lexer.state.top=lt,ye.length===0)break;const ct=We[We.length-1];if(ct?.type==="code")break;if(ct?.type==="blockquote"){const ot=ct,pt=ot.raw+` +`+ye.join(` +`),Qe=this.blockquote(pt);We[We.length-1]=Qe,De=De.substring(0,De.length-ot.raw.length)+Qe.raw,Re=Re.substring(0,Re.length-ot.text.length)+Qe.text;break}else if(ct?.type==="list"){const ot=ct,pt=ot.raw+` +`+ye.join(` +`),Qe=this.list(pt);We[We.length-1]=Qe,De=De.substring(0,De.length-ct.raw.length)+Qe.raw,Re=Re.substring(0,Re.length-ot.raw.length)+Qe.raw,ye=pt.substring(We[We.length-1].raw.length).split(` +`);continue}}return{type:"blockquote",raw:De,tokens:We,text:Re}}}list(Ce){let Se=this.rules.block.list.exec(Ce);if(Se){let ye=Se[1].trim();const De=ye.length>1,Re={type:"list",raw:"",ordered:De,start:De?+ye.slice(0,-1):"",loose:!1,items:[]};ye=De?`\\d{1,9}\\${ye.slice(-1)}`:`\\${ye}`,this.options.pedantic&&(ye=De?ye:"[*+-]");const We=new RegExp(`^( {0,3}${ye})((?:[ ][^\\n]*)?(?:\\n|$))`);let He=!1;for(;Ce;){let je=!1,qe="",Ze="";if(!(Se=We.exec(Ce))||this.rules.block.hr.test(Ce))break;qe=Se[0],Ce=Ce.substring(qe.length);let et=Se[2].split(` +`,1)[0].replace(/^\t+/,be=>" ".repeat(3*be.length)),lt=Ce.split(` +`,1)[0],ct=!et.trim(),ot=0;if(this.options.pedantic?(ot=2,Ze=et.trimStart()):ct?ot=Se[1].length+1:(ot=Se[2].search(/[^ ]/),ot=ot>4?1:ot,Ze=et.slice(ot),ot+=Se[1].length),ct&&/^ *$/.test(lt)&&(qe+=lt+` +`,Ce=Ce.substring(lt.length+1),je=!0),!je){const be=new RegExp(`^ {0,${Math.min(3,ot-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),_e=new RegExp(`^ {0,${Math.min(3,ot-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),Te=new RegExp(`^ {0,${Math.min(3,ot-1)}}(?:\`\`\`|~~~)`),xe=new RegExp(`^ {0,${Math.min(3,ot-1)}}#`);for(;Ce;){const Ke=Ce.split(` +`,1)[0];if(lt=Ke,this.options.pedantic&&(lt=lt.replace(/^ {1,4}(?=( {4})*[^ ])/g," ")),Te.test(lt)||xe.test(lt)||be.test(lt)||_e.test(Ce))break;if(lt.search(/[^ ]/)>=ot||!lt.trim())Ze+=` +`+lt.slice(ot);else{if(ct||et.search(/[^ ]/)>=4||Te.test(et)||xe.test(et)||_e.test(et))break;Ze+=` +`+lt}!ct&&!lt.trim()&&(ct=!0),qe+=Ke+` +`,Ce=Ce.substring(Ke.length+1),et=lt.slice(ot)}}Re.loose||(He?Re.loose=!0:/\n *\n *$/.test(qe)&&(He=!0));let pt=null,Qe;this.options.gfm&&(pt=/^\[[ xX]\] /.exec(Ze),pt&&(Qe=pt[0]!=="[ ] ",Ze=Ze.replace(/^\[[ xX]\] +/,""))),Re.items.push({type:"list_item",raw:qe,task:!!pt,checked:Qe,loose:!1,text:Ze,tokens:[]}),Re.raw+=qe}Re.items[Re.items.length-1].raw=Re.items[Re.items.length-1].raw.trimEnd(),Re.items[Re.items.length-1].text=Re.items[Re.items.length-1].text.trimEnd(),Re.raw=Re.raw.trimEnd();for(let je=0;jeet.type==="space"),Ze=qe.length>0&&qe.some(et=>/\n.*\n/.test(et.raw));Re.loose=Ze}if(Re.loose)for(let je=0;je$/,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",Re=Se[3]?Se[3].substring(1,Se[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):Se[3];return{type:"def",tag:ye,raw:Se[0],href:De,title:Re}}}table(Ce){const Se=this.rules.block.table.exec(Ce);if(!Se||!/[:|]/.test(Se[2]))return;const ye=i(Se[1]),De=Se[2].replace(/^\||\| *$/g,"").split("|"),Re=Se[3]&&Se[3].trim()?Se[3].replace(/\n[ \t]*$/,"").split(` +`):[],We={type:"table",raw:Se[0],header:[],align:[],rows:[]};if(ye.length===De.length){for(const He of De)/^ *-+: *$/.test(He)?We.align.push("right"):/^ *:-+: *$/.test(He)?We.align.push("center"):/^ *:-+ *$/.test(He)?We.align.push("left"):We.align.push(null);for(let He=0;He({text:je,tokens:this.lexer.inline(je),header:!1,align:We.align[qe]})));return We}}lheading(Ce){const Se=this.rules.block.lheading.exec(Ce);if(Se)return{type:"heading",raw:Se[0],depth:Se[2].charAt(0)==="="?1:2,text:Se[1],tokens:this.lexer.inline(Se[1])}}paragraph(Ce){const Se=this.rules.block.paragraph.exec(Ce);if(Se){const ye=Se[1].charAt(Se[1].length-1)===` +`?Se[1].slice(0,-1):Se[1];return{type:"paragraph",raw:Se[0],text:ye,tokens:this.lexer.inline(ye)}}}text(Ce){const Se=this.rules.block.text.exec(Ce);if(Se)return{type:"text",raw:Se[0],text:Se[0],tokens:this.lexer.inline(Se[0])}}escape(Ce){const Se=this.rules.inline.escape.exec(Ce);if(Se)return{type:"escape",raw:Se[0],text:b(Se[1])}}tag(Ce){const Se=this.rules.inline.tag.exec(Ce);if(Se)return!this.lexer.state.inLink&&/^/i.test(Se[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(Se[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(Se[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:Se[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:Se[0]}}link(Ce){const Se=this.rules.inline.link.exec(Ce);if(Se){const ye=Se[2].trim();if(!this.options.pedantic&&/^$/.test(ye))return;const We=s(ye.slice(0,-1),"\\");if((ye.length-We.length)%2===0)return}else{const We=g(Se[2],"()");if(We>-1){const je=(Se[0].indexOf("!")===0?5:4)+Se[1].length+We;Se[2]=Se[2].substring(0,We),Se[0]=Se[0].substring(0,je).trim(),Se[3]=""}}let De=Se[2],Re="";if(this.options.pedantic){const We=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(De);We&&(De=We[1],Re=We[3])}else Re=Se[3]?Se[3].slice(1,-1):"";return De=De.trim(),/^$/.test(ye)?De=De.slice(1):De=De.slice(1,-1)),c(Se,{href:De&&De.replace(this.rules.inline.anyPunctuation,"$1"),title:Re&&Re.replace(this.rules.inline.anyPunctuation,"$1")},Se[0],this.lexer)}}reflink(Ce,Se){let ye;if((ye=this.rules.inline.reflink.exec(Ce))||(ye=this.rules.inline.nolink.exec(Ce))){const De=(ye[2]||ye[1]).replace(/\s+/g," "),Re=Se[De.toLowerCase()];if(!Re){const We=ye[0].charAt(0);return{type:"text",raw:We,text:We}}return c(ye,Re,ye[0],this.lexer)}}emStrong(Ce,Se,ye=""){let De=this.rules.inline.emStrongLDelim.exec(Ce);if(!De||De[3]&&ye.match(/[\p{L}\p{N}]/u))return;if(!(De[1]||De[2]||"")||!ye||this.rules.inline.punctuation.exec(ye)){const We=[...De[0]].length-1;let He,je,qe=We,Ze=0;const et=De[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(et.lastIndex=0,Se=Se.slice(-1*Ce.length+We);(De=et.exec(Se))!=null;){if(He=De[1]||De[2]||De[3]||De[4]||De[5]||De[6],!He)continue;if(je=[...He].length,De[3]||De[4]){qe+=je;continue}else if((De[5]||De[6])&&We%3&&!((We+je)%3)){Ze+=je;continue}if(qe-=je,qe>0)continue;je=Math.min(je,je+qe+Ze);const lt=[...De[0]][0].length,ct=Ce.slice(0,We+De.index+lt+je);if(Math.min(We,je)%2){const pt=ct.slice(1,-1);return{type:"em",raw:ct,text:pt,tokens:this.lexer.inlineTokens(pt)}}const ot=ct.slice(2,-2);return{type:"strong",raw:ct,text:ot,tokens:this.lexer.inlineTokens(ot)}}}}codespan(Ce){const Se=this.rules.inline.code.exec(Ce);if(Se){let ye=Se[2].replace(/\n/g," ");const De=/[^ ]/.test(ye),Re=/^ /.test(ye)&&/ $/.test(ye);return De&&Re&&(ye=ye.substring(1,ye.length-1)),ye=b(ye,!0),{type:"codespan",raw:Se[0],text:ye}}}br(Ce){const Se=this.rules.inline.br.exec(Ce);if(Se)return{type:"br",raw:Se[0]}}del(Ce){const Se=this.rules.inline.del.exec(Ce);if(Se)return{type:"del",raw:Se[0],text:Se[2],tokens:this.lexer.inlineTokens(Se[2])}}autolink(Ce){const Se=this.rules.inline.autolink.exec(Ce);if(Se){let ye,De;return Se[2]==="@"?(ye=b(Se[1]),De="mailto:"+ye):(ye=b(Se[1]),De=ye),{type:"link",raw:Se[0],text:ye,href:De,tokens:[{type:"text",raw:ye,text:ye}]}}}url(Ce){let Se;if(Se=this.rules.inline.url.exec(Ce)){let ye,De;if(Se[2]==="@")ye=b(Se[0]),De="mailto:"+ye;else{let Re;do Re=Se[0],Se[0]=this.rules.inline._backpedal.exec(Se[0])?.[0]??"";while(Re!==Se[0]);ye=b(Se[0]),Se[1]==="www."?De="http://"+Se[0]:De=Se[0]}return{type:"link",raw:Se[0],text:ye,href:De,tokens:[{type:"text",raw:ye,text:ye}]}}}inlineText(Ce){const Se=this.rules.inline.text.exec(Ce);if(Se){let ye;return this.lexer.state.inRawBlock?ye=Se[0]:ye=b(Se[0]),{type:"text",raw:Se[0],text:ye}}}}const r=/^(?: *(?:\n|$))+/,u=/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,C=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,f=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,h=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,v=/(?:[*+-]|\d{1,9}[.)])/,w=n(/^(?!bull |blockCode|fences|blockquote|heading|html)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html))+?)\n {0,3}(=+|-+) *(?:\n+|$)/).replace(/bull/g,v).replace(/blockCode/g,/ {4}/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).getRegex(),S=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,L=/^[^\n]+/,D=/(?!\s*\])(?:\\.|[^\[\]\\])+/,T=n(/^ {0,3}\[(label)\]: *(?:\n *)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/).replace("label",D).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),M=n(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,v).getRegex(),A="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",P=/|$))/,N=n("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))","i").replace("comment",P).replace("tag",A).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),O=n(S).replace("hr",f).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",A).getRegex(),x={blockquote:n(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",O).getRegex(),code:u,def:T,fences:C,heading:h,hr:f,html:N,lheading:w,list:M,newline:r,paragraph:O,table:t,text:L},W=n("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",f).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",A).getRegex(),V={...x,table:W,paragraph:n(S).replace("hr",f).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",W).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",A).getRegex()},q={...x,html:n(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",P).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:t,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:n(S).replace("hr",f).replace("heading",` *#{1,6} *[^ +]`).replace("lheading",w).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},H=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,z=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,U=/^( {2,}|\\)\n(?!\s*$)/,j=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\]*?>/g,R=n(/^(?:\*+(?:((?!\*)[punct])|[^\s*]))|^_+(?:((?!_)[punct])|([^\s_]))/,"u").replace(/punct/g,Q).getRegex(),J=n("^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)[punct](\\*+)(?=[\\s]|$)|[^punct\\s](\\*+)(?!\\*)(?=[punct\\s]|$)|(?!\\*)[punct\\s](\\*+)(?=[^punct\\s])|[\\s](\\*+)(?!\\*)(?=[punct])|(?!\\*)[punct](\\*+)(?!\\*)(?=[punct])|[^punct\\s](\\*+)(?=[^punct\\s])","gu").replace(/punct/g,Q).getRegex(),ie=n("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)[punct](_+)(?=[\\s]|$)|[^punct\\s](_+)(?!_)(?=[punct\\s]|$)|(?!_)[punct\\s](_+)(?=[^punct\\s])|[\\s](_+)(?!_)(?=[punct])|(?!_)[punct](_+)(?!_)(?=[punct])","gu").replace(/punct/g,Q).getRegex(),ue=n(/\\([punct])/,"gu").replace(/punct/g,Q).getRegex(),he=n(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),pe=n(P).replace("(?:-->|$)","-->").getRegex(),ae=n("^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^").replace("comment",pe).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),ee=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,de=n(/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/).replace("label",ee).replace("href",/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),ge=n(/^!?\[(label)\]\[(ref)\]/).replace("label",ee).replace("ref",D).getRegex(),X=n(/^!?\[(ref)\](?:\[\])?/).replace("ref",D).getRegex(),B=n("reflink|nolink(?!\\()","g").replace("reflink",ge).replace("nolink",X).getRegex(),$={_backpedal:t,anyPunctuation:ue,autolink:he,blockSkip:K,br:U,code:z,del:t,emStrongLDelim:R,emStrongRDelimAst:J,emStrongRDelimUnd:ie,escape:H,link:de,nolink:X,punctuation:G,reflink:ge,reflinkSearch:B,tag:ae,text:j,url:t},Y={...$,link:n(/^!?\[(label)\]\((.*?)\)/).replace("label",ee).getRegex(),reflink:n(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",ee).getRegex()},Z={...$,escape:n(H).replace("])","~|])").getRegex(),url:n(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,"i").replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\je+" ".repeat(qe.length));let De,Re,We;for(;Ce;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some(He=>(De=He.call({lexer:this},Ce,Se))?(Ce=Ce.substring(De.raw.length),Se.push(De),!0):!1))){if(De=this.tokenizer.space(Ce)){Ce=Ce.substring(De.raw.length),De.raw.length===1&&Se.length>0?Se[Se.length-1].raw+=` +`:Se.push(De);continue}if(De=this.tokenizer.code(Ce)){Ce=Ce.substring(De.raw.length),Re=Se[Se.length-1],Re&&(Re.type==="paragraph"||Re.type==="text")?(Re.raw+=` +`+De.raw,Re.text+=` +`+De.text,this.inlineQueue[this.inlineQueue.length-1].src=Re.text):Se.push(De);continue}if(De=this.tokenizer.fences(Ce)){Ce=Ce.substring(De.raw.length),Se.push(De);continue}if(De=this.tokenizer.heading(Ce)){Ce=Ce.substring(De.raw.length),Se.push(De);continue}if(De=this.tokenizer.hr(Ce)){Ce=Ce.substring(De.raw.length),Se.push(De);continue}if(De=this.tokenizer.blockquote(Ce)){Ce=Ce.substring(De.raw.length),Se.push(De);continue}if(De=this.tokenizer.list(Ce)){Ce=Ce.substring(De.raw.length),Se.push(De);continue}if(De=this.tokenizer.html(Ce)){Ce=Ce.substring(De.raw.length),Se.push(De);continue}if(De=this.tokenizer.def(Ce)){Ce=Ce.substring(De.raw.length),Re=Se[Se.length-1],Re&&(Re.type==="paragraph"||Re.type==="text")?(Re.raw+=` +`+De.raw,Re.text+=` +`+De.raw,this.inlineQueue[this.inlineQueue.length-1].src=Re.text):this.tokens.links[De.tag]||(this.tokens.links[De.tag]={href:De.href,title:De.title});continue}if(De=this.tokenizer.table(Ce)){Ce=Ce.substring(De.raw.length),Se.push(De);continue}if(De=this.tokenizer.lheading(Ce)){Ce=Ce.substring(De.raw.length),Se.push(De);continue}if(We=Ce,this.options.extensions&&this.options.extensions.startBlock){let He=1/0;const je=Ce.slice(1);let qe;this.options.extensions.startBlock.forEach(Ze=>{qe=Ze.call({lexer:this},je),typeof qe=="number"&&qe>=0&&(He=Math.min(He,qe))}),He<1/0&&He>=0&&(We=Ce.substring(0,He+1))}if(this.state.top&&(De=this.tokenizer.paragraph(We))){Re=Se[Se.length-1],ye&&Re?.type==="paragraph"?(Re.raw+=` +`+De.raw,Re.text+=` +`+De.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=Re.text):Se.push(De),ye=We.length!==Ce.length,Ce=Ce.substring(De.raw.length);continue}if(De=this.tokenizer.text(Ce)){Ce=Ce.substring(De.raw.length),Re=Se[Se.length-1],Re&&Re.type==="text"?(Re.raw+=` +`+De.raw,Re.text+=` +`+De.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=Re.text):Se.push(De);continue}if(Ce){const He="Infinite loop on byte: "+Ce.charCodeAt(0);if(this.options.silent){console.error(He);break}else throw new Error(He)}}return this.state.top=!0,Se}inline(Ce,Se=[]){return this.inlineQueue.push({src:Ce,tokens:Se}),Se}inlineTokens(Ce,Se=[]){let ye,De,Re,We=Ce,He,je,qe;if(this.tokens.links){const Ze=Object.keys(this.tokens.links);if(Ze.length>0)for(;(He=this.tokenizer.rules.inline.reflinkSearch.exec(We))!=null;)Ze.includes(He[0].slice(He[0].lastIndexOf("[")+1,-1))&&(We=We.slice(0,He.index)+"["+"a".repeat(He[0].length-2)+"]"+We.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(He=this.tokenizer.rules.inline.blockSkip.exec(We))!=null;)We=We.slice(0,He.index)+"["+"a".repeat(He[0].length-2)+"]"+We.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;(He=this.tokenizer.rules.inline.anyPunctuation.exec(We))!=null;)We=We.slice(0,He.index)+"++"+We.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);for(;Ce;)if(je||(qe=""),je=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some(Ze=>(ye=Ze.call({lexer:this},Ce,Se))?(Ce=Ce.substring(ye.raw.length),Se.push(ye),!0):!1))){if(ye=this.tokenizer.escape(Ce)){Ce=Ce.substring(ye.raw.length),Se.push(ye);continue}if(ye=this.tokenizer.tag(Ce)){Ce=Ce.substring(ye.raw.length),De=Se[Se.length-1],De&&ye.type==="text"&&De.type==="text"?(De.raw+=ye.raw,De.text+=ye.text):Se.push(ye);continue}if(ye=this.tokenizer.link(Ce)){Ce=Ce.substring(ye.raw.length),Se.push(ye);continue}if(ye=this.tokenizer.reflink(Ce,this.tokens.links)){Ce=Ce.substring(ye.raw.length),De=Se[Se.length-1],De&&ye.type==="text"&&De.type==="text"?(De.raw+=ye.raw,De.text+=ye.text):Se.push(ye);continue}if(ye=this.tokenizer.emStrong(Ce,We,qe)){Ce=Ce.substring(ye.raw.length),Se.push(ye);continue}if(ye=this.tokenizer.codespan(Ce)){Ce=Ce.substring(ye.raw.length),Se.push(ye);continue}if(ye=this.tokenizer.br(Ce)){Ce=Ce.substring(ye.raw.length),Se.push(ye);continue}if(ye=this.tokenizer.del(Ce)){Ce=Ce.substring(ye.raw.length),Se.push(ye);continue}if(ye=this.tokenizer.autolink(Ce)){Ce=Ce.substring(ye.raw.length),Se.push(ye);continue}if(!this.state.inLink&&(ye=this.tokenizer.url(Ce))){Ce=Ce.substring(ye.raw.length),Se.push(ye);continue}if(Re=Ce,this.options.extensions&&this.options.extensions.startInline){let Ze=1/0;const et=Ce.slice(1);let lt;this.options.extensions.startInline.forEach(ct=>{lt=ct.call({lexer:this},et),typeof lt=="number"&<>=0&&(Ze=Math.min(Ze,lt))}),Ze<1/0&&Ze>=0&&(Re=Ce.substring(0,Ze+1))}if(ye=this.tokenizer.inlineText(Re)){Ce=Ce.substring(ye.raw.length),ye.raw.slice(-1)!=="_"&&(qe=ye.raw.slice(-1)),je=!0,De=Se[Se.length-1],De&&De.type==="text"?(De.raw+=ye.raw,De.text+=ye.text):Se.push(ye);continue}if(Ce){const Ze="Infinite loop on byte: "+Ce.charCodeAt(0);if(this.options.silent){console.error(Ze);break}else throw new Error(Ze)}}return Se}}class ve{options;parser;constructor(Ce){this.options=Ce||oe.defaults}space(Ce){return""}code({text:Ce,lang:Se,escaped:ye}){const De=(Se||"").match(/^\S*/)?.[0],Re=Ce.replace(/\n$/,"")+` +`;return De?'
    '+(ye?Re:b(Re,!0))+`
    +`:"
    "+(ye?Re:b(Re,!0))+`
    +`}blockquote({tokens:Ce}){return`
    +${this.parser.parse(Ce)}
    +`}html({text:Ce}){return Ce}heading({tokens:Ce,depth:Se}){return`${this.parser.parseInline(Ce)} +`}hr(Ce){return`
    +`}list(Ce){const Se=Ce.ordered,ye=Ce.start;let De="";for(let He=0;He +`+De+" +`}listitem(Ce){let Se="";if(Ce.task){const ye=this.checkbox({checked:!!Ce.checked});Ce.loose?Ce.tokens.length>0&&Ce.tokens[0].type==="paragraph"?(Ce.tokens[0].text=ye+" "+Ce.tokens[0].text,Ce.tokens[0].tokens&&Ce.tokens[0].tokens.length>0&&Ce.tokens[0].tokens[0].type==="text"&&(Ce.tokens[0].tokens[0].text=ye+" "+Ce.tokens[0].tokens[0].text)):Ce.tokens.unshift({type:"text",raw:ye+" ",text:ye+" "}):Se+=ye+" "}return Se+=this.parser.parse(Ce.tokens,!!Ce.loose),`
  • ${Se}
  • +`}checkbox({checked:Ce}){return"'}paragraph({tokens:Ce}){return`

    ${this.parser.parseInline(Ce)}

    +`}table(Ce){let Se="",ye="";for(let Re=0;Re${De}`),` + +`+Se+` +`+De+`
    +`}tablerow({text:Ce}){return` +${Ce} +`}tablecell(Ce){const Se=this.parser.parseInline(Ce.tokens),ye=Ce.header?"th":"td";return(Ce.align?`<${ye} align="${Ce.align}">`:`<${ye}>`)+Se+` +`}strong({tokens:Ce}){return`${this.parser.parseInline(Ce)}`}em({tokens:Ce}){return`${this.parser.parseInline(Ce)}`}codespan({text:Ce}){return`${Ce}`}br(Ce){return"
    "}del({tokens:Ce}){return`${this.parser.parseInline(Ce)}`}link({href:Ce,title:Se,tokens:ye}){const De=this.parser.parseInline(ye),Re=o(Ce);if(Re===null)return De;Ce=Re;let We='
    ",We}image({href:Ce,title:Se,text:ye}){const De=o(Ce);if(De===null)return ye;Ce=De;let Re=`${ye}{const He=Re[We].flat(1/0);ye=ye.concat(this.walkTokens(He,Se))}):Re.tokens&&(ye=ye.concat(this.walkTokens(Re.tokens,Se)))}}return ye}use(...Ce){const Se=this.defaults.extensions||{renderers:{},childTokens:{}};return Ce.forEach(ye=>{const De={...ye};if(De.async=this.defaults.async||De.async||!1,ye.extensions&&(ye.extensions.forEach(Re=>{if(!Re.name)throw new Error("extension name required");if("renderer"in Re){const We=Se.renderers[Re.name];We?Se.renderers[Re.name]=function(...He){let je=Re.renderer.apply(this,He);return je===!1&&(je=We.apply(this,He)),je}:Se.renderers[Re.name]=Re.renderer}if("tokenizer"in Re){if(!Re.level||Re.level!=="block"&&Re.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");const We=Se[Re.level];We?We.unshift(Re.tokenizer):Se[Re.level]=[Re.tokenizer],Re.start&&(Re.level==="block"?Se.startBlock?Se.startBlock.push(Re.start):Se.startBlock=[Re.start]:Re.level==="inline"&&(Se.startInline?Se.startInline.push(Re.start):Se.startInline=[Re.start]))}"childTokens"in Re&&Re.childTokens&&(Se.childTokens[Re.name]=Re.childTokens)}),De.extensions=Se),ye.renderer){const Re=this.defaults.renderer||new ve(this.defaults);for(const We in ye.renderer){if(!(We in Re))throw new Error(`renderer '${We}' does not exist`);if(["options","parser"].includes(We))continue;const He=We,je=ye.renderer[He],qe=Re[He];Re[He]=(...Ze)=>{let et=je.apply(Re,Ze);return et===!1&&(et=qe.apply(Re,Ze)),et||""}}De.renderer=Re}if(ye.tokenizer){const Re=this.defaults.tokenizer||new a(this.defaults);for(const We in ye.tokenizer){if(!(We in Re))throw new Error(`tokenizer '${We}' does not exist`);if(["options","rules","lexer"].includes(We))continue;const He=We,je=ye.tokenizer[He],qe=Re[He];Re[He]=(...Ze)=>{let et=je.apply(Re,Ze);return et===!1&&(et=qe.apply(Re,Ze)),et}}De.tokenizer=Re}if(ye.hooks){const Re=this.defaults.hooks||new Ie;for(const We in ye.hooks){if(!(We in Re))throw new Error(`hook '${We}' does not exist`);if(We==="options")continue;const He=We,je=ye.hooks[He],qe=Re[He];Ie.passThroughHooks.has(We)?Re[He]=Ze=>{if(this.defaults.async)return Promise.resolve(je.call(Re,Ze)).then(lt=>qe.call(Re,lt));const et=je.call(Re,Ze);return qe.call(Re,et)}:Re[He]=(...Ze)=>{let et=je.apply(Re,Ze);return et===!1&&(et=qe.apply(Re,Ze)),et}}De.hooks=Re}if(ye.walkTokens){const Re=this.defaults.walkTokens,We=ye.walkTokens;De.walkTokens=function(He){let je=[];return je.push(We.call(this,He)),Re&&(je=je.concat(Re.call(this,He))),je}}this.defaults={...this.defaults,...De}}),this}setOptions(Ce){return this.defaults={...this.defaults,...Ce},this}lexer(Ce,Se){return me.lex(Ce,Se??this.defaults)}parser(Ce,Se){return Ee.parse(Ce,Se??this.defaults)}parseMarkdown(Ce,Se){return(De,Re)=>{const We={...Re},He={...this.defaults,...We},je=this.onError(!!He.silent,!!He.async);if(this.defaults.async===!0&&We.async===!1)return je(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof De>"u"||De===null)return je(new Error("marked(): input parameter is undefined or null"));if(typeof De!="string")return je(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(De)+", string expected"));if(He.hooks&&(He.hooks.options=He),He.async)return Promise.resolve(He.hooks?He.hooks.preprocess(De):De).then(qe=>Ce(qe,He)).then(qe=>He.hooks?He.hooks.processAllTokens(qe):qe).then(qe=>He.walkTokens?Promise.all(this.walkTokens(qe,He.walkTokens)).then(()=>qe):qe).then(qe=>Se(qe,He)).then(qe=>He.hooks?He.hooks.postprocess(qe):qe).catch(je);try{He.hooks&&(De=He.hooks.preprocess(De));let qe=Ce(De,He);He.hooks&&(qe=He.hooks.processAllTokens(qe)),He.walkTokens&&this.walkTokens(qe,He.walkTokens);let Ze=Se(qe,He);return He.hooks&&(Ze=He.hooks.postprocess(Ze)),Ze}catch(qe){return je(qe)}}}onError(Ce,Se){return ye=>{if(ye.message+=` +Please report this to https://github.com/markedjs/marked.`,Ce){const De="

    An error occurred:

    "+b(ye.message+"",!0)+"
    ";return Se?Promise.resolve(De):De}if(Se)return Promise.reject(ye);throw ye}}}const Me=new Ae;function Ne(Fe,Ce){return Me.parse(Fe,Ce)}Ne.options=Ne.setOptions=function(Fe){return Me.setOptions(Fe),Ne.defaults=Me.defaults,d(Ne.defaults),Ne},Ne.getDefaults=e,Ne.defaults=oe.defaults,Ne.use=function(...Fe){return Me.use(...Fe),Ne.defaults=Me.defaults,d(Ne.defaults),Ne},Ne.walkTokens=function(Fe,Ce){return Me.walkTokens(Fe,Ce)},Ne.parseInline=Me.parseInline,Ne.Parser=Ee,Ne.parser=Ee.parse,Ne.Renderer=ve,Ne.TextRenderer=Le,Ne.Lexer=me,Ne.lexer=me.lex,Ne.Tokenizer=a,Ne.Hooks=Ie,Ne.parse=Ne;const ze=Ne.options,Ve=Ne.setOptions,$e=Ne.use,it=Ne.walkTokens,Oe=Ne.parseInline,Pe=Ne,fe=Ee.parse,we=me.lex;oe.Hooks=Ie,oe.Lexer=me,oe.Marked=Ae,oe.Parser=Ee,oe.Renderer=ve,oe.TextRenderer=Le,oe.Tokenizer=a,oe.getDefaults=e,oe.lexer=we,oe.marked=Ne,oe.options=ze,oe.parse=Pe,oe.parseInline=Oe,oe.parser=fe,oe.setOptions=Ve,oe.use=$e,oe.walkTokens=it}),define(ne[128],se([1,0]),function(oe,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Mimes=void 0,e.Mimes=Object.freeze({text:"text/plain",binary:"application/octet-stream",unknown:"application/unknown",markdown:"text/markdown",latex:"text/latex",uriList:"text/uri-list"})}),define(ne[224],se([1,0,128]),function(oe,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DataTransfers=void 0,e.DataTransfers={RESOURCES:"ResourceURLs",DOWNLOAD_URL:"DownloadURL",FILES:"Files",TEXT:d.Mimes.text,INTERNAL_URI_LIST:"application/vnd.code.uri-list"}}),define(ne[448],se([1,0]),function(oe,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getKoreanAltChars=d;function d(o){const t=E(o);if(t&&t.length>0)return new Uint32Array(t)}let k=0;const I=new Uint32Array(10);function E(o){if(k=0,y(o,_,4352),k>0||(y(o,b,4449),k>0)||(y(o,p,4520),k>0)||(y(o,n,12593),k))return I.subarray(0,k);if(o>=44032&&o<=55203){const t=o-44032,i=t%588,s=Math.floor(t/588),g=Math.floor(i/28),c=i%28-1;if(s<_.length?y(s,_,0):4352+s-12593=0&&(c0)return I.subarray(0,k)}}function y(o,t,i){o>=i&&o>8&&(I[k++]=o>>8&255),o>>16&&(I[k++]=o>>16&255))}const _=new Uint8Array([114,82,115,101,69,102,97,113,81,116,84,100,119,87,99,122,120,118,103]),b=new Uint16Array([107,111,105,79,106,112,117,80,104,27496,28520,27752,121,110,27246,28782,27758,98,109,27757,108]),p=new Uint16Array([114,82,29810,115,30579,26483,101,102,29286,24934,29030,29798,30822,30310,26470,97,113,29809,116,84,100,119,99,122,120,118,103]),n=new Uint16Array([114,82,29810,115,30579,26483,101,69,102,29286,24934,29030,29798,30822,30310,26470,97,113,81,29809,116,84,100,119,87,99,122,120,118,103,107,111,105,79,106,112,117,80,104,27496,28520,27752,121,110,27246,28782,27758,98,109,27757,108])}),define(ne[449],se([1,0]),function(oe,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ArrayNavigator=void 0;class d{constructor(I,E=0,y=I.length,m=E-1){this.items=I,this.start=E,this.end=y,this.index=m}current(){return this.index===this.start-1||this.index===this.end?null:this.items[this.index]}next(){return this.index=Math.min(this.index+1,this.end),this.current()}previous(){return this.index=Math.max(this.index-1,this.start-1),this.current()}first(){return this.index=this.start,this.current()}last(){return this.index=this.end-1,this.current()}}e.ArrayNavigator=d}),define(ne[450],se([1,0,449]),function(oe,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.HistoryNavigator=void 0;class k{constructor(E=[],y=10){this._initialize(E),this._limit=y,this._onChange()}getHistory(){return this._elements}add(E){this._history.delete(E),this._history.add(E),this._onChange()}next(){return this._navigator.next()}previous(){return this._currentPosition()!==0?this._navigator.previous():null}current(){return this._navigator.current()}first(){return this._navigator.first()}last(){return this._navigator.last()}isLast(){return this._currentPosition()>=this._elements.length-1}isNowhere(){return this._navigator.current()===null}has(E){return this._history.has(E)}_onChange(){this._reduceToLimit();const E=this._elements;this._navigator=new d.ArrayNavigator(E,0,E.length,E.length)}_reduceToLimit(){const E=this._elements;E.length>this._limit&&this._initialize(E.slice(E.length-this._limit))}_currentPosition(){const E=this._navigator.current();return E?this._elements.indexOf(E):-1}_initialize(E){this._history=new Set;for(const y of E)this._history.add(y)}get _elements(){const E=[];return this._history.forEach(y=>E.push(y)),E}}e.HistoryNavigator=k}),define(ne[141],se([1,0]),function(oe,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SlidingWindowAverage=e.MovingAverage=void 0,e.clamp=d;function d(E,y,m){return Math.min(Math.max(E,y),m)}class k{constructor(){this._n=1,this._val=0}update(y){return this._val=this._val+(y-this._val)/this._n,this._n+=1,this._val}get value(){return this._val}}e.MovingAverage=k;class I{constructor(y){this._n=0,this._val=0,this._values=[],this._index=0,this._sum=0,this._values=new Array(y),this._values.fill(0,0,y)}update(y){const m=this._values[this._index];return this._values[this._index]=y,this._index=(this._index+1)%this._values.length,this._sum-=m,this._sum+=y,this._nc.debugName).join(", ")+")",{color:"gray"})}handleDerivedCreated(g){const c=g.handleChange;this.changedObservablesSets.set(g,new Set),g.handleChange=(l,a)=>(this.changedObservablesSets.get(g).add(l),c.apply(g,[l,a]))}handleDerivedRecomputed(g,c){const l=this.changedObservablesSets.get(g);console.log(...this.textToConsoleArgs([_("derived recomputed"),b(g.debugName,{color:"BlueViolet"}),...this.formatInfo(c),this.formatChanges(l),{data:[{fn:g._debugNameData.referenceFn??g._computeFn}]}])),l.clear()}handleFromEventObservableTriggered(g,c){console.log(...this.textToConsoleArgs([_("observable from event triggered"),b(g.debugName,{color:"BlueViolet"}),...this.formatInfo(c),{data:[{fn:g._getValue}]}]))}handleAutorunCreated(g){const c=g.handleChange;this.changedObservablesSets.set(g,new Set),g.handleChange=(l,a)=>(this.changedObservablesSets.get(g).add(l),c.apply(g,[l,a]))}handleAutorunTriggered(g){const c=this.changedObservablesSets.get(g);console.log(...this.textToConsoleArgs([_("autorun"),b(g.debugName,{color:"BlueViolet"}),this.formatChanges(c),{data:[{fn:g._debugNameData.referenceFn??g._runFn}]}])),c.clear(),this.indentation++}handleAutorunFinished(g){this.indentation--}handleBeginTransaction(g){let c=g.getDebugName();c===void 0&&(c=""),console.log(...this.textToConsoleArgs([_("transaction"),b(c,{color:"BlueViolet"}),{data:[{fn:g._fn}]}])),this.indentation++}handleEndTransaction(){this.indentation--}}e.ConsoleObservableLogger=E;function y(s){const g=new Array,c=[];let l="";function a(u){if("length"in u)for(const C of u)C&&a(C);else"text"in u?(l+=`%c${u.text}`,g.push(u.style),u.data&&c.push(...u.data)):"data"in u&&c.push(...u.data)}a(s);const r=[l,...g];return r.push(...c),r}function m(s){return b(s,{color:"black"})}function _(s){return b(i(`${s}: `,10),{color:"black",bold:!0})}function b(s,g={color:"black"}){function c(a){return Object.entries(a).reduce((r,[u,C])=>`${r}${u}:${C};`,"")}const l={color:g.color};return g.strikeThrough&&(l["text-decoration"]="line-through"),g.bold&&(l["font-weight"]="bold"),{text:s,style:c(l)}}function p(s,g){switch(typeof s){case"number":return""+s;case"string":return s.length+2<=g?`"${s}"`:`"${s.substr(0,g-7)}"+...`;case"boolean":return s?"true":"false";case"undefined":return"undefined";case"object":return s===null?"null":Array.isArray(s)?n(s,g):o(s,g);case"symbol":return s.toString();case"function":return`[[Function${s.name?" "+s.name:""}]]`;default:return""+s}}function n(s,g){let c="[ ",l=!0;for(const a of s){if(l||(c+=", "),c.length-5>g){c+="...";break}l=!1,c+=`${p(a,g-c.length)}`}return c+=" ]",c}function o(s,g){let c="{ ",l=!0;for(const[a,r]of Object.entries(s)){if(l||(c+=", "),c.length-5>g){c+="...";break}l=!1,c+=`${a}: ${p(r,g-c.length)}`}return c+=" }",c}function t(s,g){let c="";for(let l=1;l<=g;l++)c+=s;return c}function i(s,g){for(;s.length{i.clear(),t(g,c,i)});return(0,k.toDisposable)(()=>{s.dispose(),i.dispose()})}function p(o){const t=new k.DisposableStore,i=m({owner:void 0,debugName:void 0,debugReferenceFn:o},s=>{t.clear(),o(s,t)});return(0,k.toDisposable)(()=>{i.dispose(),t.dispose()})}class n{get debugName(){return this._debugNameData.getDebugName(this)??"(anonymous)"}constructor(t,i,s,g){this._debugNameData=t,this._runFn=i,this.createChangeSummary=s,this._handleChange=g,this.state=2,this.updateCount=0,this.disposed=!1,this.dependencies=new Set,this.dependenciesToBeRemoved=new Set,this.changeSummary=this.createChangeSummary?.(),(0,E.getLogger)()?.handleAutorunCreated(this),this._runIfNeeded(),(0,k.trackDisposable)(this)}dispose(){this.disposed=!0;for(const t of this.dependencies)t.removeObserver(this);this.dependencies.clear(),(0,k.markAsDisposed)(this)}_runIfNeeded(){if(this.state===3)return;const t=this.dependenciesToBeRemoved;this.dependenciesToBeRemoved=this.dependencies,this.dependencies=t,this.state=3;const i=this.disposed;try{if(!i){(0,E.getLogger)()?.handleAutorunTriggered(this);const s=this.changeSummary;this.changeSummary=this.createChangeSummary?.(),this._runFn(this,s)}}finally{i||(0,E.getLogger)()?.handleAutorunFinished(this);for(const s of this.dependenciesToBeRemoved)s.removeObserver(this);this.dependenciesToBeRemoved.clear()}}toString(){return`Autorun<${this.debugName}>`}beginUpdate(){this.state===3&&(this.state=1),this.updateCount++}endUpdate(){if(this.updateCount===1)do{if(this.state===1){this.state=3;for(const t of this.dependencies)if(t.reportChanges(),this.state===2)break}this._runIfNeeded()}while(this.state!==3);this.updateCount--,(0,d.assertFn)(()=>this.updateCount>=0)}handlePossibleChange(t){this.state===3&&this.dependencies.has(t)&&!this.dependenciesToBeRemoved.has(t)&&(this.state=1)}handleChange(t,i){this.dependencies.has(t)&&!this.dependenciesToBeRemoved.has(t)&&(!this._handleChange||this._handleChange({changedObservable:t,change:i,didChange:g=>g===t},this.changeSummary))&&(this.state=2)}readObservable(t){if(this.disposed)return t.get();t.addObserver(this);const i=t.get();return this.dependencies.add(t),this.dependenciesToBeRemoved.delete(t),i}}e.AutorunObserver=n,function(o){o.Observer=n}(y||(e.autorun=y={}))}),define(ne[92],se([1,0,102,161,162]),function(oe,e,d,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DisposableObservableValue=e.ObservableValue=e.TransactionImpl=e.BaseObservable=e.ConvenientObservable=void 0,e._setRecomputeInitiallyAndOnChange=y,e._setKeepObserved=_,e._setDerivedOpts=p,e.transaction=t,e.globalTransaction=s,e.asyncTransaction=g,e.subtransaction=c,e.observableValue=a,e.disposableObservableValue=u;let E;function y(f){E=f}let m;function _(f){m=f}let b;function p(f){b=f}class n{get TChange(){return null}reportChanges(){this.get()}read(h){return h?h.readObservable(this):this.get()}map(h,v){const w=v===void 0?void 0:h,S=v===void 0?h:v;return b({owner:w,debugName:()=>{const L=(0,k.getFunctionName)(S);if(L!==void 0)return L;const T=/^\s*\(?\s*([a-zA-Z_$][a-zA-Z_$0-9]*)\s*\)?\s*=>\s*\1(?:\??)\.([a-zA-Z_$][a-zA-Z_$0-9]*)\s*$/.exec(S.toString());if(T)return`${this.debugName}.${T[2]}`;if(!w)return`${this.debugName} (mapped)`},debugReferenceFn:S},L=>S(this.read(L),L))}flatten(){return b({owner:void 0,debugName:()=>`${this.debugName} (flattened)`},h=>this.read(h).read(h))}recomputeInitiallyAndOnChange(h,v){return h.add(E(this,v)),this}keepObserved(h){return h.add(m(this)),this}}e.ConvenientObservable=n;class o extends n{constructor(){super(...arguments),this.observers=new Set}addObserver(h){const v=this.observers.size;this.observers.add(h),v===0&&this.onFirstObserverAdded()}removeObserver(h){this.observers.delete(h)&&this.observers.size===0&&this.onLastObserverRemoved()}onFirstObserverAdded(){}onLastObserverRemoved(){}}e.BaseObservable=o;function t(f,h){const v=new l(f,h);try{f(v)}finally{v.finish()}}let i;function s(f){if(i)f(i);else{const h=new l(f,void 0);i=h;try{f(h)}finally{h.finish(),i=void 0}}}async function g(f,h){const v=new l(f,h);try{await f(v)}finally{v.finish()}}function c(f,h,v){f?h(f):t(h,v)}class l{constructor(h,v){this._fn=h,this._getDebugName=v,this.updatingObservers=[],(0,I.getLogger)()?.handleBeginTransaction(this)}getDebugName(){return this._getDebugName?this._getDebugName():(0,k.getFunctionName)(this._fn)}updateObserver(h,v){this.updatingObservers.push({observer:h,observable:v}),h.beginUpdate(v)}finish(){const h=this.updatingObservers;for(let v=0;v{},()=>`Setting ${this.debugName}`));try{const L=this._value;this._setValue(h),(0,I.getLogger)()?.handleObservableChanged(this,{oldValue:L,newValue:h,change:w,didChange:!0,hadValue:!0});for(const D of this.observers)v.updateObserver(D,this),D.handleChange(this,w)}finally{S&&S.finish()}}toString(){return`${this.debugName}: ${this._value}`}_setValue(h){this._value=h}}e.ObservableValue=r;function u(f,h){let v;return typeof f=="string"?v=new k.DebugNameData(void 0,f,void 0):v=new k.DebugNameData(f,void 0,void 0),new C(v,h,d.strictEquals)}class C extends r{_setValue(h){this._value!==h&&(this._value&&this._value.dispose(),this._value=h)}dispose(){this._value?.dispose()}}e.DisposableObservableValue=C}),define(ne[65],se([1,0,90,102,2,92,161,162]),function(oe,e,d,k,I,E,y,m){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DerivedWithSetter=e.Derived=void 0,e.derived=_,e.derivedWithSetter=b,e.derivedOpts=p,e.derivedHandleChanges=n,e.derivedWithStore=o,e.derivedDisposable=t;function _(g,c){return c!==void 0?new i(new y.DebugNameData(g,void 0,c),c,void 0,void 0,void 0,k.strictEquals):new i(new y.DebugNameData(void 0,void 0,g),g,void 0,void 0,void 0,k.strictEquals)}function b(g,c,l){return new s(new y.DebugNameData(g,void 0,c),c,void 0,void 0,void 0,k.strictEquals,l)}function p(g,c){return new i(new y.DebugNameData(g.owner,g.debugName,g.debugReferenceFn),c,void 0,void 0,g.onLastObserverRemoved,g.equalsFn??k.strictEquals)}(0,E._setDerivedOpts)(p);function n(g,c){return new i(new y.DebugNameData(g.owner,g.debugName,void 0),c,g.createEmptyChangeSummary,g.handleChange,void 0,g.equalityComparer??k.strictEquals)}function o(g,c){let l,a;c===void 0?(l=g,a=void 0):(a=g,l=c);const r=new I.DisposableStore;return new i(new y.DebugNameData(a,void 0,l),u=>(r.clear(),l(u,r)),void 0,void 0,()=>r.dispose(),k.strictEquals)}function t(g,c){let l,a;c===void 0?(l=g,a=void 0):(a=g,l=c);let r;return new i(new y.DebugNameData(a,void 0,l),u=>{r?r.clear():r=new I.DisposableStore;const C=l(u);return C&&r.add(C),C},void 0,void 0,()=>{r&&(r.dispose(),r=void 0)},k.strictEquals)}class i extends E.BaseObservable{get debugName(){return this._debugNameData.getDebugName(this)??"(anonymous)"}constructor(c,l,a,r,u=void 0,C){super(),this._debugNameData=c,this._computeFn=l,this.createChangeSummary=a,this._handleChange=r,this._handleLastObserverRemoved=u,this._equalityComparator=C,this.state=0,this.value=void 0,this.updateCount=0,this.dependencies=new Set,this.dependenciesToBeRemoved=new Set,this.changeSummary=void 0,this.changeSummary=this.createChangeSummary?.(),(0,m.getLogger)()?.handleDerivedCreated(this)}onLastObserverRemoved(){this.state=0,this.value=void 0;for(const c of this.dependencies)c.removeObserver(this);this.dependencies.clear(),this._handleLastObserverRemoved?.()}get(){if(this.observers.size===0){const c=this._computeFn(this,this.createChangeSummary?.());return this.onLastObserverRemoved(),c}else{do{if(this.state===1){for(const c of this.dependencies)if(c.reportChanges(),this.state===2)break}this.state===1&&(this.state=3),this._recomputeIfNeeded()}while(this.state!==3);return this.value}}_recomputeIfNeeded(){if(this.state===3)return;const c=this.dependenciesToBeRemoved;this.dependenciesToBeRemoved=this.dependencies,this.dependencies=c;const l=this.state!==0,a=this.value;this.state=3;const r=this.changeSummary;this.changeSummary=this.createChangeSummary?.();try{this.value=this._computeFn(this,r)}finally{for(const C of this.dependenciesToBeRemoved)C.removeObserver(this);this.dependenciesToBeRemoved.clear()}const u=l&&!this._equalityComparator(a,this.value);if((0,m.getLogger)()?.handleDerivedRecomputed(this,{oldValue:a,newValue:this.value,change:void 0,didChange:u,hadValue:l}),u)for(const C of this.observers)C.handleChange(this,void 0)}toString(){return`LazyDerived<${this.debugName}>`}beginUpdate(c){this.updateCount++;const l=this.updateCount===1;if(this.state===3&&(this.state=1,!l))for(const a of this.observers)a.handlePossibleChange(this);if(l)for(const a of this.observers)a.beginUpdate(this)}endUpdate(c){if(this.updateCount--,this.updateCount===0){const l=[...this.observers];for(const a of l)a.endUpdate(this)}(0,d.assertFn)(()=>this.updateCount>=0)}handlePossibleChange(c){if(this.state===3&&this.dependencies.has(c)&&!this.dependenciesToBeRemoved.has(c)){this.state=1;for(const l of this.observers)l.handlePossibleChange(this)}}handleChange(c,l){if(this.dependencies.has(c)&&!this.dependenciesToBeRemoved.has(c)){const a=this._handleChange?this._handleChange({changedObservable:c,change:l,didChange:u=>u===c},this.changeSummary):!0,r=this.state===3;if(a&&(this.state===1||r)&&(this.state=2,r))for(const u of this.observers)u.handlePossibleChange(this)}}readObservable(c){c.addObserver(this);const l=c.get();return this.dependencies.add(c),this.dependenciesToBeRemoved.delete(c),l}addObserver(c){const l=!this.observers.has(c)&&this.updateCount>0;super.addObserver(c),l&&c.beginUpdate(this)}removeObserver(c){const l=this.observers.has(c)&&this.updateCount>0;super.removeObserver(c),l&&c.endUpdate(this)}}e.Derived=i;class s extends i{constructor(c,l,a,r,u=void 0,C,f){super(c,l,a,r,u,C),this.set=f}}e.DerivedWithSetter=s}),define(ne[451],se([1,0,92]),function(oe,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.LazyObservableValue=void 0;class k extends d.BaseObservable{get debugName(){return this._debugNameData.getDebugName(this)??"LazyObservableValue"}constructor(E,y,m){super(),this._debugNameData=E,this._equalityComparator=m,this._isUpToDate=!0,this._deltas=[],this._updateCounter=0,this._value=y}get(){return this._update(),this._value}_update(){if(!this._isUpToDate)if(this._isUpToDate=!0,this._deltas.length>0){for(const E of this.observers)for(const y of this._deltas)E.handleChange(this,y);this._deltas.length=0}else for(const E of this.observers)E.handleChange(this,void 0)}_beginUpdate(){if(this._updateCounter++,this._updateCounter===1)for(const E of this.observers)E.beginUpdate(this)}_endUpdate(){if(this._updateCounter--,this._updateCounter===0){this._update();const E=[...this.observers];for(const y of E)y.endUpdate(this)}}addObserver(E){const y=!this.observers.has(E)&&this._updateCounter>0;super.addObserver(E),y&&E.beginUpdate(this)}removeObserver(E){const y=this.observers.has(E)&&this._updateCounter>0;super.removeObserver(E),y&&E.endUpdate(this)}set(E,y,m){if(m===void 0&&this._equalityComparator(this._value,E))return;let _;y||(y=_=new d.TransactionImpl(()=>{},()=>`Setting ${this.debugName}`));try{if(this._isUpToDate=!1,this._setValue(E),m!==void 0&&this._deltas.push(m),y.updateObserver({beginUpdate:()=>this._beginUpdate(),endUpdate:()=>this._endUpdate(),handleChange:(b,p)=>{},handlePossibleChange:b=>{}},this),this._updateCounter>1)for(const b of this.observers)b.handlePossibleChange(this)}finally{_&&_.finish()}}toString(){return`${this.debugName}: ${this._value}`}_setValue(E){this._value=E}}e.LazyObservableValue=k}),define(ne[452],se([1,0,102,92,161,451]),function(oe,e,d,k,I,E){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.observableValueOpts=y;function y(m,_){return m.lazy?new E.LazyObservableValue(new I.DebugNameData(m.owner,m.debugName,void 0),_,m.equalsFn??d.strictEquals):new k.ObservableValue(new I.DebugNameData(m.owner,m.debugName,void 0),_,m.equalsFn??d.strictEquals)}}),define(ne[453],se([1,0,299,92,8]),function(oe,e,d,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.PromiseResult=e.ObservablePromise=void 0,e.waitForState=m;class E{static fromFn(b){return new E(b())}constructor(b){this._value=(0,k.observableValue)(this,void 0),this.promiseResult=this._value,this.promise=b.then(p=>((0,k.transaction)(n=>{this._value.set(new y(p,void 0),n)}),p),p=>{throw(0,k.transaction)(n=>{this._value.set(new y(void 0,p),n)}),p})}}e.ObservablePromise=E;class y{constructor(b,p){this.data=b,this.error=p}}e.PromiseResult=y;function m(_,b,p,n){return b||(b=o=>o!=null),new Promise((o,t)=>{let i=!0,s=!1;const g=_.map(l=>({isFinished:b(l),error:p?p(l):!1,state:l})),c=(0,d.autorun)(l=>{const{isFinished:a,error:r,state:u}=g.read(l);(a||r)&&(i?s=!0:c.dispose(),r?t(r===!0?u:r):o(u))});if(n){const l=n.onCancellationRequested(()=>{c.dispose(),l.dispose(),t(new I.CancellationError)});if(n.isCancellationRequested){c.dispose(),l.dispose(),t(new I.CancellationError);return}}i=!1,s&&c.dispose()})}}),define(ne[188],se([1,0]),function(oe,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Range=void 0;var d;(function(k){function I(_,b){if(_.start>=b.end||b.start>=_.end)return{start:0,end:0};const p=Math.max(_.start,b.start),n=Math.min(_.end,b.end);return n-p<=0?{start:0,end:0}:{start:p,end:n}}k.intersect=I;function E(_){return _.end-_.start<=0}k.isEmpty=E;function y(_,b){return!E(I(_,b))}k.intersects=y;function m(_,b){const p=[],n={start:_.start,end:Math.min(b.start,_.end)},o={start:Math.max(b.end,_.start),end:_.end};return E(n)||p.push(n),E(o)||p.push(o),p}k.relativeComplement=m})(d||(e.Range=d={}))}),define(ne[454],se([1,0,188]),function(oe,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.RangeMap=void 0,e.groupIntersect=k,e.shift=I,e.consolidate=E;function k(_,b){const p=[];for(const n of b){if(_.start>=n.range.end)continue;if(_.endb.concat(p),[]))}class m{get paddingTop(){return this._paddingTop}set paddingTop(b){this._size=this._size+b-this._paddingTop,this._paddingTop=b}constructor(b){this.groups=[],this._size=0,this._paddingTop=0,this._paddingTop=b??0,this._size=this._paddingTop}splice(b,p,n=[]){const o=n.length-p,t=k({start:0,end:b},this.groups),i=k({start:b+p,end:Number.POSITIVE_INFINITY},this.groups).map(g=>({range:I(g.range,o),size:g.size})),s=n.map((g,c)=>({range:{start:b+c,end:b+c+1},size:g.size}));this.groups=y(t,s,i),this._size=this._paddingTop+this.groups.reduce((g,c)=>g+c.size*(c.range.end-c.range.start),0)}get count(){const b=this.groups.length;return b?this.groups[b-1].range.end:0}get size(){return this._size}indexAt(b){if(b<0)return-1;if(bI.Disposable.None;function M($){if(b){const{onDidAddListener:Y}=$,Z=i.create();let te=0;$.onDidAddListener=()=>{++te===2&&(console.warn("snapshotted emitter LIKELY used public and SHOULD HAVE BEEN created with DisposableStore. snapshotted here"),Z.print()),Y?.()}}}function A($,Y){return U($,()=>{},0,void 0,!0,void 0,Y)}T.defer=A;function P($){return(Y,Z=null,te)=>{let re=!1,le;return le=$(me=>{if(!re)return le?le.dispose():re=!0,Y.call(Z,me)},null,te),re&&le.dispose(),le}}T.once=P;function N($,Y){return T.once(T.filter($,Y))}T.onceIf=N;function O($,Y,Z){return H((te,re=null,le)=>$(me=>te.call(re,Y(me)),null,le),Z)}T.map=O;function F($,Y,Z){return H((te,re=null,le)=>$(me=>{Y(me),te.call(re,me)},null,le),Z)}T.forEach=F;function x($,Y,Z){return H((te,re=null,le)=>$(me=>Y(me)&&te.call(re,me),null,le),Z)}T.filter=x;function W($){return $}T.signal=W;function V(...$){return(Y,Z=null,te)=>{const re=(0,I.combinedDisposable)(...$.map(le=>le(me=>Y.call(Z,me))));return z(re,te)}}T.any=V;function q($,Y,Z,te){let re=Z;return O($,le=>(re=Y(re,le),re),te)}T.reduce=q;function H($,Y){let Z;const te={onWillAddFirstListener(){Z=$(re.fire,re)},onDidRemoveLastListener(){Z?.dispose()}};Y||M(te);const re=new u(te);return Y?.add(re),re.event}function z($,Y){return Y instanceof Array?Y.push($):Y&&Y.add($),$}function U($,Y,Z=100,te=!1,re=!1,le,me){let ve,Le,Ee,Ie=0,Ae;const Me={leakWarningThreshold:le,onWillAddFirstListener(){ve=$(ze=>{Ie++,Le=Y(Le,ze),te&&!Ee&&(Ne.fire(Le),Le=void 0),Ae=()=>{const Ve=Le;Le=void 0,Ee=void 0,(!te||Ie>1)&&Ne.fire(Ve),Ie=0},typeof Z=="number"?(clearTimeout(Ee),Ee=setTimeout(Ae,Z)):Ee===void 0&&(Ee=0,queueMicrotask(Ae))})},onWillRemoveListener(){re&&Ie>0&&Ae?.()},onDidRemoveLastListener(){Ae=void 0,ve.dispose()}};me||M(Me);const Ne=new u(Me);return me?.add(Ne),Ne.event}T.debounce=U;function j($,Y=0,Z){return T.debounce($,(te,re)=>te?(te.push(re),te):[re],Y,void 0,!0,void 0,Z)}T.accumulate=j;function Q($,Y=(te,re)=>te===re,Z){let te=!0,re;return x($,le=>{const me=te||!Y(le,re);return te=!1,re=le,me},Z)}T.latch=Q;function G($,Y,Z){return[T.filter($,Y,Z),T.filter($,te=>!Y(te),Z)]}T.split=G;function K($,Y=!1,Z=[],te){let re=Z.slice(),le=$(Le=>{re?re.push(Le):ve.fire(Le)});te&&te.add(le);const me=()=>{re?.forEach(Le=>ve.fire(Le)),re=null},ve=new u({onWillAddFirstListener(){le||(le=$(Le=>ve.fire(Le)),te&&te.add(le))},onDidAddFirstListener(){re&&(Y?setTimeout(me):me())},onDidRemoveLastListener(){le&&le.dispose(),le=null}});return te&&te.add(ve),ve.event}T.buffer=K;function R($,Y){return(te,re,le)=>{const me=Y(new ie);return $(function(ve){const Le=me.evaluate(ve);Le!==J&&te.call(re,Le)},void 0,le)}}T.chain=R;const J=Symbol("HaltChainable");class ie{constructor(){this.steps=[]}map(Y){return this.steps.push(Y),this}forEach(Y){return this.steps.push(Z=>(Y(Z),Z)),this}filter(Y){return this.steps.push(Z=>Y(Z)?Z:J),this}reduce(Y,Z){let te=Z;return this.steps.push(re=>(te=Y(te,re),te)),this}latch(Y=(Z,te)=>Z===te){let Z=!0,te;return this.steps.push(re=>{const le=Z||!Y(re,te);return Z=!1,te=re,le?re:J}),this}evaluate(Y){for(const Z of this.steps)if(Y=Z(Y),Y===J)break;return Y}}function ue($,Y,Z=te=>te){const te=(...ve)=>me.fire(Z(...ve)),re=()=>$.on(Y,te),le=()=>$.removeListener(Y,te),me=new u({onWillAddFirstListener:re,onDidRemoveLastListener:le});return me.event}T.fromNodeEventEmitter=ue;function he($,Y,Z=te=>te){const te=(...ve)=>me.fire(Z(...ve)),re=()=>$.addEventListener(Y,te),le=()=>$.removeEventListener(Y,te),me=new u({onWillAddFirstListener:re,onDidRemoveLastListener:le});return me.event}T.fromDOMEventEmitter=he;function pe($){return new Promise(Y=>P($)(Y))}T.toPromise=pe;function ae($){const Y=new u;return $.then(Z=>{Y.fire(Z)},()=>{Y.fire(void 0)}).finally(()=>{Y.dispose()}),Y.event}T.fromPromise=ae;function ee($,Y){return $(Z=>Y.fire(Z))}T.forward=ee;function de($,Y,Z){return Y(Z),$(te=>Y(te))}T.runAndSubscribe=de;class ge{constructor(Y,Z){this._observable=Y,this._counter=0,this._hasChanged=!1;const te={onWillAddFirstListener:()=>{Y.addObserver(this),this._observable.reportChanges()},onDidRemoveLastListener:()=>{Y.removeObserver(this)}};Z||M(te),this.emitter=new u(te),Z&&Z.add(this.emitter)}beginUpdate(Y){this._counter++}handlePossibleChange(Y){}handleChange(Y,Z){this._hasChanged=!0}endUpdate(Y){this._counter--,this._counter===0&&(this._observable.reportChanges(),this._hasChanged&&(this._hasChanged=!1,this.emitter.fire(this._observable.get())))}}function X($,Y){return new ge($,Y).emitter.event}T.fromObservable=X;function B($){return(Y,Z,te)=>{let re=0,le=!1;const me={beginUpdate(){re++},endUpdate(){re--,re===0&&($.reportChanges(),le&&(le=!1,Y.call(Z)))},handlePossibleChange(){},handleChange(){le=!0}};$.addObserver(me),$.reportChanges();const ve={dispose(){$.removeObserver(me)}};return te instanceof I.DisposableStore?te.add(ve):Array.isArray(te)&&te.push(ve),ve}}T.fromObservableLight=B})(p||(e.Event=p={}));class n{static{this.all=new Set}static{this._idPool=0}constructor(M){this.listenerCount=0,this.invocationCount=0,this.elapsedOverall=0,this.durations=[],this.name=`${M}_${n._idPool++}`,n.all.add(this)}start(M){this._stopWatch=new y.StopWatch,this.listenerCount=M}stop(){if(this._stopWatch){const M=this._stopWatch.elapsed();this.durations.push(M),this.elapsedOverall+=M,this.invocationCount+=1,this._stopWatch=void 0}}}e.EventProfiling=n;let o=-1;class t{static{this._idPool=1}constructor(M,A,P=(t._idPool++).toString(16).padStart(3,"0")){this._errorHandler=M,this.threshold=A,this.name=P,this._warnCountdown=0}dispose(){this._stacks?.clear()}check(M,A){const P=this.threshold;if(P<=0||A{const O=this._stacks.get(M.value)||0;this._stacks.set(M.value,O-1)}}getMostFrequentStack(){if(!this._stacks)return;let M,A=0;for(const[P,N]of this._stacks)(!M||A{if(T instanceof c)M(T);else for(let A=0;A{T.length!==0&&(console.warn("[LEAKING LISTENERS] GC'ed these listeners that were NOT yet disposed:"),console.warn(T.join(` +`)),T.length=0)},3e3),r=new FinalizationRegistry(M=>{typeof M=="string"&&T.push(M)})}class u{constructor(M){this._size=0,this._options=M,this._leakageMon=o>0||this._options?.leakWarningThreshold?new t(M?.onListenerError??d.onUnexpectedError,this._options?.leakWarningThreshold??o):void 0,this._perfMon=this._options?._profName?new n(this._options._profName):void 0,this._deliveryQueue=this._options?.deliveryQueue}dispose(){if(!this._disposed){if(this._disposed=!0,this._deliveryQueue?.current===this&&this._deliveryQueue.reset(),this._listeners){if(_){const M=this._listeners;queueMicrotask(()=>{a(M,A=>A.stack?.print())})}this._listeners=void 0,this._size=0}this._options?.onDidRemoveLastListener?.(),this._leakageMon?.dispose()}}get event(){return this._event??=(M,A,P)=>{if(this._leakageMon&&this._size>this._leakageMon.threshold**2){const W=`[${this._leakageMon.name}] REFUSES to accept new listeners because it exceeded its threshold by far (${this._size} vs ${this._leakageMon.threshold})`;console.warn(W);const V=this._leakageMon.getMostFrequentStack()??["UNKNOWN stack",-1],q=new g(`${W}. HINT: Stack shows most frequent listener (${V[1]}-times)`,V[0]);return(this._options?.onListenerError||d.onUnexpectedError)(q),I.Disposable.None}if(this._disposed)return I.Disposable.None;A&&(M=M.bind(A));const N=new c(M);let O,F;this._leakageMon&&this._size>=Math.ceil(this._leakageMon.threshold*.2)&&(N.stack=i.create(),O=this._leakageMon.check(N.stack,this._size+1)),_&&(N.stack=F??i.create()),this._listeners?this._listeners instanceof c?(this._deliveryQueue??=new f,this._listeners=[this._listeners,N]):this._listeners.push(N):(this._options?.onWillAddFirstListener?.(this),this._listeners=N,this._options?.onDidAddFirstListener?.(this)),this._size++;const x=(0,I.toDisposable)(()=>{r?.unregister(x),O?.(),this._removeListener(N)});if(P instanceof I.DisposableStore?P.add(x):Array.isArray(P)&&P.push(x),r){const W=new Error().stack.split(` +`).slice(2,3).join(` +`).trim(),V=/(file:|vscode-file:\/\/vscode-app)?(\/[^:]*:\d+:\d+)/.exec(W);r.register(x,V?.[2]??W,x)}return x},this._event}_removeListener(M){if(this._options?.onWillRemoveListener?.(this),!this._listeners)return;if(this._size===1){this._listeners=void 0,this._options?.onDidRemoveLastListener?.(this),this._size=0;return}const A=this._listeners,P=A.indexOf(M);if(P===-1)throw console.log("disposed?",this._disposed),console.log("size?",this._size),console.log("arr?",JSON.stringify(this._listeners)),new Error("Attempted to dispose unknown listener");this._size--,A[P]=void 0;const N=this._deliveryQueue.current===this;if(this._size*l<=A.length){let O=0;for(let F=0;F0}}e.Emitter=u;const C=()=>new f;e.createEventDeliveryQueue=C;class f{constructor(){this.i=-1,this.end=0}enqueue(M,A,P){this.i=0,this.end=P,this.current=M,this.value=A}reset(){this.i=this.end,this.current=void 0,this.value=void 0}}class h extends u{constructor(M){super(M),this._isPaused=0,this._eventQueue=new E.LinkedList,this._mergeFn=M?.merge}pause(){this._isPaused++}resume(){if(this._isPaused!==0&&--this._isPaused===0)if(this._mergeFn){if(this._eventQueue.size>0){const M=Array.from(this._eventQueue);this._eventQueue.clear(),super.fire(this._mergeFn(M))}}else for(;!this._isPaused&&this._eventQueue.size!==0;)super.fire(this._eventQueue.shift())}fire(M){this._size&&(this._isPaused!==0?this._eventQueue.push(M):super.fire(M))}}e.PauseableEmitter=h;class v extends h{constructor(M){super(M),this._delay=M.delay??100}fire(M){this._handle||(this.pause(),this._handle=setTimeout(()=>{this._handle=void 0,this.resume()},this._delay)),super.fire(M)}}e.DebounceEmitter=v;class w extends u{constructor(M){super(M),this._queuedEvents=[],this._mergeFn=M?.merge}fire(M){this.hasListeners()&&(this._queuedEvents.push(M),this._queuedEvents.length===1&&queueMicrotask(()=>{this._mergeFn?super.fire(this._mergeFn(this._queuedEvents)):this._queuedEvents.forEach(A=>super.fire(A)),this._queuedEvents=[]}))}}e.MicrotaskEmitter=w;class S{constructor(){this.hasListeners=!1,this.events=[],this.emitter=new u({onWillAddFirstListener:()=>this.onFirstListenerAdd(),onDidRemoveLastListener:()=>this.onLastListenerRemove()})}get event(){return this.emitter.event}add(M){const A={event:M,listener:null};this.events.push(A),this.hasListeners&&this.hook(A);const P=()=>{this.hasListeners&&this.unhook(A);const N=this.events.indexOf(A);this.events.splice(N,1)};return(0,I.toDisposable)((0,k.createSingleCallFunction)(P))}onFirstListenerAdd(){this.hasListeners=!0,this.events.forEach(M=>this.hook(M))}onLastListenerRemove(){this.hasListeners=!1,this.events.forEach(M=>this.unhook(M))}hook(M){M.listener=M.event(A=>this.emitter.fire(A))}unhook(M){M.listener?.dispose(),M.listener=null}dispose(){this.emitter.dispose();for(const M of this.events)M.listener?.dispose();this.events=[]}}e.EventMultiplexer=S;class L{constructor(){this.data=[]}wrapEvent(M,A,P){return(N,O,F)=>M(x=>{const W=this.data[this.data.length-1];if(!A){W?W.buffers.push(()=>N.call(O,x)):N.call(O,x);return}const V=W;if(!V){N.call(O,A(P,x));return}V.items??=[],V.items.push(x),V.buffers.length===0&&W.buffers.push(()=>{V.reducedResult??=P?V.items.reduce(A,P):V.items.reduce(A),N.call(O,V.reducedResult)})},void 0,F)}bufferEvents(M){const A={buffers:new Array};this.data.push(A);const P=M();return this.data.pop(),A.buffers.forEach(N=>N()),P}}e.EventBufferer=L;class D{constructor(){this.listening=!1,this.inputEvent=p.None,this.inputEventListener=I.Disposable.None,this.emitter=new u({onDidAddFirstListener:()=>{this.listening=!0,this.inputEventListener=this.inputEvent(this.emitter.fire,this.emitter)},onDidRemoveLastListener:()=>{this.listening=!1,this.inputEventListener.dispose()}}),this.event=this.emitter.event}set input(M){this.inputEvent=M,this.listening&&(this.inputEventListener.dispose(),this.inputEventListener=M(this.emitter.fire,this.emitter))}dispose(){this.inputEventListener.dispose(),this.emitter.dispose()}}e.Relay=D}),define(ne[93],se([1,0,6]),function(oe,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DomEmitter=void 0;class k{get event(){return this.emitter.event}constructor(E,y,m){const _=b=>this.emitter.fire(b);this.emitter=new d.Emitter({onWillAddFirstListener:()=>E.addEventListener(y,_,m),onDidRemoveLastListener:()=>E.removeEventListener(y,_,m)})}dispose(){this.emitter.dispose()}}e.DomEmitter=k}),define(ne[18],se([1,0,6]),function(oe,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CancellationTokenSource=e.CancellationToken=void 0,e.cancelOnDispose=m;const k=Object.freeze(function(_,b){const p=setTimeout(_.bind(b),0);return{dispose(){clearTimeout(p)}}});var I;(function(_){function b(p){return p===_.None||p===_.Cancelled||p instanceof E?!0:!p||typeof p!="object"?!1:typeof p.isCancellationRequested=="boolean"&&typeof p.onCancellationRequested=="function"}_.isCancellationToken=b,_.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:d.Event.None}),_.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:k})})(I||(e.CancellationToken=I={}));class E{constructor(){this._isCancelled=!1,this._emitter=null}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?k:(this._emitter||(this._emitter=new d.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}}class y{constructor(b){this._token=void 0,this._parentListener=void 0,this._parentListener=b&&b.onCancellationRequested(this.cancel,this)}get token(){return this._token||(this._token=new E),this._token}cancel(){this._token?this._token instanceof E&&this._token.cancel():this._token=I.Cancelled}dispose(b=!1){b&&this.cancel(),this._parentListener?.dispose(),this._token?this._token instanceof E&&this._token.dispose():this._token=I.None}}e.CancellationTokenSource=y;function m(_){const b=new y;return _.add({dispose(){b.cancel()}}),b.token}}),define(ne[300],se([1,0,6]),function(oe,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.IME=e.IMEImpl=void 0;class k{constructor(){this._onDidChange=new d.Emitter,this.onDidChange=this._onDidChange.event,this._enabled=!0}get enabled(){return this._enabled}enable(){this._enabled=!0,this._onDidChange.fire()}disable(){this._enabled=!1,this._onDidChange.fire()}}e.IMEImpl=k,e.IME=new k}),define(ne[189],se([1,0,6,2,92,161,65,162,102]),function(oe,e,d,k,I,E,y,m,_){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ValueWithChangeEventFromObservable=e.KeepAliveObserver=e.FromEventObservable=void 0,e.constObservable=b,e.observableFromEvent=n,e.observableFromEventOpts=o,e.observableSignalFromEvent=i,e.observableSignal=g,e.keepObserved=l,e.recomputeInitiallyAndOnChange=a,e.derivedObservableWithCache=u,e.derivedObservableWithWritableCache=C,e.mapObservableArrayCached=f,e.observableFromValueWithChangeEvent=w,e.derivedConstOnceDefined=S;function b(L){return new p(L)}class p extends I.ConvenientObservable{constructor(D){super(),this.value=D}get debugName(){return this.toString()}get(){return this.value}addObserver(D){}removeObserver(D){}toString(){return`Const: ${this.value}`}}function n(...L){let D,T,M;return L.length===3?[D,T,M]=L:[T,M]=L,new t(new E.DebugNameData(D,void 0,M),T,M,()=>t.globalTransaction,_.strictEquals)}function o(L,D,T){return new t(new E.DebugNameData(L.owner,L.debugName,L.debugReferenceFn??T),D,T,()=>t.globalTransaction,L.equalsFn??_.strictEquals)}class t extends I.BaseObservable{constructor(D,T,M,A,P){super(),this._debugNameData=D,this.event=T,this._getValue=M,this._getTransaction=A,this._equalityComparator=P,this.hasValue=!1,this.handleEvent=N=>{const O=this._getValue(N),F=this.value,x=!this.hasValue||!this._equalityComparator(F,O);let W=!1;x&&(this.value=O,this.hasValue&&(W=!0,(0,I.subtransaction)(this._getTransaction(),V=>{(0,m.getLogger)()?.handleFromEventObservableTriggered(this,{oldValue:F,newValue:O,change:void 0,didChange:x,hadValue:this.hasValue});for(const q of this.observers)V.updateObserver(q,this),q.handleChange(this,void 0)},()=>{const V=this.getDebugName();return"Event fired"+(V?`: ${V}`:"")})),this.hasValue=!0),W||(0,m.getLogger)()?.handleFromEventObservableTriggered(this,{oldValue:F,newValue:O,change:void 0,didChange:x,hadValue:this.hasValue})}}getDebugName(){return this._debugNameData.getDebugName(this)}get debugName(){const D=this.getDebugName();return"From Event"+(D?`: ${D}`:"")}onFirstObserverAdded(){this.subscription=this.event(this.handleEvent)}onLastObserverRemoved(){this.subscription.dispose(),this.subscription=void 0,this.hasValue=!1,this.value=void 0}get(){return this.subscription?(this.hasValue||this.handleEvent(void 0),this.value):this._getValue(void 0)}}e.FromEventObservable=t,function(L){L.Observer=t;function D(T,M){let A=!1;t.globalTransaction===void 0&&(t.globalTransaction=T,A=!0);try{M()}finally{A&&(t.globalTransaction=void 0)}}L.batchEventsGlobally=D}(n||(e.observableFromEvent=n={}));function i(L,D){return new s(L,D)}class s extends I.BaseObservable{constructor(D,T){super(),this.debugName=D,this.event=T,this.handleEvent=()=>{(0,I.transaction)(M=>{for(const A of this.observers)M.updateObserver(A,this),A.handleChange(this,void 0)},()=>this.debugName)}}onFirstObserverAdded(){this.subscription=this.event(this.handleEvent)}onLastObserverRemoved(){this.subscription.dispose(),this.subscription=void 0}get(){}}function g(L){return typeof L=="string"?new c(L):new c(void 0,L)}class c extends I.BaseObservable{get debugName(){return new E.DebugNameData(this._owner,this._debugName,void 0).getDebugName(this)??"Observable Signal"}toString(){return this.debugName}constructor(D,T){super(),this._debugName=D,this._owner=T}trigger(D,T){if(!D){(0,I.transaction)(M=>{this.trigger(M,T)},()=>`Trigger signal ${this.debugName}`);return}for(const M of this.observers)D.updateObserver(M,this),M.handleChange(this,T)}get(){}}function l(L){const D=new r(!1,void 0);return L.addObserver(D),(0,k.toDisposable)(()=>{L.removeObserver(D)})}(0,I._setKeepObserved)(l);function a(L,D){const T=new r(!0,D);return L.addObserver(T),D?D(L.get()):L.reportChanges(),(0,k.toDisposable)(()=>{L.removeObserver(T)})}(0,I._setRecomputeInitiallyAndOnChange)(a);class r{constructor(D,T){this._forceRecompute=D,this._handleValue=T,this._counter=0}beginUpdate(D){this._counter++}endUpdate(D){this._counter--,this._counter===0&&this._forceRecompute&&(this._handleValue?this._handleValue(D.get()):D.reportChanges())}handlePossibleChange(D){}handleChange(D,T){}}e.KeepAliveObserver=r;function u(L,D){let T;return(0,y.derivedOpts)({owner:L,debugReferenceFn:D},A=>(T=D(A,T),T))}function C(L,D){let T;const M=g("derivedObservableWithWritableCache"),A=(0,y.derived)(L,P=>(M.read(P),T=D(P,T),T));return Object.assign(A,{clearCache:P=>{T=void 0,M.trigger(P)},setCache:(P,N)=>{T=P,M.trigger(N)}})}function f(L,D,T,M){let A=new h(T,M);return(0,y.derivedOpts)({debugReferenceFn:T,owner:L,onLastObserverRemoved:()=>{A.dispose(),A=new h(T)}},N=>(A.setItems(D.read(N)),A.getItems()))}class h{constructor(D,T){this._map=D,this._keySelector=T,this._cache=new Map,this._items=[]}dispose(){this._cache.forEach(D=>D.store.dispose()),this._cache.clear()}setItems(D){const T=[],M=new Set(this._cache.keys());for(const A of D){const P=this._keySelector?this._keySelector(A):A;let N=this._cache.get(P);if(N)M.delete(P);else{const O=new k.DisposableStore;N={out:this._map(A,O),store:O},this._cache.set(P,N)}T.push(N.out)}for(const A of M)this._cache.get(A).store.dispose(),this._cache.delete(A);this._items=T}getItems(){return this._items}}class v{constructor(D){this.observable=D}get onDidChange(){return d.Event.fromObservableLight(this.observable)}get value(){return this.observable.get()}}e.ValueWithChangeEventFromObservable=v;function w(L,D){return D instanceof v?D.observable:n(L,D.onDidChange,()=>D.value)}function S(L,D){return u(L,(T,M)=>M??D(T))}}),define(ne[21],se([1,0,92,65,299,189,453,452,162]),function(oe,e,d,k,I,E,y,m,_){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.observableValueOpts=e.waitForState=e.PromiseResult=e.ObservablePromise=e.observableSignalFromEvent=e.observableSignal=e.observableFromEvent=e.recomputeInitiallyAndOnChange=e.keepObserved=e.derivedObservableWithWritableCache=e.derivedObservableWithCache=e.constObservable=e.autorunWithStoreHandleChanges=e.autorunOpts=e.autorunWithStore=e.autorunHandleChanges=e.autorun=e.derivedWithStore=e.derivedHandleChanges=e.derivedOpts=e.derived=e.subtransaction=e.transaction=e.disposableObservableValue=e.observableValue=void 0,Object.defineProperty(e,"observableValue",{enumerable:!0,get:function(){return d.observableValue}}),Object.defineProperty(e,"disposableObservableValue",{enumerable:!0,get:function(){return d.disposableObservableValue}}),Object.defineProperty(e,"transaction",{enumerable:!0,get:function(){return d.transaction}}),Object.defineProperty(e,"subtransaction",{enumerable:!0,get:function(){return d.subtransaction}}),Object.defineProperty(e,"derived",{enumerable:!0,get:function(){return k.derived}}),Object.defineProperty(e,"derivedOpts",{enumerable:!0,get:function(){return k.derivedOpts}}),Object.defineProperty(e,"derivedHandleChanges",{enumerable:!0,get:function(){return k.derivedHandleChanges}}),Object.defineProperty(e,"derivedWithStore",{enumerable:!0,get:function(){return k.derivedWithStore}}),Object.defineProperty(e,"autorun",{enumerable:!0,get:function(){return I.autorun}}),Object.defineProperty(e,"autorunHandleChanges",{enumerable:!0,get:function(){return I.autorunHandleChanges}}),Object.defineProperty(e,"autorunWithStore",{enumerable:!0,get:function(){return I.autorunWithStore}}),Object.defineProperty(e,"autorunOpts",{enumerable:!0,get:function(){return I.autorunOpts}}),Object.defineProperty(e,"autorunWithStoreHandleChanges",{enumerable:!0,get:function(){return I.autorunWithStoreHandleChanges}}),Object.defineProperty(e,"constObservable",{enumerable:!0,get:function(){return E.constObservable}}),Object.defineProperty(e,"derivedObservableWithCache",{enumerable:!0,get:function(){return E.derivedObservableWithCache}}),Object.defineProperty(e,"derivedObservableWithWritableCache",{enumerable:!0,get:function(){return E.derivedObservableWithWritableCache}}),Object.defineProperty(e,"keepObserved",{enumerable:!0,get:function(){return E.keepObserved}}),Object.defineProperty(e,"recomputeInitiallyAndOnChange",{enumerable:!0,get:function(){return E.recomputeInitiallyAndOnChange}}),Object.defineProperty(e,"observableFromEvent",{enumerable:!0,get:function(){return E.observableFromEvent}}),Object.defineProperty(e,"observableSignal",{enumerable:!0,get:function(){return E.observableSignal}}),Object.defineProperty(e,"observableSignalFromEvent",{enumerable:!0,get:function(){return E.observableSignalFromEvent}}),Object.defineProperty(e,"ObservablePromise",{enumerable:!0,get:function(){return y.ObservablePromise}}),Object.defineProperty(e,"PromiseResult",{enumerable:!0,get:function(){return y.PromiseResult}}),Object.defineProperty(e,"waitForState",{enumerable:!0,get:function(){return y.waitForState}}),Object.defineProperty(e,"observableValueOpts",{enumerable:!0,get:function(){return m.observableValueOpts}}),!1&&(0,_.setLogger)(new _.ConsoleObservableLogger)}),define(ne[163],se([1,0,6,2]),function(oe,e,d,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SmoothScrollingOperation=e.SmoothScrollingUpdate=e.Scrollable=e.ScrollState=void 0;class I{constructor(t,i,s,g,c,l,a){this._forceIntegerValues=t,this._scrollStateBrand=void 0,this._forceIntegerValues&&(i=i|0,s=s|0,g=g|0,c=c|0,l=l|0,a=a|0),this.rawScrollLeft=g,this.rawScrollTop=a,i<0&&(i=0),g+i>s&&(g=s-i),g<0&&(g=0),c<0&&(c=0),a+c>l&&(a=l-c),a<0&&(a=0),this.width=i,this.scrollWidth=s,this.scrollLeft=g,this.height=c,this.scrollHeight=l,this.scrollTop=a}equals(t){return this.rawScrollLeft===t.rawScrollLeft&&this.rawScrollTop===t.rawScrollTop&&this.width===t.width&&this.scrollWidth===t.scrollWidth&&this.scrollLeft===t.scrollLeft&&this.height===t.height&&this.scrollHeight===t.scrollHeight&&this.scrollTop===t.scrollTop}withScrollDimensions(t,i){return new I(this._forceIntegerValues,typeof t.width<"u"?t.width:this.width,typeof t.scrollWidth<"u"?t.scrollWidth:this.scrollWidth,i?this.rawScrollLeft:this.scrollLeft,typeof t.height<"u"?t.height:this.height,typeof t.scrollHeight<"u"?t.scrollHeight:this.scrollHeight,i?this.rawScrollTop:this.scrollTop)}withScrollPosition(t){return new I(this._forceIntegerValues,this.width,this.scrollWidth,typeof t.scrollLeft<"u"?t.scrollLeft:this.rawScrollLeft,this.height,this.scrollHeight,typeof t.scrollTop<"u"?t.scrollTop:this.rawScrollTop)}createScrollEvent(t,i){const s=this.width!==t.width,g=this.scrollWidth!==t.scrollWidth,c=this.scrollLeft!==t.scrollLeft,l=this.height!==t.height,a=this.scrollHeight!==t.scrollHeight,r=this.scrollTop!==t.scrollTop;return{inSmoothScrolling:i,oldWidth:t.width,oldScrollWidth:t.scrollWidth,oldScrollLeft:t.scrollLeft,width:this.width,scrollWidth:this.scrollWidth,scrollLeft:this.scrollLeft,oldHeight:t.height,oldScrollHeight:t.scrollHeight,oldScrollTop:t.scrollTop,height:this.height,scrollHeight:this.scrollHeight,scrollTop:this.scrollTop,widthChanged:s,scrollWidthChanged:g,scrollLeftChanged:c,heightChanged:l,scrollHeightChanged:a,scrollTopChanged:r}}}e.ScrollState=I;class E extends k.Disposable{constructor(t){super(),this._scrollableBrand=void 0,this._onScroll=this._register(new d.Emitter),this.onScroll=this._onScroll.event,this._smoothScrollDuration=t.smoothScrollDuration,this._scheduleAtNextAnimationFrame=t.scheduleAtNextAnimationFrame,this._state=new I(t.forceIntegerValues,0,0,0,0,0,0),this._smoothScrolling=null}dispose(){this._smoothScrolling&&(this._smoothScrolling.dispose(),this._smoothScrolling=null),super.dispose()}setSmoothScrollDuration(t){this._smoothScrollDuration=t}validateScrollPosition(t){return this._state.withScrollPosition(t)}getScrollDimensions(){return this._state}setScrollDimensions(t,i){const s=this._state.withScrollDimensions(t,i);this._setState(s,!!this._smoothScrolling),this._smoothScrolling?.acceptScrollDimensions(this._state)}getFutureScrollPosition(){return this._smoothScrolling?this._smoothScrolling.to:this._state}getCurrentScrollPosition(){return this._state}setScrollPositionNow(t){const i=this._state.withScrollPosition(t);this._smoothScrolling&&(this._smoothScrolling.dispose(),this._smoothScrolling=null),this._setState(i,!1)}setScrollPositionSmooth(t,i){if(this._smoothScrollDuration===0)return this.setScrollPositionNow(t);if(this._smoothScrolling){t={scrollLeft:typeof t.scrollLeft>"u"?this._smoothScrolling.to.scrollLeft:t.scrollLeft,scrollTop:typeof t.scrollTop>"u"?this._smoothScrolling.to.scrollTop:t.scrollTop};const s=this._state.withScrollPosition(t);if(this._smoothScrolling.to.scrollLeft===s.scrollLeft&&this._smoothScrolling.to.scrollTop===s.scrollTop)return;let g;i?g=new b(this._smoothScrolling.from,s,this._smoothScrolling.startTime,this._smoothScrolling.duration):g=this._smoothScrolling.combine(this._state,s,this._smoothScrollDuration),this._smoothScrolling.dispose(),this._smoothScrolling=g}else{const s=this._state.withScrollPosition(t);this._smoothScrolling=b.start(this._state,s,this._smoothScrollDuration)}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame(()=>{this._smoothScrolling&&(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())})}hasPendingScrollAnimation(){return!!this._smoothScrolling}_performSmoothScrolling(){if(!this._smoothScrolling)return;const t=this._smoothScrolling.tick(),i=this._state.withScrollPosition(t);if(this._setState(i,!0),!!this._smoothScrolling){if(t.isDone){this._smoothScrolling.dispose(),this._smoothScrolling=null;return}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame(()=>{this._smoothScrolling&&(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())})}}_setState(t,i){const s=this._state;s.equals(t)||(this._state=t,this._onScroll.fire(this._state.createScrollEvent(s,i)))}}e.Scrollable=E;class y{constructor(t,i,s){this.scrollLeft=t,this.scrollTop=i,this.isDone=s}}e.SmoothScrollingUpdate=y;function m(o,t){const i=t-o;return function(s){return o+i*n(s)}}function _(o,t,i){return function(s){return s2.5*s){let c,l;return t=te.length?re:te[me]})}function m(Z){return Z.replace(/[<>"'&]/g,te=>{switch(te){case"<":return"<";case">":return">";case'"':return""";case"'":return"'";case"&":return"&"}return te})}function _(Z){return Z.replace(/[<>&]/g,function(te){switch(te){case"<":return"<";case">":return">";case"&":return"&";default:return te}})}function b(Z){return Z.replace(/[\\\{\}\*\+\?\|\^\$\.\[\]\(\)]/g,"\\$&")}function p(Z,te=" "){const re=n(Z,te);return o(re,te)}function n(Z,te){if(!Z||!te)return Z;const re=te.length;if(re===0||Z.length===0)return Z;let le=0;for(;Z.indexOf(te,le)===le;)le=le+re;return Z.substring(le)}function o(Z,te){if(!Z||!te)return Z;const re=te.length,le=Z.length;if(re===0||le===0)return Z;let me=le,ve=-1;for(;ve=Z.lastIndexOf(te,me-1),!(ve===-1||ve+re!==me);){if(ve===0)return"";me=ve}return Z.substring(0,me)}function t(Z){return Z.replace(/[\-\\\{\}\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&").replace(/[\*]/g,".*")}function i(Z){return Z.replace(/\*/g,"")}function s(Z,te,re={}){if(!Z)throw new Error("Cannot create regex from empty string");te||(Z=b(Z)),re.wholeWord&&(/\B/.test(Z.charAt(0))||(Z="\\b"+Z),/\B/.test(Z.charAt(Z.length-1))||(Z=Z+"\\b"));let le="";return re.global&&(le+="g"),re.matchCase||(le+="i"),re.multiline&&(le+="m"),re.unicode&&(le+="u"),new RegExp(Z,le)}function g(Z){return Z.source==="^"||Z.source==="^$"||Z.source==="$"||Z.source==="^\\s*$"?!1:!!(Z.exec("")&&Z.lastIndex===0)}function c(Z){return Z.split(/\r\n|\r|\n/)}function l(Z){const te=[],re=Z.split(/(\r\n|\r|\n)/);for(let le=0;le=0;re--){const le=Z.charCodeAt(re);if(le!==32&&le!==9)return re}return-1}function C(Z,te){return Zte?1:0}function f(Z,te,re=0,le=Z.length,me=0,ve=te.length){for(;reAe)return 1}const Le=le-re,Ee=ve-me;return LeEe?1:0}function h(Z,te){return v(Z,te,0,Z.length,0,te.length)}function v(Z,te,re=0,le=Z.length,me=0,ve=te.length){for(;re=128||Ae>=128)return f(Z.toLowerCase(),te.toLowerCase(),re,le,me,ve);S(Ie)&&(Ie-=32),S(Ae)&&(Ae-=32);const Me=Ie-Ae;if(Me!==0)return Me}const Le=le-re,Ee=ve-me;return LeEe?1:0}function w(Z){return Z>=48&&Z<=57}function S(Z){return Z>=97&&Z<=122}function L(Z){return Z>=65&&Z<=90}function D(Z,te){return Z.length===te.length&&v(Z,te)===0}function T(Z,te){const re=te.length;return te.length>Z.length?!1:v(Z,te,0,re)===0}function M(Z,te){const re=Math.min(Z.length,te.length);let le;for(le=0;le1){const le=Z.charCodeAt(te-2);if(P(le))return O(le,re)}return re}class W{get offset(){return this._offset}constructor(te,re=0){this._str=te,this._len=te.length,this._offset=re}setOffset(te){this._offset=te}prevCodePoint(){const te=x(this._str,this._offset);return this._offset-=te>=65536?2:1,te}nextCodePoint(){const te=F(this._str,this._len,this._offset);return this._offset+=te>=65536?2:1,te}eol(){return this._offset>=this._len}}e.CodePointIterator=W;class V{get offset(){return this._iterator.offset}constructor(te,re=0){this._iterator=new W(te,re)}nextGraphemeLength(){const te=ee.getInstance(),re=this._iterator,le=re.offset;let me=te.getGraphemeBreakType(re.nextCodePoint());for(;!re.eol();){const ve=re.offset,Le=te.getGraphemeBreakType(re.nextCodePoint());if(ae(me,Le)){re.setOffset(ve);break}me=Le}return re.offset-le}prevGraphemeLength(){const te=ee.getInstance(),re=this._iterator,le=re.offset;let me=te.getGraphemeBreakType(re.prevCodePoint());for(;re.offset>0;){const ve=re.offset,Le=te.getGraphemeBreakType(re.prevCodePoint());if(ae(Le,me)){re.setOffset(ve);break}me=Le}return le-re.offset}eol(){return this._iterator.eol()}}e.GraphemeIterator=V;function q(Z,te){return new V(Z,te).nextGraphemeLength()}function H(Z,te){return new V(Z,te).prevGraphemeLength()}function z(Z,te){te>0&&N(Z.charCodeAt(te))&&te--;const re=te+q(Z,te);return[re-H(Z,re),re]}let U;function j(){return/(?:[\u05BE\u05C0\u05C3\u05C6\u05D0-\u05F4\u0608\u060B\u060D\u061B-\u064A\u066D-\u066F\u0671-\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u0710\u0712-\u072F\u074D-\u07A5\u07B1-\u07EA\u07F4\u07F5\u07FA\u07FE-\u0815\u081A\u0824\u0828\u0830-\u0858\u085E-\u088E\u08A0-\u08C9\u200F\uFB1D\uFB1F-\uFB28\uFB2A-\uFD3D\uFD50-\uFDC7\uFDF0-\uFDFC\uFE70-\uFEFC]|\uD802[\uDC00-\uDD1B\uDD20-\uDE00\uDE10-\uDE35\uDE40-\uDEE4\uDEEB-\uDF35\uDF40-\uDFFF]|\uD803[\uDC00-\uDD23\uDE80-\uDEA9\uDEAD-\uDF45\uDF51-\uDF81\uDF86-\uDFF6]|\uD83A[\uDC00-\uDCCF\uDD00-\uDD43\uDD4B-\uDFFF]|\uD83B[\uDC00-\uDEBB])/}function Q(Z){return U||(U=j()),U.test(Z)}const G=/^[\t\n\r\x20-\x7E]*$/;function K(Z){return G.test(Z)}e.UNUSUAL_LINE_TERMINATORS=/[\u2028\u2029]/;function R(Z){return e.UNUSUAL_LINE_TERMINATORS.test(Z)}function J(Z){return Z>=11904&&Z<=55215||Z>=63744&&Z<=64255||Z>=65281&&Z<=65374}function ie(Z){return Z>=127462&&Z<=127487||Z===8986||Z===8987||Z===9200||Z===9203||Z>=9728&&Z<=10175||Z===11088||Z===11093||Z>=127744&&Z<=128591||Z>=128640&&Z<=128764||Z>=128992&&Z<=129008||Z>=129280&&Z<=129535||Z>=129648&&Z<=129782}e.UTF8_BOM_CHARACTER="\uFEFF";function ue(Z){return!!(Z&&Z.length>0&&Z.charCodeAt(0)===65279)}function he(Z,te=!1){return Z?(te&&(Z=Z.replace(/\\./g,"")),Z.toLowerCase()!==Z):!1}function pe(Z){return Z=Z%(2*26),Z<26?String.fromCharCode(97+Z):String.fromCharCode(65+Z-26)}function ae(Z,te){return Z===0?te!==5&&te!==7:Z===2&&te===3?!1:Z===4||Z===2||Z===3||te===4||te===2||te===3?!0:!(Z===8&&(te===8||te===9||te===11||te===12)||(Z===11||Z===9)&&(te===9||te===10)||(Z===12||Z===10)&&te===10||te===5||te===13||te===7||Z===1||Z===13&&te===14||Z===6&&te===6)}class ee{static{this._INSTANCE=null}static getInstance(){return ee._INSTANCE||(ee._INSTANCE=new ee),ee._INSTANCE}constructor(){this._data=de()}getGraphemeBreakType(te){if(te<32)return te===10?3:te===13?2:4;if(te<127)return 0;const re=this._data,le=re.length/3;let me=1;for(;me<=le;)if(tere[3*me+1])me=2*me+1;else return re[3*me+2];return 0}}function de(){return JSON.parse("[0,0,0,51229,51255,12,44061,44087,12,127462,127487,6,7083,7085,5,47645,47671,12,54813,54839,12,128678,128678,14,3270,3270,5,9919,9923,14,45853,45879,12,49437,49463,12,53021,53047,12,71216,71218,7,128398,128399,14,129360,129374,14,2519,2519,5,4448,4519,9,9742,9742,14,12336,12336,14,44957,44983,12,46749,46775,12,48541,48567,12,50333,50359,12,52125,52151,12,53917,53943,12,69888,69890,5,73018,73018,5,127990,127990,14,128558,128559,14,128759,128760,14,129653,129655,14,2027,2035,5,2891,2892,7,3761,3761,5,6683,6683,5,8293,8293,4,9825,9826,14,9999,9999,14,43452,43453,5,44509,44535,12,45405,45431,12,46301,46327,12,47197,47223,12,48093,48119,12,48989,49015,12,49885,49911,12,50781,50807,12,51677,51703,12,52573,52599,12,53469,53495,12,54365,54391,12,65279,65279,4,70471,70472,7,72145,72147,7,119173,119179,5,127799,127818,14,128240,128244,14,128512,128512,14,128652,128652,14,128721,128722,14,129292,129292,14,129445,129450,14,129734,129743,14,1476,1477,5,2366,2368,7,2750,2752,7,3076,3076,5,3415,3415,5,4141,4144,5,6109,6109,5,6964,6964,5,7394,7400,5,9197,9198,14,9770,9770,14,9877,9877,14,9968,9969,14,10084,10084,14,43052,43052,5,43713,43713,5,44285,44311,12,44733,44759,12,45181,45207,12,45629,45655,12,46077,46103,12,46525,46551,12,46973,46999,12,47421,47447,12,47869,47895,12,48317,48343,12,48765,48791,12,49213,49239,12,49661,49687,12,50109,50135,12,50557,50583,12,51005,51031,12,51453,51479,12,51901,51927,12,52349,52375,12,52797,52823,12,53245,53271,12,53693,53719,12,54141,54167,12,54589,54615,12,55037,55063,12,69506,69509,5,70191,70193,5,70841,70841,7,71463,71467,5,72330,72342,5,94031,94031,5,123628,123631,5,127763,127765,14,127941,127941,14,128043,128062,14,128302,128317,14,128465,128467,14,128539,128539,14,128640,128640,14,128662,128662,14,128703,128703,14,128745,128745,14,129004,129007,14,129329,129330,14,129402,129402,14,129483,129483,14,129686,129704,14,130048,131069,14,173,173,4,1757,1757,1,2200,2207,5,2434,2435,7,2631,2632,5,2817,2817,5,3008,3008,5,3201,3201,5,3387,3388,5,3542,3542,5,3902,3903,7,4190,4192,5,6002,6003,5,6439,6440,5,6765,6770,7,7019,7027,5,7154,7155,7,8205,8205,13,8505,8505,14,9654,9654,14,9757,9757,14,9792,9792,14,9852,9853,14,9890,9894,14,9937,9937,14,9981,9981,14,10035,10036,14,11035,11036,14,42654,42655,5,43346,43347,7,43587,43587,5,44006,44007,7,44173,44199,12,44397,44423,12,44621,44647,12,44845,44871,12,45069,45095,12,45293,45319,12,45517,45543,12,45741,45767,12,45965,45991,12,46189,46215,12,46413,46439,12,46637,46663,12,46861,46887,12,47085,47111,12,47309,47335,12,47533,47559,12,47757,47783,12,47981,48007,12,48205,48231,12,48429,48455,12,48653,48679,12,48877,48903,12,49101,49127,12,49325,49351,12,49549,49575,12,49773,49799,12,49997,50023,12,50221,50247,12,50445,50471,12,50669,50695,12,50893,50919,12,51117,51143,12,51341,51367,12,51565,51591,12,51789,51815,12,52013,52039,12,52237,52263,12,52461,52487,12,52685,52711,12,52909,52935,12,53133,53159,12,53357,53383,12,53581,53607,12,53805,53831,12,54029,54055,12,54253,54279,12,54477,54503,12,54701,54727,12,54925,54951,12,55149,55175,12,68101,68102,5,69762,69762,7,70067,70069,7,70371,70378,5,70720,70721,7,71087,71087,5,71341,71341,5,71995,71996,5,72249,72249,7,72850,72871,5,73109,73109,5,118576,118598,5,121505,121519,5,127245,127247,14,127568,127569,14,127777,127777,14,127872,127891,14,127956,127967,14,128015,128016,14,128110,128172,14,128259,128259,14,128367,128368,14,128424,128424,14,128488,128488,14,128530,128532,14,128550,128551,14,128566,128566,14,128647,128647,14,128656,128656,14,128667,128673,14,128691,128693,14,128715,128715,14,128728,128732,14,128752,128752,14,128765,128767,14,129096,129103,14,129311,129311,14,129344,129349,14,129394,129394,14,129413,129425,14,129466,129471,14,129511,129535,14,129664,129666,14,129719,129722,14,129760,129767,14,917536,917631,5,13,13,2,1160,1161,5,1564,1564,4,1807,1807,1,2085,2087,5,2307,2307,7,2382,2383,7,2497,2500,5,2563,2563,7,2677,2677,5,2763,2764,7,2879,2879,5,2914,2915,5,3021,3021,5,3142,3144,5,3263,3263,5,3285,3286,5,3398,3400,7,3530,3530,5,3633,3633,5,3864,3865,5,3974,3975,5,4155,4156,7,4229,4230,5,5909,5909,7,6078,6085,7,6277,6278,5,6451,6456,7,6744,6750,5,6846,6846,5,6972,6972,5,7074,7077,5,7146,7148,7,7222,7223,5,7416,7417,5,8234,8238,4,8417,8417,5,9000,9000,14,9203,9203,14,9730,9731,14,9748,9749,14,9762,9763,14,9776,9783,14,9800,9811,14,9831,9831,14,9872,9873,14,9882,9882,14,9900,9903,14,9929,9933,14,9941,9960,14,9974,9974,14,9989,9989,14,10006,10006,14,10062,10062,14,10160,10160,14,11647,11647,5,12953,12953,14,43019,43019,5,43232,43249,5,43443,43443,5,43567,43568,7,43696,43696,5,43765,43765,7,44013,44013,5,44117,44143,12,44229,44255,12,44341,44367,12,44453,44479,12,44565,44591,12,44677,44703,12,44789,44815,12,44901,44927,12,45013,45039,12,45125,45151,12,45237,45263,12,45349,45375,12,45461,45487,12,45573,45599,12,45685,45711,12,45797,45823,12,45909,45935,12,46021,46047,12,46133,46159,12,46245,46271,12,46357,46383,12,46469,46495,12,46581,46607,12,46693,46719,12,46805,46831,12,46917,46943,12,47029,47055,12,47141,47167,12,47253,47279,12,47365,47391,12,47477,47503,12,47589,47615,12,47701,47727,12,47813,47839,12,47925,47951,12,48037,48063,12,48149,48175,12,48261,48287,12,48373,48399,12,48485,48511,12,48597,48623,12,48709,48735,12,48821,48847,12,48933,48959,12,49045,49071,12,49157,49183,12,49269,49295,12,49381,49407,12,49493,49519,12,49605,49631,12,49717,49743,12,49829,49855,12,49941,49967,12,50053,50079,12,50165,50191,12,50277,50303,12,50389,50415,12,50501,50527,12,50613,50639,12,50725,50751,12,50837,50863,12,50949,50975,12,51061,51087,12,51173,51199,12,51285,51311,12,51397,51423,12,51509,51535,12,51621,51647,12,51733,51759,12,51845,51871,12,51957,51983,12,52069,52095,12,52181,52207,12,52293,52319,12,52405,52431,12,52517,52543,12,52629,52655,12,52741,52767,12,52853,52879,12,52965,52991,12,53077,53103,12,53189,53215,12,53301,53327,12,53413,53439,12,53525,53551,12,53637,53663,12,53749,53775,12,53861,53887,12,53973,53999,12,54085,54111,12,54197,54223,12,54309,54335,12,54421,54447,12,54533,54559,12,54645,54671,12,54757,54783,12,54869,54895,12,54981,55007,12,55093,55119,12,55243,55291,10,66045,66045,5,68325,68326,5,69688,69702,5,69817,69818,5,69957,69958,7,70089,70092,5,70198,70199,5,70462,70462,5,70502,70508,5,70750,70750,5,70846,70846,7,71100,71101,5,71230,71230,7,71351,71351,5,71737,71738,5,72000,72000,7,72160,72160,5,72273,72278,5,72752,72758,5,72882,72883,5,73031,73031,5,73461,73462,7,94192,94193,7,119149,119149,7,121403,121452,5,122915,122916,5,126980,126980,14,127358,127359,14,127535,127535,14,127759,127759,14,127771,127771,14,127792,127793,14,127825,127867,14,127897,127899,14,127945,127945,14,127985,127986,14,128000,128007,14,128021,128021,14,128066,128100,14,128184,128235,14,128249,128252,14,128266,128276,14,128335,128335,14,128379,128390,14,128407,128419,14,128444,128444,14,128481,128481,14,128499,128499,14,128526,128526,14,128536,128536,14,128543,128543,14,128556,128556,14,128564,128564,14,128577,128580,14,128643,128645,14,128649,128649,14,128654,128654,14,128660,128660,14,128664,128664,14,128675,128675,14,128686,128689,14,128695,128696,14,128705,128709,14,128717,128719,14,128725,128725,14,128736,128741,14,128747,128748,14,128755,128755,14,128762,128762,14,128981,128991,14,129009,129023,14,129160,129167,14,129296,129304,14,129320,129327,14,129340,129342,14,129356,129356,14,129388,129392,14,129399,129400,14,129404,129407,14,129432,129442,14,129454,129455,14,129473,129474,14,129485,129487,14,129648,129651,14,129659,129660,14,129671,129679,14,129709,129711,14,129728,129730,14,129751,129753,14,129776,129782,14,917505,917505,4,917760,917999,5,10,10,3,127,159,4,768,879,5,1471,1471,5,1536,1541,1,1648,1648,5,1767,1768,5,1840,1866,5,2070,2073,5,2137,2139,5,2274,2274,1,2363,2363,7,2377,2380,7,2402,2403,5,2494,2494,5,2507,2508,7,2558,2558,5,2622,2624,7,2641,2641,5,2691,2691,7,2759,2760,5,2786,2787,5,2876,2876,5,2881,2884,5,2901,2902,5,3006,3006,5,3014,3016,7,3072,3072,5,3134,3136,5,3157,3158,5,3260,3260,5,3266,3266,5,3274,3275,7,3328,3329,5,3391,3392,7,3405,3405,5,3457,3457,5,3536,3537,7,3551,3551,5,3636,3642,5,3764,3772,5,3895,3895,5,3967,3967,7,3993,4028,5,4146,4151,5,4182,4183,7,4226,4226,5,4253,4253,5,4957,4959,5,5940,5940,7,6070,6070,7,6087,6088,7,6158,6158,4,6432,6434,5,6448,6449,7,6679,6680,5,6742,6742,5,6754,6754,5,6783,6783,5,6912,6915,5,6966,6970,5,6978,6978,5,7042,7042,7,7080,7081,5,7143,7143,7,7150,7150,7,7212,7219,5,7380,7392,5,7412,7412,5,8203,8203,4,8232,8232,4,8265,8265,14,8400,8412,5,8421,8432,5,8617,8618,14,9167,9167,14,9200,9200,14,9410,9410,14,9723,9726,14,9733,9733,14,9745,9745,14,9752,9752,14,9760,9760,14,9766,9766,14,9774,9774,14,9786,9786,14,9794,9794,14,9823,9823,14,9828,9828,14,9833,9850,14,9855,9855,14,9875,9875,14,9880,9880,14,9885,9887,14,9896,9897,14,9906,9916,14,9926,9927,14,9935,9935,14,9939,9939,14,9962,9962,14,9972,9972,14,9978,9978,14,9986,9986,14,9997,9997,14,10002,10002,14,10017,10017,14,10055,10055,14,10071,10071,14,10133,10135,14,10548,10549,14,11093,11093,14,12330,12333,5,12441,12442,5,42608,42610,5,43010,43010,5,43045,43046,5,43188,43203,7,43302,43309,5,43392,43394,5,43446,43449,5,43493,43493,5,43571,43572,7,43597,43597,7,43703,43704,5,43756,43757,5,44003,44004,7,44009,44010,7,44033,44059,12,44089,44115,12,44145,44171,12,44201,44227,12,44257,44283,12,44313,44339,12,44369,44395,12,44425,44451,12,44481,44507,12,44537,44563,12,44593,44619,12,44649,44675,12,44705,44731,12,44761,44787,12,44817,44843,12,44873,44899,12,44929,44955,12,44985,45011,12,45041,45067,12,45097,45123,12,45153,45179,12,45209,45235,12,45265,45291,12,45321,45347,12,45377,45403,12,45433,45459,12,45489,45515,12,45545,45571,12,45601,45627,12,45657,45683,12,45713,45739,12,45769,45795,12,45825,45851,12,45881,45907,12,45937,45963,12,45993,46019,12,46049,46075,12,46105,46131,12,46161,46187,12,46217,46243,12,46273,46299,12,46329,46355,12,46385,46411,12,46441,46467,12,46497,46523,12,46553,46579,12,46609,46635,12,46665,46691,12,46721,46747,12,46777,46803,12,46833,46859,12,46889,46915,12,46945,46971,12,47001,47027,12,47057,47083,12,47113,47139,12,47169,47195,12,47225,47251,12,47281,47307,12,47337,47363,12,47393,47419,12,47449,47475,12,47505,47531,12,47561,47587,12,47617,47643,12,47673,47699,12,47729,47755,12,47785,47811,12,47841,47867,12,47897,47923,12,47953,47979,12,48009,48035,12,48065,48091,12,48121,48147,12,48177,48203,12,48233,48259,12,48289,48315,12,48345,48371,12,48401,48427,12,48457,48483,12,48513,48539,12,48569,48595,12,48625,48651,12,48681,48707,12,48737,48763,12,48793,48819,12,48849,48875,12,48905,48931,12,48961,48987,12,49017,49043,12,49073,49099,12,49129,49155,12,49185,49211,12,49241,49267,12,49297,49323,12,49353,49379,12,49409,49435,12,49465,49491,12,49521,49547,12,49577,49603,12,49633,49659,12,49689,49715,12,49745,49771,12,49801,49827,12,49857,49883,12,49913,49939,12,49969,49995,12,50025,50051,12,50081,50107,12,50137,50163,12,50193,50219,12,50249,50275,12,50305,50331,12,50361,50387,12,50417,50443,12,50473,50499,12,50529,50555,12,50585,50611,12,50641,50667,12,50697,50723,12,50753,50779,12,50809,50835,12,50865,50891,12,50921,50947,12,50977,51003,12,51033,51059,12,51089,51115,12,51145,51171,12,51201,51227,12,51257,51283,12,51313,51339,12,51369,51395,12,51425,51451,12,51481,51507,12,51537,51563,12,51593,51619,12,51649,51675,12,51705,51731,12,51761,51787,12,51817,51843,12,51873,51899,12,51929,51955,12,51985,52011,12,52041,52067,12,52097,52123,12,52153,52179,12,52209,52235,12,52265,52291,12,52321,52347,12,52377,52403,12,52433,52459,12,52489,52515,12,52545,52571,12,52601,52627,12,52657,52683,12,52713,52739,12,52769,52795,12,52825,52851,12,52881,52907,12,52937,52963,12,52993,53019,12,53049,53075,12,53105,53131,12,53161,53187,12,53217,53243,12,53273,53299,12,53329,53355,12,53385,53411,12,53441,53467,12,53497,53523,12,53553,53579,12,53609,53635,12,53665,53691,12,53721,53747,12,53777,53803,12,53833,53859,12,53889,53915,12,53945,53971,12,54001,54027,12,54057,54083,12,54113,54139,12,54169,54195,12,54225,54251,12,54281,54307,12,54337,54363,12,54393,54419,12,54449,54475,12,54505,54531,12,54561,54587,12,54617,54643,12,54673,54699,12,54729,54755,12,54785,54811,12,54841,54867,12,54897,54923,12,54953,54979,12,55009,55035,12,55065,55091,12,55121,55147,12,55177,55203,12,65024,65039,5,65520,65528,4,66422,66426,5,68152,68154,5,69291,69292,5,69633,69633,5,69747,69748,5,69811,69814,5,69826,69826,5,69932,69932,7,70016,70017,5,70079,70080,7,70095,70095,5,70196,70196,5,70367,70367,5,70402,70403,7,70464,70464,5,70487,70487,5,70709,70711,7,70725,70725,7,70833,70834,7,70843,70844,7,70849,70849,7,71090,71093,5,71103,71104,5,71227,71228,7,71339,71339,5,71344,71349,5,71458,71461,5,71727,71735,5,71985,71989,7,71998,71998,5,72002,72002,7,72154,72155,5,72193,72202,5,72251,72254,5,72281,72283,5,72344,72345,5,72766,72766,7,72874,72880,5,72885,72886,5,73023,73029,5,73104,73105,5,73111,73111,5,92912,92916,5,94095,94098,5,113824,113827,4,119142,119142,7,119155,119162,4,119362,119364,5,121476,121476,5,122888,122904,5,123184,123190,5,125252,125258,5,127183,127183,14,127340,127343,14,127377,127386,14,127491,127503,14,127548,127551,14,127744,127756,14,127761,127761,14,127769,127769,14,127773,127774,14,127780,127788,14,127796,127797,14,127820,127823,14,127869,127869,14,127894,127895,14,127902,127903,14,127943,127943,14,127947,127950,14,127972,127972,14,127988,127988,14,127992,127994,14,128009,128011,14,128019,128019,14,128023,128041,14,128064,128064,14,128102,128107,14,128174,128181,14,128238,128238,14,128246,128247,14,128254,128254,14,128264,128264,14,128278,128299,14,128329,128330,14,128348,128359,14,128371,128377,14,128392,128393,14,128401,128404,14,128421,128421,14,128433,128434,14,128450,128452,14,128476,128478,14,128483,128483,14,128495,128495,14,128506,128506,14,128519,128520,14,128528,128528,14,128534,128534,14,128538,128538,14,128540,128542,14,128544,128549,14,128552,128555,14,128557,128557,14,128560,128563,14,128565,128565,14,128567,128576,14,128581,128591,14,128641,128642,14,128646,128646,14,128648,128648,14,128650,128651,14,128653,128653,14,128655,128655,14,128657,128659,14,128661,128661,14,128663,128663,14,128665,128666,14,128674,128674,14,128676,128677,14,128679,128685,14,128690,128690,14,128694,128694,14,128697,128702,14,128704,128704,14,128710,128714,14,128716,128716,14,128720,128720,14,128723,128724,14,128726,128727,14,128733,128735,14,128742,128744,14,128746,128746,14,128749,128751,14,128753,128754,14,128756,128758,14,128761,128761,14,128763,128764,14,128884,128895,14,128992,129003,14,129008,129008,14,129036,129039,14,129114,129119,14,129198,129279,14,129293,129295,14,129305,129310,14,129312,129319,14,129328,129328,14,129331,129338,14,129343,129343,14,129351,129355,14,129357,129359,14,129375,129387,14,129393,129393,14,129395,129398,14,129401,129401,14,129403,129403,14,129408,129412,14,129426,129431,14,129443,129444,14,129451,129453,14,129456,129465,14,129472,129472,14,129475,129482,14,129484,129484,14,129488,129510,14,129536,129647,14,129652,129652,14,129656,129658,14,129661,129663,14,129667,129670,14,129680,129685,14,129705,129708,14,129712,129718,14,129723,129727,14,129731,129733,14,129744,129750,14,129754,129759,14,129768,129775,14,129783,129791,14,917504,917504,4,917506,917535,4,917632,917759,4,918000,921599,4,0,9,4,11,12,4,14,31,4,169,169,14,174,174,14,1155,1159,5,1425,1469,5,1473,1474,5,1479,1479,5,1552,1562,5,1611,1631,5,1750,1756,5,1759,1764,5,1770,1773,5,1809,1809,5,1958,1968,5,2045,2045,5,2075,2083,5,2089,2093,5,2192,2193,1,2250,2273,5,2275,2306,5,2362,2362,5,2364,2364,5,2369,2376,5,2381,2381,5,2385,2391,5,2433,2433,5,2492,2492,5,2495,2496,7,2503,2504,7,2509,2509,5,2530,2531,5,2561,2562,5,2620,2620,5,2625,2626,5,2635,2637,5,2672,2673,5,2689,2690,5,2748,2748,5,2753,2757,5,2761,2761,7,2765,2765,5,2810,2815,5,2818,2819,7,2878,2878,5,2880,2880,7,2887,2888,7,2893,2893,5,2903,2903,5,2946,2946,5,3007,3007,7,3009,3010,7,3018,3020,7,3031,3031,5,3073,3075,7,3132,3132,5,3137,3140,7,3146,3149,5,3170,3171,5,3202,3203,7,3262,3262,7,3264,3265,7,3267,3268,7,3271,3272,7,3276,3277,5,3298,3299,5,3330,3331,7,3390,3390,5,3393,3396,5,3402,3404,7,3406,3406,1,3426,3427,5,3458,3459,7,3535,3535,5,3538,3540,5,3544,3550,7,3570,3571,7,3635,3635,7,3655,3662,5,3763,3763,7,3784,3789,5,3893,3893,5,3897,3897,5,3953,3966,5,3968,3972,5,3981,3991,5,4038,4038,5,4145,4145,7,4153,4154,5,4157,4158,5,4184,4185,5,4209,4212,5,4228,4228,7,4237,4237,5,4352,4447,8,4520,4607,10,5906,5908,5,5938,5939,5,5970,5971,5,6068,6069,5,6071,6077,5,6086,6086,5,6089,6099,5,6155,6157,5,6159,6159,5,6313,6313,5,6435,6438,7,6441,6443,7,6450,6450,5,6457,6459,5,6681,6682,7,6741,6741,7,6743,6743,7,6752,6752,5,6757,6764,5,6771,6780,5,6832,6845,5,6847,6862,5,6916,6916,7,6965,6965,5,6971,6971,7,6973,6977,7,6979,6980,7,7040,7041,5,7073,7073,7,7078,7079,7,7082,7082,7,7142,7142,5,7144,7145,5,7149,7149,5,7151,7153,5,7204,7211,7,7220,7221,7,7376,7378,5,7393,7393,7,7405,7405,5,7415,7415,7,7616,7679,5,8204,8204,5,8206,8207,4,8233,8233,4,8252,8252,14,8288,8292,4,8294,8303,4,8413,8416,5,8418,8420,5,8482,8482,14,8596,8601,14,8986,8987,14,9096,9096,14,9193,9196,14,9199,9199,14,9201,9202,14,9208,9210,14,9642,9643,14,9664,9664,14,9728,9729,14,9732,9732,14,9735,9741,14,9743,9744,14,9746,9746,14,9750,9751,14,9753,9756,14,9758,9759,14,9761,9761,14,9764,9765,14,9767,9769,14,9771,9773,14,9775,9775,14,9784,9785,14,9787,9791,14,9793,9793,14,9795,9799,14,9812,9822,14,9824,9824,14,9827,9827,14,9829,9830,14,9832,9832,14,9851,9851,14,9854,9854,14,9856,9861,14,9874,9874,14,9876,9876,14,9878,9879,14,9881,9881,14,9883,9884,14,9888,9889,14,9895,9895,14,9898,9899,14,9904,9905,14,9917,9918,14,9924,9925,14,9928,9928,14,9934,9934,14,9936,9936,14,9938,9938,14,9940,9940,14,9961,9961,14,9963,9967,14,9970,9971,14,9973,9973,14,9975,9977,14,9979,9980,14,9982,9985,14,9987,9988,14,9992,9996,14,9998,9998,14,10000,10001,14,10004,10004,14,10013,10013,14,10024,10024,14,10052,10052,14,10060,10060,14,10067,10069,14,10083,10083,14,10085,10087,14,10145,10145,14,10175,10175,14,11013,11015,14,11088,11088,14,11503,11505,5,11744,11775,5,12334,12335,5,12349,12349,14,12951,12951,14,42607,42607,5,42612,42621,5,42736,42737,5,43014,43014,5,43043,43044,7,43047,43047,7,43136,43137,7,43204,43205,5,43263,43263,5,43335,43345,5,43360,43388,8,43395,43395,7,43444,43445,7,43450,43451,7,43454,43456,7,43561,43566,5,43569,43570,5,43573,43574,5,43596,43596,5,43644,43644,5,43698,43700,5,43710,43711,5,43755,43755,7,43758,43759,7,43766,43766,5,44005,44005,5,44008,44008,5,44012,44012,7,44032,44032,11,44060,44060,11,44088,44088,11,44116,44116,11,44144,44144,11,44172,44172,11,44200,44200,11,44228,44228,11,44256,44256,11,44284,44284,11,44312,44312,11,44340,44340,11,44368,44368,11,44396,44396,11,44424,44424,11,44452,44452,11,44480,44480,11,44508,44508,11,44536,44536,11,44564,44564,11,44592,44592,11,44620,44620,11,44648,44648,11,44676,44676,11,44704,44704,11,44732,44732,11,44760,44760,11,44788,44788,11,44816,44816,11,44844,44844,11,44872,44872,11,44900,44900,11,44928,44928,11,44956,44956,11,44984,44984,11,45012,45012,11,45040,45040,11,45068,45068,11,45096,45096,11,45124,45124,11,45152,45152,11,45180,45180,11,45208,45208,11,45236,45236,11,45264,45264,11,45292,45292,11,45320,45320,11,45348,45348,11,45376,45376,11,45404,45404,11,45432,45432,11,45460,45460,11,45488,45488,11,45516,45516,11,45544,45544,11,45572,45572,11,45600,45600,11,45628,45628,11,45656,45656,11,45684,45684,11,45712,45712,11,45740,45740,11,45768,45768,11,45796,45796,11,45824,45824,11,45852,45852,11,45880,45880,11,45908,45908,11,45936,45936,11,45964,45964,11,45992,45992,11,46020,46020,11,46048,46048,11,46076,46076,11,46104,46104,11,46132,46132,11,46160,46160,11,46188,46188,11,46216,46216,11,46244,46244,11,46272,46272,11,46300,46300,11,46328,46328,11,46356,46356,11,46384,46384,11,46412,46412,11,46440,46440,11,46468,46468,11,46496,46496,11,46524,46524,11,46552,46552,11,46580,46580,11,46608,46608,11,46636,46636,11,46664,46664,11,46692,46692,11,46720,46720,11,46748,46748,11,46776,46776,11,46804,46804,11,46832,46832,11,46860,46860,11,46888,46888,11,46916,46916,11,46944,46944,11,46972,46972,11,47000,47000,11,47028,47028,11,47056,47056,11,47084,47084,11,47112,47112,11,47140,47140,11,47168,47168,11,47196,47196,11,47224,47224,11,47252,47252,11,47280,47280,11,47308,47308,11,47336,47336,11,47364,47364,11,47392,47392,11,47420,47420,11,47448,47448,11,47476,47476,11,47504,47504,11,47532,47532,11,47560,47560,11,47588,47588,11,47616,47616,11,47644,47644,11,47672,47672,11,47700,47700,11,47728,47728,11,47756,47756,11,47784,47784,11,47812,47812,11,47840,47840,11,47868,47868,11,47896,47896,11,47924,47924,11,47952,47952,11,47980,47980,11,48008,48008,11,48036,48036,11,48064,48064,11,48092,48092,11,48120,48120,11,48148,48148,11,48176,48176,11,48204,48204,11,48232,48232,11,48260,48260,11,48288,48288,11,48316,48316,11,48344,48344,11,48372,48372,11,48400,48400,11,48428,48428,11,48456,48456,11,48484,48484,11,48512,48512,11,48540,48540,11,48568,48568,11,48596,48596,11,48624,48624,11,48652,48652,11,48680,48680,11,48708,48708,11,48736,48736,11,48764,48764,11,48792,48792,11,48820,48820,11,48848,48848,11,48876,48876,11,48904,48904,11,48932,48932,11,48960,48960,11,48988,48988,11,49016,49016,11,49044,49044,11,49072,49072,11,49100,49100,11,49128,49128,11,49156,49156,11,49184,49184,11,49212,49212,11,49240,49240,11,49268,49268,11,49296,49296,11,49324,49324,11,49352,49352,11,49380,49380,11,49408,49408,11,49436,49436,11,49464,49464,11,49492,49492,11,49520,49520,11,49548,49548,11,49576,49576,11,49604,49604,11,49632,49632,11,49660,49660,11,49688,49688,11,49716,49716,11,49744,49744,11,49772,49772,11,49800,49800,11,49828,49828,11,49856,49856,11,49884,49884,11,49912,49912,11,49940,49940,11,49968,49968,11,49996,49996,11,50024,50024,11,50052,50052,11,50080,50080,11,50108,50108,11,50136,50136,11,50164,50164,11,50192,50192,11,50220,50220,11,50248,50248,11,50276,50276,11,50304,50304,11,50332,50332,11,50360,50360,11,50388,50388,11,50416,50416,11,50444,50444,11,50472,50472,11,50500,50500,11,50528,50528,11,50556,50556,11,50584,50584,11,50612,50612,11,50640,50640,11,50668,50668,11,50696,50696,11,50724,50724,11,50752,50752,11,50780,50780,11,50808,50808,11,50836,50836,11,50864,50864,11,50892,50892,11,50920,50920,11,50948,50948,11,50976,50976,11,51004,51004,11,51032,51032,11,51060,51060,11,51088,51088,11,51116,51116,11,51144,51144,11,51172,51172,11,51200,51200,11,51228,51228,11,51256,51256,11,51284,51284,11,51312,51312,11,51340,51340,11,51368,51368,11,51396,51396,11,51424,51424,11,51452,51452,11,51480,51480,11,51508,51508,11,51536,51536,11,51564,51564,11,51592,51592,11,51620,51620,11,51648,51648,11,51676,51676,11,51704,51704,11,51732,51732,11,51760,51760,11,51788,51788,11,51816,51816,11,51844,51844,11,51872,51872,11,51900,51900,11,51928,51928,11,51956,51956,11,51984,51984,11,52012,52012,11,52040,52040,11,52068,52068,11,52096,52096,11,52124,52124,11,52152,52152,11,52180,52180,11,52208,52208,11,52236,52236,11,52264,52264,11,52292,52292,11,52320,52320,11,52348,52348,11,52376,52376,11,52404,52404,11,52432,52432,11,52460,52460,11,52488,52488,11,52516,52516,11,52544,52544,11,52572,52572,11,52600,52600,11,52628,52628,11,52656,52656,11,52684,52684,11,52712,52712,11,52740,52740,11,52768,52768,11,52796,52796,11,52824,52824,11,52852,52852,11,52880,52880,11,52908,52908,11,52936,52936,11,52964,52964,11,52992,52992,11,53020,53020,11,53048,53048,11,53076,53076,11,53104,53104,11,53132,53132,11,53160,53160,11,53188,53188,11,53216,53216,11,53244,53244,11,53272,53272,11,53300,53300,11,53328,53328,11,53356,53356,11,53384,53384,11,53412,53412,11,53440,53440,11,53468,53468,11,53496,53496,11,53524,53524,11,53552,53552,11,53580,53580,11,53608,53608,11,53636,53636,11,53664,53664,11,53692,53692,11,53720,53720,11,53748,53748,11,53776,53776,11,53804,53804,11,53832,53832,11,53860,53860,11,53888,53888,11,53916,53916,11,53944,53944,11,53972,53972,11,54000,54000,11,54028,54028,11,54056,54056,11,54084,54084,11,54112,54112,11,54140,54140,11,54168,54168,11,54196,54196,11,54224,54224,11,54252,54252,11,54280,54280,11,54308,54308,11,54336,54336,11,54364,54364,11,54392,54392,11,54420,54420,11,54448,54448,11,54476,54476,11,54504,54504,11,54532,54532,11,54560,54560,11,54588,54588,11,54616,54616,11,54644,54644,11,54672,54672,11,54700,54700,11,54728,54728,11,54756,54756,11,54784,54784,11,54812,54812,11,54840,54840,11,54868,54868,11,54896,54896,11,54924,54924,11,54952,54952,11,54980,54980,11,55008,55008,11,55036,55036,11,55064,55064,11,55092,55092,11,55120,55120,11,55148,55148,11,55176,55176,11,55216,55238,9,64286,64286,5,65056,65071,5,65438,65439,5,65529,65531,4,66272,66272,5,68097,68099,5,68108,68111,5,68159,68159,5,68900,68903,5,69446,69456,5,69632,69632,7,69634,69634,7,69744,69744,5,69759,69761,5,69808,69810,7,69815,69816,7,69821,69821,1,69837,69837,1,69927,69931,5,69933,69940,5,70003,70003,5,70018,70018,7,70070,70078,5,70082,70083,1,70094,70094,7,70188,70190,7,70194,70195,7,70197,70197,7,70206,70206,5,70368,70370,7,70400,70401,5,70459,70460,5,70463,70463,7,70465,70468,7,70475,70477,7,70498,70499,7,70512,70516,5,70712,70719,5,70722,70724,5,70726,70726,5,70832,70832,5,70835,70840,5,70842,70842,5,70845,70845,5,70847,70848,5,70850,70851,5,71088,71089,7,71096,71099,7,71102,71102,7,71132,71133,5,71219,71226,5,71229,71229,5,71231,71232,5,71340,71340,7,71342,71343,7,71350,71350,7,71453,71455,5,71462,71462,7,71724,71726,7,71736,71736,7,71984,71984,5,71991,71992,7,71997,71997,7,71999,71999,1,72001,72001,1,72003,72003,5,72148,72151,5,72156,72159,7,72164,72164,7,72243,72248,5,72250,72250,1,72263,72263,5,72279,72280,7,72324,72329,1,72343,72343,7,72751,72751,7,72760,72765,5,72767,72767,5,72873,72873,7,72881,72881,7,72884,72884,7,73009,73014,5,73020,73021,5,73030,73030,1,73098,73102,7,73107,73108,7,73110,73110,7,73459,73460,5,78896,78904,4,92976,92982,5,94033,94087,7,94180,94180,5,113821,113822,5,118528,118573,5,119141,119141,5,119143,119145,5,119150,119154,5,119163,119170,5,119210,119213,5,121344,121398,5,121461,121461,5,121499,121503,5,122880,122886,5,122907,122913,5,122918,122922,5,123566,123566,5,125136,125142,5,126976,126979,14,126981,127182,14,127184,127231,14,127279,127279,14,127344,127345,14,127374,127374,14,127405,127461,14,127489,127490,14,127514,127514,14,127538,127546,14,127561,127567,14,127570,127743,14,127757,127758,14,127760,127760,14,127762,127762,14,127766,127768,14,127770,127770,14,127772,127772,14,127775,127776,14,127778,127779,14,127789,127791,14,127794,127795,14,127798,127798,14,127819,127819,14,127824,127824,14,127868,127868,14,127870,127871,14,127892,127893,14,127896,127896,14,127900,127901,14,127904,127940,14,127942,127942,14,127944,127944,14,127946,127946,14,127951,127955,14,127968,127971,14,127973,127984,14,127987,127987,14,127989,127989,14,127991,127991,14,127995,127999,5,128008,128008,14,128012,128014,14,128017,128018,14,128020,128020,14,128022,128022,14,128042,128042,14,128063,128063,14,128065,128065,14,128101,128101,14,128108,128109,14,128173,128173,14,128182,128183,14,128236,128237,14,128239,128239,14,128245,128245,14,128248,128248,14,128253,128253,14,128255,128258,14,128260,128263,14,128265,128265,14,128277,128277,14,128300,128301,14,128326,128328,14,128331,128334,14,128336,128347,14,128360,128366,14,128369,128370,14,128378,128378,14,128391,128391,14,128394,128397,14,128400,128400,14,128405,128406,14,128420,128420,14,128422,128423,14,128425,128432,14,128435,128443,14,128445,128449,14,128453,128464,14,128468,128475,14,128479,128480,14,128482,128482,14,128484,128487,14,128489,128494,14,128496,128498,14,128500,128505,14,128507,128511,14,128513,128518,14,128521,128525,14,128527,128527,14,128529,128529,14,128533,128533,14,128535,128535,14,128537,128537,14]")}function ge(Z,te){if(Z===0)return 0;const re=X(Z,te);if(re!==void 0)return re;const le=new W(te,Z);return le.prevCodePoint(),le.offset}function X(Z,te){const re=new W(te,Z);let le=re.prevCodePoint();for(;B(le)||le===65039||le===8419;){if(re.offset===0)return;le=re.prevCodePoint()}if(!ie(le))return;let me=re.offset;return me>0&&re.prevCodePoint()===8205&&(me=re.offset),me}function B(Z){return 127995<=Z&&Z<=127999}e.noBreakWhitespace="\xA0";class ${static{this.ambiguousCharacterData=new k.Lazy(()=>JSON.parse('{"_common":[8232,32,8233,32,5760,32,8192,32,8193,32,8194,32,8195,32,8196,32,8197,32,8198,32,8200,32,8201,32,8202,32,8287,32,8199,32,8239,32,2042,95,65101,95,65102,95,65103,95,8208,45,8209,45,8210,45,65112,45,1748,45,8259,45,727,45,8722,45,10134,45,11450,45,1549,44,1643,44,8218,44,184,44,42233,44,894,59,2307,58,2691,58,1417,58,1795,58,1796,58,5868,58,65072,58,6147,58,6153,58,8282,58,1475,58,760,58,42889,58,8758,58,720,58,42237,58,451,33,11601,33,660,63,577,63,2429,63,5038,63,42731,63,119149,46,8228,46,1793,46,1794,46,42510,46,68176,46,1632,46,1776,46,42232,46,1373,96,65287,96,8219,96,8242,96,1370,96,1523,96,8175,96,65344,96,900,96,8189,96,8125,96,8127,96,8190,96,697,96,884,96,712,96,714,96,715,96,756,96,699,96,701,96,700,96,702,96,42892,96,1497,96,2036,96,2037,96,5194,96,5836,96,94033,96,94034,96,65339,91,10088,40,10098,40,12308,40,64830,40,65341,93,10089,41,10099,41,12309,41,64831,41,10100,123,119060,123,10101,125,65342,94,8270,42,1645,42,8727,42,66335,42,5941,47,8257,47,8725,47,8260,47,9585,47,10187,47,10744,47,119354,47,12755,47,12339,47,11462,47,20031,47,12035,47,65340,92,65128,92,8726,92,10189,92,10741,92,10745,92,119311,92,119355,92,12756,92,20022,92,12034,92,42872,38,708,94,710,94,5869,43,10133,43,66203,43,8249,60,10094,60,706,60,119350,60,5176,60,5810,60,5120,61,11840,61,12448,61,42239,61,8250,62,10095,62,707,62,119351,62,5171,62,94015,62,8275,126,732,126,8128,126,8764,126,65372,124,65293,45,120784,50,120794,50,120804,50,120814,50,120824,50,130034,50,42842,50,423,50,1000,50,42564,50,5311,50,42735,50,119302,51,120785,51,120795,51,120805,51,120815,51,120825,51,130035,51,42923,51,540,51,439,51,42858,51,11468,51,1248,51,94011,51,71882,51,120786,52,120796,52,120806,52,120816,52,120826,52,130036,52,5070,52,71855,52,120787,53,120797,53,120807,53,120817,53,120827,53,130037,53,444,53,71867,53,120788,54,120798,54,120808,54,120818,54,120828,54,130038,54,11474,54,5102,54,71893,54,119314,55,120789,55,120799,55,120809,55,120819,55,120829,55,130039,55,66770,55,71878,55,2819,56,2538,56,2666,56,125131,56,120790,56,120800,56,120810,56,120820,56,120830,56,130040,56,547,56,546,56,66330,56,2663,57,2920,57,2541,57,3437,57,120791,57,120801,57,120811,57,120821,57,120831,57,130041,57,42862,57,11466,57,71884,57,71852,57,71894,57,9082,97,65345,97,119834,97,119886,97,119938,97,119990,97,120042,97,120094,97,120146,97,120198,97,120250,97,120302,97,120354,97,120406,97,120458,97,593,97,945,97,120514,97,120572,97,120630,97,120688,97,120746,97,65313,65,119808,65,119860,65,119912,65,119964,65,120016,65,120068,65,120120,65,120172,65,120224,65,120276,65,120328,65,120380,65,120432,65,913,65,120488,65,120546,65,120604,65,120662,65,120720,65,5034,65,5573,65,42222,65,94016,65,66208,65,119835,98,119887,98,119939,98,119991,98,120043,98,120095,98,120147,98,120199,98,120251,98,120303,98,120355,98,120407,98,120459,98,388,98,5071,98,5234,98,5551,98,65314,66,8492,66,119809,66,119861,66,119913,66,120017,66,120069,66,120121,66,120173,66,120225,66,120277,66,120329,66,120381,66,120433,66,42932,66,914,66,120489,66,120547,66,120605,66,120663,66,120721,66,5108,66,5623,66,42192,66,66178,66,66209,66,66305,66,65347,99,8573,99,119836,99,119888,99,119940,99,119992,99,120044,99,120096,99,120148,99,120200,99,120252,99,120304,99,120356,99,120408,99,120460,99,7428,99,1010,99,11429,99,43951,99,66621,99,128844,67,71922,67,71913,67,65315,67,8557,67,8450,67,8493,67,119810,67,119862,67,119914,67,119966,67,120018,67,120174,67,120226,67,120278,67,120330,67,120382,67,120434,67,1017,67,11428,67,5087,67,42202,67,66210,67,66306,67,66581,67,66844,67,8574,100,8518,100,119837,100,119889,100,119941,100,119993,100,120045,100,120097,100,120149,100,120201,100,120253,100,120305,100,120357,100,120409,100,120461,100,1281,100,5095,100,5231,100,42194,100,8558,68,8517,68,119811,68,119863,68,119915,68,119967,68,120019,68,120071,68,120123,68,120175,68,120227,68,120279,68,120331,68,120383,68,120435,68,5024,68,5598,68,5610,68,42195,68,8494,101,65349,101,8495,101,8519,101,119838,101,119890,101,119942,101,120046,101,120098,101,120150,101,120202,101,120254,101,120306,101,120358,101,120410,101,120462,101,43826,101,1213,101,8959,69,65317,69,8496,69,119812,69,119864,69,119916,69,120020,69,120072,69,120124,69,120176,69,120228,69,120280,69,120332,69,120384,69,120436,69,917,69,120492,69,120550,69,120608,69,120666,69,120724,69,11577,69,5036,69,42224,69,71846,69,71854,69,66182,69,119839,102,119891,102,119943,102,119995,102,120047,102,120099,102,120151,102,120203,102,120255,102,120307,102,120359,102,120411,102,120463,102,43829,102,42905,102,383,102,7837,102,1412,102,119315,70,8497,70,119813,70,119865,70,119917,70,120021,70,120073,70,120125,70,120177,70,120229,70,120281,70,120333,70,120385,70,120437,70,42904,70,988,70,120778,70,5556,70,42205,70,71874,70,71842,70,66183,70,66213,70,66853,70,65351,103,8458,103,119840,103,119892,103,119944,103,120048,103,120100,103,120152,103,120204,103,120256,103,120308,103,120360,103,120412,103,120464,103,609,103,7555,103,397,103,1409,103,119814,71,119866,71,119918,71,119970,71,120022,71,120074,71,120126,71,120178,71,120230,71,120282,71,120334,71,120386,71,120438,71,1292,71,5056,71,5107,71,42198,71,65352,104,8462,104,119841,104,119945,104,119997,104,120049,104,120101,104,120153,104,120205,104,120257,104,120309,104,120361,104,120413,104,120465,104,1211,104,1392,104,5058,104,65320,72,8459,72,8460,72,8461,72,119815,72,119867,72,119919,72,120023,72,120179,72,120231,72,120283,72,120335,72,120387,72,120439,72,919,72,120494,72,120552,72,120610,72,120668,72,120726,72,11406,72,5051,72,5500,72,42215,72,66255,72,731,105,9075,105,65353,105,8560,105,8505,105,8520,105,119842,105,119894,105,119946,105,119998,105,120050,105,120102,105,120154,105,120206,105,120258,105,120310,105,120362,105,120414,105,120466,105,120484,105,618,105,617,105,953,105,8126,105,890,105,120522,105,120580,105,120638,105,120696,105,120754,105,1110,105,42567,105,1231,105,43893,105,5029,105,71875,105,65354,106,8521,106,119843,106,119895,106,119947,106,119999,106,120051,106,120103,106,120155,106,120207,106,120259,106,120311,106,120363,106,120415,106,120467,106,1011,106,1112,106,65322,74,119817,74,119869,74,119921,74,119973,74,120025,74,120077,74,120129,74,120181,74,120233,74,120285,74,120337,74,120389,74,120441,74,42930,74,895,74,1032,74,5035,74,5261,74,42201,74,119844,107,119896,107,119948,107,120000,107,120052,107,120104,107,120156,107,120208,107,120260,107,120312,107,120364,107,120416,107,120468,107,8490,75,65323,75,119818,75,119870,75,119922,75,119974,75,120026,75,120078,75,120130,75,120182,75,120234,75,120286,75,120338,75,120390,75,120442,75,922,75,120497,75,120555,75,120613,75,120671,75,120729,75,11412,75,5094,75,5845,75,42199,75,66840,75,1472,108,8739,73,9213,73,65512,73,1633,108,1777,73,66336,108,125127,108,120783,73,120793,73,120803,73,120813,73,120823,73,130033,73,65321,73,8544,73,8464,73,8465,73,119816,73,119868,73,119920,73,120024,73,120128,73,120180,73,120232,73,120284,73,120336,73,120388,73,120440,73,65356,108,8572,73,8467,108,119845,108,119897,108,119949,108,120001,108,120053,108,120105,73,120157,73,120209,73,120261,73,120313,73,120365,73,120417,73,120469,73,448,73,120496,73,120554,73,120612,73,120670,73,120728,73,11410,73,1030,73,1216,73,1493,108,1503,108,1575,108,126464,108,126592,108,65166,108,65165,108,1994,108,11599,73,5825,73,42226,73,93992,73,66186,124,66313,124,119338,76,8556,76,8466,76,119819,76,119871,76,119923,76,120027,76,120079,76,120131,76,120183,76,120235,76,120287,76,120339,76,120391,76,120443,76,11472,76,5086,76,5290,76,42209,76,93974,76,71843,76,71858,76,66587,76,66854,76,65325,77,8559,77,8499,77,119820,77,119872,77,119924,77,120028,77,120080,77,120132,77,120184,77,120236,77,120288,77,120340,77,120392,77,120444,77,924,77,120499,77,120557,77,120615,77,120673,77,120731,77,1018,77,11416,77,5047,77,5616,77,5846,77,42207,77,66224,77,66321,77,119847,110,119899,110,119951,110,120003,110,120055,110,120107,110,120159,110,120211,110,120263,110,120315,110,120367,110,120419,110,120471,110,1400,110,1404,110,65326,78,8469,78,119821,78,119873,78,119925,78,119977,78,120029,78,120081,78,120185,78,120237,78,120289,78,120341,78,120393,78,120445,78,925,78,120500,78,120558,78,120616,78,120674,78,120732,78,11418,78,42208,78,66835,78,3074,111,3202,111,3330,111,3458,111,2406,111,2662,111,2790,111,3046,111,3174,111,3302,111,3430,111,3664,111,3792,111,4160,111,1637,111,1781,111,65359,111,8500,111,119848,111,119900,111,119952,111,120056,111,120108,111,120160,111,120212,111,120264,111,120316,111,120368,111,120420,111,120472,111,7439,111,7441,111,43837,111,959,111,120528,111,120586,111,120644,111,120702,111,120760,111,963,111,120532,111,120590,111,120648,111,120706,111,120764,111,11423,111,4351,111,1413,111,1505,111,1607,111,126500,111,126564,111,126596,111,65259,111,65260,111,65258,111,65257,111,1726,111,64428,111,64429,111,64427,111,64426,111,1729,111,64424,111,64425,111,64423,111,64422,111,1749,111,3360,111,4125,111,66794,111,71880,111,71895,111,66604,111,1984,79,2534,79,2918,79,12295,79,70864,79,71904,79,120782,79,120792,79,120802,79,120812,79,120822,79,130032,79,65327,79,119822,79,119874,79,119926,79,119978,79,120030,79,120082,79,120134,79,120186,79,120238,79,120290,79,120342,79,120394,79,120446,79,927,79,120502,79,120560,79,120618,79,120676,79,120734,79,11422,79,1365,79,11604,79,4816,79,2848,79,66754,79,42227,79,71861,79,66194,79,66219,79,66564,79,66838,79,9076,112,65360,112,119849,112,119901,112,119953,112,120005,112,120057,112,120109,112,120161,112,120213,112,120265,112,120317,112,120369,112,120421,112,120473,112,961,112,120530,112,120544,112,120588,112,120602,112,120646,112,120660,112,120704,112,120718,112,120762,112,120776,112,11427,112,65328,80,8473,80,119823,80,119875,80,119927,80,119979,80,120031,80,120083,80,120187,80,120239,80,120291,80,120343,80,120395,80,120447,80,929,80,120504,80,120562,80,120620,80,120678,80,120736,80,11426,80,5090,80,5229,80,42193,80,66197,80,119850,113,119902,113,119954,113,120006,113,120058,113,120110,113,120162,113,120214,113,120266,113,120318,113,120370,113,120422,113,120474,113,1307,113,1379,113,1382,113,8474,81,119824,81,119876,81,119928,81,119980,81,120032,81,120084,81,120188,81,120240,81,120292,81,120344,81,120396,81,120448,81,11605,81,119851,114,119903,114,119955,114,120007,114,120059,114,120111,114,120163,114,120215,114,120267,114,120319,114,120371,114,120423,114,120475,114,43847,114,43848,114,7462,114,11397,114,43905,114,119318,82,8475,82,8476,82,8477,82,119825,82,119877,82,119929,82,120033,82,120189,82,120241,82,120293,82,120345,82,120397,82,120449,82,422,82,5025,82,5074,82,66740,82,5511,82,42211,82,94005,82,65363,115,119852,115,119904,115,119956,115,120008,115,120060,115,120112,115,120164,115,120216,115,120268,115,120320,115,120372,115,120424,115,120476,115,42801,115,445,115,1109,115,43946,115,71873,115,66632,115,65331,83,119826,83,119878,83,119930,83,119982,83,120034,83,120086,83,120138,83,120190,83,120242,83,120294,83,120346,83,120398,83,120450,83,1029,83,1359,83,5077,83,5082,83,42210,83,94010,83,66198,83,66592,83,119853,116,119905,116,119957,116,120009,116,120061,116,120113,116,120165,116,120217,116,120269,116,120321,116,120373,116,120425,116,120477,116,8868,84,10201,84,128872,84,65332,84,119827,84,119879,84,119931,84,119983,84,120035,84,120087,84,120139,84,120191,84,120243,84,120295,84,120347,84,120399,84,120451,84,932,84,120507,84,120565,84,120623,84,120681,84,120739,84,11430,84,5026,84,42196,84,93962,84,71868,84,66199,84,66225,84,66325,84,119854,117,119906,117,119958,117,120010,117,120062,117,120114,117,120166,117,120218,117,120270,117,120322,117,120374,117,120426,117,120478,117,42911,117,7452,117,43854,117,43858,117,651,117,965,117,120534,117,120592,117,120650,117,120708,117,120766,117,1405,117,66806,117,71896,117,8746,85,8899,85,119828,85,119880,85,119932,85,119984,85,120036,85,120088,85,120140,85,120192,85,120244,85,120296,85,120348,85,120400,85,120452,85,1357,85,4608,85,66766,85,5196,85,42228,85,94018,85,71864,85,8744,118,8897,118,65366,118,8564,118,119855,118,119907,118,119959,118,120011,118,120063,118,120115,118,120167,118,120219,118,120271,118,120323,118,120375,118,120427,118,120479,118,7456,118,957,118,120526,118,120584,118,120642,118,120700,118,120758,118,1141,118,1496,118,71430,118,43945,118,71872,118,119309,86,1639,86,1783,86,8548,86,119829,86,119881,86,119933,86,119985,86,120037,86,120089,86,120141,86,120193,86,120245,86,120297,86,120349,86,120401,86,120453,86,1140,86,11576,86,5081,86,5167,86,42719,86,42214,86,93960,86,71840,86,66845,86,623,119,119856,119,119908,119,119960,119,120012,119,120064,119,120116,119,120168,119,120220,119,120272,119,120324,119,120376,119,120428,119,120480,119,7457,119,1121,119,1309,119,1377,119,71434,119,71438,119,71439,119,43907,119,71919,87,71910,87,119830,87,119882,87,119934,87,119986,87,120038,87,120090,87,120142,87,120194,87,120246,87,120298,87,120350,87,120402,87,120454,87,1308,87,5043,87,5076,87,42218,87,5742,120,10539,120,10540,120,10799,120,65368,120,8569,120,119857,120,119909,120,119961,120,120013,120,120065,120,120117,120,120169,120,120221,120,120273,120,120325,120,120377,120,120429,120,120481,120,5441,120,5501,120,5741,88,9587,88,66338,88,71916,88,65336,88,8553,88,119831,88,119883,88,119935,88,119987,88,120039,88,120091,88,120143,88,120195,88,120247,88,120299,88,120351,88,120403,88,120455,88,42931,88,935,88,120510,88,120568,88,120626,88,120684,88,120742,88,11436,88,11613,88,5815,88,42219,88,66192,88,66228,88,66327,88,66855,88,611,121,7564,121,65369,121,119858,121,119910,121,119962,121,120014,121,120066,121,120118,121,120170,121,120222,121,120274,121,120326,121,120378,121,120430,121,120482,121,655,121,7935,121,43866,121,947,121,8509,121,120516,121,120574,121,120632,121,120690,121,120748,121,1199,121,4327,121,71900,121,65337,89,119832,89,119884,89,119936,89,119988,89,120040,89,120092,89,120144,89,120196,89,120248,89,120300,89,120352,89,120404,89,120456,89,933,89,978,89,120508,89,120566,89,120624,89,120682,89,120740,89,11432,89,1198,89,5033,89,5053,89,42220,89,94019,89,71844,89,66226,89,119859,122,119911,122,119963,122,120015,122,120067,122,120119,122,120171,122,120223,122,120275,122,120327,122,120379,122,120431,122,120483,122,7458,122,43923,122,71876,122,66293,90,71909,90,65338,90,8484,90,8488,90,119833,90,119885,90,119937,90,119989,90,120041,90,120197,90,120249,90,120301,90,120353,90,120405,90,120457,90,918,90,120493,90,120551,90,120609,90,120667,90,120725,90,5059,90,42204,90,71849,90,65282,34,65284,36,65285,37,65286,38,65290,42,65291,43,65294,46,65295,47,65296,48,65297,49,65298,50,65299,51,65300,52,65301,53,65302,54,65303,55,65304,56,65305,57,65308,60,65309,61,65310,62,65312,64,65316,68,65318,70,65319,71,65324,76,65329,81,65330,82,65333,85,65334,86,65335,87,65343,95,65346,98,65348,100,65350,102,65355,107,65357,109,65358,110,65361,113,65362,114,65364,116,65365,117,65367,119,65370,122,65371,123,65373,125,119846,109],"_default":[160,32,8211,45,65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"cs":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"de":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"es":[8211,45,65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"fr":[65374,126,65306,58,65281,33,8216,96,8245,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"it":[160,32,8211,45,65374,126,65306,58,65281,33,8216,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"ja":[8211,45,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65292,44,65307,59],"ko":[8211,45,65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"pl":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"pt-BR":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"qps-ploc":[160,32,8211,45,65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"ru":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,305,105,921,73,1009,112,215,120,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"tr":[160,32,8211,45,65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"zh-hans":[65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41],"zh-hant":[8211,45,65374,126,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65307,59]}'))}static{this.cache=new d.LRUCachedFunction({getCacheKey:JSON.stringify},te=>{function re(Me){const Ne=new Map;for(let ze=0;ze!Me.startsWith("_")&&Me in ve);Le.length===0&&(Le=["_default"]);let Ee;for(const Me of Le){const Ne=re(ve[Me]);Ee=me(Ee,Ne)}const Ie=re(ve._common),Ae=le(Ie,Ee);return new $(Ae)})}static getInstance(te){return $.cache.get(Array.from(te))}static{this._locales=new k.Lazy(()=>Object.keys($.ambiguousCharacterData.value).filter(te=>!te.startsWith("_")))}static getLocales(){return $._locales.value}constructor(te){this.confusableDictionary=te}isAmbiguous(te){return this.confusableDictionary.has(te)}getPrimaryConfusable(te){return this.confusableDictionary.get(te)}getConfusableCodePoints(){return new Set(this.confusableDictionary.keys())}}e.AmbiguousCharacters=$;class Y{static getRawData(){return JSON.parse("[9,10,11,12,13,32,127,160,173,847,1564,4447,4448,6068,6069,6155,6156,6157,6158,7355,7356,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8203,8204,8205,8206,8207,8234,8235,8236,8237,8238,8239,8287,8288,8289,8290,8291,8292,8293,8294,8295,8296,8297,8298,8299,8300,8301,8302,8303,10240,12288,12644,65024,65025,65026,65027,65028,65029,65030,65031,65032,65033,65034,65035,65036,65037,65038,65039,65279,65440,65520,65521,65522,65523,65524,65525,65526,65527,65528,65532,78844,119155,119156,119157,119158,119159,119160,119161,119162,917504,917505,917506,917507,917508,917509,917510,917511,917512,917513,917514,917515,917516,917517,917518,917519,917520,917521,917522,917523,917524,917525,917526,917527,917528,917529,917530,917531,917532,917533,917534,917535,917536,917537,917538,917539,917540,917541,917542,917543,917544,917545,917546,917547,917548,917549,917550,917551,917552,917553,917554,917555,917556,917557,917558,917559,917560,917561,917562,917563,917564,917565,917566,917567,917568,917569,917570,917571,917572,917573,917574,917575,917576,917577,917578,917579,917580,917581,917582,917583,917584,917585,917586,917587,917588,917589,917590,917591,917592,917593,917594,917595,917596,917597,917598,917599,917600,917601,917602,917603,917604,917605,917606,917607,917608,917609,917610,917611,917612,917613,917614,917615,917616,917617,917618,917619,917620,917621,917622,917623,917624,917625,917626,917627,917628,917629,917630,917631,917760,917761,917762,917763,917764,917765,917766,917767,917768,917769,917770,917771,917772,917773,917774,917775,917776,917777,917778,917779,917780,917781,917782,917783,917784,917785,917786,917787,917788,917789,917790,917791,917792,917793,917794,917795,917796,917797,917798,917799,917800,917801,917802,917803,917804,917805,917806,917807,917808,917809,917810,917811,917812,917813,917814,917815,917816,917817,917818,917819,917820,917821,917822,917823,917824,917825,917826,917827,917828,917829,917830,917831,917832,917833,917834,917835,917836,917837,917838,917839,917840,917841,917842,917843,917844,917845,917846,917847,917848,917849,917850,917851,917852,917853,917854,917855,917856,917857,917858,917859,917860,917861,917862,917863,917864,917865,917866,917867,917868,917869,917870,917871,917872,917873,917874,917875,917876,917877,917878,917879,917880,917881,917882,917883,917884,917885,917886,917887,917888,917889,917890,917891,917892,917893,917894,917895,917896,917897,917898,917899,917900,917901,917902,917903,917904,917905,917906,917907,917908,917909,917910,917911,917912,917913,917914,917915,917916,917917,917918,917919,917920,917921,917922,917923,917924,917925,917926,917927,917928,917929,917930,917931,917932,917933,917934,917935,917936,917937,917938,917939,917940,917941,917942,917943,917944,917945,917946,917947,917948,917949,917950,917951,917952,917953,917954,917955,917956,917957,917958,917959,917960,917961,917962,917963,917964,917965,917966,917967,917968,917969,917970,917971,917972,917973,917974,917975,917976,917977,917978,917979,917980,917981,917982,917983,917984,917985,917986,917987,917988,917989,917990,917991,917992,917993,917994,917995,917996,917997,917998,917999]")}static{this._data=void 0}static getData(){return this._data||(this._data=new Set(Y.getRawData())),this._data}static isInvisibleCharacter(te){return Y.getData().has(te)}static get codePoints(){return Y.getData()}}e.InvisibleCharacters=Y}),define(ne[82],se([1,0,45,448,11]),function(oe,e,d,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.FuzzyScoreOptions=e.FuzzyScore=e.matchesPrefix=e.matchesStrictPrefix=void 0,e.or=E,e.matchesContiguousSubString=m,e.matchesSubString=_,e.isUpper=n,e.matchesCamelCase=S,e.matchesWords=L,e.matchesFuzzy=N,e.matchesFuzzy2=O,e.anyScore=F,e.createMatches=x,e.isPatternInWord=he,e.fuzzyScore=ee,e.fuzzyScoreGracefulAggressive=X;function E(...Y){return function(Z,te){for(let re=0,le=Y.length;re0?[{start:0,end:Z.length}]:[]:null}function m(Y,Z){const te=Z.toLowerCase().indexOf(Y.toLowerCase());return te===-1?null:[{start:te,end:te+Y.length}]}function _(Y,Z){return b(Y.toLowerCase(),Z.toLowerCase(),0,0)}function b(Y,Z,te,re){if(te===Y.length)return[];if(re===Z.length)return null;if(Y[te]===Z[re]){let le=null;return(le=b(Y,Z,te+1,re+1))?r({start:re,end:re+1},le):null}return b(Y,Z,te,re+1)}function p(Y){return 97<=Y&&Y<=122}function n(Y){return 65<=Y&&Y<=90}function o(Y){return 48<=Y&&Y<=57}function t(Y){return Y===32||Y===9||Y===10||Y===13}const i=new Set;"()[]{}<>`'\"-/;:,.?!".split("").forEach(Y=>i.add(Y.charCodeAt(0)));function s(Y){return t(Y)||i.has(Y)}function g(Y,Z){return Y===Z||s(Y)&&s(Z)}const c=new Map;function l(Y){if(c.has(Y))return c.get(Y);let Z;const te=(0,k.getKoreanAltChars)(Y);return te&&(Z=te),c.set(Y,Z),Z}function a(Y){return p(Y)||n(Y)||o(Y)}function r(Y,Z){return Z.length===0?Z=[Y]:Y.end===Z[0].start?Z[0].start=Y.start:Z.unshift(Y),Z}function u(Y,Z){for(let te=Z;te0&&!a(Y.charCodeAt(te-1)))return te}return Y.length}function C(Y,Z,te,re){if(te===Y.length)return[];if(re===Z.length)return null;if(Y[te]!==Z[re].toLowerCase())return null;{let le=null,me=re+1;for(le=C(Y,Z,te+1,re+1);!le&&(me=u(Z,me)).6}function v(Y){const{upperPercent:Z,lowerPercent:te,alphaPercent:re,numericPercent:le}=Y;return te>.2&&Z<.8&&re>.6&&le<.2}function w(Y){let Z=0,te=0,re=0,le=0;for(let me=0;me60&&(Z=Z.substring(0,60));const te=f(Z);if(!v(te)){if(!h(te))return null;Z=Z.toLowerCase()}let re=null,le=0;for(Y=Y.toLowerCase();le0&&s(Y.charCodeAt(te-1)))return te;return Y.length}const M=E(e.matchesPrefix,S,m),A=E(e.matchesPrefix,S,_),P=new d.LRUCache(1e4);function N(Y,Z,te=!1){if(typeof Y!="string"||typeof Z!="string")return null;let re=P.get(Y);re||(re=new RegExp(I.convertSimple2RegExpPattern(Y),"i"),P.set(Y,re));const le=re.exec(Z);return le?[{start:le.index,end:le.index+le[0].length}]:te?A(Y,Z):M(Y,Z)}function O(Y,Z){const te=ee(Y,Y.toLowerCase(),0,Z,Z.toLowerCase(),0,{firstMatchCanBeWeak:!0,boostFullMatch:!0});return te?x(te):null}function F(Y,Z,te,re,le,me){const ve=Math.min(13,Y.length);for(;te"u")return[];const Z=[],te=Y[1];for(let re=Y.length-1;re>1;re--){const le=Y[re]+te,me=Z[Z.length-1];me&&me.end===le?me.end=le+1:Z.push({start:le,end:le+1})}return Z}const W=128;function V(){const Y=[],Z=[];for(let te=0;te<=W;te++)Z[te]=0;for(let te=0;te<=W;te++)Y.push(Z.slice(0));return Y}function q(Y){const Z=[];for(let te=0;te<=Y;te++)Z[te]=0;return Z}const H=q(2*W),z=q(2*W),U=V(),j=V(),Q=V(),G=!1;function K(Y,Z,te,re,le){function me(Le,Ee,Ie=" "){for(;Le.lengthme(Le,3)).join("|")} +`;for(let Le=0;Le<=te;Le++)Le===0?ve+=" |":ve+=`${Z[Le-1]}|`,ve+=Y[Le].slice(0,le+1).map(Ee=>me(Ee.toString(),3)).join("|")+` +`;return ve}function R(Y,Z,te,re){Y=Y.substr(Z),te=te.substr(re),console.log(K(j,Y,Y.length,te,te.length)),console.log(K(Q,Y,Y.length,te,te.length)),console.log(K(U,Y,Y.length,te,te.length))}function J(Y,Z){if(Z<0||Z>=Y.length)return!1;const te=Y.codePointAt(Z);switch(te){case 95:case 45:case 46:case 32:case 47:case 92:case 39:case 34:case 58:case 36:case 60:case 62:case 40:case 41:case 91:case 93:case 123:case 125:return!0;case void 0:return!1;default:return!!I.isEmojiImprecise(te)}}function ie(Y,Z){if(Z<0||Z>=Y.length)return!1;switch(Y.charCodeAt(Z)){case 32:case 9:return!0;default:return!1}}function ue(Y,Z,te){return Z[Y]!==te[Y]}function he(Y,Z,te,re,le,me,ve=!1){for(;ZW?W:Y.length,Ee=re.length>W?W:re.length;if(te>=Le||me>=Ee||Le-te>Ee-me||!he(Z,te,Le,le,me,Ee,!0))return;de(Le,Ee,te,me,Z,le);let Ie=1,Ae=1,Me=te,Ne=me;const ze=[!1];for(Ie=1,Me=te;MePe,De=ye?j[Ie][Ae-1]+(U[Ie][Ae-1]>0?-5:0):0,Re=Ne>Pe+1&&U[Ie][Ae-1]>0,We=Re?j[Ie][Ae-2]+(U[Ie][Ae-2]>0?-5:0):0;if(Re&&(!ye||We>=De)&&(!Ce||We>=Se))j[Ie][Ae]=We,Q[Ie][Ae]=3,U[Ie][Ae]=0;else if(ye&&(!Ce||De>=Se))j[Ie][Ae]=De,Q[Ie][Ae]=2,U[Ie][Ae]=0;else if(Ce)j[Ie][Ae]=Se,Q[Ie][Ae]=1,U[Ie][Ae]=U[Ie-1][Ae-1]+1;else throw new Error("not possible")}}if(G&&R(Y,te,re,me),!ze[0]&&!ve.firstMatchCanBeWeak)return;Ie--,Ae--;const Ve=[j[Ie][Ae],me];let $e=0,it=0;for(;Ie>=1;){let Pe=Ae;do{const fe=Q[Ie][Pe];if(fe===3)Pe=Pe-2;else if(fe===2)Pe=Pe-1;else break}while(Pe>=1);$e>1&&Z[te+Ie-1]===le[me+Ae-1]&&!ue(Pe+me-1,re,le)&&$e+1>U[Ie][Pe]&&(Pe=Ae),Pe===Ae?$e++:$e=1,it||(it=Pe),Ie--,Ae=Pe-1,Ve.push(Ae)}Ee-me===Le&&ve.boostFullMatch&&(Ve[0]+=2);const Oe=it-Le;return Ve[0]-=Oe,Ve}function de(Y,Z,te,re,le,me){let ve=Y-1,Le=Z-1;for(;ve>=te&&Le>=re;)le[ve]===me[Le]&&(z[ve]=Le,ve--),Le--}function ge(Y,Z,te,re,le,me,ve,Le,Ee,Ie,Ae){if(Z[te]!==me[ve])return Number.MIN_SAFE_INTEGER;let Me=1,Ne=!1;return ve===te-re?Me=Y[te]===le[ve]?7:5:ue(ve,le,me)&&(ve===0||!ue(ve-1,le,me))?(Me=Y[te]===le[ve]?7:5,Ne=!0):J(me,ve)&&(ve===0||!J(me,ve-1))?Me=5:(J(me,ve-1)||ie(me,ve-1))&&(Me=5,Ne=!0),Me>1&&te===re&&(Ae[0]=!0),Ne||(Ne=ue(ve,le,me)||J(me,ve-1)||ie(me,ve-1)),te===re?ve>Ee&&(Me-=Ne?3:5):Ie?Me+=Ne?2:0:Me+=Ne?0:1,ve+1===Le&&(Me-=Ne?3:5),Me}function X(Y,Z,te,re,le,me,ve){return B(Y,Z,te,re,le,me,!0,ve)}function B(Y,Z,te,re,le,me,ve,Le){let Ee=ee(Y,Z,te,re,le,me,Le);if(Ee&&!ve)return Ee;if(Y.length>=3){const Ie=Math.min(7,Y.length-1);for(let Ae=te+1;AeEe[0])&&(Ee=Ne))}}}return Ee}function $(Y,Z){if(Z+1>=Y.length)return;const te=Y[Z],re=Y[Z+1];if(te!==re)return Y.slice(0,Z)+re+te+Y.slice(Z+2)}}),define(ne[129],se([1,0,11]),function(oe,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.StringSHA1=void 0,e.hash=k,e.doHash=I,e.numberHash=E,e.stringHash=m,e.toHexString=t;function k(s){return I(s,0)}function I(s,g){switch(typeof s){case"object":return s===null?E(349,g):Array.isArray(s)?_(s,g):b(s,g);case"string":return m(s,g);case"boolean":return y(s,g);case"number":return E(s,g);case"undefined":return E(937,g);default:return E(617,g)}}function E(s,g){return(g<<5)-g+s|0}function y(s,g){return E(s?433:863,g)}function m(s,g){g=E(149417,g);for(let c=0,l=s.length;cI(l,c),g)}function b(s,g){return g=E(181387,g),Object.keys(s).sort().reduce((c,l)=>(c=m(l,c),I(s[l],c)),g)}function p(s,g,c=32){const l=c-g,a=~((1<>>l)>>>0}function n(s,g=0,c=s.byteLength,l=0){for(let a=0;ac.toString(16).padStart(2,"0")).join(""):o((s>>>0).toString(16),g/4)}class i{static{this._bigBlock32=new DataView(new ArrayBuffer(320))}constructor(){this._h0=1732584193,this._h1=4023233417,this._h2=2562383102,this._h3=271733878,this._h4=3285377520,this._buff=new Uint8Array(67),this._buffDV=new DataView(this._buff.buffer),this._buffLen=0,this._totalLen=0,this._leftoverHighSurrogate=0,this._finished=!1}update(g){const c=g.length;if(c===0)return;const l=this._buff;let a=this._buffLen,r=this._leftoverHighSurrogate,u,C;for(r!==0?(u=r,C=-1,r=0):(u=g.charCodeAt(0),C=0);;){let f=u;if(d.isHighSurrogate(u))if(C+1>>6,g[c++]=128|(l&63)>>>0):l<65536?(g[c++]=224|(l&61440)>>>12,g[c++]=128|(l&4032)>>>6,g[c++]=128|(l&63)>>>0):(g[c++]=240|(l&1835008)>>>18,g[c++]=128|(l&258048)>>>12,g[c++]=128|(l&4032)>>>6,g[c++]=128|(l&63)>>>0),c>=64&&(this._step(),c-=64,this._totalLen+=64,g[0]=g[64],g[1]=g[65],g[2]=g[66]),c}digest(){return this._finished||(this._finished=!0,this._leftoverHighSurrogate&&(this._leftoverHighSurrogate=0,this._buffLen=this._push(this._buff,this._buffLen,65533)),this._totalLen+=this._buffLen,this._wrapUp()),t(this._h0)+t(this._h1)+t(this._h2)+t(this._h3)+t(this._h4)}_wrapUp(){this._buff[this._buffLen++]=128,n(this._buff,this._buffLen),this._buffLen>56&&(this._step(),n(this._buff));const g=8*this._totalLen;this._buffDV.setUint32(56,Math.floor(g/4294967296),!1),this._buffDV.setUint32(60,g%4294967296,!1),this._step()}_step(){const g=i._bigBlock32,c=this._buffDV;for(let w=0;w<64;w+=4)g.setUint32(w,c.getUint32(w,!1),!1);for(let w=64;w<320;w+=4)g.setUint32(w,p(g.getUint32(w-12,!1)^g.getUint32(w-32,!1)^g.getUint32(w-56,!1)^g.getUint32(w-64,!1),1),!1);let l=this._h0,a=this._h1,r=this._h2,u=this._h3,C=this._h4,f,h,v;for(let w=0;w<80;w++)w<20?(f=a&r|~a&u,h=1518500249):w<40?(f=a^r^u,h=1859775393):w<60?(f=a&r|a&u|r&u,h=2400959708):(f=a^r^u,h=3395469782),v=p(l,5)+f+C+h+g.getUint32(w*4,!1)&4294967295,C=u,u=r,r=p(a,30),a=l,l=v;this._h0=this._h0+l&4294967295,this._h1=this._h1+a&4294967295,this._h2=this._h2+r&4294967295,this._h3=this._h3+u&4294967295,this._h4=this._h4+C&4294967295}}e.StringSHA1=i}),define(ne[190],se([1,0,444,129]),function(oe,e,d,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.LcsDiff=e.StringDiffSequence=void 0,e.stringDiff=E;class I{constructor(n){this.source=n}getElements(){const n=this.source,o=new Int32Array(n.length);for(let t=0,i=n.length;t0||this.m_modifiedCount>0)&&this.m_changes.push(new d.DiffChange(this.m_originalStart,this.m_originalCount,this.m_modifiedStart,this.m_modifiedCount)),this.m_originalCount=0,this.m_modifiedCount=0,this.m_originalStart=1073741824,this.m_modifiedStart=1073741824}AddOriginalElement(n,o){this.m_originalStart=Math.min(this.m_originalStart,n),this.m_modifiedStart=Math.min(this.m_modifiedStart,o),this.m_originalCount++}AddModifiedElement(n,o){this.m_originalStart=Math.min(this.m_originalStart,n),this.m_modifiedStart=Math.min(this.m_modifiedStart,o),this.m_modifiedCount++}getChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes}getReverseChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes.reverse(),this.m_changes}}class b{constructor(n,o,t=null){this.ContinueProcessingPredicate=t,this._originalSequence=n,this._modifiedSequence=o;const[i,s,g]=b._getElements(n),[c,l,a]=b._getElements(o);this._hasStrings=g&&a,this._originalStringElements=i,this._originalElementsOrHash=s,this._modifiedStringElements=c,this._modifiedElementsOrHash=l,this.m_forwardHistory=[],this.m_reverseHistory=[]}static _isStringArray(n){return n.length>0&&typeof n[0]=="string"}static _getElements(n){const o=n.getElements();if(b._isStringArray(o)){const t=new Int32Array(o.length);for(let i=0,s=o.length;i=n&&i>=t&&this.ElementsAreEqual(o,i);)o--,i--;if(n>o||t>i){let u;return t<=i?(y.Assert(n===o+1,"originalStart should only be one more than originalEnd"),u=[new d.DiffChange(n,0,t,i-t+1)]):n<=o?(y.Assert(t===i+1,"modifiedStart should only be one more than modifiedEnd"),u=[new d.DiffChange(n,o-n+1,t,0)]):(y.Assert(n===o+1,"originalStart should only be one more than originalEnd"),y.Assert(t===i+1,"modifiedStart should only be one more than modifiedEnd"),u=[]),u}const g=[0],c=[0],l=this.ComputeRecursionPoint(n,o,t,i,g,c,s),a=g[0],r=c[0];if(l!==null)return l;if(!s[0]){const u=this.ComputeDiffRecursive(n,a,t,r,s);let C=[];return s[0]?C=[new d.DiffChange(a+1,o-(a+1)+1,r+1,i-(r+1)+1)]:C=this.ComputeDiffRecursive(a+1,o,r+1,i,s),this.ConcatenateChanges(u,C)}return[new d.DiffChange(n,o-n+1,t,i-t+1)]}WALKTRACE(n,o,t,i,s,g,c,l,a,r,u,C,f,h,v,w,S,L){let D=null,T=null,M=new _,A=o,P=t,N=f[0]-w[0]-i,O=-1073741824,F=this.m_forwardHistory.length-1;do{const x=N+n;x===A||x=0&&(a=this.m_forwardHistory[F],n=a[0],A=1,P=a.length-1)}while(--F>=-1);if(D=M.getReverseChanges(),L[0]){let x=f[0]+1,W=w[0]+1;if(D!==null&&D.length>0){const V=D[D.length-1];x=Math.max(x,V.getOriginalEnd()),W=Math.max(W,V.getModifiedEnd())}T=[new d.DiffChange(x,C-x+1,W,v-W+1)]}else{M=new _,A=g,P=c,N=f[0]-w[0]-l,O=1073741824,F=S?this.m_reverseHistory.length-1:this.m_reverseHistory.length-2;do{const x=N+s;x===A||x=r[x+1]?(u=r[x+1]-1,h=u-N-l,u>O&&M.MarkNextChange(),O=u+1,M.AddOriginalElement(u+1,h+1),N=x+1-s):(u=r[x-1],h=u-N-l,u>O&&M.MarkNextChange(),O=u,M.AddModifiedElement(u+1,h+1),N=x-1-s),F>=0&&(r=this.m_reverseHistory[F],s=r[0],A=1,P=r.length-1)}while(--F>=-1);T=M.getChanges()}return this.ConcatenateChanges(D,T)}ComputeRecursionPoint(n,o,t,i,s,g,c){let l=0,a=0,r=0,u=0,C=0,f=0;n--,t--,s[0]=0,g[0]=0,this.m_forwardHistory=[],this.m_reverseHistory=[];const h=o-n+(i-t),v=h+1,w=new Int32Array(v),S=new Int32Array(v),L=i-t,D=o-n,T=n-t,M=o-i,P=(D-L)%2===0;w[L]=n,S[D]=o,c[0]=!1;for(let N=1;N<=h/2+1;N++){let O=0,F=0;r=this.ClipDiagonalBound(L-N,N,L,v),u=this.ClipDiagonalBound(L+N,N,L,v);for(let W=r;W<=u;W+=2){W===r||WO+F&&(O=l,F=a),!P&&Math.abs(W-D)<=N-1&&l>=S[W])return s[0]=l,g[0]=a,V<=S[W]&&N<=1448?this.WALKTRACE(L,r,u,T,D,C,f,M,w,S,l,o,s,a,i,g,P,c):null}const x=(O-n+(F-t)-N)/2;if(this.ContinueProcessingPredicate!==null&&!this.ContinueProcessingPredicate(O,x))return c[0]=!0,s[0]=O,g[0]=F,x>0&&N<=1448?this.WALKTRACE(L,r,u,T,D,C,f,M,w,S,l,o,s,a,i,g,P,c):(n++,t++,[new d.DiffChange(n,o-n+1,t,i-t+1)]);C=this.ClipDiagonalBound(D-N,N,D,v),f=this.ClipDiagonalBound(D+N,N,D,v);for(let W=C;W<=f;W+=2){W===C||W=S[W+1]?l=S[W+1]-1:l=S[W-1],a=l-(W-D)-M;const V=l;for(;l>n&&a>t&&this.ElementsAreEqual(l,a);)l--,a--;if(S[W]=l,P&&Math.abs(W-L)<=N&&l<=w[W])return s[0]=l,g[0]=a,V>=w[W]&&N<=1448?this.WALKTRACE(L,r,u,T,D,C,f,M,w,S,l,o,s,a,i,g,P,c):null}if(N<=1447){let W=new Int32Array(u-r+2);W[0]=L-r+1,m.Copy2(w,r,W,1,u-r+1),this.m_forwardHistory.push(W),W=new Int32Array(f-C+2),W[0]=D-C+1,m.Copy2(S,C,W,1,f-C+1),this.m_reverseHistory.push(W)}}return this.WALKTRACE(L,r,u,T,D,C,f,M,w,S,l,o,s,a,i,g,P,c)}PrettifyChanges(n){for(let o=0;o0,c=t.modifiedLength>0;for(;t.originalStart+t.originalLength=0;o--){const t=n[o];let i=0,s=0;if(o>0){const u=n[o-1];i=u.originalStart+u.originalLength,s=u.modifiedStart+u.modifiedLength}const g=t.originalLength>0,c=t.modifiedLength>0;let l=0,a=this._boundaryScore(t.originalStart,t.originalLength,t.modifiedStart,t.modifiedLength);for(let u=1;;u++){const C=t.originalStart-u,f=t.modifiedStart-u;if(Ca&&(a=v,l=u)}t.originalStart-=l,t.modifiedStart-=l;const r=[null];if(o>0&&this.ChangesOverlap(n[o-1],n[o],r)){n[o-1]=r[0],n.splice(o,1),o++;continue}}if(this._hasStrings)for(let o=1,t=n.length;o0&&f>l&&(l=f,a=u,r=C)}return l>0?[a,r]:null}_contiguousSequenceScore(n,o,t){let i=0;for(let s=0;s=this._originalElementsOrHash.length-1?!0:this._hasStrings&&/^\s*$/.test(this._originalStringElements[n])}_OriginalRegionIsBoundary(n,o){if(this._OriginalIsBoundary(n)||this._OriginalIsBoundary(n-1))return!0;if(o>0){const t=n+o;if(this._OriginalIsBoundary(t-1)||this._OriginalIsBoundary(t))return!0}return!1}_ModifiedIsBoundary(n){return n<=0||n>=this._modifiedElementsOrHash.length-1?!0:this._hasStrings&&/^\s*$/.test(this._modifiedStringElements[n])}_ModifiedRegionIsBoundary(n,o){if(this._ModifiedIsBoundary(n)||this._ModifiedIsBoundary(n-1))return!0;if(o>0){const t=n+o;if(this._ModifiedIsBoundary(t-1)||this._ModifiedIsBoundary(t))return!0}return!1}_boundaryScore(n,o,t,i){const s=this._OriginalRegionIsBoundary(n,o)?1:0,g=this._ModifiedRegionIsBoundary(t,i)?1:0;return s+g}ConcatenateChanges(n,o){const t=[];if(n.length===0||o.length===0)return o.length>0?o:n;if(this.ChangesOverlap(n[n.length-1],o[0],t)){const i=new Array(n.length+o.length-1);return m.Copy(n,0,i,0,n.length-1),i[n.length-1]=t[0],m.Copy(o,1,i,n.length,o.length-1),i}else{const i=new Array(n.length+o.length);return m.Copy(n,0,i,0,n.length),m.Copy(o,0,i,n.length,o.length),i}}ChangesOverlap(n,o,t){if(y.Assert(n.originalStart<=o.originalStart,"Left change is not less than or equal to right change"),y.Assert(n.modifiedStart<=o.modifiedStart,"Left change is not less than or equal to right change"),n.originalStart+n.originalLength>=o.originalStart||n.modifiedStart+n.modifiedLength>=o.modifiedStart){const i=n.originalStart;let s=n.originalLength;const g=n.modifiedStart;let c=n.modifiedLength;return n.originalStart+n.originalLength>=o.originalStart&&(s=o.originalStart+o.originalLength-n.originalStart),n.modifiedStart+n.modifiedLength>=o.modifiedStart&&(c=o.modifiedStart+o.modifiedLength-n.modifiedStart),t[0]=new d.DiffChange(i,s,g,c),!0}else return t[0]=null,!1}ClipDiagonalBound(n,o,t,i){if(n>=0&&n0?m[0].toUpperCase()+m.substr(1):y[0][0].toUpperCase()!==y[0][0]&&m.length>0?m[0].toLowerCase()+m.substr(1):m}else return m}function I(y,m,_){return y[0].indexOf(_)!==-1&&m.indexOf(_)!==-1&&y[0].split(_).length===m.split(_).length}function E(y,m,_){const b=m.split(_),p=y[0].split(_);let n="";return b.forEach((o,t)=>{n+=k([p[t]],o)+_}),n.slice(0,-1)}}),define(ne[111],se([1,0,11]),function(oe,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var k;(function(I){I[I.Ignore=0]="Ignore",I[I.Info=1]="Info",I[I.Warning=2]="Warning",I[I.Error=3]="Error"})(k||(k={})),function(I){const E="error",y="warning",m="warn",_="info",b="ignore";function p(o){return o?d.equalsIgnoreCase(E,o)?I.Error:d.equalsIgnoreCase(y,o)||d.equalsIgnoreCase(m,o)?I.Warning:d.equalsIgnoreCase(_,o)?I.Info:I.Ignore:I.Ignore}I.fromValue=p;function n(o){switch(o){case I.Error:return E;case I.Warning:return y;case I.Info:return _;default:return b}}I.toString=n}(k||(k={})),e.default=k}),define(ne[301],se([1,0]),function(oe,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.MicrotaskDelay=void 0,e.MicrotaskDelay=Symbol("MicrotaskDelay")}),define(ne[225],se([1,0,11]),function(oe,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TernarySearchTree=e.UriIterator=e.PathIterator=e.ConfigKeysIterator=e.StringIterator=void 0;class k{constructor(){this._value="",this._pos=0}reset(p){return this._value=p,this._pos=0,this}next(){return this._pos+=1,this}hasNext(){return this._pos=0;n--,this._valueLen--){const o=this._value.charCodeAt(n);if(!(o===47||this._splitOnBackslash&&o===92))break}return this.next()}hasNext(){return this._to!1,n=()=>!1){return new _(new y(p,n))}static forStrings(){return new _(new k)}static forConfigKeys(){return new _(new I)}constructor(p){this._iter=p}clear(){this._root=void 0}set(p,n){const o=this._iter.reset(p);let t;this._root||(this._root=new m,this._root.segment=o.value());const i=[];for(t=this._root;;){const g=o.cmp(t.segment);if(g>0)t.left||(t.left=new m,t.left.segment=o.value()),i.push([-1,t]),t=t.left;else if(g<0)t.right||(t.right=new m,t.right.segment=o.value()),i.push([1,t]),t=t.right;else if(o.hasNext())o.next(),t.mid||(t.mid=new m,t.mid.segment=o.value()),i.push([0,t]),t=t.mid;else break}const s=t.value;t.value=n,t.key=p;for(let g=i.length-1;g>=0;g--){const c=i[g][1];c.updateHeight();const l=c.balanceFactor();if(l<-1||l>1){const a=i[g][0],r=i[g+1][0];if(a===1&&r===1)i[g][1]=c.rotateLeft();else if(a===-1&&r===-1)i[g][1]=c.rotateRight();else if(a===1&&r===-1)c.right=i[g+1][1]=i[g+1][1].rotateRight(),i[g][1]=c.rotateLeft();else if(a===-1&&r===1)c.left=i[g+1][1]=i[g+1][1].rotateLeft(),i[g][1]=c.rotateRight();else throw new Error;if(g>0)switch(i[g-1][0]){case-1:i[g-1][1].left=i[g][1];break;case 1:i[g-1][1].right=i[g][1];break;case 0:i[g-1][1].mid=i[g][1];break}else this._root=i[0][1]}}return s}get(p){return this._getNode(p)?.value}_getNode(p){const n=this._iter.reset(p);let o=this._root;for(;o;){const t=n.cmp(o.segment);if(t>0)o=o.left;else if(t<0)o=o.right;else if(n.hasNext())n.next(),o=o.mid;else break}return o}has(p){const n=this._getNode(p);return!(n?.value===void 0&&n?.mid===void 0)}delete(p){return this._delete(p,!1)}deleteSuperstr(p){return this._delete(p,!0)}_delete(p,n){const o=this._iter.reset(p),t=[];let i=this._root;for(;i;){const s=o.cmp(i.segment);if(s>0)t.push([-1,i]),i=i.left;else if(s<0)t.push([1,i]),i=i.right;else if(o.hasNext())o.next(),t.push([0,i]),i=i.mid;else break}if(i){if(n?(i.left=void 0,i.mid=void 0,i.right=void 0,i.height=1):(i.key=void 0,i.value=void 0),!i.mid&&!i.value)if(i.left&&i.right){const s=this._min(i.right);if(s.key){const{key:g,value:c,segment:l}=s;this._delete(s.key,!1),i.key=g,i.value=c,i.segment=l}}else{const s=i.left??i.right;if(t.length>0){const[g,c]=t[t.length-1];switch(g){case-1:c.left=s;break;case 0:c.mid=s;break;case 1:c.right=s;break}}else this._root=s}for(let s=t.length-1;s>=0;s--){const g=t[s][1];g.updateHeight();const c=g.balanceFactor();if(c>1?(g.right.balanceFactor()>=0||(g.right=g.right.rotateRight()),t[s][1]=g.rotateLeft()):c<-1&&(g.left.balanceFactor()<=0||(g.left=g.left.rotateLeft()),t[s][1]=g.rotateRight()),s>0)switch(t[s-1][0]){case-1:t[s-1][1].left=t[s][1];break;case 1:t[s-1][1].right=t[s][1];break;case 0:t[s-1][1].mid=t[s][1];break}else this._root=t[0][1]}}}_min(p){for(;p.left;)p=p.left;return p}findSubstr(p){const n=this._iter.reset(p);let o=this._root,t;for(;o;){const i=n.cmp(o.segment);if(i>0)o=o.left;else if(i<0)o=o.right;else if(n.hasNext())n.next(),t=o.value||t,o=o.mid;else break}return o&&o.value||t}findSuperstr(p){return this._findSuperstrOrElement(p,!1)}_findSuperstrOrElement(p,n){const o=this._iter.reset(p);let t=this._root;for(;t;){const i=o.cmp(t.segment);if(i>0)t=t.left;else if(i<0)t=t.right;else if(o.hasNext())o.next(),t=t.mid;else return t.mid?this._entries(t.mid):n?t.value:void 0}}forEach(p){for(const[n,o]of this)p(o,n)}*[Symbol.iterator](){yield*this._entries(this._root)}_entries(p){const n=[];return this._dfsEntries(p,n),n[Symbol.iterator]()}_dfsEntries(p,n){p&&(p.left&&this._dfsEntries(p.left,n),p.value&&n.push([p.key,p.value]),p.mid&&this._dfsEntries(p.mid,n),p.right&&this._dfsEntries(p.right,n))}}e.TernarySearchTree=_}),define(ne[456],se([1,0]),function(oe,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TfIdfCalculator=void 0,e.normalizeTfIdfScores=I;function d(E){const y=new Map;for(const m of E)y.set(m,(y.get(m)??0)+1);return y}class k{constructor(){this.chunkCount=0,this.chunkOccurrences=new Map,this.documents=new Map}calculateScores(y,m){const _=this.computeEmbedding(y),b=new Map,p=[];for(const[n,o]of this.documents){if(m.isCancellationRequested)return[];for(const t of o.chunks){const i=this.computeSimilarityScore(t,_,b);i>0&&p.push({key:n,score:i})}}return p}static termFrequencies(y){return d(k.splitTerms(y))}static*splitTerms(y){const m=_=>_.toLowerCase();for(const[_]of y.matchAll(/\b\p{Letter}[\p{Letter}\d]{2,}\b/gu)){yield m(_);const b=_.replace(/([a-z])([A-Z])/g,"$1 $2").split(/\s+/g);if(b.length>1)for(const p of b)p.length>2&&/\p{Letter}{3,}/gu.test(p)&&(yield m(p))}}updateDocuments(y){for(const{key:m}of y)this.deleteDocument(m);for(const m of y){const _=[];for(const b of m.textChunks){const p=k.termFrequencies(b);for(const n of p.keys())this.chunkOccurrences.set(n,(this.chunkOccurrences.get(n)??0)+1);_.push({text:b,tf:p})}this.chunkCount+=_.length,this.documents.set(m.key,{chunks:_})}return this}deleteDocument(y){const m=this.documents.get(y);if(m){this.documents.delete(y),this.chunkCount-=m.chunks.length;for(const _ of m.chunks)for(const b of _.tf.keys()){const p=this.chunkOccurrences.get(b);if(typeof p=="number"){const n=p-1;n<=0?this.chunkOccurrences.delete(b):this.chunkOccurrences.set(b,n)}}}}computeSimilarityScore(y,m,_){let b=0;for(const[p,n]of Object.entries(m)){const o=y.tf.get(p);if(!o)continue;let t=_.get(p);typeof t!="number"&&(t=this.computeIdf(p),_.set(p,t));const i=o*t;b+=i*n}return b}computeEmbedding(y){const m=k.termFrequencies(y);return this.computeTfidf(m)}computeIdf(y){const m=this.chunkOccurrences.get(y)??0;return m>0?Math.log((this.chunkCount+1)/m):0}computeTfidf(y){const m=Object.create(null);for(const[_,b]of y){const p=this.computeIdf(_);p>0&&(m[_]=b*p)}return m}}e.TfIdfCalculator=k;function I(E){const y=E.slice(0);y.sort((_,b)=>b.score-_.score);const m=y[0]?.score??0;if(m>0)for(const _ of y)_.score/=m;return y}}),define(ne[19],se([1,0]),function(oe,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.isString=d,e.isObject=k,e.isTypedArray=I,e.isNumber=E,e.isIterable=y,e.isBoolean=m,e.isUndefined=_,e.isDefined=b,e.isUndefinedOrNull=p,e.assertType=n,e.assertIsDefined=o,e.isFunction=t,e.validateConstraints=i,e.validateConstraint=s;function d(g){return typeof g=="string"}function k(g){return typeof g=="object"&&g!==null&&!Array.isArray(g)&&!(g instanceof RegExp)&&!(g instanceof Date)}function I(g){const c=Object.getPrototypeOf(Uint8Array);return typeof g=="object"&&g instanceof c}function E(g){return typeof g=="number"&&!isNaN(g)}function y(g){return!!g&&typeof g[Symbol.iterator]=="function"}function m(g){return g===!0||g===!1}function _(g){return typeof g>"u"}function b(g){return!p(g)}function p(g){return _(g)||g===null}function n(g,c){if(!g)throw new Error(c?`Unexpected type, expected '${c}'`:"Unexpected type")}function o(g){if(p(g))throw new Error("Assertion Failed: argument is undefined or null");return g}function t(g){return typeof g=="function"}function i(g,c){const l=Math.min(g.length,c.length);for(let a=0;a{i[s]=g&&typeof g=="object"?k(g):g}),i}function I(t){if(!t||typeof t!="object")return t;const i=[t];for(;i.length>0;){const s=i.shift();Object.freeze(s);for(const g in s)if(E.call(s,g)){const c=s[g];typeof c=="object"&&!Object.isFrozen(c)&&!(0,d.isTypedArray)(c)&&i.push(c)}}return t}const E=Object.prototype.hasOwnProperty;function y(t,i){return m(t,i,new Set)}function m(t,i,s){if((0,d.isUndefinedOrNull)(t))return t;const g=i(t);if(typeof g<"u")return g;if(Array.isArray(t)){const c=[];for(const l of t)c.push(m(l,i,s));return c}if((0,d.isObject)(t)){if(s.has(t))throw new Error("Cannot clone recursive data-structure");s.add(t);const c={};for(const l in t)E.call(t,l)&&(c[l]=m(t[l],i,s));return s.delete(t),c}return t}function _(t,i,s=!0){return(0,d.isObject)(t)?((0,d.isObject)(i)&&Object.keys(i).forEach(g=>{g in t?s&&((0,d.isObject)(t[g])&&(0,d.isObject)(i[g])?_(t[g],i[g],s):t[g]=i[g]):t[g]=i[g]}),t):i}function b(t,i){if(t===i)return!0;if(t==null||i===null||i===void 0||typeof t!=typeof i||typeof t!="object"||Array.isArray(t)!==Array.isArray(i))return!1;let s,g;if(Array.isArray(t)){if(t.length!==i.length)return!1;for(s=0;sfunction(){const l=Array.prototype.slice.call(arguments,0);return i(c,l)},g={};for(const c of t)g[c]=s(c);return g}}),define(ne[30],se([1,0,26]),function(oe,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ThemeIcon=e.ThemeColor=void 0;var k;(function(E){function y(m){return m&&typeof m=="object"&&typeof m.id=="string"}E.isThemeColor=y})(k||(e.ThemeColor=k={}));var I;(function(E){E.iconNameSegment="[A-Za-z0-9]+",E.iconNameExpression="[A-Za-z0-9-]+",E.iconModifierExpression="~[A-Za-z]+",E.iconNameCharacter="[A-Za-z0-9~-]";const y=new RegExp(`^(${E.iconNameExpression})(${E.iconModifierExpression})?$`);function m(c){const l=y.exec(c.id);if(!l)return m(d.Codicon.error);const[,a,r]=l,u=["codicon","codicon-"+a];return r&&u.push("codicon-modifier-"+r.substring(1)),u}E.asClassNameArray=m;function _(c){return m(c).join(" ")}E.asClassName=_;function b(c){return"."+m(c).join(".")}E.asCSSSelector=b;function p(c){return c&&typeof c=="object"&&typeof c.id=="string"&&(typeof c.color>"u"||k.isThemeColor(c.color))}E.isThemeIcon=p;const n=new RegExp(`^\\$\\((${E.iconNameExpression}(?:${E.iconModifierExpression})?)\\)$`);function o(c){const l=n.exec(c);if(!l)return;const[,a]=l;return{id:a}}E.fromString=o;function t(c){return{id:c}}E.fromId=t;function i(c,l){let a=c.id;const r=a.lastIndexOf("~");return r!==-1&&(a=a.substring(0,r)),l&&(a=`${a}~${l}`),{id:a}}E.modify=i;function s(c){const l=c.id.lastIndexOf("~");if(l!==-1)return c.id.substring(l+1)}E.getModifier=s;function g(c,l){return c.id===l.id&&c.color?.id===l.color?.id}E.isEqual=g})(I||(e.ThemeIcon=I={}))}),define(ne[142],se([1,0,82,11,30]),function(oe,e,d,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.escapeIcons=_,e.markdownEscapeEscapedIcons=p,e.stripIcons=o,e.getCodiconAriaLabel=t,e.parseLabelWithIcons=s,e.matchesFuzzyIconAware=g;const E="$(",y=new RegExp(`\\$\\(${I.ThemeIcon.iconNameExpression}(?:${I.ThemeIcon.iconModifierExpression})?\\)`,"g"),m=new RegExp(`(\\\\)?${y.source}`,"g");function _(c){return c.replace(m,(l,a)=>a?l:`\\${l}`)}const b=new RegExp(`\\\\${y.source}`,"g");function p(c){return c.replace(b,l=>`\\${l}`)}const n=new RegExp(`(\\s)?(\\\\)?${y.source}(\\s)?`,"g");function o(c){return c.indexOf(E)===-1?c:c.replace(n,(l,a,r,u)=>r?l:a||u||"")}function t(c){return c?c.replace(/\$\((.*?)\)/g,(l,a)=>` ${a} `).trim():""}const i=new RegExp(`\\$\\(${I.ThemeIcon.iconNameCharacter}+\\)`,"g");function s(c){i.lastIndex=0;let l="";const a=[];let r=0;for(;;){const u=i.lastIndex,C=i.exec(c),f=c.substring(u,C?.index);if(f.length>0){l+=f;for(let h=0;h255?255:I|0}function k(I){return I<0?0:I>4294967295?4294967295:I|0}}),define(ne[193],se([1,0]),function(oe,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.generateUuid=void 0,e.generateUuid=function(){if(typeof crypto=="object"&&typeof crypto.randomUUID=="function")return crypto.randomUUID.bind(crypto);let d;typeof crypto=="object"&&typeof crypto.getRandomValues=="function"?d=crypto.getRandomValues.bind(crypto):d=function(E){for(let y=0;yn,asFile:()=>{},value:typeof n=="string"?n:void 0}}function y(n,o,t){const i={id:(0,I.generateUuid)(),name:n,uri:o,data:t};return{asString:async()=>"",asFile:()=>i,value:void 0}}class m{constructor(){this._entries=new Map}get size(){let o=0;for(const t of this._entries)o++;return o}has(o){return this._entries.has(this.toKey(o))}matches(o){const t=[...this._entries.keys()];return k.Iterable.some(this,([i,s])=>s.asFile())&&t.push("files"),p(_(o),t)}get(o){return this._entries.get(this.toKey(o))?.[0]}append(o,t){const i=this._entries.get(o);i?i.push(t):this._entries.set(this.toKey(o),[t])}replace(o,t){this._entries.set(this.toKey(o),[t])}delete(o){this._entries.delete(this.toKey(o))}*[Symbol.iterator](){for(const[o,t]of this._entries)for(const i of t)yield[o,i]}toKey(o){return _(o)}}e.VSDataTransfer=m;function _(n){return n.toLowerCase()}function b(n,o){return p(_(n),o.map(_))}function p(n,o){if(n==="*/*")return o.length>0;if(o.includes(n))return!0;const t=n.match(/^([a-z]+)\/([a-z]+|\*)$/i);if(!t)return!1;const[i,s,g]=t;return g==="*"?o.some(c=>c.startsWith(s+"/")):!1}e.UriList=Object.freeze({create:n=>(0,d.distinct)(n.map(o=>o.toString())).join(`\r +`),split:n=>n.split(`\r +`),parse:n=>e.UriList.split(n).filter(o=>!o.startsWith("#"))})}),define(ne[302],se([10]),{}),define(ne[458],se([10]),{}),define(ne[459],se([10]),{}),define(ne[460],se([10]),{}),define(ne[461],se([10]),{}),define(ne[195],se([1,0,460,461]),function(oe,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0})}),define(ne[462],se([10]),{}),define(ne[463],se([10]),{}),define(ne[303],se([10]),{}),define(ne[304],se([10]),{}),define(ne[464],se([10]),{}),define(ne[465],se([10]),{}),define(ne[466],se([10]),{}),define(ne[467],se([10]),{}),define(ne[305],se([10]),{}),define(ne[468],se([10]),{}),define(ne[226],se([1,0,468]),function(oe,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.MOUSE_CURSOR_TEXT_CSS_CLASS_NAME=void 0,e.MOUSE_CURSOR_TEXT_CSS_CLASS_NAME="monaco-mouse-cursor-text"}),define(ne[469],se([10]),{}),define(ne[470],se([10]),{}),define(ne[471],se([10]),{}),define(ne[472],se([10]),{}),define(ne[473],se([10]),{}),define(ne[474],se([10]),{}),define(ne[475],se([10]),{}),define(ne[476],se([10]),{}),define(ne[477],se([10]),{}),define(ne[478],se([10]),{}),define(ne[479],se([10]),{}),define(ne[480],se([10]),{}),define(ne[481],se([10]),{}),define(ne[482],se([10]),{}),define(ne[483],se([10]),{}),define(ne[484],se([10]),{}),define(ne[485],se([10]),{}),define(ne[486],se([10]),{}),define(ne[487],se([10]),{}),define(ne[488],se([10]),{}),define(ne[489],se([10]),{}),define(ne[490],se([10]),{}),define(ne[491],se([10]),{}),define(ne[492],se([10]),{}),define(ne[493],se([10]),{}),define(ne[494],se([10]),{}),define(ne[495],se([10]),{}),define(ne[496],se([10]),{}),define(ne[497],se([10]),{}),define(ne[498],se([10]),{}),define(ne[499],se([10]),{}),define(ne[500],se([10]),{}),define(ne[501],se([10]),{}),define(ne[502],se([10]),{}),define(ne[503],se([10]),{}),define(ne[504],se([10]),{}),define(ne[505],se([10]),{}),define(ne[506],se([10]),{}),define(ne[227],se([10]),{}),define(ne[507],se([10]),{}),define(ne[508],se([10]),{}),define(ne[509],se([10]),{}),define(ne[510],se([10]),{}),define(ne[511],se([10]),{}),define(ne[512],se([10]),{}),define(ne[513],se([10]),{}),define(ne[514],se([10]),{}),define(ne[196],se([10]),{}),define(ne[515],se([10]),{}),define(ne[516],se([10]),{}),define(ne[517],se([10]),{}),define(ne[518],se([10]),{}),define(ne[519],se([10]),{}),define(ne[520],se([10]),{}),define(ne[521],se([10]),{}),define(ne[522],se([10]),{}),define(ne[523],se([10]),{}),define(ne[524],se([10]),{}),define(ne[525],se([10]),{}),define(ne[526],se([10]),{}),define(ne[527],se([10]),{}),define(ne[528],se([10]),{}),define(ne[529],se([10]),{}),define(ne[530],se([10]),{}),define(ne[531],se([10]),{}),define(ne[532],se([10]),{}),define(ne[533],se([10]),{}),define(ne[534],se([10]),{}),define(ne[535],se([10]),{}),define(ne[536],se([10]),{}),define(ne[537],se([10]),{}),define(ne[538],se([10]),{}),define(ne[539],se([10]),{}),define(ne[540],se([10]),{}),define(ne[541],se([10]),{}),define(ne[306],se([10]),{}),define(ne[542],se([10]),{}),define(ne[543],se([10]),{}),define(ne[228],se([10]),{}),define(ne[544],se([10]),{}),define(ne[74],se([1,0,39]),function(oe,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.applyFontInfo=k;function k(I,E){I instanceof d.FastDomNode?(I.setFontFamily(E.getMassagedFontFamily()),I.setFontWeight(E.fontWeight),I.setFontSize(E.fontSize),I.setFontFeatureSettings(E.fontFeatureSettings),I.setFontVariationSettings(E.fontVariationSettings),I.setLineHeight(E.lineHeight),I.setLetterSpacing(E.letterSpacing)):(I.style.fontFamily=E.getMassagedFontFamily(),I.style.fontWeight=E.fontWeight,I.style.fontSize=E.fontSize+"px",I.style.fontFeatureSettings=E.fontFeatureSettings,I.style.fontVariationSettings=E.fontVariationSettings,I.style.lineHeight=E.lineHeight+"px",I.style.letterSpacing=E.letterSpacing+"px")}}),define(ne[545],se([1,0,74]),function(oe,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CharWidthRequest=void 0,e.readCharWidths=E;class k{constructor(m,_){this.chr=m,this.type=_,this.width=0}fulfill(m){this.width=m}}e.CharWidthRequest=k;class I{constructor(m,_){this._bareFontInfo=m,this._requests=_,this._container=null,this._testElements=null}read(m){this._createDomElements(),m.document.body.appendChild(this._container),this._readFromDomElements(),this._container?.remove(),this._container=null,this._testElements=null}_createDomElements(){const m=document.createElement("div");m.style.position="absolute",m.style.top="-50000px",m.style.width="50000px";const _=document.createElement("div");(0,d.applyFontInfo)(_,this._bareFontInfo),m.appendChild(_);const b=document.createElement("div");(0,d.applyFontInfo)(b,this._bareFontInfo),b.style.fontWeight="bold",m.appendChild(b);const p=document.createElement("div");(0,d.applyFontInfo)(p,this._bareFontInfo),p.style.fontStyle="italic",m.appendChild(p);const n=[];for(const o of this._requests){let t;o.type===0&&(t=_),o.type===2&&(t=b),o.type===1&&(t=p),t.appendChild(document.createElement("br"));const i=document.createElement("span");I._render(i,o),t.appendChild(i),n.push(i)}this._container=m,this._testElements=n}static _render(m,_){if(_.chr===" "){let b="\xA0";for(let p=0;p<8;p++)b+=b;m.innerText=b}else{let b=_.chr;for(let p=0;p<8;p++)b+=b;m.textContent=b}}_readFromDomElements(){for(let m=0,_=this._requests.length;m<_;m++){const b=this._requests[m],p=this._testElements[m];b.fulfill(p.offsetWidth/256)}}}function E(y,m,_){new I(m,_).read(y)}}),define(ne[546],se([1,0]),function(oe,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.EditorSettingMigration=void 0,e.migrateOptions=E;class d{static{this.items=[]}constructor(_,b){this.key=_,this.migrate=b}apply(_){const b=d._read(_,this.key),p=o=>d._read(_,o),n=(o,t)=>d._write(_,o,t);this.migrate(b,p,n)}static _read(_,b){if(typeof _>"u")return;const p=b.indexOf(".");if(p>=0){const n=b.substring(0,p);return this._read(_[n],b.substring(p+1))}return _[b]}static _write(_,b,p){const n=b.indexOf(".");if(n>=0){const o=b.substring(0,n);_[o]=_[o]||{},this._write(_[o],b.substring(n+1),p);return}_[b]=p}}e.EditorSettingMigration=d;function k(m,_){d.items.push(new d(m,_))}function I(m,_){k(m,(b,p,n)=>{if(typeof b<"u"){for(const[o,t]of _)if(b===o){n(m,t);return}}})}function E(m){d.items.forEach(_=>_.apply(m))}I("wordWrap",[[!0,"on"],[!1,"off"]]),I("lineNumbers",[[!0,"on"],[!1,"off"]]),I("cursorBlinking",[["visible","solid"]]),I("renderWhitespace",[[!0,"boundary"],[!1,"none"]]),I("renderLineHighlight",[[!0,"line"],[!1,"none"]]),I("acceptSuggestionOnEnter",[[!0,"on"],[!1,"off"]]),I("tabCompletion",[[!1,"off"],[!0,"onlySnippets"]]),I("hover",[[!0,{enabled:!0}],[!1,{enabled:!1}]]),I("parameterHints",[[!0,{enabled:!0}],[!1,{enabled:!1}]]),I("autoIndent",[[!1,"advanced"],[!0,"full"]]),I("matchBrackets",[[!0,"always"],[!1,"never"]]),I("renderFinalNewline",[[!0,"on"],[!1,"off"]]),I("cursorSmoothCaretAnimation",[[!0,"on"],[!1,"off"]]),I("occurrencesHighlight",[[!0,"singleFile"],[!1,"off"]]),I("wordBasedSuggestions",[[!0,"matchingDocuments"],[!1,"off"]]),k("autoClosingBrackets",(m,_,b)=>{m===!1&&(b("autoClosingBrackets","never"),typeof _("autoClosingQuotes")>"u"&&b("autoClosingQuotes","never"),typeof _("autoSurround")>"u"&&b("autoSurround","never"))}),k("renderIndentGuides",(m,_,b)=>{typeof m<"u"&&(b("renderIndentGuides",void 0),typeof _("guides.indentation")>"u"&&b("guides.indentation",!!m))}),k("highlightActiveIndentGuide",(m,_,b)=>{typeof m<"u"&&(b("highlightActiveIndentGuide",void 0),typeof _("guides.highlightActiveIndentation")>"u"&&b("guides.highlightActiveIndentation",!!m))});const y={method:"showMethods",function:"showFunctions",constructor:"showConstructors",deprecated:"showDeprecated",field:"showFields",variable:"showVariables",class:"showClasses",struct:"showStructs",interface:"showInterfaces",module:"showModules",property:"showProperties",event:"showEvents",operator:"showOperators",unit:"showUnits",value:"showValues",constant:"showConstants",enum:"showEnums",enumMember:"showEnumMembers",keyword:"showKeywords",text:"showWords",color:"showColors",file:"showFiles",reference:"showReferences",folder:"showFolders",typeParameter:"showTypeParameters",snippet:"showSnippets"};k("suggest.filteredTypes",(m,_,b)=>{if(m&&typeof m=="object"){for(const p of Object.entries(y))m[p[0]]===!1&&typeof _(`suggest.${p[1]}`)>"u"&&b(`suggest.${p[1]}`,!1);b("suggest.filteredTypes",void 0)}}),k("quickSuggestions",(m,_,b)=>{if(typeof m=="boolean"){const p=m?"on":"off";b("quickSuggestions",{comments:p,strings:p,other:p})}}),k("experimental.stickyScroll.enabled",(m,_,b)=>{typeof m=="boolean"&&(b("experimental.stickyScroll.enabled",void 0),typeof _("stickyScroll.enabled")>"u"&&b("stickyScroll.enabled",m))}),k("experimental.stickyScroll.maxLineCount",(m,_,b)=>{typeof m=="number"&&(b("experimental.stickyScroll.maxLineCount",void 0),typeof _("stickyScroll.maxLineCount")>"u"&&b("stickyScroll.maxLineCount",m))}),k("codeActionsOnSave",(m,_,b)=>{if(m&&typeof m=="object"){let p=!1;const n={};for(const o of Object.entries(m))typeof o[1]=="boolean"?(p=!0,n[o[0]]=o[1]?"explicit":"never"):n[o[0]]=o[1];p&&b("codeActionsOnSave",n)}}),k("codeActionWidget.includeNearbyQuickfixes",(m,_,b)=>{typeof m=="boolean"&&(b("codeActionWidget.includeNearbyQuickfixes",void 0),typeof _("codeActionWidget.includeNearbyQuickFixes")>"u"&&b("codeActionWidget.includeNearbyQuickFixes",m))}),k("lightbulb.enabled",(m,_,b)=>{typeof m=="boolean"&&b("lightbulb.enabled",m?void 0:"off")})}),define(ne[229],se([1,0,6]),function(oe,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TabFocus=void 0;class k{constructor(){this._tabFocus=!1,this._onDidChangeTabFocus=new d.Emitter,this.onDidChangeTabFocus=this._onDidChangeTabFocus.event}getTabFocusMode(){return this._tabFocus}setTabFocusMode(E){this._tabFocus=E,this._onDidChangeTabFocus.fire(this._tabFocus)}}e.TabFocus=new k}),define(ne[143],se([1,0]),function(oe,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.StableEditorScrollState=void 0;class d{static capture(I){if(I.getScrollTop()===0||I.hasPendingScrollAnimation())return new d(I.getScrollTop(),I.getContentHeight(),null,0,null);let E=null,y=0;const m=I.getVisibleRanges();if(m.length>0){E=m[0].getStartPosition();const _=I.getTopForPosition(E.lineNumber,E.column);y=I.getScrollTop()-_}return new d(I.getScrollTop(),I.getContentHeight(),E,y,I.getPosition())}constructor(I,E,y,m,_){this._initialScrollTop=I,this._initialContentHeight=E,this._visiblePosition=y,this._visiblePositionScrollDelta=m,this._cursorPosition=_}restore(I){if(!(this._initialContentHeight===I.getContentHeight()&&this._initialScrollTop===I.getScrollTop())&&this._visiblePosition){const E=I.getTopForPosition(this._visiblePosition.lineNumber,this._visiblePosition.column);I.setScrollTop(E+this._visiblePositionScrollDelta)}}restoreRelativeVerticalPositionOfCursor(I){if(this._initialContentHeight===I.getContentHeight()&&this._initialScrollTop===I.getScrollTop())return;const E=I.getPosition();if(!this._cursorPosition||!E)return;const y=I.getTopForLineNumber(E.lineNumber)-I.getTopForLineNumber(this._cursorPosition.lineNumber);I.setScrollTop(I.getScrollTop()+y,1)}}e.StableEditorScrollState=d}),define(ne[164],se([1,0]),function(oe,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.VisibleRanges=e.HorizontalPosition=e.FloatHorizontalRange=e.HorizontalRange=e.LineVisibleRanges=e.RenderingContext=e.RestrictedRenderingContext=void 0;class d{constructor(p,n){this._restrictedRenderingContextBrand=void 0,this._viewLayout=p,this.viewportData=n,this.scrollWidth=this._viewLayout.getScrollWidth(),this.scrollHeight=this._viewLayout.getScrollHeight(),this.visibleRange=this.viewportData.visibleRange,this.bigNumbersDelta=this.viewportData.bigNumbersDelta;const o=this._viewLayout.getCurrentViewport();this.scrollTop=o.top,this.scrollLeft=o.left,this.viewportWidth=o.width,this.viewportHeight=o.height}getScrolledTopFromAbsoluteTop(p){return p-this.scrollTop}getVerticalOffsetForLineNumber(p,n){return this._viewLayout.getVerticalOffsetForLineNumber(p,n)}getVerticalOffsetAfterLineNumber(p,n){return this._viewLayout.getVerticalOffsetAfterLineNumber(p,n)}getDecorationsInViewport(){return this.viewportData.getDecorationsInViewport()}}e.RestrictedRenderingContext=d;class k extends d{constructor(p,n,o){super(p,n),this._renderingContextBrand=void 0,this._viewLines=o}linesVisibleRangesForRange(p,n){return this._viewLines.linesVisibleRangesForRange(p,n)}visibleRangeForPosition(p){return this._viewLines.visibleRangeForPosition(p)}}e.RenderingContext=k;class I{constructor(p,n,o,t){this.outsideRenderedLine=p,this.lineNumber=n,this.ranges=o,this.continuesOnNextLine=t}}e.LineVisibleRanges=I;class E{static from(p){const n=new Array(p.length);for(let o=0,t=p.length;o=n.left?_.width=Math.max(_.width,n.left+n.width-_.left):(y[m++]=_,_=n)}return y[m++]=_,y}static _createHorizontalRangesFromClientRects(E,y,m){if(!E||E.length===0)return null;const _=[];for(let b=0,p=E.length;bo)return null;if(y=Math.min(o,Math.max(0,y)),_=Math.min(o,Math.max(0,_)),y===_&&m===b&&m===0&&!E.children[y].firstChild){const g=E.children[y].getClientRects();return p.markDidDomLayout(),this._createHorizontalRangesFromClientRects(g,p.clientRectDeltaLeft,p.clientRectScale)}y!==_&&_>0&&b===0&&(_--,b=1073741824);let t=E.children[y].firstChild,i=E.children[_].firstChild;if((!t||!i)&&(!t&&m===0&&y>0&&(t=E.children[y-1].firstChild,m=1073741824),!i&&b===0&&_>0&&(i=E.children[_-1].firstChild,b=1073741824)),!t||!i)return null;m=Math.min(t.textContent.length,Math.max(0,m)),b=Math.min(i.textContent.length,Math.max(0,b));const s=this._readClientRects(t,m,i,b,p.endNode);return p.markDidDomLayout(),this._createHorizontalRangesFromClientRects(s,p.clientRectDeltaLeft,p.clientRectScale)}}e.RangeUtil=k}),define(ne[307],se([1,0]),function(oe,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getCharIndex=e.allCharCodes=void 0,e.allCharCodes=(()=>{const k=[];for(let I=32;I<=126;I++)k.push(I);return k.push(65533),k})();const d=(k,I)=>(k-=32,k<0||k>96?I<=2?(k+96)%96:95:k);e.getCharIndex=d}),define(ne[549],se([1,0,307,192]),function(oe,e,d,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.MinimapCharRenderer=void 0;class I{constructor(y,m){this.scale=m,this._minimapCharRendererBrand=void 0,this.charDataNormal=I.soften(y,12/15),this.charDataLight=I.soften(y,50/60)}static soften(y,m){const _=new Uint8ClampedArray(y.length);for(let b=0,p=y.length;by.width||_+a>y.height){console.warn("bad render request outside image data");return}const r=s?this.charDataLight:this.charDataNormal,u=(0,d.getCharIndex)(b,i),C=y.width*4,f=o.r,h=o.g,v=o.b,w=p.r-f,S=p.g-h,L=p.b-v,D=Math.max(n,t),T=y.data;let M=u*c*l,A=_*C+m*4;for(let P=0;Py.width||_+g>y.height){console.warn("bad render request outside image data");return}const c=y.width*4,l=.5*(p/255),a=n.r,r=n.g,u=n.b,C=b.r-a,f=b.g-r,h=b.b-u,v=a+C*l,w=r+f*l,S=u+h*l,L=Math.max(p,o),D=y.data;let T=_*c+m*4;for(let M=0;M{const y=new Uint8ClampedArray(E.length/2);for(let m=0;m>1]=k[E[m]]<<4|k[E[m+1]]&15;return y};e.prebakedMiniMaps={1:(0,d.createSingleCallFunction)(()=>I("0000511D6300CF609C709645A78432005642574171487021003C451900274D35D762755E8B629C5BA856AF57BA649530C167D1512A272A3F6038604460398526BCA2A968DB6F8957C768BE5FBE2FB467CF5D8D5B795DC7625B5DFF50DE64C466DB2FC47CD860A65E9A2EB96CB54CE06DA763AB2EA26860524D3763536601005116008177A8705E53AB738E6A982F88BAA35B5F5B626D9C636B449B737E5B7B678598869A662F6B5B8542706C704C80736A607578685B70594A49715A4522E792")),2:(0,d.createSingleCallFunction)(()=>I("000000000000000055394F383D2800008B8B1F210002000081B1CBCBCC820000847AAF6B9AAF2119BE08B8881AD60000A44FD07DCCF107015338130C00000000385972265F390B406E2437634B4B48031B12B8A0847000001E15B29A402F0000000000004B33460B00007A752C2A0000000000004D3900000084394B82013400ABA5CFC7AD9C0302A45A3E5A98AB000089A43382D97900008BA54AA087A70A0248A6A7AE6DBE0000BF6F94987EA40A01A06DCFA7A7A9030496C32F77891D0000A99FB1A0AFA80603B29AB9CA75930D010C0948354D3900000C0948354F37460D0028BE673D8400000000AF9D7B6E00002B007AA8933400007AA642675C2700007984CFB9C3985B768772A8A6B7B20000CAAECAAFC4B700009F94A6009F840009D09F9BA4CA9C0000CC8FC76DC87F0000C991C472A2000000A894A48CA7B501079BA2C9C69BA20000B19A5D3FA89000005CA6009DA2960901B0A7F0669FB200009D009E00B7890000DAD0F5D092820000D294D4C48BD10000B5A7A4A3B1A50402CAB6CBA6A2000000B5A7A4A3B1A8044FCDADD19D9CB00000B7778F7B8AAE0803C9AB5D3F5D3F00009EA09EA0BAB006039EA0989A8C7900009B9EF4D6B7C00000A9A7816CACA80000ABAC84705D3F000096DA635CDC8C00006F486F266F263D4784006124097B00374F6D2D6D2D6D4A3A95872322000000030000000000008D8939130000000000002E22A5C9CBC70600AB25C0B5C9B400061A2DB04CA67001082AA6BEBEBFC606002321DACBC19E03087AA08B6768380000282FBAC0B8CA7A88AD25BBA5A29900004C396C5894A6000040485A6E356E9442A32CD17EADA70000B4237923628600003E2DE9C1D7B500002F25BBA5A2990000231DB6AFB4A804023025C0B5CAB588062B2CBDBEC0C706882435A75CA20000002326BD6A82A908048B4B9A5A668000002423A09CB4BB060025259C9D8A7900001C1FCAB2C7C700002A2A9387ABA200002626A4A47D6E9D14333163A0C87500004B6F9C2D643A257049364936493647358A34438355497F1A0000A24C1D590000D38DFFBDD4CD3126"))}}),define(ne[551],se([1,0,549,307,550,192]),function(oe,e,d,k,I,E){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.MinimapCharRendererFactory=void 0;class y{static create(_,b){if(this.lastCreated&&_===this.lastCreated.scale&&b===this.lastFontFamily)return this.lastCreated;let p;return I.prebakedMiniMaps[_]?p=new d.MinimapCharRenderer(I.prebakedMiniMaps[_](),_):p=y.createFromSampleData(y.createSampleData(b).data,_),this.lastFontFamily=b,this.lastCreated=p,p}static createSampleData(_){const b=document.createElement("canvas"),p=b.getContext("2d");b.style.height="16px",b.height=16,b.width=96*10,b.style.width=96*10+"px",p.fillStyle="#ffffff",p.font=`bold 16px ${_}`,p.textBaseline="middle";let n=0;for(const o of k.allCharCodes)p.fillText(String.fromCharCode(o),n,16/2),n+=10;return p.getImageData(0,0,96*10,16)}static createFromSampleData(_,b){if(_.length!==61440)throw new Error("Unexpected source in MinimapCharRenderer");const n=y._downsample(_,b);return new d.MinimapCharRenderer(n,b)}static _downsampleChar(_,b,p,n,o){const t=1*o,i=2*o;let s=n,g=0;for(let c=0;c0){const g=255/s;for(let c=0;cthis._itemData.get(m).getId()===I.getId())??y[0],this._unused.delete(E),this._itemData.set(E,I),E.setData(I)}return this._used.add(E),{object:E,dispose:()=>{this._used.delete(E),this._unused.size>5?E.dispose():this._unused.add(E)}}}dispose(){for(const I of this._used)I.dispose();for(const I of this._unused)I.dispose();this._used.clear(),this._unused.clear()}}e.ObjectPool=d}),define(ne[308],se([1,0]),function(oe,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.diffEditorDefaultOptions=void 0,e.diffEditorDefaultOptions={enableSplitViewResizing:!0,splitViewDefaultRatio:.5,renderSideBySide:!0,renderMarginRevertIcon:!0,renderGutterMenu:!0,maxComputationTime:5e3,maxFileSize:50,ignoreTrimWhitespace:!0,renderIndicators:!0,originalEditable:!1,diffCodeLens:!1,renderOverviewRuler:!0,diffWordWrap:"inherit",diffAlgorithm:"advanced",accessibilityVerbose:!1,experimental:{showMoves:!1,showEmptyDecorations:!0,useTrueInlineView:!1},hideUnchangedRegions:{enabled:!1,contextLineCount:3,minimumLineCount:3,revealLineCount:20},isInEmbeddedEditor:!1,onlyShowAccessibleDiffViewer:!1,renderSideBySideInlineBreakpoint:900,useInlineViewWhenSpaceIsLimited:!0,compactMode:!1}}),define(ne[165],se([1,0,6]),function(oe,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.EditorZoom=void 0,e.EditorZoom=new class{constructor(){this._zoomLevel=0,this._onDidChangeZoomLevel=new d.Emitter,this.onDidChangeZoomLevel=this._onDidChangeZoomLevel.event}getZoomLevel(){return this._zoomLevel}setZoomLevel(k){k=Math.min(Math.max(-5,k),20),this._zoomLevel!==k&&(this._zoomLevel=k,this._onDidChangeZoomLevel.fire(this._zoomLevel))}}}),define(ne[144],se([1,0,192]),function(oe,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CharacterSet=e.CharacterClassifier=void 0;class k{constructor(y){const m=(0,d.toUint8)(y);this._defaultValue=m,this._asciiMap=k._createAsciiMap(m),this._map=new Map}static _createAsciiMap(y){const m=new Uint8Array(256);return m.fill(y),m}set(y,m){const _=(0,d.toUint8)(m);y>=0&&y<256?this._asciiMap[y]=_:this._map.set(y,_)}get(y){return y>=0&&y<256?this._asciiMap[y]:this._map.get(y)||this._defaultValue}clear(){this._asciiMap.fill(this._defaultValue),this._map.clear()}}e.CharacterClassifier=k;class I{constructor(){this._actual=new k(0)}add(y){this._actual.set(y,1)}has(y){return this._actual.get(y)===1}clear(){return this._actual.clear()}}e.CharacterSet=I}),define(ne[94],se([1,0,11]),function(oe,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CursorColumns=void 0;class k{static _nextVisibleColumn(E,y,m){return E===9?k.nextRenderTabStop(y,m):d.isFullWidthCharacter(E)||d.isEmojiImprecise(E)?y+2:y+1}static visibleColumnFromColumn(E,y,m){const _=Math.min(y-1,E.length),b=E.substring(0,_),p=new d.GraphemeIterator(b);let n=0;for(;!p.eol();){const o=d.getNextCodePoint(b,_,p.offset);p.nextGraphemeLength(),n=this._nextVisibleColumn(o,n,m)}return n}static columnFromVisibleColumn(E,y,m){if(y<=0)return 1;const _=E.length,b=new d.GraphemeIterator(E);let p=0,n=1;for(;!b.eol();){const o=d.getNextCodePoint(E,_,b.offset);b.nextGraphemeLength();const t=this._nextVisibleColumn(o,p,m),i=b.offset+1;if(t>=y){const s=y-p;return t-ym))return new k(y,m)}static ofLength(y){return new k(0,y)}static ofStartAndLength(y,m){return new k(y,y+m)}constructor(y,m){if(this.start=y,this.endExclusive=m,y>m)throw new d.BugIndicatingError(`Invalid range: ${this.toString()}`)}get isEmpty(){return this.start===this.endExclusive}delta(y){return new k(this.start+y,this.endExclusive+y)}deltaStart(y){return new k(this.start+y,this.endExclusive)}deltaEnd(y){return new k(this.start,this.endExclusive+y)}get length(){return this.endExclusive-this.start}toString(){return`[${this.start}, ${this.endExclusive})`}contains(y){return this.start<=y&&y=y.endExclusive}slice(y){return y.slice(this.start,this.endExclusive)}substring(y){return y.substring(this.start,this.endExclusive)}clip(y){if(this.isEmpty)throw new d.BugIndicatingError(`Invalid clipping range: ${this.toString()}`);return Math.max(this.start,Math.min(this.endExclusive-1,y))}clipCyclic(y){if(this.isEmpty)throw new d.BugIndicatingError(`Invalid clipping range: ${this.toString()}`);return y=this.endExclusive?this.start+(y-this.start)%this.length:y}forEach(y){for(let m=this.start;my.toString()).join(", ")}intersectsStrict(y){let m=0;for(;my+m.length,0)}}e.OffsetRangeSet=I}),define(ne[9],se([1,0]),function(oe,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Position=void 0;class d{constructor(I,E){this.lineNumber=I,this.column=E}with(I=this.lineNumber,E=this.column){return I===this.lineNumber&&E===this.column?this:new d(I,E)}delta(I=0,E=0){return this.with(this.lineNumber+I,this.column+E)}equals(I){return d.equals(this,I)}static equals(I,E){return!I&&!E?!0:!!I&&!!E&&I.lineNumber===E.lineNumber&&I.column===E.column}isBefore(I){return d.isBefore(this,I)}static isBefore(I,E){return I.lineNumberm||E===m&&y>_?(this.startLineNumber=m,this.startColumn=_,this.endLineNumber=E,this.endColumn=y):(this.startLineNumber=E,this.startColumn=y,this.endLineNumber=m,this.endColumn=_)}isEmpty(){return k.isEmpty(this)}static isEmpty(E){return E.startLineNumber===E.endLineNumber&&E.startColumn===E.endColumn}containsPosition(E){return k.containsPosition(this,E)}static containsPosition(E,y){return!(y.lineNumberE.endLineNumber||y.lineNumber===E.startLineNumber&&y.columnE.endColumn)}static strictContainsPosition(E,y){return!(y.lineNumberE.endLineNumber||y.lineNumber===E.startLineNumber&&y.column<=E.startColumn||y.lineNumber===E.endLineNumber&&y.column>=E.endColumn)}containsRange(E){return k.containsRange(this,E)}static containsRange(E,y){return!(y.startLineNumberE.endLineNumber||y.endLineNumber>E.endLineNumber||y.startLineNumber===E.startLineNumber&&y.startColumnE.endColumn)}strictContainsRange(E){return k.strictContainsRange(this,E)}static strictContainsRange(E,y){return!(y.startLineNumberE.endLineNumber||y.endLineNumber>E.endLineNumber||y.startLineNumber===E.startLineNumber&&y.startColumn<=E.startColumn||y.endLineNumber===E.endLineNumber&&y.endColumn>=E.endColumn)}plusRange(E){return k.plusRange(this,E)}static plusRange(E,y){let m,_,b,p;return y.startLineNumberE.endLineNumber?(b=y.endLineNumber,p=y.endColumn):y.endLineNumber===E.endLineNumber?(b=y.endLineNumber,p=Math.max(y.endColumn,E.endColumn)):(b=E.endLineNumber,p=E.endColumn),new k(m,_,b,p)}intersectRanges(E){return k.intersectRanges(this,E)}static intersectRanges(E,y){let m=E.startLineNumber,_=E.startColumn,b=E.endLineNumber,p=E.endColumn;const n=y.startLineNumber,o=y.startColumn,t=y.endLineNumber,i=y.endColumn;return mt?(b=t,p=i):b===t&&(p=Math.min(p,i)),m>b||m===b&&_>p?null:new k(m,_,b,p)}equalsRange(E){return k.equalsRange(this,E)}static equalsRange(E,y){return!E&&!y?!0:!!E&&!!y&&E.startLineNumber===y.startLineNumber&&E.startColumn===y.startColumn&&E.endLineNumber===y.endLineNumber&&E.endColumn===y.endColumn}getEndPosition(){return k.getEndPosition(this)}static getEndPosition(E){return new d.Position(E.endLineNumber,E.endColumn)}getStartPosition(){return k.getStartPosition(this)}static getStartPosition(E){return new d.Position(E.startLineNumber,E.startColumn)}toString(){return"["+this.startLineNumber+","+this.startColumn+" -> "+this.endLineNumber+","+this.endColumn+"]"}setEndPosition(E,y){return new k(this.startLineNumber,this.startColumn,E,y)}setStartPosition(E,y){return new k(E,y,this.endLineNumber,this.endColumn)}collapseToStart(){return k.collapseToStart(this)}static collapseToStart(E){return new k(E.startLineNumber,E.startColumn,E.startLineNumber,E.startColumn)}collapseToEnd(){return k.collapseToEnd(this)}static collapseToEnd(E){return new k(E.endLineNumber,E.endColumn,E.endLineNumber,E.endColumn)}delta(E){return new k(this.startLineNumber+E,this.startColumn,this.endLineNumber+E,this.endColumn)}static fromPositions(E,y=E){return new k(E.lineNumber,E.column,y.lineNumber,y.column)}static lift(E){return E?new k(E.startLineNumber,E.startColumn,E.endLineNumber,E.endColumn):null}static isIRange(E){return E&&typeof E.startLineNumber=="number"&&typeof E.startColumn=="number"&&typeof E.endLineNumber=="number"&&typeof E.endColumn=="number"}static areIntersectingOrTouching(E,y){return!(E.endLineNumberE.startLineNumber}toJSON(){return this}}e.Range=k}),define(ne[310],se([1,0,11,4]),function(oe,e,d,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.PagedScreenReaderStrategy=e.TextAreaState=e._debugComposition=void 0,e._debugComposition=!1;class I{static{this.EMPTY=new I("",0,0,null,void 0)}constructor(m,_,b,p,n){this.value=m,this.selectionStart=_,this.selectionEnd=b,this.selection=p,this.newlineCountBeforeSelection=n}toString(){return`[ <${this.value}>, selectionStart: ${this.selectionStart}, selectionEnd: ${this.selectionEnd}]`}static readFromTextArea(m,_){const b=m.getValue(),p=m.getSelectionStart(),n=m.getSelectionEnd();let o;if(_){const t=b.substring(0,p),i=_.value.substring(0,_.selectionStart);t===i&&(o=_.newlineCountBeforeSelection)}return new I(b,p,n,null,o)}collapseSelection(){return this.selectionStart===this.value.length?this:new I(this.value,this.value.length,this.value.length,null,void 0)}writeToTextArea(m,_,b){e._debugComposition&&console.log(`writeToTextArea ${m}: ${this.toString()}`),_.setValue(m,this.value),b&&_.setSelectionRange(m,this.selectionStart,this.selectionEnd)}deduceEditorPosition(m){if(m<=this.selectionStart){const p=this.value.substring(m,this.selectionStart);return this._finishDeduceEditorPosition(this.selection?.getStartPosition()??null,p,-1)}if(m>=this.selectionEnd){const p=this.value.substring(this.selectionEnd,m);return this._finishDeduceEditorPosition(this.selection?.getEndPosition()??null,p,1)}const _=this.value.substring(this.selectionStart,m);if(_.indexOf("\u2026")===-1)return this._finishDeduceEditorPosition(this.selection?.getStartPosition()??null,_,1);const b=this.value.substring(m,this.selectionEnd);return this._finishDeduceEditorPosition(this.selection?.getEndPosition()??null,b,-1)}_finishDeduceEditorPosition(m,_,b){let p=0,n=-1;for(;(n=_.indexOf(` +`,n+1))!==-1;)p++;return[m,b*_.length,p]}static deduceInput(m,_,b){if(!m)return{text:"",replacePrevCharCnt:0,replaceNextCharCnt:0,positionDelta:0};e._debugComposition&&(console.log("------------------------deduceInput"),console.log(`PREVIOUS STATE: ${m.toString()}`),console.log(`CURRENT STATE: ${_.toString()}`));const p=Math.min(d.commonPrefixLength(m.value,_.value),m.selectionStart,_.selectionStart),n=Math.min(d.commonSuffixLength(m.value,_.value),m.value.length-m.selectionEnd,_.value.length-_.selectionEnd),o=m.value.substring(p,m.value.length-n),t=_.value.substring(p,_.value.length-n),i=m.selectionStart-p,s=m.selectionEnd-p,g=_.selectionStart-p,c=_.selectionEnd-p;if(e._debugComposition&&(console.log(`AFTER DIFFING PREVIOUS STATE: <${o}>, selectionStart: ${i}, selectionEnd: ${s}`),console.log(`AFTER DIFFING CURRENT STATE: <${t}>, selectionStart: ${g}, selectionEnd: ${c}`)),g===c){const a=m.selectionStart-p;return e._debugComposition&&console.log(`REMOVE PREVIOUS: ${a} chars`),{text:t,replacePrevCharCnt:a,replaceNextCharCnt:0,positionDelta:0}}const l=s-i;return{text:t,replacePrevCharCnt:l,replaceNextCharCnt:0,positionDelta:0}}static deduceAndroidCompositionInput(m,_){if(!m)return{text:"",replacePrevCharCnt:0,replaceNextCharCnt:0,positionDelta:0};if(e._debugComposition&&(console.log("------------------------deduceAndroidCompositionInput"),console.log(`PREVIOUS STATE: ${m.toString()}`),console.log(`CURRENT STATE: ${_.toString()}`)),m.value===_.value)return{text:"",replacePrevCharCnt:0,replaceNextCharCnt:0,positionDelta:_.selectionEnd-m.selectionEnd};const b=Math.min(d.commonPrefixLength(m.value,_.value),m.selectionEnd),p=Math.min(d.commonSuffixLength(m.value,_.value),m.value.length-m.selectionEnd),n=m.value.substring(b,m.value.length-p),o=_.value.substring(b,_.value.length-p),t=m.selectionStart-b,i=m.selectionEnd-b,s=_.selectionStart-b,g=_.selectionEnd-b;return e._debugComposition&&(console.log(`AFTER DIFFING PREVIOUS STATE: <${n}>, selectionStart: ${t}, selectionEnd: ${i}`),console.log(`AFTER DIFFING CURRENT STATE: <${o}>, selectionStart: ${s}, selectionEnd: ${g}`)),{text:o,replacePrevCharCnt:i,replaceNextCharCnt:n.length-i,positionDelta:g-o.length}}}e.TextAreaState=I;class E{static _getPageOfLine(m,_){return Math.floor((m-1)/_)}static _getRangeForPage(m,_){const b=m*_,p=b+1,n=b+_;return new k.Range(p,1,n+1,1)}static fromEditorSelection(m,_,b,p){const o=E._getPageOfLine(_.startLineNumber,b),t=E._getRangeForPage(o,b),i=E._getPageOfLine(_.endLineNumber,b),s=E._getRangeForPage(i,b);let g=t.intersectRanges(new k.Range(1,1,_.startLineNumber,_.startColumn));if(p&&m.getValueLengthInRange(g,1)>500){const f=m.modifyPosition(g.getEndPosition(),-500);g=k.Range.fromPositions(f,g.getEndPosition())}const c=m.getValueInRange(g,1),l=m.getLineCount(),a=m.getLineMaxColumn(l);let r=s.intersectRanges(new k.Range(_.endLineNumber,_.endColumn,l,a));if(p&&m.getValueLengthInRange(r,1)>500){const f=m.modifyPosition(r.getStartPosition(),500);r=k.Range.fromPositions(r.getStartPosition(),f)}const u=m.getValueInRange(r,1);let C;if(o===i||o+1===i)C=m.getValueInRange(_,1);else{const f=t.intersectRanges(_),h=s.intersectRanges(_);C=m.getValueInRange(f,1)+"\u2026"+m.getValueInRange(h,1)}return p&&C.length>2*500&&(C=C.substring(0,500)+"\u2026"+C.substring(C.length-500,C.length)),new I(c+C+u,c.length,c.length+C.length,_,g.endLineNumber-g.startLineNumber)}}e.PagedScreenReaderStrategy=E}),define(ne[75],se([1,0,4]),function(oe,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.EditOperation=void 0;class k{static insert(E,y){return{range:new d.Range(E.lineNumber,E.column,E.lineNumber,E.column),text:y,forceMoveMarkers:!0}}static delete(E){return{range:E,text:null}}static replace(E,y){return{range:E,text:y}}static replaceMove(E,y){return{range:E,text:y,forceMoveMarkers:!0}}}e.EditOperation=k}),define(ne[554],se([1,0,11,75,4]),function(oe,e,d,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TrimTrailingWhitespaceCommand=void 0,e.trimTrailingWhitespace=y;class E{constructor(_,b,p){this._selection=_,this._cursors=b,this._selectionId=null,this._trimInRegexesAndStrings=p}getEditOperations(_,b){const p=y(_,this._cursors,this._trimInRegexesAndStrings);for(let n=0,o=p.length;ni.lineNumber===s.lineNumber?i.column-s.column:i.lineNumber-s.lineNumber);for(let i=_.length-2;i>=0;i--)_[i].lineNumber===_[i+1].lineNumber&&_.splice(i,1);const p=[];let n=0,o=0;const t=_.length;for(let i=1,s=m.getLineCount();i<=s;i++){const g=m.getLineContent(i),c=g.length+1;let l=0;if(op)throw new d.BugIndicatingError(`startLineNumber ${b} cannot be after endLineNumberExclusive ${p}`);this.startLineNumber=b,this.endLineNumberExclusive=p}contains(b){return this.startLineNumber<=b&&bo.endLineNumberExclusive>=b.startLineNumber),n=(0,E.findLastIdxMonotonous)(this._normalizedRanges,o=>o.startLineNumber<=b.endLineNumberExclusive)+1;if(p===n)this._normalizedRanges.splice(p,0,b);else if(p===n-1){const o=this._normalizedRanges[p];this._normalizedRanges[p]=o.join(b)}else{const o=this._normalizedRanges[p].join(this._normalizedRanges[n-1]).join(b);this._normalizedRanges.splice(p,n-p,o)}}contains(b){const p=(0,E.findLastMonotonous)(this._normalizedRanges,n=>n.startLineNumber<=b);return!!p&&p.endLineNumberExclusive>b}intersects(b){const p=(0,E.findLastMonotonous)(this._normalizedRanges,n=>n.startLineNumberb.startLineNumber}getUnion(b){if(this._normalizedRanges.length===0)return b;if(b._normalizedRanges.length===0)return this;const p=[];let n=0,o=0,t=null;for(;n=i.startLineNumber?t=new y(t.startLineNumber,Math.max(t.endLineNumberExclusive,i.endLineNumberExclusive)):(p.push(t),t=i)}return t!==null&&p.push(t),new m(p)}subtractFrom(b){const p=(0,E.findFirstIdxMonotonousOrArrLen)(this._normalizedRanges,i=>i.endLineNumberExclusive>=b.startLineNumber),n=(0,E.findLastIdxMonotonous)(this._normalizedRanges,i=>i.startLineNumber<=b.endLineNumberExclusive)+1;if(p===n)return new m([b]);const o=[];let t=b.startLineNumber;for(let i=p;it&&o.push(new y(t,s.startLineNumber)),t=s.endLineNumberExclusive}return tb.toString()).join(", ")}getIntersection(b){const p=[];let n=0,o=0;for(;np.delta(b)))}}e.LineRangeSet=m}),define(ne[311],se([1,0]),function(oe,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.RGBA8=void 0;class d{static{this.Empty=new d(0,0,0,0)}constructor(I,E,y,m){this._rgba8Brand=void 0,this.r=d._clamp(I),this.g=d._clamp(E),this.b=d._clamp(y),this.a=d._clamp(m)}equals(I){return this.r===I.r&&this.g===I.g&&this.b===I.b&&this.a===I.a}static _clamp(I){return I<0?0:I>255?255:I|0}}e.RGBA8=d}),define(ne[23],se([1,0,9,4]),function(oe,e,d,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Selection=void 0;class I extends k.Range{constructor(y,m,_,b){super(y,m,_,b),this.selectionStartLineNumber=y,this.selectionStartColumn=m,this.positionLineNumber=_,this.positionColumn=b}toString(){return"["+this.selectionStartLineNumber+","+this.selectionStartColumn+" -> "+this.positionLineNumber+","+this.positionColumn+"]"}equalsSelection(y){return I.selectionsEqual(this,y)}static selectionsEqual(y,m){return y.selectionStartLineNumber===m.selectionStartLineNumber&&y.selectionStartColumn===m.selectionStartColumn&&y.positionLineNumber===m.positionLineNumber&&y.positionColumn===m.positionColumn}getDirection(){return this.selectionStartLineNumber===this.startLineNumber&&this.selectionStartColumn===this.startColumn?0:1}setEndPosition(y,m){return this.getDirection()===0?new I(this.startLineNumber,this.startColumn,y,m):new I(y,m,this.startLineNumber,this.startColumn)}getPosition(){return new d.Position(this.positionLineNumber,this.positionColumn)}getSelectionStart(){return new d.Position(this.selectionStartLineNumber,this.selectionStartColumn)}setStartPosition(y,m){return this.getDirection()===0?new I(y,m,this.endLineNumber,this.endColumn):new I(this.endLineNumber,this.endColumn,y,m)}static fromPositions(y,m=y){return new I(y.lineNumber,y.column,m.lineNumber,m.column)}static fromRange(y,m){return m===0?new I(y.startLineNumber,y.startColumn,y.endLineNumber,y.endColumn):new I(y.endLineNumber,y.endColumn,y.startLineNumber,y.startColumn)}static liftSelection(y){return new I(y.selectionStartLineNumber,y.selectionStartColumn,y.positionLineNumber,y.positionColumn)}static selectionsArrEqual(y,m){if(y&&!m||!y&&m)return!1;if(!y&&!m)return!0;if(y.length!==m.length)return!1;for(let _=0,b=y.length;_{const g=b._map.get(t);g&&(b._map.delete(t),g.dispose(),s.dispose())})}return i}_beginUpdate(){this._updateCounter++,this._updateCounter===1&&(this._currentTransaction=new E.TransactionImpl(()=>{}))}_endUpdate(){if(this._updateCounter--,this._updateCounter===0){const t=this._currentTransaction;this._currentTransaction=void 0,t.finish()}}constructor(t){super(),this.editor=t,this._updateCounter=0,this._currentTransaction=void 0,this._model=(0,I.observableValue)(this,this.editor.getModel()),this.model=this._model,this.isReadonly=(0,I.observableFromEvent)(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(92)),this._versionId=(0,I.observableValueOpts)({owner:this,lazy:!0},this.editor.getModel()?.getVersionId()??null),this.versionId=this._versionId,this._selections=(0,I.observableValueOpts)({owner:this,equalsFn:(0,d.equalsIfDefined)((0,d.itemsEquals)(m.Selection.selectionsEqual)),lazy:!0},this.editor.getSelections()??null),this.selections=this._selections,this.isFocused=(0,I.observableFromEvent)(this,i=>{const s=this.editor.onDidFocusEditorWidget(i),g=this.editor.onDidBlurEditorWidget(i);return{dispose(){s.dispose(),g.dispose()}}},()=>this.editor.hasWidgetFocus()),this.value=(0,y.derivedWithSetter)(this,i=>(this.versionId.read(i),this.model.read(i)?.getValue()??""),(i,s)=>{const g=this.model.get();g!==null&&i!==g.getValue()&&g.setValue(i)}),this.valueIsEmpty=(0,I.derived)(this,i=>(this.versionId.read(i),this.editor.getModel()?.getValueLength()===0)),this.cursorSelection=(0,I.derivedOpts)({owner:this,equalsFn:(0,d.equalsIfDefined)(m.Selection.selectionsEqual)},i=>this.selections.read(i)?.[0]??null),this.onDidType=(0,I.observableSignal)(this),this.scrollTop=(0,I.observableFromEvent)(this.editor.onDidScrollChange,()=>this.editor.getScrollTop()),this.scrollLeft=(0,I.observableFromEvent)(this.editor.onDidScrollChange,()=>this.editor.getScrollLeft()),this.layoutInfo=(0,I.observableFromEvent)(this.editor.onDidLayoutChange,()=>this.editor.getLayoutInfo()),this.layoutInfoContentLeft=this.layoutInfo.map(i=>i.contentLeft),this.layoutInfoDecorationsLeft=this.layoutInfo.map(i=>i.decorationsLeft),this.contentWidth=(0,I.observableFromEvent)(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(i=>{this._beginUpdate();try{this._forceUpdate(),this.onDidType.trigger(this._currentTransaction,i)}finally{this._endUpdate()}})),this._register(this.editor.onDidChangeModelContent(i=>{this._beginUpdate();try{this._versionId.set(this.editor.getModel()?.getVersionId()??null,this._currentTransaction,i),this._forceUpdate()}finally{this._endUpdate()}})),this._register(this.editor.onDidChangeCursorSelection(i=>{this._beginUpdate();try{this._selections.set(this.editor.getSelections(),this._currentTransaction,i),this._forceUpdate()}finally{this._endUpdate()}}))}forceUpdate(t){this._beginUpdate();try{return this._forceUpdate(),t?t(this._currentTransaction):void 0}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(t){return(0,I.observableFromEvent)(this,i=>this.editor.onDidChangeConfiguration(s=>{s.hasChanged(t)&&i(void 0)}),()=>this.editor.getOption(t))}setDecorations(t){const i=new k.DisposableStore,s=this.editor.createDecorationsCollection();return i.add((0,I.autorunOpts)({owner:this,debugName:()=>`Apply decorations from ${t.debugName}`},g=>{const c=t.read(g);s.set(c)})),i.add({dispose:()=>{s.clear()}}),i}createOverlayWidget(t){const i="observableOverlayWidget"+this._overlayWidgetCounter++,s={getDomNode:()=>t.domNode,getPosition:()=>t.position.get(),getId:()=>i,allowEditorOverflow:t.allowEditorOverflow,getMinContentWidthInPx:()=>t.minContentWidthInPx.get()};this.editor.addOverlayWidget(s);const g=(0,I.autorun)(c=>{t.position.read(c),t.minContentWidthInPx.read(c),this.editor.layoutOverlayWidget(s)});return(0,k.toDisposable)(()=>{g.dispose(),this.editor.removeOverlayWidget(s)})}}e.ObservableCodeEditor=b;function p(o,t){return(0,I.autorunWithStoreHandleChanges)({createEmptyChangeSummary:()=>({deltas:[],didChange:!1}),handleChange:(i,s)=>{if(i.didChange(o)){const g=i.change;g!==void 0&&s.deltas.push(g),s.didChange=!0}return!0}},(i,s)=>{const g=o.read(i);s.didChange&&t(g,s.deltas)})}function n(o,t){const i=new k.DisposableStore,s=p(o,(g,c)=>{i.clear(),t(g,c,i)});return{dispose(){s.dispose(),i.dispose()}}}}),define(ne[146],se([1,0,23]),function(oe,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ReplaceCommandThatPreservesSelection=e.ReplaceCommandWithOffsetCursorState=e.ReplaceCommandWithoutChangingPosition=e.ReplaceCommandThatSelectsText=e.ReplaceCommand=void 0;class k{constructor(b,p,n=!1){this._range=b,this._text=p,this.insertsAutoWhitespace=n}getEditOperations(b,p){p.addTrackedEditOperation(this._range,this._text)}computeCursorState(b,p){const o=p.getInverseEditOperations()[0].range;return d.Selection.fromPositions(o.getEndPosition())}}e.ReplaceCommand=k;class I{constructor(b,p){this._range=b,this._text=p}getEditOperations(b,p){p.addTrackedEditOperation(this._range,this._text)}computeCursorState(b,p){const o=p.getInverseEditOperations()[0].range;return d.Selection.fromRange(o,0)}}e.ReplaceCommandThatSelectsText=I;class E{constructor(b,p,n=!1){this._range=b,this._text=p,this.insertsAutoWhitespace=n}getEditOperations(b,p){p.addTrackedEditOperation(this._range,this._text)}computeCursorState(b,p){const o=p.getInverseEditOperations()[0].range;return d.Selection.fromPositions(o.getStartPosition())}}e.ReplaceCommandWithoutChangingPosition=E;class y{constructor(b,p,n,o,t=!1){this._range=b,this._text=p,this._columnDeltaOffset=o,this._lineNumberDeltaOffset=n,this.insertsAutoWhitespace=t}getEditOperations(b,p){p.addTrackedEditOperation(this._range,this._text)}computeCursorState(b,p){const o=p.getInverseEditOperations()[0].range;return d.Selection.fromPositions(o.getEndPosition().delta(this._lineNumberDeltaOffset,this._columnDeltaOffset))}}e.ReplaceCommandWithOffsetCursorState=y;class m{constructor(b,p,n,o=!1){this._range=b,this._text=p,this._initialSelection=n,this._forceMoveMarkers=o,this._selectionId=null}getEditOperations(b,p){p.addTrackedEditOperation(this._range,this._text,this._forceMoveMarkers),this._selectionId=p.trackSelection(this._initialSelection)}computeCursorState(b,p){return p.getTrackedSelection(this._selectionId)}}e.ReplaceCommandThatPreservesSelection=m}),define(ne[312],se([1,0,4,23]),function(oe,e,d,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CompositionSurroundSelectionCommand=e.SurroundSelectionCommand=void 0;class I{constructor(m,_,b){this._range=m,this._charBeforeSelection=_,this._charAfterSelection=b}getEditOperations(m,_){_.addTrackedEditOperation(new d.Range(this._range.startLineNumber,this._range.startColumn,this._range.startLineNumber,this._range.startColumn),this._charBeforeSelection),_.addTrackedEditOperation(new d.Range(this._range.endLineNumber,this._range.endColumn,this._range.endLineNumber,this._range.endColumn),this._charAfterSelection)}computeCursorState(m,_){const b=_.getInverseEditOperations(),p=b[0].range,n=b[1].range;return new k.Selection(p.endLineNumber,p.endColumn,n.endLineNumber,n.endColumn-this._charAfterSelection.length)}}e.SurroundSelectionCommand=I;class E{constructor(m,_,b){this._position=m,this._text=_,this._charAfter=b}getEditOperations(m,_){_.addTrackedEditOperation(new d.Range(this._position.lineNumber,this._position.column,this._position.lineNumber,this._position.column),this._text+this._charAfter)}computeCursorState(m,_){const p=_.getInverseEditOperations()[0].range;return new k.Selection(p.endLineNumber,p.startColumn,p.endLineNumber,p.endColumn-this._charAfter.length)}}e.CompositionSurroundSelectionCommand=E}),define(ne[113],se([1,0,9,4]),function(oe,e,d,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TextLength=void 0;class I{static{this.zero=new I(0,0)}static betweenPositions(y,m){return y.lineNumber===m.lineNumber?new I(0,m.column-y.column):new I(m.lineNumber-y.lineNumber,m.column-1)}static ofRange(y){return I.betweenPositions(y.getStartPosition(),y.getEndPosition())}static ofText(y){let m=0,_=0;for(const b of y)b===` +`?(m++,_=0):_++;return new I(m,_)}constructor(y,m){this.lineCount=y,this.columnCount=m}isGreaterThanOrEqualTo(y){return this.lineCount!==y.lineCount?this.lineCount>y.lineCount:this.columnCount>=y.columnCount}createRange(y){return this.lineCount===0?new k.Range(y.lineNumber,y.column,y.lineNumber,y.column+this.columnCount):new k.Range(y.lineNumber,y.column,y.lineNumber+this.lineCount,this.columnCount+1)}addToPosition(y){return this.lineCount===0?new d.Position(y.lineNumber,y.column+this.columnCount):new d.Position(y.lineNumber+this.lineCount,this.columnCount+1)}toString(){return`${this.lineCount},${this.columnCount}`}}e.TextLength=I}),define(ne[555],se([1,0,68,113]),function(oe,e,d,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.PositionOffsetTransformer=void 0;class I{constructor(y){this.text=y,this.lineStartOffsetByLineIdx=[],this.lineStartOffsetByLineIdx.push(0);for(let m=0;m(0,d.checkAdjacentItems)(i,(s,g)=>s.range.getEndPosition().isBeforeOrEqual(g.range.getStartPosition())))}apply(i){let s="",g=new I.Position(1,1);for(const l of this.edits){const a=l.range,r=a.getStartPosition(),u=a.getEndPosition(),C=p(g,r);C.isEmpty()||(s+=i.getValueOfRange(C)),s+=l.text,g=u}const c=p(g,i.endPositionExclusive);return c.isEmpty()||(s+=i.getValueOfRange(c)),s}applyToString(i){const s=new o(i);return this.apply(s)}getNewRanges(){const i=[];let s=0,g=0,c=0;for(const l of this.edits){const a=m.TextLength.ofText(l.text),r=I.Position.lift({lineNumber:l.range.startLineNumber+g,column:l.range.startColumn+(l.range.startLineNumber===s?c:0)}),u=a.createRange(r);i.push(u),g=u.endLineNumber-l.range.endLineNumber,c=u.endColumn-l.range.endColumn,s=l.range.endLineNumber}return i}}e.TextEdit=_;class b{constructor(i,s){this.range=i,this.text=s}toSingleEditOperation(){return{range:this.range,text:this.text}}}e.SingleTextEdit=b;function p(t,i){if(t.lineNumber===i.lineNumber&&t.column===Number.MAX_SAFE_INTEGER)return y.Range.fromPositions(i,i);if(!t.isBeforeOrEqual(i))throw new k.BugIndicatingError("start must be before end");return new y.Range(t.lineNumber,t.column,i.lineNumber,i.column)}class n{get endPositionExclusive(){return this.length.addToPosition(new I.Position(1,1))}}e.AbstractText=n;class o extends n{constructor(i){super(),this.value=i,this._t=new E.PositionOffsetTransformer(this.value)}getValueOfRange(i){return this._t.getOffsetRange(i).substring(this.value)}get length(){return this._t.textLength}}e.StringText=o}),define(ne[197],se([1,0]),function(oe,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.EDITOR_MODEL_DEFAULTS=void 0,e.EDITOR_MODEL_DEFAULTS={tabSize:4,indentSize:4,insertSpaces:!0,detectIndentation:!0,trimAutoWhitespace:!0,largeFileOptimizations:!0,bracketPairColorizationOptions:{enabled:!0,independentColorPoolPerBracketType:!1}}}),define(ne[166],se([1,0,45,144]),function(oe,e,d,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.WordCharacterClassifier=void 0,e.getMapForWordSeparators=y;class I extends k.CharacterClassifier{constructor(_,b){super(0),this._segmenter=null,this._cachedLine=null,this._cachedSegments=[],this.intlSegmenterLocales=b,this.intlSegmenterLocales.length>0?this._segmenter=new Intl.Segmenter(this.intlSegmenterLocales,{granularity:"word"}):this._segmenter=null;for(let p=0,n=_.length;pb)break;p=n}return p}findNextIntlWordAtOrAfterOffset(_,b){for(const p of this._getIntlSegmenterWordsOnLine(_))if(!(p.index/?";function I(b=""){let p="(-?\\d*\\.\\d\\w*)|([^";for(const n of e.USUAL_WORD_SEPARATORS)b.indexOf(n)>=0||(p+="\\"+n);return p+="\\s]+)",new RegExp(p,"g")}e.DEFAULT_WORD_REGEXP=I();function E(b){let p=e.DEFAULT_WORD_REGEXP;if(b&&b instanceof RegExp)if(b.global)p=b;else{let n="g";b.ignoreCase&&(n+="i"),b.multiline&&(n+="m"),b.unicode&&(n+="u"),p=new RegExp(b.source,n)}return p.lastIndex=0,p}const y=new k.LinkedList;y.unshift({maxLen:1e3,windowSize:15,timeBudget:150});function m(b,p,n,o,t){if(p=E(p),t||(t=d.Iterable.first(y)),n.length>t.maxLen){let l=b-t.maxLen/2;return l<0?l=0:o+=l,n=n.substring(l,b+t.maxLen/2),m(b,p,n,o,t)}const i=Date.now(),s=b-1-o;let g=-1,c=null;for(let l=1;!(Date.now()-i>=t.timeBudget);l++){const a=s-t.windowSize*l;p.lastIndex=Math.max(0,a);const r=_(p,n,s,g);if(!r&&c||(c=r,a<=0))break;g=a}if(c){const l={word:c[0],startColumn:o+1+c.index,endColumn:o+1+c.index+c[0].length};return p.lastIndex=0,l}return null}function _(b,p,n,o){let t;for(;t=b.exec(p);){const i=t.index||0;if(i<=n&&b.lastIndex>=n)return t;if(o>0&&i>o)return null}return null}}),define(ne[313],se([1,0,94]),function(oe,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.AtomicTabMoveOperations=void 0;class k{static whitespaceVisibleColumn(E,y,m){const _=E.length;let b=0,p=-1,n=-1;for(let o=0;o<_;o++){if(o===y)return[p,n,b];switch(b%m===0&&(p=o,n=b),E.charCodeAt(o)){case 32:b+=1;break;case 9:b=d.CursorColumns.nextRenderTabStop(b,m);break;default:return[-1,-1,-1]}}return y===_?[p,n,b]:[-1,-1,-1]}static atomicPosition(E,y,m,_){const b=E.length,[p,n,o]=k.whitespaceVisibleColumn(E,y,m);if(o===-1)return-1;let t;switch(_){case 0:t=!0;break;case 1:t=!1;break;case 2:if(o%m===0)return y;t=o%m<=m/2;break}if(t){if(p===-1)return-1;let g=n;for(let c=p;c{t.push(y.fromOffsetPairs(i?i.getEndExclusives():m.zero,s?s.getStarts():new m(o,(i?i.seq2Range.endExclusive-i.seq1Range.endExclusive:0)+o)))}),t}static fromOffsetPairs(n,o){return new y(new I.OffsetRange(n.offset1,o.offset1),new I.OffsetRange(n.offset2,o.offset2))}static assertSorted(n){let o;for(const t of n){if(o&&!(o.seq1Range.endExclusive<=t.seq1Range.start&&o.seq2Range.endExclusive<=t.seq2Range.start))throw new k.BugIndicatingError("Sequence diffs must be sorted");o=t}}constructor(n,o){this.seq1Range=n,this.seq2Range=o}swap(){return new y(this.seq2Range,this.seq1Range)}toString(){return`${this.seq1Range} <-> ${this.seq2Range}`}join(n){return new y(this.seq1Range.join(n.seq1Range),this.seq2Range.join(n.seq2Range))}delta(n){return n===0?this:new y(this.seq1Range.delta(n),this.seq2Range.delta(n))}deltaStart(n){return n===0?this:new y(this.seq1Range.deltaStart(n),this.seq2Range.deltaStart(n))}deltaEnd(n){return n===0?this:new y(this.seq1Range.deltaEnd(n),this.seq2Range.deltaEnd(n))}intersect(n){const o=this.seq1Range.intersect(n.seq1Range),t=this.seq2Range.intersect(n.seq2Range);if(!(!o||!t))return new y(o,t)}getStarts(){return new m(this.seq1Range.start,this.seq2Range.start)}getEndExclusives(){return new m(this.seq1Range.endExclusive,this.seq2Range.endExclusive)}}e.SequenceDiff=y;class m{static{this.zero=new m(0,0)}static{this.max=new m(Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER)}constructor(n,o){this.offset1=n,this.offset2=o}toString(){return`${this.offset1} <-> ${this.offset2}`}delta(n){return n===0?this:new m(this.offset1+n,this.offset2+n)}equals(n){return this.offset1===n.offset1&&this.offset2===n.offset2}}e.OffsetPair=m;class _{static{this.instance=new _}isValid(){return!0}}e.InfiniteTimeout=_;class b{constructor(n){if(this.timeout=n,this.startTime=Date.now(),this.valid=!0,n<=0)throw new k.BugIndicatingError("timeout must be positive")}isValid(){if(!(Date.now()-this.startTimeo.length||D>t.length)continue;const T=i(L,D);g.set(l,T);const M=L===w?c.get(l+1):c.get(l-1);if(c.set(l,T!==L?new E(M,L,D,T-L):M),g.get(l)===o.length&&g.get(l)-l===t.length)break e}}let a=c.get(l);const r=[];let u=o.length,C=t.length;for(;;){const f=a?a.x+a.length:0,h=a?a.y+a.length:0;if((f!==u||h!==C)&&r.push(new k.SequenceDiff(new d.OffsetRange(f,u),new d.OffsetRange(h,C))),!a)break;u=a.x,C=a.y,a=a.prev}return r.reverse(),new k.DiffAlgorithmResult(r,!1)}}e.MyersDiffAlgorithm=I;class E{constructor(b,p,n,o){this.prev=b,this.x=p,this.y=n,this.length=o}}class y{constructor(){this.positiveArr=new Int32Array(10),this.negativeArr=new Int32Array(10)}get(b){return b<0?(b=-b-1,this.negativeArr[b]):this.positiveArr[b]}set(b,p){if(b<0){if(b=-b-1,b>=this.negativeArr.length){const n=this.negativeArr;this.negativeArr=new Int32Array(n.length*2),this.negativeArr.set(n)}this.negativeArr[b]=p}else{if(b>=this.positiveArr.length){const n=this.positiveArr;this.positiveArr=new Int32Array(n.length*2),this.positiveArr.set(n)}this.positiveArr[b]=p}}}class m{constructor(){this.positiveArr=[],this.negativeArr=[]}get(b){return b<0?(b=-b-1,this.negativeArr[b]):this.positiveArr[b]}set(b,p){b<0?(b=-b-1,this.negativeArr[b]=p):this.positiveArr[b]=p}}}),define(ne[315],se([1,0,13,68,167]),function(oe,e,d,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.optimizeSequenceDiffs=E,e.removeShortMatches=b,e.extendDiffsToEntireWordIfAppropriate=p,e.removeVeryShortMatchingLinesBetweenDiffs=o,e.removeVeryShortMatchingTextBetweenLongDiffs=t;function E(i,s,g){let c=g;return c=y(i,s,c),c=y(i,s,c),c=m(i,s,c),c}function y(i,s,g){if(g.length===0)return g;const c=[];c.push(g[0]);for(let a=1;a0&&(u=u.delta(f))}l.push(u)}return c.length>0&&l.push(c[c.length-1]),l}function m(i,s,g){if(!i.getBoundaryScore||!s.getBoundaryScore)return g;for(let c=0;c0?g[c-1]:void 0,a=g[c],r=c+1=c.start&&i.seq2Range.start-r>=l.start&&g.isStronglyEqual(i.seq2Range.start-r,i.seq2Range.endExclusive-r)&&r<100;)r++;r--;let u=0;for(;i.seq1Range.start+uf&&(f=L,C=h)}return i.delta(C)}function b(i,s,g){const c=[];for(const l of g){const a=c[c.length-1];if(!a){c.push(l);continue}l.seq1Range.start-a.seq1Range.endExclusive<=2||l.seq2Range.start-a.seq2Range.endExclusive<=2?c[c.length-1]=new I.SequenceDiff(a.seq1Range.join(l.seq1Range),a.seq2Range.join(l.seq2Range)):c.push(l)}return c}function p(i,s,g){const c=I.SequenceDiff.invert(g,i.length),l=[];let a=new I.OffsetPair(0,0);function r(C,f){if(C.offset10;){const T=c[0];if(!(T.seq1Range.intersects(w.seq1Range)||T.seq2Range.intersects(w.seq2Range)))break;const A=i.findWordContaining(T.seq1Range.start),P=s.findWordContaining(T.seq2Range.start),N=new I.SequenceDiff(A,P),O=N.intersect(T);if(L+=O.seq1Range.length,D+=O.seq2Range.length,w=w.join(N),w.seq1Range.endExclusive>=T.seq1Range.endExclusive)c.shift();else break}L+D<(w.seq1Range.length+w.seq2Range.length)*2/3&&l.push(w),a=w.getEndExclusives()}for(;c.length>0;){const C=c.shift();C.seq1Range.isEmpty||(r(C.getStarts(),C),r(C.getEndExclusives().delta(-1),C))}return n(g,l)}function n(i,s){const g=[];for(;i.length>0||s.length>0;){const c=i[0],l=s[0];let a;c&&(!l||c.seq1Range.start0&&g[g.length-1].seq1Range.endExclusive>=a.seq1Range.start?g[g.length-1]=g[g.length-1].join(a):g.push(a)}return g}function o(i,s,g){let c=g;if(c.length===0)return c;let l=0,a;do{a=!1;const r=[c[0]];for(let u=1;u5||S.seq1Range.length+S.seq2Range.length>5)};const C=c[u],f=r[r.length-1];h(f,C)?(a=!0,r[r.length-1]=r[r.length-1].join(C)):r.push(C)}c=r}while(l++<10&&a);return c}function t(i,s,g){let c=g;if(c.length===0)return c;let l=0,a;do{a=!1;const u=[c[0]];for(let C=1;C5||D.length>500)return!1;const M=i.getText(D).trim();if(M.length>20||M.split(/\r\n|\r|\n/).length>1)return!1;const A=i.countLinesIn(S.seq1Range),P=S.seq1Range.length,N=s.countLinesIn(S.seq2Range),O=S.seq2Range.length,F=i.countLinesIn(L.seq1Range),x=L.seq1Range.length,W=s.countLinesIn(L.seq2Range),V=L.seq2Range.length,q=2*40+50;function H(z){return Math.min(z,q)}return Math.pow(Math.pow(H(A*40+P),1.5)+Math.pow(H(N*40+O),1.5),1.5)+Math.pow(Math.pow(H(F*40+x),1.5)+Math.pow(H(W*40+V),1.5),1.5)>(q**1.5)**1.5*1.3};const f=c[C],h=u[u.length-1];v(h,f)?(a=!0,u[u.length-1]=u[u.length-1].join(f)):u.push(f)}c=u}while(l++<10&&a);const r=[];return(0,d.forEachWithNeighbors)(c,(u,C,f)=>{let h=C;function v(M){return M.length>0&&M.trim().length<=3&&C.seq1Range.length+C.seq2Range.length>100}const w=i.extendToFullLines(C.seq1Range),S=i.getText(new k.OffsetRange(w.start,C.seq1Range.start));v(S)&&(h=h.deltaStart(-S.length));const L=i.getText(new k.OffsetRange(C.seq1Range.endExclusive,w.endExclusive));v(L)&&(h=h.deltaEnd(L.length));const D=I.SequenceDiff.fromOffsetPairs(u?u.getEndExclusives():I.OffsetPair.zero,f?f.getStarts():I.OffsetPair.max),T=h.intersect(D);r.length>0&&T.getStarts().equals(r[r.length-1].getEndExclusives())?r[r.length-1]=r[r.length-1].join(T):r.push(T)}),r}}),define(ne[557],se([1,0]),function(oe,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.LineSequence=void 0;class d{constructor(E,y){this.trimmedHash=E,this.lines=y}getElement(E){return this.trimmedHash[E]}get length(){return this.trimmedHash.length}getBoundaryScore(E){const y=E===0?0:k(this.lines[E-1]),m=E===this.lines.length?0:k(this.lines[E]);return 1e3-(y+m)}getText(E){return this.lines.slice(E.start,E.endExclusive).join(` +`)}isStronglyEqual(E,y){return this.lines[E]===this.lines[y]}}e.LineSequence=d;function k(I){let E=0;for(;E0&&u>0&&o.get(r-1,u-1)===3&&(h+=t.get(r-1,u-1)),h+=p?p(r,u):1):h=-1;const v=Math.max(C,f,h);if(v===h){const w=r>0&&u>0?t.get(r-1,u-1):0;t.set(r,u,w+1),o.set(r,u,3)}else v===C?(t.set(r,u,0),o.set(r,u,1)):v===f&&(t.set(r,u,0),o.set(r,u,2));n.set(r,u,v)}const i=[];let s=m.length,g=_.length;function c(r,u){(r+1!==s||u+1!==g)&&i.push(new k.SequenceDiff(new d.OffsetRange(r+1,s),new d.OffsetRange(u+1,g))),s=r,g=u}let l=m.length-1,a=_.length-1;for(;l>=0&&a>=0;)o.get(l,a)===3?(c(l,a),l--,a--):o.get(l,a)===1?l--:a--;return c(-1,-1),i.reverse(),new k.DiffAlgorithmResult(i,!1)}}e.DynamicProgrammingDiffing=E}),define(ne[316],se([1,0,67,68,9,4,231]),function(oe,e,d,k,I,E,y){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.LinesSliceCharSequence=void 0;class m{constructor(t,i,s){this.lines=t,this.range=i,this.considerWhitespaceChanges=s,this.elements=[],this.firstElementOffsetByLineIdx=[],this.lineStartOffsets=[],this.trimmedWsLengthsByLineIdx=[],this.firstElementOffsetByLineIdx.push(0);for(let g=this.range.startLineNumber;g<=this.range.endLineNumber;g++){let c=t[g-1],l=0;g===this.range.startLineNumber&&this.range.startColumn>1&&(l=this.range.startColumn-1,c=c.substring(l)),this.lineStartOffsets.push(l);let a=0;if(!s){const u=c.trimStart();a=c.length-u.length,c=u.trimEnd()}this.trimmedWsLengthsByLineIdx.push(a);const r=g===this.range.endLineNumber?Math.min(this.range.endColumn-1-l-a,c.length):c.length;for(let u=0;uString.fromCharCode(i)).join("")}getElement(t){return this.elements[t]}get length(){return this.elements.length}getBoundaryScore(t){const i=n(t>0?this.elements[t-1]:-1),s=n(tc<=t),g=t-this.firstElementOffsetByLineIdx[s];return new I.Position(this.range.startLineNumber+s,1+this.lineStartOffsets[s]+g+(g===0&&i==="left"?0:this.trimmedWsLengthsByLineIdx[s]))}translateRange(t){const i=this.translateOffset(t.start,"right"),s=this.translateOffset(t.endExclusive,"left");return s.isBefore(i)?E.Range.fromPositions(s,s):E.Range.fromPositions(i,s)}findWordContaining(t){if(t<0||t>=this.elements.length||!_(this.elements[t]))return;let i=t;for(;i>0&&_(this.elements[i-1]);)i--;let s=t;for(;sg<=t.start)??0,s=(0,d.findFirstMonotonous)(this.firstElementOffsetByLineIdx,g=>t.endExclusive<=g)??this.elements.length;return new k.OffsetRange(i,s)}}e.LinesSliceCharSequence=m;function _(o){return o>=97&&o<=122||o>=65&&o<=90||o>=48&&o<=57}const b={0:0,1:0,2:0,3:10,4:2,5:30,6:3,7:10,8:10};function p(o){return b[o]}function n(o){return o===10?8:o===13?7:(0,y.isSpace)(o)?6:o>=97&&o<=122?0:o>=65&&o<=90?1:o>=48&&o<=57?2:o===-1?3:o===44||o===59?5:4}}),define(ne[232],se([1,0]),function(oe,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.MovedText=e.LinesDiff=void 0;class d{constructor(E,y,m){this.changes=E,this.moves=y,this.hitTimeout=m}}e.LinesDiff=d;class k{constructor(E,y){this.lineRangeMapping=E,this.changes=y}}e.MovedText=k}),define(ne[105],se([1,0,8,55,9,4,104]),function(oe,e,d,k,I,E,y){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.RangeMapping=e.DetailedLineRangeMapping=e.LineRangeMapping=void 0;class m{static inverse(t,i,s){const g=[];let c=1,l=1;for(const r of t){const u=new m(new k.LineRange(c,r.original.startLineNumber),new k.LineRange(l,r.modified.startLineNumber));u.modified.isEmpty||g.push(u),c=r.original.endLineNumberExclusive,l=r.modified.endLineNumberExclusive}const a=new m(new k.LineRange(c,i+1),new k.LineRange(l,s+1));return a.modified.isEmpty||g.push(a),g}static clip(t,i,s){const g=[];for(const c of t){const l=c.original.intersect(i),a=c.modified.intersect(s);l&&!l.isEmpty&&a&&!a.isEmpty&&g.push(new m(l,a))}return g}constructor(t,i){this.original=t,this.modified=i}toString(){return`{${this.original.toString()}->${this.modified.toString()}}`}flip(){return new m(this.modified,this.original)}join(t){return new m(this.original.join(t.original),this.modified.join(t.modified))}toRangeMapping(){const t=this.original.toInclusiveRange(),i=this.modified.toInclusiveRange();if(t&&i)return new n(t,i);if(this.original.startLineNumber===1||this.modified.startLineNumber===1){if(!(this.modified.startLineNumber===1&&this.original.startLineNumber===1))throw new d.BugIndicatingError("not a valid diff");return new n(new E.Range(this.original.startLineNumber,1,this.original.endLineNumberExclusive,1),new E.Range(this.modified.startLineNumber,1,this.modified.endLineNumberExclusive,1))}else return new n(new E.Range(this.original.startLineNumber-1,Number.MAX_SAFE_INTEGER,this.original.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),new E.Range(this.modified.startLineNumber-1,Number.MAX_SAFE_INTEGER,this.modified.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER))}toRangeMapping2(t,i){if(b(this.original.endLineNumberExclusive,t)&&b(this.modified.endLineNumberExclusive,i))return new n(new E.Range(this.original.startLineNumber,1,this.original.endLineNumberExclusive,1),new E.Range(this.modified.startLineNumber,1,this.modified.endLineNumberExclusive,1));if(!this.original.isEmpty&&!this.modified.isEmpty)return new n(E.Range.fromPositions(new I.Position(this.original.startLineNumber,1),_(new I.Position(this.original.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),t)),E.Range.fromPositions(new I.Position(this.modified.startLineNumber,1),_(new I.Position(this.modified.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),i)));if(this.original.startLineNumber>1&&this.modified.startLineNumber>1)return new n(E.Range.fromPositions(_(new I.Position(this.original.startLineNumber-1,Number.MAX_SAFE_INTEGER),t),_(new I.Position(this.original.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),t)),E.Range.fromPositions(_(new I.Position(this.modified.startLineNumber-1,Number.MAX_SAFE_INTEGER),i),_(new I.Position(this.modified.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),i)));throw new d.BugIndicatingError}}e.LineRangeMapping=m;function _(o,t){if(o.lineNumber<1)return new I.Position(1,1);if(o.lineNumber>t.length)return new I.Position(t.length,t[t.length-1].length+1);const i=t[o.lineNumber-1];return o.column>i.length+1?new I.Position(o.lineNumber,i.length+1):o}function b(o,t){return o>=1&&o<=t.length}class p extends m{static fromRangeMappings(t){const i=k.LineRange.join(t.map(g=>k.LineRange.fromRangeInclusive(g.originalRange))),s=k.LineRange.join(t.map(g=>k.LineRange.fromRangeInclusive(g.modifiedRange)));return new p(i,s,t)}constructor(t,i,s){super(t,i),this.innerChanges=s}flip(){return new p(this.modified,this.original,this.innerChanges?.map(t=>t.flip()))}withInnerChangesFromLineRanges(){return new p(this.original,this.modified,[this.toRangeMapping()])}}e.DetailedLineRangeMapping=p;class n{static assertSorted(t){for(let i=1;i${this.modifiedRange.toString()}}`}flip(){return new n(this.modifiedRange,this.originalRange)}toTextEdit(t){const i=t.getValueOfRange(this.modifiedRange);return new y.SingleTextEdit(this.originalRange,i)}}e.RangeMapping=n}),define(ne[559],se([1,0,167,105,13,67,45,55,316,231,314,4]),function(oe,e,d,k,I,E,y,m,_,b,p,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.computeMovedLines=o;function o(a,r,u,C,f,h){let{moves:v,excludedChanges:w}=i(a,r,u,h);if(!h.isValid())return[];const S=a.filter(D=>!w.has(D)),L=s(S,C,f,r,u,h);return(0,I.pushMany)(v,L),v=c(v),v=v.filter(D=>{const T=D.original.toOffsetRange().slice(r).map(A=>A.trim());return T.join(` +`).length>=15&&t(T,A=>A.length>=2)>=2}),v=l(a,v),v}function t(a,r){let u=0;for(const C of a)r(C)&&u++;return u}function i(a,r,u,C){const f=[],h=a.filter(S=>S.modified.isEmpty&&S.original.length>=3).map(S=>new b.LineRangeFragment(S.original,r,S)),v=new Set(a.filter(S=>S.original.isEmpty&&S.modified.length>=3).map(S=>new b.LineRangeFragment(S.modified,u,S))),w=new Set;for(const S of h){let L=-1,D;for(const T of v){const M=S.computeSimilarity(T);M>L&&(L=M,D=T)}if(L>.9&&D&&(v.delete(D),f.push(new k.LineRangeMapping(S.range,D.range)),w.add(S.source),w.add(D.source)),!C.isValid())return{moves:f,excludedChanges:w}}return{moves:f,excludedChanges:w}}function s(a,r,u,C,f,h){const v=[],w=new y.SetMap;for(const M of a)for(let A=M.original.startLineNumber;AM.modified.startLineNumber,I.numberComparator));for(const M of a){let A=[];for(let P=M.modified.startLineNumber;P{for(const V of A)if(V.originalLineRange.endLineNumberExclusive+1===x.endLineNumberExclusive&&V.modifiedLineRange.endLineNumberExclusive+1===O.endLineNumberExclusive){V.originalLineRange=new m.LineRange(V.originalLineRange.startLineNumber,x.endLineNumberExclusive),V.modifiedLineRange=new m.LineRange(V.modifiedLineRange.startLineNumber,O.endLineNumberExclusive),F.push(V);return}const W={modifiedLineRange:O,originalLineRange:x};S.push(W),F.push(W)}),A=F}if(!h.isValid())return[]}S.sort((0,I.reverseOrder)((0,I.compareBy)(M=>M.modifiedLineRange.length,I.numberComparator)));const L=new m.LineRangeSet,D=new m.LineRangeSet;for(const M of S){const A=M.modifiedLineRange.startLineNumber-M.originalLineRange.startLineNumber,P=L.subtractFrom(M.modifiedLineRange),N=D.subtractFrom(M.originalLineRange).getWithDelta(A),O=P.getIntersection(N);for(const F of O.ranges){if(F.length<3)continue;const x=F,W=F.delta(-A);v.push(new k.LineRangeMapping(W,x)),L.addRange(x),D.addRange(W)}}v.sort((0,I.compareBy)(M=>M.original.startLineNumber,I.numberComparator));const T=new E.MonotonousArray(a);for(let M=0;MH.original.startLineNumber<=A.original.startLineNumber),N=(0,E.findLastMonotonous)(a,H=>H.modified.startLineNumber<=A.modified.startLineNumber),O=Math.max(A.original.startLineNumber-P.original.startLineNumber,A.modified.startLineNumber-N.modified.startLineNumber),F=T.findLastMonotonous(H=>H.original.startLineNumberH.modified.startLineNumberC.length||z>f.length||L.contains(z)||D.contains(H)||!g(C[H-1],f[z-1],h))break}V>0&&(D.addRange(new m.LineRange(A.original.startLineNumber-V,A.original.startLineNumber)),L.addRange(new m.LineRange(A.modified.startLineNumber-V,A.modified.startLineNumber)));let q;for(q=0;qC.length||z>f.length||L.contains(z)||D.contains(H)||!g(C[H-1],f[z-1],h))break}q>0&&(D.addRange(new m.LineRange(A.original.endLineNumberExclusive,A.original.endLineNumberExclusive+q)),L.addRange(new m.LineRange(A.modified.endLineNumberExclusive,A.modified.endLineNumberExclusive+q))),(V>0||q>0)&&(v[M]=new k.LineRangeMapping(new m.LineRange(A.original.startLineNumber-V,A.original.endLineNumberExclusive+q),new m.LineRange(A.modified.startLineNumber-V,A.modified.endLineNumberExclusive+q)))}return v}function g(a,r,u){if(a.trim()===r.trim())return!0;if(a.length>300&&r.length>300)return!1;const f=new p.MyersDiffAlgorithm().compute(new _.LinesSliceCharSequence([a],new n.Range(1,1,1,a.length),!1),new _.LinesSliceCharSequence([r],new n.Range(1,1,1,r.length),!1),u);let h=0;const v=d.SequenceDiff.invert(f.diffs,a.length);for(const D of v)D.seq1Range.forEach(T=>{(0,b.isSpace)(a.charCodeAt(T))||h++});function w(D){let T=0;for(let M=0;Mr.length?a:r);return h/S>.6&&S>10}function c(a){if(a.length===0)return a;a.sort((0,I.compareBy)(u=>u.original.startLineNumber,I.numberComparator));const r=[a[0]];for(let u=1;u=0&&v>=0&&h+v<=2){r[r.length-1]=C.join(f);continue}r.push(f)}return r}function l(a,r){const u=new E.MonotonousArray(a);return r=r.filter(C=>{const f=u.findLastMonotonous(w=>w.original.startLineNumberw.modified.startLineNumberH===z))return new i.LinesDiff([],[],!1);if(u.length===1&&u[0].length===0||C.length===1&&C[0].length===0)return new i.LinesDiff([new s.DetailedLineRangeMapping(new I.LineRange(1,u.length+1),new I.LineRange(1,C.length+1),[new s.RangeMapping(new y.Range(1,1,u.length,u[u.length-1].length+1),new y.Range(1,1,C.length,C[C.length-1].length+1))])],[],!1);const h=f.maxComputationTimeMs===0?m.InfiniteTimeout.instance:new m.DateTimeout(f.maxComputationTimeMs),v=!f.ignoreTrimWhitespace,w=new Map;function S(H){let z=w.get(H);return z===void 0&&(z=w.size,w.set(H,z)),z}const L=u.map(H=>S(H.trim())),D=C.map(H=>S(H.trim())),T=new o.LineSequence(L,u),M=new o.LineSequence(D,C),A=T.length+M.length<1700?this.dynamicProgrammingDiffing.compute(T,M,h,(H,z)=>u[H]===C[z]?C[z].length===0?.1:1+Math.log(1+C[z].length):.99):this.myersDiffingAlgorithm.compute(T,M,h);let P=A.diffs,N=A.hitTimeout;P=(0,n.optimizeSequenceDiffs)(T,M,P),P=(0,n.removeVeryShortMatchingLinesBetweenDiffs)(T,M,P);const O=[],F=H=>{if(v)for(let z=0;zH.seq1Range.start-x===H.seq2Range.start-W);const z=H.seq1Range.start-x;F(z),x=H.seq1Range.endExclusive,W=H.seq2Range.endExclusive;const U=this.refineDiff(u,C,H,h,v);U.hitTimeout&&(N=!0);for(const j of U.mappings)O.push(j)}F(u.length-x);const V=c(O,u,C);let q=[];return f.computeMoves&&(q=this.computeMoves(V,u,C,L,D,h,v)),(0,k.assertFn)(()=>{function H(U,j){if(U.lineNumber<1||U.lineNumber>j.length)return!1;const Q=j[U.lineNumber-1];return!(U.column<1||U.column>Q.length+1)}function z(U,j){return!(U.startLineNumber<1||U.startLineNumber>j.length+1||U.endLineNumberExclusive<1||U.endLineNumberExclusive>j.length+1)}for(const U of V){if(!U.innerChanges)return!1;for(const j of U.innerChanges)if(!(H(j.modifiedRange.getStartPosition(),C)&&H(j.modifiedRange.getEndPosition(),C)&&H(j.originalRange.getStartPosition(),u)&&H(j.originalRange.getEndPosition(),u)))return!1;if(!z(U.modified,C)||!z(U.original,u))return!1}return!0}),new i.LinesDiff(V,q,N)}computeMoves(u,C,f,h,v,w,S){return(0,p.computeMovedLines)(u,C,f,h,v,w).map(T=>{const M=this.refineDiff(C,f,new m.SequenceDiff(T.original.toOffsetRange(),T.modified.toOffsetRange()),w,S),A=c(M.mappings,C,f,!0);return new i.MovedText(T,A)})}refineDiff(u,C,f,h,v){const S=a(f).toRangeMapping2(u,C),L=new t.LinesSliceCharSequence(u,S.originalRange,v),D=new t.LinesSliceCharSequence(C,S.modifiedRange,v),T=L.length+D.length<500?this.dynamicProgrammingDiffing.compute(L,D,h):this.myersDiffingAlgorithm.compute(L,D,h),M=!1;let A=T.diffs;M&&m.SequenceDiff.assertSorted(A),A=(0,n.optimizeSequenceDiffs)(L,D,A),M&&m.SequenceDiff.assertSorted(A),A=(0,n.extendDiffsToEntireWordIfAppropriate)(L,D,A),M&&m.SequenceDiff.assertSorted(A),A=(0,n.removeShortMatches)(L,D,A),M&&m.SequenceDiff.assertSorted(A),A=(0,n.removeVeryShortMatchingTextBetweenLongDiffs)(L,D,A),M&&m.SequenceDiff.assertSorted(A);const P=A.map(N=>new s.RangeMapping(L.translateRange(N.seq1Range),D.translateRange(N.seq2Range)));return M&&s.RangeMapping.assertSorted(P),{mappings:P,hitTimeout:T.hitTimeout}}}e.DefaultLinesDiffComputer=g;function c(r,u,C,f=!1){const h=[];for(const v of(0,d.groupAdjacentBy)(r.map(w=>l(w,u,C)),(w,S)=>w.original.overlapOrTouch(S.original)||w.modified.overlapOrTouch(S.modified))){const w=v[0],S=v[v.length-1];h.push(new s.DetailedLineRangeMapping(w.original.join(S.original),w.modified.join(S.modified),v.map(L=>L.innerChanges[0])))}return(0,k.assertFn)(()=>!f&&h.length>0&&(h[0].modified.startLineNumber!==h[0].original.startLineNumber||C.length-h[h.length-1].modified.endLineNumberExclusive!==u.length-h[h.length-1].original.endLineNumberExclusive)?!1:(0,k.checkAdjacentItems)(h,(v,w)=>w.original.startLineNumber-v.original.endLineNumberExclusive===w.modified.startLineNumber-v.modified.endLineNumberExclusive&&v.original.endLineNumberExclusive=C[r.modifiedRange.startLineNumber-1].length&&r.originalRange.startColumn-1>=u[r.originalRange.startLineNumber-1].length&&r.originalRange.startLineNumber<=r.originalRange.endLineNumber+h&&r.modifiedRange.startLineNumber<=r.modifiedRange.endLineNumber+h&&(f=1);const v=new I.LineRange(r.originalRange.startLineNumber+f,r.originalRange.endLineNumber+1+h),w=new I.LineRange(r.modifiedRange.startLineNumber+f,r.modifiedRange.endLineNumber+1+h);return new s.DetailedLineRangeMapping(v,w,[r])}function a(r){return new s.LineRangeMapping(new I.LineRange(r.seq1Range.start+1,r.seq1Range.endExclusive+1),new I.LineRange(r.seq2Range.start+1,r.seq2Range.endExclusive+1))}}),define(ne[560],se([1,0,190,232,105,11,4,90,55]),function(oe,e,d,k,I,E,y,m,_){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DiffComputer=e.LegacyLinesDiffComputer=void 0;const b=3;class p{computeDiff(C,f,h){const w=new c(C,f,{maxComputationTime:h.maxComputationTimeMs,shouldIgnoreTrimWhitespace:h.ignoreTrimWhitespace,shouldComputeCharChanges:!0,shouldMakePrettyDiff:!0,shouldPostProcessCharChanges:!0}).computeDiff(),S=[];let L=null;for(const D of w.changes){let T;D.originalEndLineNumber===0?T=new _.LineRange(D.originalStartLineNumber+1,D.originalStartLineNumber+1):T=new _.LineRange(D.originalStartLineNumber,D.originalEndLineNumber+1);let M;D.modifiedEndLineNumber===0?M=new _.LineRange(D.modifiedStartLineNumber+1,D.modifiedStartLineNumber+1):M=new _.LineRange(D.modifiedStartLineNumber,D.modifiedEndLineNumber+1);let A=new I.DetailedLineRangeMapping(T,M,D.charChanges?.map(P=>new I.RangeMapping(new y.Range(P.originalStartLineNumber,P.originalStartColumn,P.originalEndLineNumber,P.originalEndColumn),new y.Range(P.modifiedStartLineNumber,P.modifiedStartColumn,P.modifiedEndLineNumber,P.modifiedEndColumn))));L&&(L.modified.endLineNumberExclusive===A.modified.startLineNumber||L.original.endLineNumberExclusive===A.original.startLineNumber)&&(A=new I.DetailedLineRangeMapping(L.original.join(A.original),L.modified.join(A.modified),L.innerChanges&&A.innerChanges?L.innerChanges.concat(A.innerChanges):void 0),S.pop()),S.push(A),L=A}return(0,m.assertFn)(()=>(0,m.checkAdjacentItems)(S,(D,T)=>T.original.startLineNumber-D.original.endLineNumberExclusive===T.modified.startLineNumber-D.modified.endLineNumberExclusive&&D.original.endLineNumberExclusive(C===10?"\\n":String.fromCharCode(C))+`-(${this._lineNumbers[f]},${this._columns[f]})`).join(", ")+"]"}_assertIndex(C,f){if(C<0||C>=f.length)throw new Error("Illegal index")}getElements(){return this._charCodes}getStartLineNumber(C){return C>0&&C===this._lineNumbers.length?this.getEndLineNumber(C-1):(this._assertIndex(C,this._lineNumbers),this._lineNumbers[C])}getEndLineNumber(C){return C===-1?this.getStartLineNumber(C+1):(this._assertIndex(C,this._lineNumbers),this._charCodes[C]===10?this._lineNumbers[C]+1:this._lineNumbers[C])}getStartColumn(C){return C>0&&C===this._columns.length?this.getEndColumn(C-1):(this._assertIndex(C,this._columns),this._columns[C])}getEndColumn(C){return C===-1?this.getStartColumn(C+1):(this._assertIndex(C,this._columns),this._charCodes[C]===10?1:this._columns[C]+1)}}class i{constructor(C,f,h,v,w,S,L,D){this.originalStartLineNumber=C,this.originalStartColumn=f,this.originalEndLineNumber=h,this.originalEndColumn=v,this.modifiedStartLineNumber=w,this.modifiedStartColumn=S,this.modifiedEndLineNumber=L,this.modifiedEndColumn=D}static createFromDiffChange(C,f,h){const v=f.getStartLineNumber(C.originalStart),w=f.getStartColumn(C.originalStart),S=f.getEndLineNumber(C.originalStart+C.originalLength-1),L=f.getEndColumn(C.originalStart+C.originalLength-1),D=h.getStartLineNumber(C.modifiedStart),T=h.getStartColumn(C.modifiedStart),M=h.getEndLineNumber(C.modifiedStart+C.modifiedLength-1),A=h.getEndColumn(C.modifiedStart+C.modifiedLength-1);return new i(v,w,S,L,D,T,M,A)}}function s(u){if(u.length<=1)return u;const C=[u[0]];let f=C[0];for(let h=1,v=u.length;h0&&f.originalLength<20&&f.modifiedLength>0&&f.modifiedLength<20&&w()){const N=h.createCharSequence(C,f.originalStart,f.originalStart+f.originalLength-1),O=v.createCharSequence(C,f.modifiedStart,f.modifiedStart+f.modifiedLength-1);if(N.getElements().length>0&&O.getElements().length>0){let F=n(N,O,w,!0).changes;L&&(F=s(F)),P=[];for(let x=0,W=F.length;x1&&F>1;){const x=P.charCodeAt(O-2),W=N.charCodeAt(F-2);if(x!==W)break;O--,F--}(O>1||F>1)&&this._pushTrimWhitespaceCharChange(v,w+1,1,O,S+1,1,F)}{let O=a(P,1),F=a(N,1);const x=P.length+1,W=N.length+1;for(;O!0;const C=Date.now();return()=>Date.now()-Cnew d.LegacyLinesDiffComputer,getDefault:()=>new k.DefaultLinesDiffComputer}}),define(ne[318],se([1,0]),function(oe,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.InternalEditorAction=void 0;class d{constructor(I,E,y,m,_,b,p){this.id=I,this.label=E,this.alias=y,this.metadata=m,this._precondition=_,this._run=b,this._contextKeyService=p}isSupported(){return this._contextKeyService.contextMatchesRules(this._precondition)}run(I){return this.isSupported()?this._run(I):Promise.resolve(void 0)}}e.InternalEditorAction=d}),define(ne[198],se([1,0]),function(oe,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.EditorType=void 0,e.EditorType={ICodeEditor:"vs.editor.ICodeEditor",IDiffEditor:"vs.editor.IDiffEditor"}}),define(ne[168],se([1,0,198]),function(oe,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.isCodeEditor=k,e.isDiffEditor=I,e.isCompositeEditor=E,e.getCodeEditor=y;function k(m){return m&&typeof m.getEditorType=="function"?m.getEditorType()===d.EditorType.ICodeEditor:!1}function I(m){return m&&typeof m.getEditorType=="function"?m.getEditorType()===d.EditorType.IDiffEditor:!1}function E(m){return!!m&&typeof m=="object"&&typeof m.onDidChangeActiveEditor=="function"}function y(m){return k(m)?m:I(m)?m.getModifiedEditor():E(m)&&k(m.activeCodeEditor)?m.activeCodeEditor:null}}),define(ne[130],se([1,0]),function(oe,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.registerEditorFeature=k,e.getEditorFeatures=I;const d=[];function k(E){d.push(E)}function I(){return d.slice(0)}}),define(ne[562],se([1,0]),function(oe,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.EditorTheme=void 0;class d{get type(){return this._theme.type}get value(){return this._theme}constructor(I){this._theme=I}update(I){this._theme=I}getColor(I){return this._theme.getColor(I)}}e.EditorTheme=d}),define(ne[148],se([1,0]),function(oe,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TokenMetadata=void 0;class d{static getLanguageId(I){return(I&255)>>>0}static getTokenType(I){return(I&768)>>>8}static containsBalancedBrackets(I){return(I&1024)!==0}static getFontStyle(I){return(I&30720)>>>11}static getForeground(I){return(I&16744448)>>>15}static getBackground(I){return(I&4278190080)>>>24}static getClassNameFromMetadata(I){let y="mtk"+this.getForeground(I);const m=this.getFontStyle(I);return m&1&&(y+=" mtki"),m&2&&(y+=" mtkb"),m&4&&(y+=" mtku"),m&8&&(y+=" mtks"),y}static getInlineStyleFromMetadata(I,E){const y=this.getForeground(I),m=this.getFontStyle(I);let _=`color: ${E[y]};`;m&1&&(_+="font-style: italic;"),m&2&&(_+="font-weight: bold;");let b="";return m&4&&(b+=" underline"),m&8&&(b+=" line-through"),b&&(_+=`text-decoration:${b};`),_}static getPresentationFromMetadata(I){const E=this.getForeground(I),y=this.getFontStyle(I);return{foreground:E,italic:!!(y&1),bold:!!(y&2),underline:!!(y&4),strikethrough:!!(y&8)}}}e.TokenMetadata=d}),define(ne[563],se([1,0,33]),function(oe,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.computeDefaultDocumentColors=n;function k(o){const t=[];for(const i of o){const s=Number(i);(s||s===0&&i.replace(/\s/g,"")!=="")&&t.push(s)}return t}function I(o,t,i,s){return{red:o/255,blue:i/255,green:t/255,alpha:s}}function E(o,t){const i=t.index,s=t[0].length;if(!i)return;const g=o.positionAt(i);return{startLineNumber:g.lineNumber,startColumn:g.column,endLineNumber:g.lineNumber,endColumn:g.column+s}}function y(o,t){if(!o)return;const i=d.Color.Format.CSS.parseHex(t);if(i)return{range:o,color:I(i.rgba.r,i.rgba.g,i.rgba.b,i.rgba.a)}}function m(o,t,i){if(!o||t.length!==1)return;const g=t[0].values(),c=k(g);return{range:o,color:I(c[0],c[1],c[2],i?c[3]:1)}}function _(o,t,i){if(!o||t.length!==1)return;const g=t[0].values(),c=k(g),l=new d.Color(new d.HSLA(c[0],c[1]/100,c[2]/100,i?c[3]:1));return{range:o,color:I(l.rgba.r,l.rgba.g,l.rgba.b,l.rgba.a)}}function b(o,t){return typeof o=="string"?[...o.matchAll(t)]:o.findMatches(t)}function p(o){const t=[],s=b(o,/\b(rgb|rgba|hsl|hsla)(\([0-9\s,.\%]*\))|(#)([A-Fa-f0-9]{3})\b|(#)([A-Fa-f0-9]{4})\b|(#)([A-Fa-f0-9]{6})\b|(#)([A-Fa-f0-9]{8})\b/gm);if(s.length>0)for(const g of s){const c=g.filter(u=>u!==void 0),l=c[1],a=c[2];if(!a)continue;let r;if(l==="rgb"){const u=/^\(\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*\)$/gm;r=m(E(o,g),b(a,u),!1)}else if(l==="rgba"){const u=/^\(\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(0[.][0-9]+|[.][0-9]+|[01][.]|[01])\s*\)$/gm;r=m(E(o,g),b(a,u),!0)}else if(l==="hsl"){const u=/^\(\s*(36[0]|3[0-5][0-9]|[12][0-9][0-9]|[1-9]?[0-9])\s*,\s*(100|\d{1,2}[.]\d*|\d{1,2})%\s*,\s*(100|\d{1,2}[.]\d*|\d{1,2})%\s*\)$/gm;r=_(E(o,g),b(a,u),!1)}else if(l==="hsla"){const u=/^\(\s*(36[0]|3[0-5][0-9]|[12][0-9][0-9]|[1-9]?[0-9])\s*,\s*(100|\d{1,2}[.]\d*|\d{1,2})%\s*,\s*(100|\d{1,2}[.]\d*|\d{1,2})%\s*,\s*(0[.][0-9]+|[.][0-9]+|[01][.]|[01])\s*\)$/gm;r=_(E(o,g),b(a,u),!0)}else l==="#"&&(r=y(E(o,g),l+a));r&&t.push(r)}return t}function n(o){return!o||typeof o.getValue!="function"||typeof o.positionAt!="function"?[]:p(o)}}),define(ne[131],se([1,0]),function(oe,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.AutoClosingPairs=e.StandardAutoClosingPairConditional=e.IndentAction=void 0;var d;(function(y){y[y.None=0]="None",y[y.Indent=1]="Indent",y[y.IndentOutdent=2]="IndentOutdent",y[y.Outdent=3]="Outdent"})(d||(e.IndentAction=d={}));class k{constructor(m){if(this._neutralCharacter=null,this._neutralCharacterSearched=!1,this.open=m.open,this.close=m.close,this._inString=!0,this._inComment=!0,this._inRegEx=!0,Array.isArray(m.notIn))for(let _=0,b=m.notIn.length;_t&&(t=a),l>i&&(i=l),r>i&&(i=r)}t++,i++;const s=new k(i,t,0);for(let g=0,c=o.length;g=this._maxCharCode?0:this._states.get(o,t)}}e.StateMachine=I;let E=null;function y(){return E===null&&(E=new I([[1,104,2],[1,72,2],[1,102,6],[1,70,6],[2,116,3],[2,84,3],[3,116,4],[3,84,4],[4,112,5],[4,80,5],[5,115,9],[5,83,9],[5,58,10],[6,105,7],[6,73,7],[7,108,8],[7,76,8],[8,101,9],[8,69,9],[9,58,10],[10,47,11],[11,47,12]])),E}let m=null;function _(){if(m===null){m=new d.CharacterClassifier(0);const n=` <>'"\u3001\u3002\uFF61\uFF64\uFF0C\uFF0E\uFF1A\uFF1B\u2018\u3008\u300C\u300E\u3014\uFF08\uFF3B\uFF5B\uFF62\uFF63\uFF5D\uFF3D\uFF09\u3015\u300F\u300D\u3009\u2019\uFF40\uFF5E\u2026`;for(let t=0;ts);if(s>0){const l=t.charCodeAt(s-1),a=t.charCodeAt(c);(l===40&&a===41||l===91&&a===93||l===123&&a===125)&&c--}return{range:{startLineNumber:i,startColumn:s+1,endLineNumber:i,endColumn:c+2},url:t.substring(s,c+1)}}static computeLinks(o,t=y()){const i=_(),s=[];for(let g=1,c=o.getLineCount();g<=c;g++){const l=o.getLineContent(g),a=l.length;let r=0,u=0,C=0,f=1,h=!1,v=!1,w=!1,S=!1;for(;r0&&E.getLanguageId(n-1)===b;)n--;return new k(E,b,n,p+1,E.getStartOffset(n),E.getEndOffset(p))}class k{constructor(y,m,_,b,p,n){this._scopedLineTokensBrand=void 0,this._actual=y,this.languageId=m,this._firstTokenIndex=_,this._lastTokenIndex=b,this.firstCharOffset=p,this._lastCharOffset=n,this.languageIdCodec=y.languageIdCodec}getLineContent(){return this._actual.getLineContent().substring(this.firstCharOffset,this._lastCharOffset)}getLineLength(){return this._lastCharOffset-this.firstCharOffset}getActualLineContentBefore(y){return this._actual.getLineContent().substring(0,this.firstCharOffset+y)}getTokenCount(){return this._lastTokenIndex-this._firstTokenIndex}findTokenIndexAtOffset(y){return this._actual.findTokenIndexAtOffset(y+this.firstCharOffset)-this._firstTokenIndex}getStandardTokenType(y){return this._actual.getStandardTokenType(y+this._firstTokenIndex)}toIViewLineTokens(){return this._actual.sliceAndInflate(this.firstCharOffset,this._lastCharOffset,0)}}e.ScopedLineTokens=k;function I(E){return(E&3)!==0}}),define(ne[76],se([1,0,9,4,23,169,94,230]),function(oe,e,d,k,I,E,y,m){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.EditOperationResult=e.SingleCursorState=e.PartialViewCursorState=e.PartialModelCursorState=e.CursorState=e.CursorConfiguration=void 0,e.isQuote=c;const _=()=>!0,b=()=>!1,p=l=>l===" "||l===" ";class n{static shouldRecreate(a){return a.hasChanged(146)||a.hasChanged(132)||a.hasChanged(37)||a.hasChanged(77)||a.hasChanged(79)||a.hasChanged(80)||a.hasChanged(6)||a.hasChanged(7)||a.hasChanged(11)||a.hasChanged(9)||a.hasChanged(10)||a.hasChanged(14)||a.hasChanged(129)||a.hasChanged(50)||a.hasChanged(92)||a.hasChanged(131)}constructor(a,r,u,C){this.languageConfigurationService=C,this._cursorMoveConfigurationBrand=void 0,this._languageId=a;const f=u.options,h=f.get(146),v=f.get(50);this.readOnly=f.get(92),this.tabSize=r.tabSize,this.indentSize=r.indentSize,this.insertSpaces=r.insertSpaces,this.stickyTabStops=f.get(117),this.lineHeight=v.lineHeight,this.typicalHalfwidthCharacterWidth=v.typicalHalfwidthCharacterWidth,this.pageSize=Math.max(1,Math.floor(h.height/this.lineHeight)-2),this.useTabStops=f.get(129),this.wordSeparators=f.get(132),this.emptySelectionClipboard=f.get(37),this.copyWithSyntaxHighlighting=f.get(25),this.multiCursorMergeOverlapping=f.get(77),this.multiCursorPaste=f.get(79),this.multiCursorLimit=f.get(80),this.autoClosingBrackets=f.get(6),this.autoClosingComments=f.get(7),this.autoClosingQuotes=f.get(11),this.autoClosingDelete=f.get(9),this.autoClosingOvertype=f.get(10),this.autoSurround=f.get(14),this.autoIndent=f.get(12),this.wordSegmenterLocales=f.get(131),this.surroundingPairs={},this._electricChars=null,this.shouldAutoCloseBefore={quote:this._getShouldAutoClose(a,this.autoClosingQuotes,!0),comment:this._getShouldAutoClose(a,this.autoClosingComments,!1),bracket:this._getShouldAutoClose(a,this.autoClosingBrackets,!1)},this.autoClosingPairs=this.languageConfigurationService.getLanguageConfiguration(a).getAutoClosingPairs();const w=this.languageConfigurationService.getLanguageConfiguration(a).getSurroundingPairs();if(w)for(const L of w)this.surroundingPairs[L.open]=L.close;const S=this.languageConfigurationService.getLanguageConfiguration(a).comments;this.blockCommentStartToken=S?.blockCommentStartToken??null}get electricChars(){if(!this._electricChars){this._electricChars={};const a=this.languageConfigurationService.getLanguageConfiguration(this._languageId).electricCharacter?.getElectricCharacters();if(a)for(const r of a)this._electricChars[r]=!0}return this._electricChars}onElectricCharacter(a,r,u){const C=(0,E.createScopedLineTokens)(r,u-1),f=this.languageConfigurationService.getLanguageConfiguration(C.languageId).electricCharacter;return f?f.onElectricCharacter(a,C,u-C.firstCharOffset):null}normalizeIndentation(a){return(0,m.normalizeIndentation)(a,this.indentSize,this.insertSpaces)}_getShouldAutoClose(a,r,u){switch(r){case"beforeWhitespace":return p;case"languageDefined":return this._getLanguageDefinedShouldAutoClose(a,u);case"always":return _;case"never":return b}}_getLanguageDefinedShouldAutoClose(a,r){const u=this.languageConfigurationService.getLanguageConfiguration(a).getAutoCloseBeforeSet(r);return C=>u.indexOf(C)!==-1}visibleColumnFromColumn(a,r){return y.CursorColumns.visibleColumnFromColumn(a.getLineContent(r.lineNumber),r.column,this.tabSize)}columnFromVisibleColumn(a,r,u){const C=y.CursorColumns.columnFromVisibleColumn(a.getLineContent(r),u,this.tabSize),f=a.getLineMinColumn(r);if(Ch?h:C}}e.CursorConfiguration=n;class o{static fromModelState(a){return new t(a)}static fromViewState(a){return new i(a)}static fromModelSelection(a){const r=I.Selection.liftSelection(a),u=new s(k.Range.fromPositions(r.getSelectionStart()),0,0,r.getPosition(),0);return o.fromModelState(u)}static fromModelSelections(a){const r=[];for(let u=0,C=a.length;un,s=p>o,g=po||fp||C0&&p--,E.columnSelect(m,_,b.fromViewLineNumber,b.fromViewVisualColumn,b.toViewLineNumber,p)}static columnSelectRight(m,_,b){let p=0;const n=Math.min(b.fromViewLineNumber,b.toViewLineNumber),o=Math.max(b.fromViewLineNumber,b.toViewLineNumber);for(let i=n;i<=o;i++){const s=_.getLineMaxColumn(i),g=m.visibleColumnFromColumn(_,new k.Position(i,s));p=Math.max(p,g)}let t=b.toViewVisualColumn;return tn.getLineMinColumn(o.lineNumber))return o.delta(void 0,-d.prevCharLength(n.getLineContent(o.lineNumber),o.column-1));if(o.lineNumber>1){const t=o.lineNumber-1;return new I.Position(t,n.getLineMaxColumn(t))}else return o}static leftPositionAtomicSoftTabs(n,o,t){if(o.column<=n.getLineIndentColumn(o.lineNumber)){const i=n.getLineMinColumn(o.lineNumber),s=n.getLineContent(o.lineNumber),g=y.AtomicTabMoveOperations.atomicPosition(s,o.column-1,t,0);if(g!==-1&&g+1>=i)return new I.Position(o.lineNumber,g+1)}return this.leftPosition(n,o)}static left(n,o,t){const i=n.stickyTabStops?b.leftPositionAtomicSoftTabs(o,t,n.tabSize):b.leftPosition(o,t);return new _(i.lineNumber,i.column,0)}static moveLeft(n,o,t,i,s){let g,c;if(t.hasSelection()&&!i)g=t.selection.startLineNumber,c=t.selection.startColumn;else{const l=t.position.delta(void 0,-(s-1)),a=o.normalizePosition(b.clipPositionColumn(l,o),0),r=b.left(n,o,a);g=r.lineNumber,c=r.column}return t.move(i,g,c,0)}static clipPositionColumn(n,o){return new I.Position(n.lineNumber,b.clipRange(n.column,o.getLineMinColumn(n.lineNumber),o.getLineMaxColumn(n.lineNumber)))}static clipRange(n,o,t){return nt?t:n}static rightPosition(n,o,t){return tr?(t=r,c?i=o.getLineMaxColumn(t):i=Math.min(o.getLineMaxColumn(t),i)):i=n.columnFromVisibleColumn(o,t,a),f?s=0:s=a-k.CursorColumns.visibleColumnFromColumn(o.getLineContent(t),i,n.tabSize),l!==void 0){const h=new I.Position(t,i),v=o.normalizePosition(h,l);s=s+(i-v.column),t=v.lineNumber,i=v.column}return new _(t,i,s)}static down(n,o,t,i,s,g,c){return this.vertical(n,o,t,i,s,t+g,c,4)}static moveDown(n,o,t,i,s){let g,c;t.hasSelection()&&!i?(g=t.selection.endLineNumber,c=t.selection.endColumn):(g=t.position.lineNumber,c=t.position.column);let l=0,a;do if(a=b.down(n,o,g+l,c,t.leftoverVisibleColumns,s,!0),o.normalizePosition(new I.Position(a.lineNumber,a.column),2).lineNumber>g)break;while(l++<10&&g+l1&&this._isBlankLine(o,s);)s--;for(;s>1&&!this._isBlankLine(o,s);)s--;return t.move(i,s,o.getLineMinColumn(s),0)}static moveToNextBlankLine(n,o,t,i){const s=o.getLineCount();let g=t.position.lineNumber;for(;g=C.length+1)return!1;const f=C.charAt(u.column-2),h=i.get(f);if(!h)return!1;if((0,I.isQuote)(f)){if(t==="never")return!1}else if(o==="never")return!1;const v=C.charAt(u.column-1);let w=!1;for(const S of h)S.open===f&&S.close===v&&(w=!0);if(!w)return!1;if(n==="auto"){let S=!1;for(let L=0,D=c.length;L1){const s=o.getLineContent(i.lineNumber),g=d.firstNonWhitespaceIndex(s),c=g===-1?s.length+1:g+1;if(i.column<=c){const l=t.visibleColumnFromColumn(o,i),a=E.CursorColumns.prevIndentTabStop(l,t.indentSize),r=t.columnFromVisibleColumn(o,i.lineNumber,a);return new m.Range(i.lineNumber,r,i.lineNumber,i.column)}}return m.Range.fromPositions(b.getPositionAfterDeleteLeft(i,o),i)}static getPositionAfterDeleteLeft(n,o){if(n.column>1){const t=d.getLeftDeleteOffset(n.column-1,o.getLineContent(n.lineNumber));return n.with(void 0,t+1)}else if(n.lineNumber>1){const t=n.lineNumber-1;return new _.Position(t,o.getLineMaxColumn(t))}else return n}static cut(n,o,t){const i=[];let s=null;t.sort((g,c)=>_.Position.compare(g.getStartPosition(),c.getEndPosition()));for(let g=0,c=t.length;g1&&s?.endLineNumber!==a.lineNumber?(r=a.lineNumber-1,u=o.getLineMaxColumn(a.lineNumber-1),C=a.lineNumber,f=o.getLineMaxColumn(a.lineNumber)):(r=a.lineNumber,u=1,C=a.lineNumber,f=o.getLineMaxColumn(a.lineNumber));const h=new m.Range(r,u,C,f);s=h,h.isEmpty()?i[g]=null:i[g]=new k.ReplaceCommand(h,"")}else i[g]=null;else i[g]=new k.ReplaceCommand(l,"")}return new I.EditOperationResult(0,i,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!0})}}e.DeleteOperations=b}),define(ne[199],se([1,0,11,76,234,166,9,4]),function(oe,e,d,k,I,E,y,m){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.WordPartOperations=e.WordOperations=void 0;class _{static _createWord(o,t,i,s,g){return{start:s,end:g,wordType:t,nextCharClass:i}}static _createIntlWord(o,t){return{start:o.index,end:o.index+o.segment.length,wordType:1,nextCharClass:t}}static _findPreviousWordOnLine(o,t,i){const s=t.getLineContent(i.lineNumber);return this._doFindPreviousWordOnLine(s,o,i)}static _doFindPreviousWordOnLine(o,t,i){let s=0;const g=t.findPrevIntlWordBeforeOrAtOffset(o,i.column-2);for(let c=i.column-2;c>=0;c--){const l=o.charCodeAt(c),a=t.get(l);if(g&&c===g.index)return this._createIntlWord(g,a);if(a===0){if(s===2)return this._createWord(o,s,a,c+1,this._findEndOfWord(o,t,s,c+1));s=1}else if(a===2){if(s===1)return this._createWord(o,s,a,c+1,this._findEndOfWord(o,t,s,c+1));s=2}else if(a===1&&s!==0)return this._createWord(o,s,a,c+1,this._findEndOfWord(o,t,s,c+1))}return s!==0?this._createWord(o,s,1,0,this._findEndOfWord(o,t,s,0)):null}static _findEndOfWord(o,t,i,s){const g=t.findNextIntlWordAtOrAfterOffset(o,s),c=o.length;for(let l=s;l=0;c--){const l=o.charCodeAt(c),a=t.get(l);if(g&&c===g.index)return c;if(a===1||i===1&&a===2||i===2&&a===0)return c+1}return 0}static moveWordLeft(o,t,i,s,g){let c=i.lineNumber,l=i.column;l===1&&c>1&&(c=c-1,l=t.getLineMaxColumn(c));let a=_._findPreviousWordOnLine(o,t,new y.Position(c,l));if(s===0)return new y.Position(c,a?a.start+1:1);if(s===1)return!g&&a&&a.wordType===2&&a.end-a.start===1&&a.nextCharClass===0&&(a=_._findPreviousWordOnLine(o,t,new y.Position(c,a.start+1))),new y.Position(c,a?a.start+1:1);if(s===3){for(;a&&a.wordType===2;)a=_._findPreviousWordOnLine(o,t,new y.Position(c,a.start+1));return new y.Position(c,a?a.start+1:1)}return a&&l<=a.end+1&&(a=_._findPreviousWordOnLine(o,t,new y.Position(c,a.start+1))),new y.Position(c,a?a.end+1:1)}static _moveWordPartLeft(o,t){const i=t.lineNumber,s=o.getLineMaxColumn(i);if(t.column===1)return i>1?new y.Position(i-1,o.getLineMaxColumn(i-1)):t;const g=o.getLineContent(i);for(let c=t.column-1;c>1;c--){const l=g.charCodeAt(c-2),a=g.charCodeAt(c-1);if(l===95&&a!==95)return new y.Position(i,c);if(l===45&&a!==45)return new y.Position(i,c);if((d.isLowerAsciiLetter(l)||d.isAsciiDigit(l))&&d.isUpperAsciiLetter(a))return new y.Position(i,c);if(d.isUpperAsciiLetter(l)&&d.isUpperAsciiLetter(a)&&c+1=a.start+1&&(a=_._findNextWordOnLine(o,t,new y.Position(g,a.end+1))),a?c=a.start+1:c=t.getLineMaxColumn(g);return new y.Position(g,c)}static _moveWordPartRight(o,t){const i=t.lineNumber,s=o.getLineMaxColumn(i);if(t.column===s)return i1?r=1:(a--,r=s.getLineMaxColumn(a)):(u&&r<=u.end+1&&(u=_._findPreviousWordOnLine(i,s,new y.Position(a,u.start+1))),u?r=u.end+1:r>1?r=1:(a--,r=s.getLineMaxColumn(a))),new m.Range(a,r,l.lineNumber,l.column)}static deleteInsideWord(o,t,i){if(!i.isEmpty())return i;const s=new y.Position(i.positionLineNumber,i.positionColumn),g=this._deleteInsideWordWhitespace(t,s);return g||this._deleteInsideWordDetermineDeleteRange(o,t,s)}static _charAtIsWhitespace(o,t){const i=o.charCodeAt(t);return i===32||i===9}static _deleteInsideWordWhitespace(o,t){const i=o.getLineContent(t.lineNumber),s=i.length;if(s===0)return null;let g=Math.max(t.column-2,0);if(!this._charAtIsWhitespace(i,g))return null;let c=Math.min(t.column-1,s-1);if(!this._charAtIsWhitespace(i,c))return null;for(;g>0&&this._charAtIsWhitespace(i,g-1);)g--;for(;c+11?new m.Range(i.lineNumber-1,t.getLineMaxColumn(i.lineNumber-1),i.lineNumber,1):i.lineNumberC.start+1<=i.column&&i.column<=C.end+1,l=(C,f)=>(C=Math.min(C,i.column),f=Math.max(f,i.column),new m.Range(i.lineNumber,C,i.lineNumber,f)),a=C=>{let f=C.start+1,h=C.end+1,v=!1;for(;h-11&&this._charAtIsWhitespace(s,f-2);)f--;return l(f,h)},r=_._findPreviousWordOnLine(o,t,i);if(r&&c(r))return a(r);const u=_._findNextWordOnLine(o,t,i);return u&&c(u)?a(u):r&&u?l(r.end+1,u.start+1):r?l(r.start+1,r.end+1):u?l(u.start+1,u.end+1):l(1,g+1)}static _deleteWordPartLeft(o,t){if(!t.isEmpty())return t;const i=t.getPosition(),s=_._moveWordPartLeft(o,i);return new m.Range(i.lineNumber,i.column,s.lineNumber,s.column)}static _findFirstNonWhitespaceChar(o,t){const i=o.length;for(let s=t;s=f.start+1&&(f=_._findNextWordOnLine(i,s,new y.Position(a,f.end+1))),f?r=f.start+1:r!!o)}}),define(ne[235],se([1,0,19,76,233,199,9,4]),function(oe,e,d,k,I,E,y,m){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CursorMove=e.CursorMoveCommands=void 0;class _{static addCursorDown(n,o,t){const i=[];let s=0;for(let g=0,c=o.length;ga&&(r=a,u=n.model.getLineMaxColumn(r)),k.CursorState.fromModelState(new k.SingleCursorState(new m.Range(g.lineNumber,1,r,u),2,0,new y.Position(r,u),0))}const l=o.modelState.selectionStart.getStartPosition().lineNumber;if(g.lineNumberl){const a=n.getLineCount();let r=c.lineNumber+1,u=1;return r>a&&(r=a,u=n.getLineMaxColumn(r)),k.CursorState.fromViewState(o.viewState.move(!0,r,u,0))}else{const a=o.modelState.selectionStart.getEndPosition();return k.CursorState.fromModelState(o.modelState.move(!0,a.lineNumber,a.column,0))}}static word(n,o,t,i){const s=n.model.validatePosition(i);return k.CursorState.fromModelState(E.WordOperations.word(n.cursorConfig,n.model,o.modelState,t,s))}static cancelSelection(n,o){if(!o.modelState.hasSelection())return new k.CursorState(o.modelState,o.viewState);const t=o.viewState.position.lineNumber,i=o.viewState.position.column;return k.CursorState.fromViewState(new k.SingleCursorState(new m.Range(t,i,t,i),0,0,new y.Position(t,i),0))}static moveTo(n,o,t,i,s){if(t){if(o.modelState.selectionStartKind===1)return this.word(n,o,t,i);if(o.modelState.selectionStartKind===2)return this.line(n,o,t,i,s)}const g=n.model.validatePosition(i),c=s?n.coordinatesConverter.validateViewPosition(new y.Position(s.lineNumber,s.column),g):n.coordinatesConverter.convertModelPositionToViewPosition(g);return k.CursorState.fromViewState(o.viewState.move(t,c.lineNumber,c.column,0))}static simpleMove(n,o,t,i,s,g){switch(t){case 0:return g===4?this._moveHalfLineLeft(n,o,i):this._moveLeft(n,o,i,s);case 1:return g===4?this._moveHalfLineRight(n,o,i):this._moveRight(n,o,i,s);case 2:return g===2?this._moveUpByViewLines(n,o,i,s):this._moveUpByModelLines(n,o,i,s);case 3:return g===2?this._moveDownByViewLines(n,o,i,s):this._moveDownByModelLines(n,o,i,s);case 4:return g===2?o.map(c=>k.CursorState.fromViewState(I.MoveOperations.moveToPrevBlankLine(n.cursorConfig,n,c.viewState,i))):o.map(c=>k.CursorState.fromModelState(I.MoveOperations.moveToPrevBlankLine(n.cursorConfig,n.model,c.modelState,i)));case 5:return g===2?o.map(c=>k.CursorState.fromViewState(I.MoveOperations.moveToNextBlankLine(n.cursorConfig,n,c.viewState,i))):o.map(c=>k.CursorState.fromModelState(I.MoveOperations.moveToNextBlankLine(n.cursorConfig,n.model,c.modelState,i)));case 6:return this._moveToViewMinColumn(n,o,i);case 7:return this._moveToViewFirstNonWhitespaceColumn(n,o,i);case 8:return this._moveToViewCenterColumn(n,o,i);case 9:return this._moveToViewMaxColumn(n,o,i);case 10:return this._moveToViewLastNonWhitespaceColumn(n,o,i);default:return null}}static viewportMove(n,o,t,i,s){const g=n.getCompletelyVisibleViewRange(),c=n.coordinatesConverter.convertViewRangeToModelRange(g);switch(t){case 11:{const l=this._firstLineNumberInRange(n.model,c,s),a=n.model.getLineFirstNonWhitespaceColumn(l);return[this._moveToModelPosition(n,o[0],i,l,a)]}case 13:{const l=this._lastLineNumberInRange(n.model,c,s),a=n.model.getLineFirstNonWhitespaceColumn(l);return[this._moveToModelPosition(n,o[0],i,l,a)]}case 12:{const l=Math.round((c.startLineNumber+c.endLineNumber)/2),a=n.model.getLineFirstNonWhitespaceColumn(l);return[this._moveToModelPosition(n,o[0],i,l,a)]}case 14:{const l=[];for(let a=0,r=o.length;at.endLineNumber-1?g=t.endLineNumber-1:sk.CursorState.fromViewState(I.MoveOperations.moveLeft(n.cursorConfig,n,s.viewState,t,i)))}static _moveHalfLineLeft(n,o,t){const i=[];for(let s=0,g=o.length;sk.CursorState.fromViewState(I.MoveOperations.moveRight(n.cursorConfig,n,s.viewState,t,i)))}static _moveHalfLineRight(n,o,t){const i=[];for(let s=0,g=o.length;sn.readSelectionFromMarkers(this.context))}getAll(){return this.cursors.map(n=>n.asCursorState())}getViewPositions(){return this.cursors.map(n=>n.viewState.position)}getTopMostViewPosition(){return(0,k.findFirstMin)(this.cursors,(0,d.compareBy)(n=>n.viewState.position,y.Position.compare)).viewState.position}getBottomMostViewPosition(){return(0,k.findLastMax)(this.cursors,(0,d.compareBy)(n=>n.viewState.position,y.Position.compare)).viewState.position}getSelections(){return this.cursors.map(n=>n.modelState.selection)}getViewSelections(){return this.cursors.map(n=>n.viewState.selection)}setSelections(n){this.setStates(I.CursorState.fromModelSelections(n))}getPrimaryCursor(){return this.cursors[0].asCursorState()}setStates(n){n!==null&&(this.cursors[0].setState(this.context,n[0].modelState,n[0].viewState),this._setSecondaryStates(n.slice(1)))}_setSecondaryStates(n){const o=this.cursors.length-1,t=n.length;if(ot){const i=o-t;for(let s=0;s=n+1&&this.lastAddedCursorIndex--,this.cursors[n+1].dispose(this.context),this.cursors.splice(n+1,1)}normalize(){if(this.cursors.length===1)return;const n=this.cursors.slice(0),o=[];for(let t=0,i=n.length;tt.selection,m.Range.compareRangesUsingStarts));for(let t=0;tu&&v.index--;n.splice(u,1),o.splice(r,1),this._removeSecondaryCursor(u-1),t--}}}}e.CursorCollection=b}),define(ne[568],se([1,0,131]),function(oe,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CharacterPairSupport=void 0;class k{static{this.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_QUOTES=`;:.,=}])> + `}static{this.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_BRACKETS=`'"\`;:.,=}])> + `}constructor(E){if(E.autoClosingPairs?this._autoClosingPairs=E.autoClosingPairs.map(y=>new d.StandardAutoClosingPairConditional(y)):E.brackets?this._autoClosingPairs=E.brackets.map(y=>new d.StandardAutoClosingPairConditional({open:y[0],close:y[1]})):this._autoClosingPairs=[],E.__electricCharacterSupport&&E.__electricCharacterSupport.docComment){const y=E.__electricCharacterSupport.docComment;this._autoClosingPairs.push(new d.StandardAutoClosingPairConditional({open:y.open,close:y.close||""}))}this._autoCloseBeforeForQuotes=typeof E.autoCloseBefore=="string"?E.autoCloseBefore:k.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_QUOTES,this._autoCloseBeforeForBrackets=typeof E.autoCloseBefore=="string"?E.autoCloseBefore:k.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_BRACKETS,this._surroundingPairs=E.surroundingPairs||this._autoClosingPairs}getAutoClosingPairs(){return this._autoClosingPairs}getAutoCloseBeforeSet(E){return E?this._autoCloseBeforeForQuotes:this._autoCloseBeforeForBrackets}getSurroundingPairs(){return this._surroundingPairs}}e.CharacterPairSupport=k}),define(ne[569],se([1,0]),function(oe,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.IndentRulesSupport=void 0;function d(I){return I.global&&(I.lastIndex=0),!0}class k{constructor(E){this._indentationRules=E}shouldIncrease(E){return!!(this._indentationRules&&this._indentationRules.increaseIndentPattern&&d(this._indentationRules.increaseIndentPattern)&&this._indentationRules.increaseIndentPattern.test(E))}shouldDecrease(E){return!!(this._indentationRules&&this._indentationRules.decreaseIndentPattern&&d(this._indentationRules.decreaseIndentPattern)&&this._indentationRules.decreaseIndentPattern.test(E))}shouldIndentNextLine(E){return!!(this._indentationRules&&this._indentationRules.indentNextLinePattern&&d(this._indentationRules.indentNextLinePattern)&&this._indentationRules.indentNextLinePattern.test(E))}shouldIgnore(E){return!!(this._indentationRules&&this._indentationRules.unIndentedLinePattern&&d(this._indentationRules.unIndentedLinePattern)&&this._indentationRules.unIndentedLinePattern.test(E))}getIndentMetadata(E){let y=0;return this.shouldIncrease(E)&&(y+=1),this.shouldDecrease(E)&&(y+=2),this.shouldIndentNextLine(E)&&(y+=4),this.shouldIgnore(E)&&(y+=8),y}}e.IndentRulesSupport=k}),define(ne[570],se([1,0]),function(oe,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.BasicInplaceReplace=void 0;class d{constructor(){this._defaultValueSet=[["true","false"],["True","False"],["Private","Public","Friend","ReadOnly","Partial","Protected","WriteOnly"],["public","protected","private"]]}static{this.INSTANCE=new d}navigateValueSet(I,E,y,m,_){if(I&&E){const b=this.doNavigateValueSet(E,_);if(b)return{range:I,value:b}}if(y&&m){const b=this.doNavigateValueSet(m,_);if(b)return{range:y,value:b}}return null}doNavigateValueSet(I,E){const y=this.numberReplace(I,E);return y!==null?y:this.textReplace(I,E)}numberReplace(I,E){const y=Math.pow(10,I.length-(I.lastIndexOf(".")+1));let m=Number(I);const _=parseFloat(I);return!isNaN(m)&&!isNaN(_)&&m===_?m===0&&!E?null:(m=Math.floor(m*y),m+=E?y:-y,String(m/y)):null}textReplace(I,E){return this.valueSetsReplace(this._defaultValueSet,I,E)}valueSetsReplace(I,E,y){let m=null;for(let _=0,b=I.length;m===null&&_=0?(m+=y?1:-1,m<0?m=I.length-1:m%=I.length,I[m]):null}}e.BasicInplaceReplace=d}),define(ne[571],se([1,0,8,11,131]),function(oe,e,d,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OnEnterSupport=void 0;class E{constructor(m){m=m||{},m.brackets=m.brackets||[["(",")"],["{","}"],["[","]"]],this._brackets=[],m.brackets.forEach(_=>{const b=E._createOpenBracketRegExp(_[0]),p=E._createCloseBracketRegExp(_[1]);b&&p&&this._brackets.push({open:_[0],openRegExp:b,close:_[1],closeRegExp:p})}),this._regExpRules=m.onEnterRules||[]}onEnter(m,_,b,p){if(m>=3)for(let n=0,o=this._regExpRules.length;ns.reg?(s.reg.lastIndex=0,s.reg.test(s.text)):!0))return t.action}if(m>=2&&b.length>0&&p.length>0)for(let n=0,o=this._brackets.length;n=2&&b.length>0){for(let n=0,o=this._brackets.length;n{const S=n(v.token,w.token);return S!==0?S:v.index-w.index});let c=0,l="000000",a="ffffff";for(;s.length>=1&&s[0].token==="";){const v=s.shift();v.fontStyle!==-1&&(c=v.fontStyle),v.foreground!==null&&(l=v.foreground),v.background!==null&&(a=v.background)}const r=new m;for(const v of g)r.getId(v);const u=r.getId(l),C=r.getId(a),f=new o(c,u,C),h=new t(f);for(let v=0,w=s.length;v"u"){const a=this._match(c),r=p(c);l=(a.metadata|r<<8)>>>0,this._cache.set(c,l)}return(l|g<<0)>>>0}}e.TokenTheme=_;const b=/\b(comment|string|regex|regexp)\b/;function p(s){const g=s.match(b);if(!g)return 0;switch(g[1]){case"comment":return 1;case"string":return 2;case"regex":return 3;case"regexp":return 3}throw new Error("Unexpected match for standard token type!")}function n(s,g){return sg?1:0}class o{constructor(g,c,l){this._themeTrieElementRuleBrand=void 0,this._fontStyle=g,this._foreground=c,this._background=l,this.metadata=(this._fontStyle<<11|this._foreground<<15|this._background<<24)>>>0}clone(){return new o(this._fontStyle,this._foreground,this._background)}acceptOverwrite(g,c,l){g!==-1&&(this._fontStyle=g),c!==0&&(this._foreground=c),l!==0&&(this._background=l),this.metadata=(this._fontStyle<<11|this._foreground<<15|this._background<<24)>>>0}}e.ThemeTrieElementRule=o;class t{constructor(g){this._themeTrieElementBrand=void 0,this._mainRule=g,this._children=new Map}match(g){if(g==="")return this._mainRule;const c=g.indexOf(".");let l,a;c===-1?(l=g,a=""):(l=g.substring(0,c),a=g.substring(c+1));const r=this._children.get(l);return typeof r<"u"?r.match(a):this._mainRule}insert(g,c,l,a){if(g===""){this._mainRule.acceptOverwrite(c,l,a);return}const r=g.indexOf(".");let u,C;r===-1?(u=g,C=""):(u=g.substring(0,r),C=g.substring(r+1));let f=this._children.get(u);typeof f>"u"&&(f=new t(this._mainRule.clone()),this._children.set(u,f)),f.insert(C,c,l,a)}}e.ThemeTrieElement=t;function i(s){const g=[];for(let c=1,l=s.length;c=m&&(h=h-C%m),h}function t(C,f){return C.reduce((h,v)=>o(h,f(v)),e.lengthZero)}function i(C,f){return C===f}function s(C,f){const h=C,v=f;if(v-h<=0)return e.lengthZero;const S=Math.floor(h/m),L=Math.floor(v/m),D=v-L*m;if(S===L){const T=h-S*m;return _(0,D-T)}else return _(L-S,D)}function g(C,f){return C=f}function a(C){return _(C.lineNumber-1,C.column-1)}function r(C,f){const h=C,v=Math.floor(h/m),w=h-v*m,S=f,L=Math.floor(S/m),D=S-L*m;return new k.Range(v+1,w+1,L+1,D+1)}function u(C){const f=(0,d.splitLines)(C);return _(f.length-1,f[f.length-1].length)}}),define(ne[200],se([1,0,4,106]),function(oe,e,d,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.BeforeEditPositionMapper=e.TextEditInfo=void 0;class I{static fromModelContentChanges(_){return _.map(p=>{const n=d.Range.lift(p.range);return new I((0,k.positionToLength)(n.getStartPosition()),(0,k.positionToLength)(n.getEndPosition()),(0,k.lengthOfString)(p.text))}).reverse()}constructor(_,b,p){this.startOffset=_,this.endOffset=b,this.newLength=p}toString(){return`[${(0,k.lengthToObj)(this.startOffset)}...${(0,k.lengthToObj)(this.endOffset)}) -> ${(0,k.lengthToObj)(this.newLength)}`}}e.TextEditInfo=I;class E{constructor(_){this.nextEditIdx=0,this.deltaOldToNewLineCount=0,this.deltaOldToNewColumnCount=0,this.deltaLineIdxInOld=-1,this.edits=_.map(b=>y.from(b))}getOffsetBeforeChange(_){return this.adjustNextEdit(_),this.translateCurToOld(_)}getDistanceToNextChange(_){this.adjustNextEdit(_);const b=this.edits[this.nextEditIdx],p=b?this.translateOldToCur(b.offsetObj):null;return p===null?null:(0,k.lengthDiffNonNegative)(_,p)}translateOldToCur(_){return _.lineCount===this.deltaLineIdxInOld?(0,k.toLength)(_.lineCount+this.deltaOldToNewLineCount,_.columnCount+this.deltaOldToNewColumnCount):(0,k.toLength)(_.lineCount+this.deltaOldToNewLineCount,_.columnCount)}translateCurToOld(_){const b=(0,k.lengthToObj)(_);return b.lineCount-this.deltaOldToNewLineCount===this.deltaLineIdxInOld?(0,k.toLength)(b.lineCount-this.deltaOldToNewLineCount,b.columnCount-this.deltaOldToNewColumnCount):(0,k.toLength)(b.lineCount-this.deltaOldToNewLineCount,b.columnCount)}adjustNextEdit(_){for(;this.nextEditIdx!0)||[];return o&&a.unshift(o),a}const l=[];for(;o&&!(0,I.lengthIsZero)(c);){const[a,r]=o.splitAt(c);l.push(a),c=(0,I.lengthDiffNonNegative)(a.lengthAfter,c),o=r??p.dequeue()}return(0,I.lengthIsZero)(c)||l.push(new y(!1,c,c)),l}const i=[];function s(c,l,a){if(i.length>0&&(0,I.lengthEquals)(i[i.length-1].endOffset,c)){const r=i[i.length-1];i[i.length-1]=new k.TextEditInfo(r.startOffset,l,(0,I.lengthAdd)(r.newLength,a))}else i.push({startOffset:c,endOffset:l,newLength:a})}let g=I.lengthZero;for(const c of n){const l=t(c.lengthBefore);if(c.modified){const a=(0,I.sumLengths)(l,u=>u.lengthBefore),r=(0,I.lengthAdd)(g,a);s(g,r,c.lengthAfter),g=r}else for(const a of l){const r=g;g=(0,I.lengthAdd)(g,a.lengthBefore),a.modified&&s(r,g,a.lengthAfter)}}return i}class y{constructor(b,p,n){this.modified=b,this.lengthBefore=p,this.lengthAfter=n}splitAt(b){const p=(0,I.lengthDiffNonNegative)(b,this.lengthAfter);return(0,I.lengthEquals)(p,I.lengthZero)?[this,void 0]:this.modified?[new y(this.modified,this.lengthBefore,b),new y(this.modified,I.lengthZero,p)]:[new y(this.modified,b,b),new y(this.modified,p,p)]}toString(){return`${this.modified?"M":"U"}:${(0,I.lengthToObj)(this.lengthBefore)} -> ${(0,I.lengthToObj)(this.lengthAfter)}`}}function m(_){const b=[];let p=I.lengthZero;for(const n of _){const o=(0,I.lengthDiffNonNegative)(p,n.startOffset);(0,I.lengthIsZero)(o)||b.push(new y(!1,o,o));const t=(0,I.lengthDiffNonNegative)(n.startOffset,n.endOffset);b.push(new y(!0,t,n.newLength)),p=n.endOffset}return b}}),define(ne[573],se([1,0,106]),function(oe,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.NodeReader=void 0;class k{constructor(m){this.lastOffset=d.lengthZero,this.nextNodes=[m],this.offsets=[d.lengthZero],this.idxs=[]}readLongestNodeAt(m,_){if((0,d.lengthLessThan)(m,this.lastOffset))throw new Error("Invalid offset");for(this.lastOffset=m;;){const b=E(this.nextNodes);if(!b)return;const p=E(this.offsets);if((0,d.lengthLessThan)(m,p))return;if((0,d.lengthLessThan)(p,m))if((0,d.lengthAdd)(p,b.length)<=m)this.nextNodeAfterCurrent();else{const n=I(b);n!==-1?(this.nextNodes.push(b.getChild(n)),this.offsets.push(p),this.idxs.push(n)):this.nextNodeAfterCurrent()}else{if(_(b))return this.nextNodeAfterCurrent(),b;{const n=I(b);if(n===-1){this.nextNodeAfterCurrent();return}else this.nextNodes.push(b.getChild(n)),this.offsets.push(p),this.idxs.push(n)}}}}nextNodeAfterCurrent(){for(;;){const m=E(this.offsets),_=E(this.nextNodes);if(this.nextNodes.pop(),this.offsets.pop(),this.idxs.length===0)break;const b=E(this.nextNodes),p=I(b,this.idxs[this.idxs.length-1]);if(p!==-1){this.nextNodes.push(b.getChild(p)),this.offsets.push((0,d.lengthAdd)(m,_.length)),this.idxs[this.idxs.length-1]=p;break}else this.idxs.pop()}}}e.NodeReader=k;function I(y,m=-1){for(;;){if(m++,m>=y.childrenLength)return-1;if(y.getChild(m))return m}}function E(y){return y.length>0?y[y.length-1]:void 0}}),define(ne[149],se([1,0]),function(oe,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DenseKeyProvider=e.identityKeyProvider=e.SmallImmutableSet=void 0;const d=[];class k{static{this.cache=new Array(129)}static create(y,m){if(y<=128&&m.length===0){let _=k.cache[y];return _||(_=new k(y,m),k.cache[y]=_),_}return new k(y,m)}static{this.empty=k.create(0,d)}static getEmpty(){return this.empty}constructor(y,m){this.items=y,this.additionalItems=m}add(y,m){const _=m.getKey(y);let b=_>>5;if(b===0){const n=1<<_|this.items;return n===this.items?this:k.create(n,this.additionalItems)}b--;const p=this.additionalItems.slice(0);for(;p.length=b.length)return null;const s=p,g=b[s].listHeight;for(p++;p=2?I(s===0&&p===b.length?b:b.slice(s,p),!1):b[s]}let o=n(),t=n();if(!t)return o;for(let s=n();s;s=n())E(o,t)<=E(t,s)?(o=y(o,t),t=s):t=y(t,s);return y(o,t)}function I(b,p=!1){if(b.length===0)return null;if(b.length===1)return b[0];let n=b.length;for(;n>3;){const o=n>>1;for(let t=0;t=3?b[2]:null,p)}function E(b,p){return Math.abs(b.listHeight-p.listHeight)}function y(b,p){return b.listHeight===p.listHeight?d.ListAstNode.create23(b,p,null,!1):b.listHeight>p.listHeight?m(b,p):_(p,b)}function m(b,p){b=b.toMutable();let n=b;const o=[];let t;for(;;){if(p.listHeight===n.listHeight){t=p;break}if(n.kind!==4)throw new Error("unexpected");o.push(n),n=n.makeLastElementMutable()}for(let i=o.length-1;i>=0;i--){const s=o[i];t?s.childrenLength>=3?t=d.ListAstNode.create23(s.unappendChild(),t,null,!1):(s.appendChildOfSameHeight(t),t=void 0):s.handleChildrenChanged()}return t?d.ListAstNode.create23(b,t,null,!1):b}function _(b,p){b=b.toMutable();let n=b;const o=[];for(;p.listHeight!==n.listHeight;){if(n.kind!==4)throw new Error("unexpected");o.push(n),n=n.makeFirstElementMutable()}let t=p;for(let i=o.length-1;i>=0;i--){const s=o[i];t?s.childrenLength>=3?t=d.ListAstNode.create23(t,s.unprependChild(),null,!1):(s.prependChildOfSameHeight(t),t=void 0):s.handleChildrenChanged()}return t?d.ListAstNode.create23(t,b,null,!1):b}}),define(ne[320],se([1,0,201,200,149,106,574,573]),function(oe,e,d,k,I,E,y,m){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.parseDocument=_;function _(p,n,o,t){return new b(p,n,o,t).parseDocument()}class b{constructor(n,o,t,i){if(this.tokenizer=n,this.createImmutableLists=i,this._itemsConstructed=0,this._itemsFromCache=0,t&&i)throw new Error("Not supported");this.oldNodeReader=t?new m.NodeReader(t):void 0,this.positionMapper=new k.BeforeEditPositionMapper(o)}parseDocument(){this._itemsConstructed=0,this._itemsFromCache=0;let n=this.parseList(I.SmallImmutableSet.getEmpty(),0);return n||(n=d.ListAstNode.getEmpty()),n}parseList(n,o){const t=[];for(;;){let s=this.tryReadChildFromCache(n);if(!s){const g=this.tokenizer.peek();if(!g||g.kind===2&&g.bracketIds.intersects(n))break;s=this.parseChild(n,o+1)}s.kind===4&&s.childrenLength===0||t.push(s)}return this.oldNodeReader?(0,y.concat23Trees)(t):(0,y.concat23TreesOfSameHeight)(t,this.createImmutableLists)}tryReadChildFromCache(n){if(this.oldNodeReader){const o=this.positionMapper.getDistanceToNextChange(this.tokenizer.offset);if(o===null||!(0,E.lengthIsZero)(o)){const t=this.oldNodeReader.readLongestNodeAt(this.positionMapper.getOffsetBeforeChange(this.tokenizer.offset),i=>o!==null&&!(0,E.lengthLessThan)(i.length,o)?!1:i.canBeReused(n));if(t)return this._itemsFromCache++,this.tokenizer.skip(t.length),t}}}parseChild(n,o){this._itemsConstructed++;const t=this.tokenizer.read();switch(t.kind){case 2:return new d.InvalidBracketAstNode(t.bracketIds,t.length);case 0:return t.astNode;case 1:{if(o>300)return new d.TextAstNode(t.length);const i=n.merge(t.bracketIds),s=this.parseList(i,o+1),g=this.tokenizer.peek();return g&&g.kind===2&&(g.bracketId===t.bracketId||g.bracketIds.intersects(t.bracketIds))?(this.tokenizer.read(),d.PairAstNode.create(t.astNode,s,g.astNode)):d.PairAstNode.create(t.astNode,s,null)}default:throw new Error("unexpected")}}}}),define(ne[236],se([1,0,8,148,201,106,149]),function(oe,e,d,k,I,E,y){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.FastTokenizer=e.TextBufferTokenizer=e.Token=void 0;class m{constructor(o,t,i,s,g){this.length=o,this.kind=t,this.bracketId=i,this.bracketIds=s,this.astNode=g}}e.Token=m;class _{constructor(o,t){this.textModel=o,this.bracketTokens=t,this.reader=new b(this.textModel,this.bracketTokens),this._offset=E.lengthZero,this.didPeek=!1,this.peeked=null,this.textBufferLineCount=o.getLineCount(),this.textBufferLastLineLength=o.getLineLength(this.textBufferLineCount)}get offset(){return this._offset}get length(){return(0,E.toLength)(this.textBufferLineCount-1,this.textBufferLastLineLength)}skip(o){this.didPeek=!1,this._offset=(0,E.lengthAdd)(this._offset,o);const t=(0,E.lengthToObj)(this._offset);this.reader.setPosition(t.lineCount,t.columnCount)}read(){let o;return this.peeked?(this.didPeek=!1,o=this.peeked):o=this.reader.read(),o&&(this._offset=(0,E.lengthAdd)(this._offset,o.length)),o}peek(){return this.didPeek||(this.peeked=this.reader.read(),this.didPeek=!0),this.peeked}}e.TextBufferTokenizer=_;class b{constructor(o,t){this.textModel=o,this.bracketTokens=t,this.lineIdx=0,this.line=null,this.lineCharOffset=0,this.lineTokens=null,this.lineTokenOffset=0,this.peekedToken=null,this.textBufferLineCount=o.getLineCount(),this.textBufferLastLineLength=o.getLineLength(this.textBufferLineCount)}setPosition(o,t){o===this.lineIdx?(this.lineCharOffset=t,this.line!==null&&(this.lineTokenOffset=this.lineCharOffset===0?0:this.lineTokens.findTokenIndexAtOffset(this.lineCharOffset))):(this.lineIdx=o,this.lineCharOffset=t,this.line=null),this.peekedToken=null}read(){if(this.peekedToken){const g=this.peekedToken;return this.peekedToken=null,this.lineCharOffset+=(0,E.lengthGetColumnCountIfZeroLineCount)(g.length),g}if(this.lineIdx>this.textBufferLineCount-1||this.lineIdx===this.textBufferLineCount-1&&this.lineCharOffset>=this.textBufferLastLineLength)return null;this.line===null&&(this.lineTokens=this.textModel.tokenization.getLineTokens(this.lineIdx+1),this.line=this.lineTokens.getLineContent(),this.lineTokenOffset=this.lineCharOffset===0?0:this.lineTokens.findTokenIndexAtOffset(this.lineCharOffset));const o=this.lineIdx,t=this.lineCharOffset;let i=0;for(;;){const g=this.lineTokens,c=g.getCount();let l=null;if(this.lineTokenOffset1e3))break;if(i>1500)break}const s=(0,E.lengthDiff)(o,t,this.lineIdx,this.lineCharOffset);return new m(s,0,-1,y.SmallImmutableSet.getEmpty(),new I.TextAstNode(s))}}class p{constructor(o,t){this.text=o,this._offset=E.lengthZero,this.idx=0;const i=t.getRegExpStr(),s=i?new RegExp(i+`| +`,"gi"):null,g=[];let c,l=0,a=0,r=0,u=0;const C=[];for(let v=0;v<60;v++)C.push(new m((0,E.toLength)(0,v),0,-1,y.SmallImmutableSet.getEmpty(),new I.TextAstNode((0,E.toLength)(0,v))));const f=[];for(let v=0;v<60;v++)f.push(new m((0,E.toLength)(1,v),0,-1,y.SmallImmutableSet.getEmpty(),new I.TextAstNode((0,E.toLength)(1,v))));if(s)for(s.lastIndex=0;(c=s.exec(o))!==null;){const v=c.index,w=c[0];if(w===` +`)l++,a=v+1;else{if(r!==v){let S;if(u===l){const L=v-r;if(L_(o)).join("|")}}get regExpGlobal(){if(!this.hasRegExp){const n=this.getRegExpStr();this._regExpGlobal=n?new RegExp(n,"gi"):null,this.hasRegExp=!0}return this._regExpGlobal}getToken(n){return this.map.get(n.toLowerCase())}findClosingTokenText(n){for(const[o,t]of this.map)if(t.kind===2&&t.bracketIds.intersects(n))return o}get isEmpty(){return this.map.size===0}}e.BracketTokens=m;function _(p){let n=(0,d.escapeRegExpCharacters)(p);return/^[\w ]+/.test(p)&&(n=`\\b${n}`),/[\w ]+$/.test(p)&&(n=`${n}\\b`),n}class b{constructor(n,o){this.denseKeyProvider=n,this.getLanguageConfiguration=o,this.languageIdToBracketTokens=new Map}didLanguageChange(n){return this.languageIdToBracketTokens.has(n)}getSingleLanguageBracketTokens(n){let o=this.languageIdToBracketTokens.get(n);return o||(o=m.createFromLanguage(this.getLanguageConfiguration(n),this.denseKeyProvider),this.languageIdToBracketTokens.set(n,o)),o}}e.LanguageAgnosticBracketTokens=b}),define(ne[575],se([1,0,321,106,320,149,236]),function(oe,e,d,k,I,E,y){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.fixBracketsInLine=m;function m(b,p){const n=new E.DenseKeyProvider,o=new d.LanguageAgnosticBracketTokens(n,l=>p.getLanguageConfiguration(l)),t=new y.TextBufferTokenizer(new _([b]),o),i=(0,I.parseDocument)(t,[],void 0,!0);let s="";const g=b.getLineContent();function c(l,a){if(l.kind===2)if(c(l.openingBracket,a),a=(0,k.lengthAdd)(a,l.openingBracket.length),l.child&&(c(l.child,a),a=(0,k.lengthAdd)(a,l.child.length)),l.closingBracket)c(l.closingBracket,a),a=(0,k.lengthAdd)(a,l.closingBracket.length);else{const u=o.getSingleLanguageBracketTokens(l.openingBracket.languageId).findClosingTokenText(l.openingBracket.bracketIds);s+=u}else if(l.kind!==3){if(l.kind===0||l.kind===1)s+=g.substring((0,k.lengthGetColumnCountIfZeroLineCount)(a),(0,k.lengthGetColumnCountIfZeroLineCount)((0,k.lengthAdd)(a,l.length)));else if(l.kind===4)for(const r of l.children)c(r,a),a=(0,k.lengthAdd)(a,r.length)}}return c(i,k.lengthZero),s}class _{constructor(p){this.lines=p,this.tokenization={getLineTokens:n=>this.lines[n-1]}}getLineCount(){return this.lines.length}getLineLength(p){return this.lines[p-1].getLineContent().length}}}),define(ne[576],se([1,0,13]),function(oe,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.FixedArray=void 0;class k{constructor(y){this._default=y,this._store=[]}get(y){return y=this._store.length;)this._store[this._store.length]=this._default;this._store[y]=m}replace(y,m,_){if(y>=this._store.length)return;if(m===0){this.insert(y,_);return}else if(_===0){this.delete(y,m);return}const b=this._store.slice(0,y),p=this._store.slice(y+m),n=I(_,this._default);this._store=b.concat(n,p)}delete(y,m){m===0||y>=this._store.length||this._store.splice(y,m)}insert(y,m){if(m===0||y>=this._store.length)return;const _=[];for(let b=0;b0&&o>0||t>0&&i>0)return;const s=Math.abs(o-i),g=Math.abs(n-t);if(s===0){b.spacesDiff=g,g>0&&0<=t-1&&t-10?b++:v>1&&p++,k(n,o,u,h,g),g.looksLikeAlignment&&!(m&&y===g.spacesDiff)))continue;const S=g.spacesDiff;S<=i&&s[S]++,n=u,o=h}let c=m;b!==p&&(c=b{const u=s[r];u>a&&(a=u,l=r)}),l===4&&s[4]>0&&s[2]>0&&s[2]>=s[4]/2&&(l=2)}return{insertSpaces:c,tabSize:l}}}),define(ne[578],se([1,0]),function(oe,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.IntervalTree=e.SENTINEL=e.IntervalNode=void 0,e.getNodeColor=d,e.nodeAcceptEdit=l,e.recomputeMaxEnd=P,e.intervalCompare=O;function d(F){return(F.metadata&1)>>>0}function k(F,x){F.metadata=F.metadata&254|x<<0}function I(F){return(F.metadata&2)>>>1===1}function E(F,x){F.metadata=F.metadata&253|(x?1:0)<<1}function y(F){return(F.metadata&4)>>>2===1}function m(F,x){F.metadata=F.metadata&251|(x?1:0)<<2}function _(F){return(F.metadata&64)>>>6===1}function b(F,x){F.metadata=F.metadata&191|(x?1:0)<<6}function p(F){return(F.metadata&24)>>>3}function n(F,x){F.metadata=F.metadata&231|x<<3}function o(F){return(F.metadata&32)>>>5===1}function t(F,x){F.metadata=F.metadata&223|(x?1:0)<<5}class i{constructor(x,W,V){this.metadata=0,this.parent=this,this.left=this,this.right=this,k(this,1),this.start=W,this.end=V,this.delta=0,this.maxEnd=V,this.id=x,this.ownerId=0,this.options=null,m(this,!1),b(this,!1),n(this,1),t(this,!1),this.cachedVersionId=0,this.cachedAbsoluteStart=W,this.cachedAbsoluteEnd=V,this.range=null,E(this,!1)}reset(x,W,V,q){this.start=W,this.end=V,this.maxEnd=V,this.cachedVersionId=x,this.cachedAbsoluteStart=W,this.cachedAbsoluteEnd=V,this.range=q}setOptions(x){this.options=x;const W=this.options.className;m(this,W==="squiggly-error"||W==="squiggly-warning"||W==="squiggly-info"),b(this,this.options.glyphMarginClassName!==null),n(this,this.options.stickiness),t(this,this.options.collapseOnReplaceEdit)}setCachedOffsets(x,W,V){this.cachedVersionId!==V&&(this.range=null),this.cachedVersionId=V,this.cachedAbsoluteStart=x,this.cachedAbsoluteEnd=W}detach(){this.parent=null,this.left=null,this.right=null}}e.IntervalNode=i,e.SENTINEL=new i(null,0,0),e.SENTINEL.parent=e.SENTINEL,e.SENTINEL.left=e.SENTINEL,e.SENTINEL.right=e.SENTINEL,k(e.SENTINEL,0);class s{constructor(){this.root=e.SENTINEL,this.requestNormalizeDelta=!1}intervalSearch(x,W,V,q,H,z){return this.root===e.SENTINEL?[]:h(this,x,W,V,q,H,z)}search(x,W,V,q){return this.root===e.SENTINEL?[]:f(this,x,W,V,q)}collectNodesFromOwner(x){return u(this,x)}collectNodesPostOrder(){return C(this)}insert(x){v(this,x),this._normalizeDeltaIfNecessary()}delete(x){S(this,x),this._normalizeDeltaIfNecessary()}resolveNode(x,W){const V=x;let q=0;for(;x!==this.root;)x===x.parent.right&&(q+=x.parent.delta),x=x.parent;const H=V.start+q,z=V.end+q;V.setCachedOffsets(H,z,W)}acceptReplace(x,W,V,q){const H=a(this,x,x+W);for(let z=0,U=H.length;zW||V===1?!1:V===2?!0:x}function l(F,x,W,V,q){const H=p(F),z=H===0||H===2,U=H===1||H===2,j=W-x,Q=V,G=Math.min(j,Q),K=F.start;let R=!1;const J=F.end;let ie=!1;x<=K&&J<=W&&o(F)&&(F.start=x,R=!0,F.end=x,ie=!0);{const he=q?1:j>0?2:0;!R&&c(K,z,x,he)&&(R=!0),!ie&&c(J,U,x,he)&&(ie=!0)}if(G>0&&!q){const he=j>Q?2:0;!R&&c(K,z,x+G,he)&&(R=!0),!ie&&c(J,U,x+G,he)&&(ie=!0)}{const he=q?1:0;!R&&c(K,z,W,he)&&(F.start=x+Q,R=!0),!ie&&c(J,U,W,he)&&(F.end=x+Q,ie=!0)}const ue=Q-j;R||(F.start=Math.max(0,K+ue)),ie||(F.end=Math.max(0,J+ue)),F.start>F.end&&(F.end=F.start)}function a(F,x,W){let V=F.root,q=0,H=0,z=0,U=0;const j=[];let Q=0;for(;V!==e.SENTINEL;){if(I(V)){E(V.left,!1),E(V.right,!1),V===V.parent.right&&(q-=V.parent.delta),V=V.parent;continue}if(!I(V.left)){if(H=q+V.maxEnd,HW){E(V,!0);continue}if(U=q+V.end,U>=x&&(V.setCachedOffsets(z,U,0),j[Q++]=V),E(V,!0),V.right!==e.SENTINEL&&!I(V.right)){q+=V.delta,V=V.right;continue}}return E(F.root,!1),j}function r(F,x,W,V){let q=F.root,H=0,z=0,U=0;const j=V-(W-x);for(;q!==e.SENTINEL;){if(I(q)){E(q.left,!1),E(q.right,!1),q===q.parent.right&&(H-=q.parent.delta),P(q),q=q.parent;continue}if(!I(q.left)){if(z=H+q.maxEnd,zW){q.start+=j,q.end+=j,q.delta+=j,(q.delta<-1073741824||q.delta>1073741824)&&(F.requestNormalizeDelta=!0),E(q,!0);continue}if(E(q,!0),q.right!==e.SENTINEL&&!I(q.right)){H+=q.delta,q=q.right;continue}}E(F.root,!1)}function u(F,x){let W=F.root;const V=[];let q=0;for(;W!==e.SENTINEL;){if(I(W)){E(W.left,!1),E(W.right,!1),W=W.parent;continue}if(W.left!==e.SENTINEL&&!I(W.left)){W=W.left;continue}if(W.ownerId===x&&(V[q++]=W),E(W,!0),W.right!==e.SENTINEL&&!I(W.right)){W=W.right;continue}}return E(F.root,!1),V}function C(F){let x=F.root;const W=[];let V=0;for(;x!==e.SENTINEL;){if(I(x)){E(x.left,!1),E(x.right,!1),x=x.parent;continue}if(x.left!==e.SENTINEL&&!I(x.left)){x=x.left;continue}if(x.right!==e.SENTINEL&&!I(x.right)){x=x.right;continue}W[V++]=x,E(x,!0)}return E(F.root,!1),W}function f(F,x,W,V,q){let H=F.root,z=0,U=0,j=0;const Q=[];let G=0;for(;H!==e.SENTINEL;){if(I(H)){E(H.left,!1),E(H.right,!1),H===H.parent.right&&(z-=H.parent.delta),H=H.parent;continue}if(H.left!==e.SENTINEL&&!I(H.left)){H=H.left;continue}U=z+H.start,j=z+H.end,H.setCachedOffsets(U,j,V);let K=!0;if(x&&H.ownerId&&H.ownerId!==x&&(K=!1),W&&y(H)&&(K=!1),q&&!_(H)&&(K=!1),K&&(Q[G++]=H),E(H,!0),H.right!==e.SENTINEL&&!I(H.right)){z+=H.delta,H=H.right;continue}}return E(F.root,!1),Q}function h(F,x,W,V,q,H,z){let U=F.root,j=0,Q=0,G=0,K=0;const R=[];let J=0;for(;U!==e.SENTINEL;){if(I(U)){E(U.left,!1),E(U.right,!1),U===U.parent.right&&(j-=U.parent.delta),U=U.parent;continue}if(!I(U.left)){if(Q=j+U.maxEnd,QW){E(U,!0);continue}if(K=j+U.end,K>=x){U.setCachedOffsets(G,K,H);let ie=!0;V&&U.ownerId&&U.ownerId!==V&&(ie=!1),q&&y(U)&&(ie=!1),z&&!_(U)&&(ie=!1),ie&&(R[J++]=U)}if(E(U,!0),U.right!==e.SENTINEL&&!I(U.right)){j+=U.delta,U=U.right;continue}}return E(F.root,!1),R}function v(F,x){if(F.root===e.SENTINEL)return x.parent=e.SENTINEL,x.left=e.SENTINEL,x.right=e.SENTINEL,k(x,0),F.root=x,F.root;w(F,x),N(x.parent);let W=x;for(;W!==F.root&&d(W.parent)===1;)if(W.parent===W.parent.parent.left){const V=W.parent.parent.right;d(V)===1?(k(W.parent,0),k(V,0),k(W.parent.parent,1),W=W.parent.parent):(W===W.parent.right&&(W=W.parent,T(F,W)),k(W.parent,0),k(W.parent.parent,1),M(F,W.parent.parent))}else{const V=W.parent.parent.left;d(V)===1?(k(W.parent,0),k(V,0),k(W.parent.parent,1),W=W.parent.parent):(W===W.parent.left&&(W=W.parent,M(F,W)),k(W.parent,0),k(W.parent.parent,1),T(F,W.parent.parent))}return k(F.root,0),x}function w(F,x){let W=0,V=F.root;const q=x.start,H=x.end;for(;;)if(O(q,H,V.start+W,V.end+W)<0)if(V.left===e.SENTINEL){x.start-=W,x.end-=W,x.maxEnd-=W,V.left=x;break}else V=V.left;else if(V.right===e.SENTINEL){x.start-=W+V.delta,x.end-=W+V.delta,x.maxEnd-=W+V.delta,V.right=x;break}else W+=V.delta,V=V.right;x.parent=V,x.left=e.SENTINEL,x.right=e.SENTINEL,k(x,1)}function S(F,x){let W,V;if(x.left===e.SENTINEL?(W=x.right,V=x,W.delta+=x.delta,(W.delta<-1073741824||W.delta>1073741824)&&(F.requestNormalizeDelta=!0),W.start+=x.delta,W.end+=x.delta):x.right===e.SENTINEL?(W=x.left,V=x):(V=L(x.right),W=V.right,W.start+=V.delta,W.end+=V.delta,W.delta+=V.delta,(W.delta<-1073741824||W.delta>1073741824)&&(F.requestNormalizeDelta=!0),V.start+=x.delta,V.end+=x.delta,V.delta=x.delta,(V.delta<-1073741824||V.delta>1073741824)&&(F.requestNormalizeDelta=!0)),V===F.root){F.root=W,k(W,0),x.detach(),D(),P(W),F.root.parent=e.SENTINEL;return}const q=d(V)===1;if(V===V.parent.left?V.parent.left=W:V.parent.right=W,V===x?W.parent=V.parent:(V.parent===x?W.parent=V:W.parent=V.parent,V.left=x.left,V.right=x.right,V.parent=x.parent,k(V,d(x)),x===F.root?F.root=V:x===x.parent.left?x.parent.left=V:x.parent.right=V,V.left!==e.SENTINEL&&(V.left.parent=V),V.right!==e.SENTINEL&&(V.right.parent=V)),x.detach(),q){N(W.parent),V!==x&&(N(V),N(V.parent)),D();return}N(W),N(W.parent),V!==x&&(N(V),N(V.parent));let H;for(;W!==F.root&&d(W)===0;)W===W.parent.left?(H=W.parent.right,d(H)===1&&(k(H,0),k(W.parent,1),T(F,W.parent),H=W.parent.right),d(H.left)===0&&d(H.right)===0?(k(H,1),W=W.parent):(d(H.right)===0&&(k(H.left,0),k(H,1),M(F,H),H=W.parent.right),k(H,d(W.parent)),k(W.parent,0),k(H.right,0),T(F,W.parent),W=F.root)):(H=W.parent.left,d(H)===1&&(k(H,0),k(W.parent,1),M(F,W.parent),H=W.parent.left),d(H.left)===0&&d(H.right)===0?(k(H,1),W=W.parent):(d(H.left)===0&&(k(H.right,0),k(H,1),T(F,H),H=W.parent.left),k(H,d(W.parent)),k(W.parent,0),k(H.left,0),M(F,W.parent),W=F.root));k(W,0),D()}function L(F){for(;F.left!==e.SENTINEL;)F=F.left;return F}function D(){e.SENTINEL.parent=e.SENTINEL,e.SENTINEL.delta=0,e.SENTINEL.start=0,e.SENTINEL.end=0}function T(F,x){const W=x.right;W.delta+=x.delta,(W.delta<-1073741824||W.delta>1073741824)&&(F.requestNormalizeDelta=!0),W.start+=x.delta,W.end+=x.delta,x.right=W.left,W.left!==e.SENTINEL&&(W.left.parent=x),W.parent=x.parent,x.parent===e.SENTINEL?F.root=W:x===x.parent.left?x.parent.left=W:x.parent.right=W,W.left=x,x.parent=W,P(x),P(W)}function M(F,x){const W=x.left;x.delta-=W.delta,(x.delta<-1073741824||x.delta>1073741824)&&(F.requestNormalizeDelta=!0),x.start-=W.delta,x.end-=W.delta,x.left=W.right,W.right!==e.SENTINEL&&(W.right.parent=x),W.parent=x.parent,x.parent===e.SENTINEL?F.root=W:x===x.parent.right?x.parent.right=W:x.parent.left=W,W.right=x,x.parent=W,P(x),P(W)}function A(F){let x=F.end;if(F.left!==e.SENTINEL){const W=F.left.maxEnd;W>x&&(x=W)}if(F.right!==e.SENTINEL){const W=F.right.maxEnd+F.delta;W>x&&(x=W)}return x}function P(F){F.maxEnd=A(F)}function N(F){for(;F!==e.SENTINEL;){const x=A(F);if(F.maxEnd===x)return;F.maxEnd=x,F=F.parent}}function O(F,x,W,V){return F===W?x-V:F-W}}),define(ne[579],se([1,0]),function(oe,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SENTINEL=e.TreeNode=void 0,e.leftest=k,e.righttest=I,e.leftRotate=_,e.rightRotate=b,e.rbDelete=p,e.fixInsert=n,e.updateTreeMetadata=o,e.recomputeTreeMetadata=t;class d{constructor(s,g){this.piece=s,this.color=g,this.size_left=0,this.lf_left=0,this.parent=this,this.left=this,this.right=this}next(){if(this.right!==e.SENTINEL)return k(this.right);let s=this;for(;s.parent!==e.SENTINEL&&s.parent.left!==s;)s=s.parent;return s.parent===e.SENTINEL?e.SENTINEL:s.parent}prev(){if(this.left!==e.SENTINEL)return I(this.left);let s=this;for(;s.parent!==e.SENTINEL&&s.parent.right!==s;)s=s.parent;return s.parent===e.SENTINEL?e.SENTINEL:s.parent}detach(){this.parent=null,this.left=null,this.right=null}}e.TreeNode=d,e.SENTINEL=new d(null,0),e.SENTINEL.parent=e.SENTINEL,e.SENTINEL.left=e.SENTINEL,e.SENTINEL.right=e.SENTINEL,e.SENTINEL.color=0;function k(i){for(;i.left!==e.SENTINEL;)i=i.left;return i}function I(i){for(;i.right!==e.SENTINEL;)i=i.right;return i}function E(i){return i===e.SENTINEL?0:i.size_left+i.piece.length+E(i.right)}function y(i){return i===e.SENTINEL?0:i.lf_left+i.piece.lineFeedCnt+y(i.right)}function m(){e.SENTINEL.parent=e.SENTINEL}function _(i,s){const g=s.right;g.size_left+=s.size_left+(s.piece?s.piece.length:0),g.lf_left+=s.lf_left+(s.piece?s.piece.lineFeedCnt:0),s.right=g.left,g.left!==e.SENTINEL&&(g.left.parent=s),g.parent=s.parent,s.parent===e.SENTINEL?i.root=g:s.parent.left===s?s.parent.left=g:s.parent.right=g,g.left=s,s.parent=g}function b(i,s){const g=s.left;s.left=g.right,g.right!==e.SENTINEL&&(g.right.parent=s),g.parent=s.parent,s.size_left-=g.size_left+(g.piece?g.piece.length:0),s.lf_left-=g.lf_left+(g.piece?g.piece.lineFeedCnt:0),s.parent===e.SENTINEL?i.root=g:s===s.parent.right?s.parent.right=g:s.parent.left=g,g.right=s,s.parent=g}function p(i,s){let g,c;if(s.left===e.SENTINEL?(c=s,g=c.right):s.right===e.SENTINEL?(c=s,g=c.left):(c=k(s.right),g=c.right),c===i.root){i.root=g,g.color=0,s.detach(),m(),i.root.parent=e.SENTINEL;return}const l=c.color===1;if(c===c.parent.left?c.parent.left=g:c.parent.right=g,c===s?(g.parent=c.parent,t(i,g)):(c.parent===s?g.parent=c:g.parent=c.parent,t(i,g),c.left=s.left,c.right=s.right,c.parent=s.parent,c.color=s.color,s===i.root?i.root=c:s===s.parent.left?s.parent.left=c:s.parent.right=c,c.left!==e.SENTINEL&&(c.left.parent=c),c.right!==e.SENTINEL&&(c.right.parent=c),c.size_left=s.size_left,c.lf_left=s.lf_left,t(i,c)),s.detach(),g.parent.left===g){const r=E(g),u=y(g);if(r!==g.parent.size_left||u!==g.parent.lf_left){const C=r-g.parent.size_left,f=u-g.parent.lf_left;g.parent.size_left=r,g.parent.lf_left=u,o(i,g.parent,C,f)}}if(t(i,g.parent),l){m();return}let a;for(;g!==i.root&&g.color===0;)g===g.parent.left?(a=g.parent.right,a.color===1&&(a.color=0,g.parent.color=1,_(i,g.parent),a=g.parent.right),a.left.color===0&&a.right.color===0?(a.color=1,g=g.parent):(a.right.color===0&&(a.left.color=0,a.color=1,b(i,a),a=g.parent.right),a.color=g.parent.color,g.parent.color=0,a.right.color=0,_(i,g.parent),g=i.root)):(a=g.parent.left,a.color===1&&(a.color=0,g.parent.color=1,b(i,g.parent),a=g.parent.left),a.left.color===0&&a.right.color===0?(a.color=1,g=g.parent):(a.left.color===0&&(a.right.color=0,a.color=1,_(i,a),a=g.parent.left),a.color=g.parent.color,g.parent.color=0,a.left.color=0,b(i,g.parent),g=i.root));g.color=0,m()}function n(i,s){for(t(i,s);s!==i.root&&s.parent.color===1;)if(s.parent===s.parent.parent.left){const g=s.parent.parent.right;g.color===1?(s.parent.color=0,g.color=0,s.parent.parent.color=1,s=s.parent.parent):(s===s.parent.right&&(s=s.parent,_(i,s)),s.parent.color=0,s.parent.parent.color=1,b(i,s.parent.parent))}else{const g=s.parent.parent.left;g.color===1?(s.parent.color=0,g.color=0,s.parent.parent.color=1,s=s.parent.parent):(s===s.parent.left&&(s=s.parent,b(i,s)),s.parent.color=0,s.parent.parent.color=1,_(i,s.parent.parent))}i.root.color=0}function o(i,s,g,c){for(;s!==i.root&&s!==e.SENTINEL;)s.parent.left===s&&(s.parent.size_left+=g,s.parent.lf_left+=c),s=s.parent}function t(i,s){let g=0,c=0;if(s!==i.root){for(;s!==i.root&&s===s.parent.right;)s=s.parent;if(s!==i.root)for(s=s.parent,g=E(s.left)-s.size_left,c=y(s.left)-s.lf_left,s.size_left+=g,s.lf_left+=c;s!==i.root&&(g!==0||c!==0);)s.parent.left===s&&(s.parent.size_left+=g,s.parent.lf_left+=c),s=s.parent}}}),define(ne[322],se([1,0,13,192]),function(oe,e,d,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.PrefixSumIndexOfResult=e.ConstantTimePrefixSumComputer=e.PrefixSumComputer=void 0;class I{constructor(_){this.values=_,this.prefixSum=new Uint32Array(_.length),this.prefixSumValidIndex=new Int32Array(1),this.prefixSumValidIndex[0]=-1}insertValues(_,b){_=(0,k.toUint32)(_);const p=this.values,n=this.prefixSum,o=b.length;return o===0?!1:(this.values=new Uint32Array(p.length+o),this.values.set(p.subarray(0,_),0),this.values.set(p.subarray(_),_+o),this.values.set(b,_),_-1=0&&this.prefixSum.set(n.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}setValue(_,b){return _=(0,k.toUint32)(_),b=(0,k.toUint32)(b),this.values[_]===b?!1:(this.values[_]=b,_-1=p.length)return!1;const o=p.length-_;return b>=o&&(b=o),b===0?!1:(this.values=new Uint32Array(p.length-b),this.values.set(p.subarray(0,_),0),this.values.set(p.subarray(_+b),_),this.prefixSum=new Uint32Array(this.values.length),_-1=0&&this.prefixSum.set(n.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}getTotalSum(){return this.values.length===0?0:this._getPrefixSum(this.values.length-1)}getPrefixSum(_){return _<0?0:(_=(0,k.toUint32)(_),this._getPrefixSum(_))}_getPrefixSum(_){if(_<=this.prefixSumValidIndex[0])return this.prefixSum[_];let b=this.prefixSumValidIndex[0]+1;b===0&&(this.prefixSum[0]=this.values[0],b++),_>=this.values.length&&(_=this.values.length-1);for(let p=b;p<=_;p++)this.prefixSum[p]=this.prefixSum[p-1]+this.values[p];return this.prefixSumValidIndex[0]=Math.max(this.prefixSumValidIndex[0],_),this.prefixSum[_]}getIndexOf(_){_=Math.floor(_),this.getTotalSum();let b=0,p=this.values.length-1,n=0,o=0,t=0;for(;b<=p;)if(n=b+(p-b)/2|0,o=this.prefixSum[n],t=o-this.values[n],_=o)b=n+1;else break;return new y(n,_-t)}}e.PrefixSumComputer=I;class E{constructor(_){this._values=_,this._isValid=!1,this._validEndIndex=-1,this._prefixSum=[],this._indexBySum=[]}getTotalSum(){return this._ensureValid(),this._indexBySum.length}getPrefixSum(_){return this._ensureValid(),_===0?0:this._prefixSum[_-1]}getIndexOf(_){this._ensureValid();const b=this._indexBySum[_],p=b>0?this._prefixSum[b-1]:0;return new y(b,_-p)}removeValues(_,b){this._values.splice(_,b),this._invalidate(_)}insertValues(_,b){this._values=(0,d.arrayInsert)(this._values,_,b),this._invalidate(_)}_invalidate(_){this._isValid=!1,this._validEndIndex=Math.min(this._validEndIndex,_-1)}_ensureValid(){if(!this._isValid){for(let _=this._validEndIndex+1,b=this._values.length;_0?this._prefixSum[_-1]:0;this._prefixSum[_]=n+p;for(let o=0;o=0;let a=null;try{a=d.createRegExp(this.searchString,this.isRegex,{matchCase:this.matchCase,wholeWord:!1,multiline:l,global:!0,unicode:!0})}catch{return null}if(!a)return null;let r=!this.isRegex&&!l;return r&&this.searchString.toLowerCase()!==this.searchString.toUpperCase()&&(r=this.matchCase),new y.SearchData(a,this.wordSeparators?(0,k.getMapForWordSeparators)(this.wordSeparators,[]):null,r?this.searchString:null)}}e.SearchParams=_;function b(c){if(!c||c.length===0)return!1;for(let l=0,a=c.length;l=a)break;const u=c.charCodeAt(l);if(u===110||u===114||u===87)return!0}}return!1}function p(c,l,a){if(!a)return new y.FindMatch(c,null);const r=[];for(let u=0,C=l.length;u>0);a[C]>=l?u=C-1:a[C+1]>=l?(r=C,u=C):r=C+1}return r+1}}class o{static findMatches(l,a,r,u,C){const f=a.parseSearchRequest();return f?f.regex.multiline?this._doFindMatchesMultiline(l,r,new g(f.wordSeparators,f.regex),u,C):this._doFindMatchesLineByLine(l,r,f,u,C):[]}static _getMultilineMatchRange(l,a,r,u,C,f){let h,v=0;u?(v=u.findLineFeedCountBeforeOffset(C),h=a+C+v):h=a+C;let w;if(u){const T=u.findLineFeedCountBeforeOffset(C+f.length)-v;w=h+f.length+T}else w=h+f.length;const S=l.getPositionAt(h),L=l.getPositionAt(w);return new E.Range(S.lineNumber,S.column,L.lineNumber,L.column)}static _doFindMatchesMultiline(l,a,r,u,C){const f=l.getOffsetAt(a.getStartPosition()),h=l.getValueInRange(a,1),v=l.getEOL()===`\r +`?new n(h):null,w=[];let S=0,L;for(r.reset(0);L=r.next(h);)if(w[S++]=p(this._getMultilineMatchRange(l,f,h,v,L.index,L[0]),L,u),S>=C)return w;return w}static _doFindMatchesLineByLine(l,a,r,u,C){const f=[];let h=0;if(a.startLineNumber===a.endLineNumber){const w=l.getLineContent(a.startLineNumber).substring(a.startColumn-1,a.endColumn-1);return h=this._findMatchesInLine(r,w,a.startLineNumber,a.startColumn-1,h,f,u,C),f}const v=l.getLineContent(a.startLineNumber).substring(a.startColumn-1);h=this._findMatchesInLine(r,v,a.startLineNumber,a.startColumn-1,h,f,u,C);for(let w=a.startLineNumber+1;w=v))return C;return C}const S=new g(l.wordSeparators,l.regex);let L;S.reset(0);do if(L=S.next(a),L&&(f[C++]=p(new E.Range(r,L.index+1+u,r,L.index+1+L[0].length+u),L,h),C>=v))return C;while(L);return C}static findNextMatch(l,a,r,u){const C=a.parseSearchRequest();if(!C)return null;const f=new g(C.wordSeparators,C.regex);return C.regex.multiline?this._doFindNextMatchMultiline(l,r,f,u):this._doFindNextMatchLineByLine(l,r,f,u)}static _doFindNextMatchMultiline(l,a,r,u){const C=new I.Position(a.lineNumber,1),f=l.getOffsetAt(C),h=l.getLineCount(),v=l.getValueInRange(new E.Range(C.lineNumber,C.column,h,l.getLineMaxColumn(h)),1),w=l.getEOL()===`\r +`?new n(v):null;r.reset(a.column-1);const S=r.next(v);return S?p(this._getMultilineMatchRange(l,f,v,w,S.index,S[0]),S,u):a.lineNumber!==1||a.column!==1?this._doFindNextMatchMultiline(l,new I.Position(1,1),r,u):null}static _doFindNextMatchLineByLine(l,a,r,u){const C=l.getLineCount(),f=a.lineNumber,h=l.getLineContent(f),v=this._findFirstMatchInLine(r,h,f,a.column,u);if(v)return v;for(let w=1;w<=C;w++){const S=(f+w-1)%C,L=l.getLineContent(S+1),D=this._findFirstMatchInLine(r,L,S+1,1,u);if(D)return D}return null}static _findFirstMatchInLine(l,a,r,u,C){l.reset(u-1);const f=l.next(a);return f?p(new E.Range(r,f.index+1,r,f.index+1+f[0].length),f,C):null}static findPreviousMatch(l,a,r,u){const C=a.parseSearchRequest();if(!C)return null;const f=new g(C.wordSeparators,C.regex);return C.regex.multiline?this._doFindPreviousMatchMultiline(l,r,f,u):this._doFindPreviousMatchLineByLine(l,r,f,u)}static _doFindPreviousMatchMultiline(l,a,r,u){const C=this._doFindMatchesMultiline(l,new E.Range(1,1,a.lineNumber,a.column),r,u,10*m);if(C.length>0)return C[C.length-1];const f=l.getLineCount();return a.lineNumber!==f||a.column!==l.getLineMaxColumn(f)?this._doFindPreviousMatchMultiline(l,new I.Position(f,l.getLineMaxColumn(f)),r,u):null}static _doFindPreviousMatchLineByLine(l,a,r,u){const C=l.getLineCount(),f=a.lineNumber,h=l.getLineContent(f).substring(0,a.column-1),v=this._findLastMatchInLine(r,h,f,u);if(v)return v;for(let w=1;w<=C;w++){const S=(C+f-w-1)%C,L=l.getLineContent(S+1),D=this._findLastMatchInLine(r,L,S+1,u);if(D)return D}return null}static _findLastMatchInLine(l,a,r,u){let C=null,f;for(l.reset(0);f=l.next(a);)C=p(new E.Range(r,f.index+1,r,f.index+1+f[0].length),f,u);return C}}e.TextModelSearch=o;function t(c,l,a,r,u){if(r===0)return!0;const C=l.charCodeAt(r-1);if(c.get(C)!==0||C===13||C===10)return!0;if(u>0){const f=l.charCodeAt(r);if(c.get(f)!==0)return!0}return!1}function i(c,l,a,r,u){if(r+u===a)return!0;const C=l.charCodeAt(r+u);if(c.get(C)!==0||C===13||C===10)return!0;if(u>0){const f=l.charCodeAt(r+u-1);if(c.get(f)!==0)return!0}return!1}function s(c,l,a,r,u){return t(c,l,a,r,u)&&i(c,l,a,r,u)}class g{constructor(l,a){this._wordSeparators=l,this._searchRegex=a,this._prevMatchStartIndex=-1,this._prevMatchLength=0}reset(l){this._searchRegex.lastIndex=l,this._prevMatchStartIndex=-1,this._prevMatchLength=0}next(l){const a=l.length;let r;do{if(this._prevMatchStartIndex+this._prevMatchLength===a||(r=this._searchRegex.exec(l),!r))return null;const u=r.index,C=r[0].length;if(u===this._prevMatchStartIndex&&C===this._prevMatchLength){if(C===0){d.getNextCodePoint(l,a,this._searchRegex.lastIndex)>65535?this._searchRegex.lastIndex+=2:this._searchRegex.lastIndex+=1;continue}return null}if(this._prevMatchStartIndex=u,this._prevMatchLength=C,!this._wordSeparators||s(this._wordSeparators,l,a,u,C))return r}while(r);return null}}e.Searcher=g}),define(ne[324],se([1,0,9,4,40,579,202]),function(oe,e,d,k,I,E,y){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.PieceTreeBase=e.StringBuffer=e.Piece=void 0,e.createLineStartsFast=p,e.createLineStarts=n;const m=65535;function _(c){let l;return c[c.length-1]<65536?l=new Uint16Array(c.length):l=new Uint32Array(c.length),l.set(c,0),l}class b{constructor(l,a,r,u,C){this.lineStarts=l,this.cr=a,this.lf=r,this.crlf=u,this.isBasicASCII=C}}function p(c,l=!0){const a=[0];let r=1;for(let u=0,C=c.length;u126)&&(f=!1)}const h=new b(_(c),r,u,C,f);return c.length=0,h}class o{constructor(l,a,r,u,C){this.bufferIndex=l,this.start=a,this.end=r,this.lineFeedCnt=u,this.length=C}}e.Piece=o;class t{constructor(l,a){this.buffer=l,this.lineStarts=a}}e.StringBuffer=t;class i{constructor(l,a){this._pieces=[],this._tree=l,this._BOM=a,this._index=0,l.root!==E.SENTINEL&&l.iterate(l.root,r=>(r!==E.SENTINEL&&this._pieces.push(r.piece),!0))}read(){return this._pieces.length===0?this._index===0?(this._index++,this._BOM):null:this._index>this._pieces.length-1?null:this._index===0?this._BOM+this._tree.getPieceContent(this._pieces[this._index++]):this._tree.getPieceContent(this._pieces[this._index++])}}class s{constructor(l){this._limit=l,this._cache=[]}get(l){for(let a=this._cache.length-1;a>=0;a--){const r=this._cache[a];if(r.nodeStartOffset<=l&&r.nodeStartOffset+r.node.piece.length>=l)return r}return null}get2(l){for(let a=this._cache.length-1;a>=0;a--){const r=this._cache[a];if(r.nodeStartLineNumber&&r.nodeStartLineNumber=l)return r}return null}set(l){this._cache.length>=this._limit&&this._cache.shift(),this._cache.push(l)}validate(l){let a=!1;const r=this._cache;for(let u=0;u=l){r[u]=null,a=!0;continue}}if(a){const u=[];for(const C of r)C!==null&&u.push(C);this._cache=u}}}class g{constructor(l,a,r){this.create(l,a,r)}create(l,a,r){this._buffers=[new t("",[0])],this._lastChangeBufferPos={line:0,column:0},this.root=E.SENTINEL,this._lineCnt=1,this._length=0,this._EOL=a,this._EOLLength=a.length,this._EOLNormalized=r;let u=null;for(let C=0,f=l.length;C0){l[C].lineStarts||(l[C].lineStarts=p(l[C].buffer));const h=new o(C+1,{line:0,column:0},{line:l[C].lineStarts.length-1,column:l[C].buffer.length-l[C].lineStarts[l[C].lineStarts.length-1]},l[C].lineStarts.length-1,l[C].buffer.length);this._buffers.push(l[C]),u=this.rbInsertRight(u,h)}this._searchCache=new s(1),this._lastVisitedLine={lineNumber:0,value:""},this.computeBufferMetadata()}normalizeEOL(l){const a=m,r=a-Math.floor(a/3),u=r*2;let C="",f=0;const h=[];if(this.iterate(this.root,v=>{const w=this.getNodeContent(v),S=w.length;if(f<=r||f+S0){const v=C.replace(/\r\n|\r|\n/g,l);h.push(new t(v,p(v)))}this.create(h,l,!0)}getEOL(){return this._EOL}setEOL(l){this._EOL=l,this._EOLLength=this._EOL.length,this.normalizeEOL(l)}createSnapshot(l){return new i(this,l)}getOffsetAt(l,a){let r=0,u=this.root;for(;u!==E.SENTINEL;)if(u.left!==E.SENTINEL&&u.lf_left+1>=l)u=u.left;else if(u.lf_left+u.piece.lineFeedCnt+1>=l){r+=u.size_left;const C=this.getAccumulatedValue(u,l-u.lf_left-2);return r+=C+a-1}else l-=u.lf_left+u.piece.lineFeedCnt,r+=u.size_left+u.piece.length,u=u.right;return r}getPositionAt(l){l=Math.floor(l),l=Math.max(0,l);let a=this.root,r=0;const u=l;for(;a!==E.SENTINEL;)if(a.size_left!==0&&a.size_left>=l)a=a.left;else if(a.size_left+a.piece.length>=l){const C=this.getIndexOf(a,l-a.size_left);if(r+=a.lf_left+C.index,C.index===0){const f=this.getOffsetAt(r+1,1),h=u-f;return new d.Position(r+1,h+1)}return new d.Position(r+1,C.remainder+1)}else if(l-=a.size_left+a.piece.length,r+=a.lf_left+a.piece.lineFeedCnt,a.right===E.SENTINEL){const C=this.getOffsetAt(r+1,1),f=u-l-C;return new d.Position(r+1,f+1)}else a=a.right;return new d.Position(1,1)}getValueInRange(l,a){if(l.startLineNumber===l.endLineNumber&&l.startColumn===l.endColumn)return"";const r=this.nodeAt2(l.startLineNumber,l.startColumn),u=this.nodeAt2(l.endLineNumber,l.endColumn),C=this.getValueInRange2(r,u);return a?a!==this._EOL||!this._EOLNormalized?C.replace(/\r\n|\r|\n/g,a):a===this.getEOL()&&this._EOLNormalized?C:C.replace(/\r\n|\r|\n/g,a):C}getValueInRange2(l,a){if(l.node===a.node){const h=l.node,v=this._buffers[h.piece.bufferIndex].buffer,w=this.offsetInBuffer(h.piece.bufferIndex,h.piece.start);return v.substring(w+l.remainder,w+a.remainder)}let r=l.node;const u=this._buffers[r.piece.bufferIndex].buffer,C=this.offsetInBuffer(r.piece.bufferIndex,r.piece.start);let f=u.substring(C+l.remainder,C+r.piece.length);for(r=r.next();r!==E.SENTINEL;){const h=this._buffers[r.piece.bufferIndex].buffer,v=this.offsetInBuffer(r.piece.bufferIndex,r.piece.start);if(r===a.node){f+=h.substring(v,v+a.remainder);break}else f+=h.substr(v,r.piece.length);r=r.next()}return f}getLinesContent(){const l=[];let a=0,r="",u=!1;return this.iterate(this.root,C=>{if(C===E.SENTINEL)return!0;const f=C.piece;let h=f.length;if(h===0)return!0;const v=this._buffers[f.bufferIndex].buffer,w=this._buffers[f.bufferIndex].lineStarts,S=f.start.line,L=f.end.line;let D=w[S]+f.start.column;if(u&&(v.charCodeAt(D)===10&&(D++,h--),l[a++]=r,r="",u=!1,h===0))return!0;if(S===L)return!this._EOLNormalized&&v.charCodeAt(D+h-1)===13?(u=!0,r+=v.substr(D,h-1)):r+=v.substr(D,h),!0;r+=this._EOLNormalized?v.substring(D,Math.max(D,w[S+1]-this._EOLLength)):v.substring(D,w[S+1]).replace(/(\r\n|\r|\n)$/,""),l[a++]=r;for(let T=S+1;Tx+M,a.reset(0)):(O=D.buffer,F=x=>x,a.reset(M));do if(P=a.next(O),P){if(F(P.index)>=A)return S;this.positionInBuffer(l,F(P.index)-T,N);const x=this.getLineFeedCnt(l.piece.bufferIndex,C,N),W=N.line===C.line?N.column-C.column+u:N.column+1,V=W+P[0].length;if(L[S++]=(0,y.createFindMatch)(new k.Range(r+x,W,r+x,V),P,v),F(P.index)+P[0].length>=A||S>=w)return S}while(P);return S}findMatchesLineByLine(l,a,r,u){const C=[];let f=0;const h=new y.Searcher(a.wordSeparators,a.regex);let v=this.nodeAt2(l.startLineNumber,l.startColumn);if(v===null)return[];const w=this.nodeAt2(l.endLineNumber,l.endColumn);if(w===null)return[];let S=this.positionInBuffer(v.node,v.remainder);const L=this.positionInBuffer(w.node,w.remainder);if(v.node===w.node)return this.findMatchesInNode(v.node,h,l.startLineNumber,l.startColumn,S,L,a,r,u,f,C),C;let D=l.startLineNumber,T=v.node;for(;T!==w.node;){const A=this.getLineFeedCnt(T.piece.bufferIndex,S,T.piece.end);if(A>=1){const N=this._buffers[T.piece.bufferIndex].lineStarts,O=this.offsetInBuffer(T.piece.bufferIndex,T.piece.start),F=N[S.line+A],x=D===l.startLineNumber?l.startColumn:1;if(f=this.findMatchesInNode(T,h,D,x,S,this.positionInBuffer(T,F-O),a,r,u,f,C),f>=u)return C;D+=A}const P=D===l.startLineNumber?l.startColumn-1:0;if(D===l.endLineNumber){const N=this.getLineContent(D).substring(P,l.endColumn-1);return f=this._findMatchesInLine(a,h,N,l.endLineNumber,P,f,C,r,u),C}if(f=this._findMatchesInLine(a,h,this.getLineContent(D).substr(P),D,P,f,C,r,u),f>=u)return C;D++,v=this.nodeAt2(D,1),T=v.node,S=this.positionInBuffer(v.node,v.remainder)}if(D===l.endLineNumber){const A=D===l.startLineNumber?l.startColumn-1:0,P=this.getLineContent(D).substring(A,l.endColumn-1);return f=this._findMatchesInLine(a,h,P,l.endLineNumber,A,f,C,r,u),C}const M=D===l.startLineNumber?l.startColumn:1;return f=this.findMatchesInNode(w.node,h,D,M,S,L,a,r,u,f,C),C}_findMatchesInLine(l,a,r,u,C,f,h,v,w){const S=l.wordSeparators;if(!v&&l.simpleSearch){const D=l.simpleSearch,T=D.length,M=r.length;let A=-T;for(;(A=r.indexOf(D,A+T))!==-1;)if((!S||(0,y.isValidMatch)(S,r,M,A,T))&&(h[f++]=new I.FindMatch(new k.Range(u,A+1+C,u,A+1+T+C),null),f>=w))return f;return f}let L;a.reset(0);do if(L=a.next(r),L&&(h[f++]=(0,y.createFindMatch)(new k.Range(u,L.index+1+C,u,L.index+1+L[0].length+C),L,v),f>=w))return f;while(L);return f}insert(l,a,r=!1){if(this._EOLNormalized=this._EOLNormalized&&r,this._lastVisitedLine.lineNumber=0,this._lastVisitedLine.value="",this.root!==E.SENTINEL){const{node:u,remainder:C,nodeStartOffset:f}=this.nodeAt(l),h=u.piece,v=h.bufferIndex,w=this.positionInBuffer(u,C);if(u.piece.bufferIndex===0&&h.end.line===this._lastChangeBufferPos.line&&h.end.column===this._lastChangeBufferPos.column&&f+h.length===l&&a.lengthl){const S=[];let L=new o(h.bufferIndex,w,h.end,this.getLineFeedCnt(h.bufferIndex,w,h.end),this.offsetInBuffer(v,h.end)-this.offsetInBuffer(v,w));if(this.shouldCheckCRLF()&&this.endWithCR(a)&&this.nodeCharCodeAt(u,C)===10){const A={line:L.start.line+1,column:0};L=new o(L.bufferIndex,A,L.end,this.getLineFeedCnt(L.bufferIndex,A,L.end),L.length-1),a+=` +`}if(this.shouldCheckCRLF()&&this.startWithLF(a))if(this.nodeCharCodeAt(u,C-1)===13){const A=this.positionInBuffer(u,C-1);this.deleteNodeTail(u,A),a="\r"+a,u.piece.length===0&&S.push(u)}else this.deleteNodeTail(u,w);else this.deleteNodeTail(u,w);const D=this.createNewPieces(a);L.length>0&&this.rbInsertRight(u,L);let T=u;for(let M=0;M=0;f--)C=this.rbInsertLeft(C,u[f]);this.validateCRLFWithPrevNode(C),this.deleteNodes(r)}insertContentToNodeRight(l,a){this.adjustCarriageReturnFromNext(l,a)&&(l+=` +`);const r=this.createNewPieces(l),u=this.rbInsertRight(a,r[0]);let C=u;for(let f=1;f=D)w=L+1;else break;return r?(r.line=L,r.column=v-T,null):{line:L,column:v-T}}getLineFeedCnt(l,a,r){if(r.column===0)return r.line-a.line;const u=this._buffers[l].lineStarts;if(r.line===u.length-1)return r.line-a.line;const C=u[r.line+1],f=u[r.line]+r.column;if(C>f+1)return r.line-a.line;const h=f-1;return this._buffers[l].buffer.charCodeAt(h)===13?r.line-a.line+1:r.line-a.line}offsetInBuffer(l,a){return this._buffers[l].lineStarts[a.line]+a.column}deleteNodes(l){for(let a=0;am){const S=[];for(;l.length>m;){const D=l.charCodeAt(m-1);let T;D===13||D>=55296&&D<=56319?(T=l.substring(0,m-1),l=l.substring(m-1)):(T=l.substring(0,m),l=l.substring(m));const M=p(T);S.push(new o(this._buffers.length,{line:0,column:0},{line:M.length-1,column:T.length-M[M.length-1]},M.length-1,T.length)),this._buffers.push(new t(T,M))}const L=p(l);return S.push(new o(this._buffers.length,{line:0,column:0},{line:L.length-1,column:l.length-L[L.length-1]},L.length-1,l.length)),this._buffers.push(new t(l,L)),S}let a=this._buffers[0].buffer.length;const r=p(l,!1);let u=this._lastChangeBufferPos;if(this._buffers[0].lineStarts[this._buffers[0].lineStarts.length-1]===a&&a!==0&&this.startWithLF(l)&&this.endWithCR(this._buffers[0].buffer)){this._lastChangeBufferPos={line:this._lastChangeBufferPos.line,column:this._lastChangeBufferPos.column+1},u=this._lastChangeBufferPos;for(let S=0;S=l-1)r=r.left;else if(r.lf_left+r.piece.lineFeedCnt>l-1){const v=this.getAccumulatedValue(r,l-r.lf_left-2),w=this.getAccumulatedValue(r,l-r.lf_left-1),S=this._buffers[r.piece.bufferIndex].buffer,L=this.offsetInBuffer(r.piece.bufferIndex,r.piece.start);return f+=r.size_left,this._searchCache.set({node:r,nodeStartOffset:f,nodeStartLineNumber:h-(l-1-r.lf_left)}),S.substring(L+v,L+w-a)}else if(r.lf_left+r.piece.lineFeedCnt===l-1){const v=this.getAccumulatedValue(r,l-r.lf_left-2),w=this._buffers[r.piece.bufferIndex].buffer,S=this.offsetInBuffer(r.piece.bufferIndex,r.piece.start);u=w.substring(S+v,S+r.piece.length);break}else l-=r.lf_left+r.piece.lineFeedCnt,f+=r.size_left+r.piece.length,r=r.right}for(r=r.next();r!==E.SENTINEL;){const f=this._buffers[r.piece.bufferIndex].buffer;if(r.piece.lineFeedCnt>0){const h=this.getAccumulatedValue(r,0),v=this.offsetInBuffer(r.piece.bufferIndex,r.piece.start);return u+=f.substring(v,v+h-a),u}else{const h=this.offsetInBuffer(r.piece.bufferIndex,r.piece.start);u+=f.substr(h,r.piece.length)}r=r.next()}return u}computeBufferMetadata(){let l=this.root,a=1,r=0;for(;l!==E.SENTINEL;)a+=l.lf_left+l.piece.lineFeedCnt,r+=l.size_left+l.piece.length,l=l.right;this._lineCnt=a,this._length=r,this._searchCache.validate(this._length)}getIndexOf(l,a){const r=l.piece,u=this.positionInBuffer(l,a),C=u.line-r.start.line;if(this.offsetInBuffer(r.bufferIndex,r.end)-this.offsetInBuffer(r.bufferIndex,r.start)===a){const f=this.getLineFeedCnt(l.piece.bufferIndex,r.start,u);if(f!==C)return{index:f,remainder:0}}return{index:C,remainder:u.column}}getAccumulatedValue(l,a){if(a<0)return 0;const r=l.piece,u=this._buffers[r.bufferIndex].lineStarts,C=r.start.line+a+1;return C>r.end.line?u[r.end.line]+r.end.column-u[r.start.line]-r.start.column:u[C]-u[r.start.line]-r.start.column}deleteNodeTail(l,a){const r=l.piece,u=r.lineFeedCnt,C=this.offsetInBuffer(r.bufferIndex,r.end),f=a,h=this.offsetInBuffer(r.bufferIndex,f),v=this.getLineFeedCnt(r.bufferIndex,r.start,f),w=v-u,S=h-C,L=r.length+S;l.piece=new o(r.bufferIndex,r.start,f,v,L),(0,E.updateTreeMetadata)(this,l,S,w)}deleteNodeHead(l,a){const r=l.piece,u=r.lineFeedCnt,C=this.offsetInBuffer(r.bufferIndex,r.start),f=a,h=this.getLineFeedCnt(r.bufferIndex,f,r.end),v=this.offsetInBuffer(r.bufferIndex,f),w=h-u,S=C-v,L=r.length+S;l.piece=new o(r.bufferIndex,f,r.end,h,L),(0,E.updateTreeMetadata)(this,l,S,w)}shrinkNode(l,a,r){const u=l.piece,C=u.start,f=u.end,h=u.length,v=u.lineFeedCnt,w=a,S=this.getLineFeedCnt(u.bufferIndex,u.start,w),L=this.offsetInBuffer(u.bufferIndex,a)-this.offsetInBuffer(u.bufferIndex,C);l.piece=new o(u.bufferIndex,u.start,w,S,L),(0,E.updateTreeMetadata)(this,l,L-h,S-v);const D=new o(u.bufferIndex,r,f,this.getLineFeedCnt(u.bufferIndex,r,f),this.offsetInBuffer(u.bufferIndex,f)-this.offsetInBuffer(u.bufferIndex,r)),T=this.rbInsertRight(l,D);this.validateCRLFWithPrevNode(T)}appendToNode(l,a){this.adjustCarriageReturnFromNext(a,l)&&(a+=` +`);const r=this.shouldCheckCRLF()&&this.startWithLF(a)&&this.endWithCR(l),u=this._buffers[0].buffer.length;this._buffers[0].buffer+=a;const C=p(a,!1);for(let T=0;Tl)a=a.left;else if(a.size_left+a.piece.length>=l){u+=a.size_left;const C={node:a,remainder:l-a.size_left,nodeStartOffset:u};return this._searchCache.set(C),C}else l-=a.size_left+a.piece.length,u+=a.size_left+a.piece.length,a=a.right;return null}nodeAt2(l,a){let r=this.root,u=0;for(;r!==E.SENTINEL;)if(r.left!==E.SENTINEL&&r.lf_left>=l-1)r=r.left;else if(r.lf_left+r.piece.lineFeedCnt>l-1){const C=this.getAccumulatedValue(r,l-r.lf_left-2),f=this.getAccumulatedValue(r,l-r.lf_left-1);return u+=r.size_left,{node:r,remainder:Math.min(C+a-1,f),nodeStartOffset:u}}else if(r.lf_left+r.piece.lineFeedCnt===l-1){const C=this.getAccumulatedValue(r,l-r.lf_left-2);if(C+a-1<=r.piece.length)return{node:r,remainder:C+a-1,nodeStartOffset:u};a-=r.piece.length-C;break}else l-=r.lf_left+r.piece.lineFeedCnt,u+=r.size_left+r.piece.length,r=r.right;for(r=r.next();r!==E.SENTINEL;){if(r.piece.lineFeedCnt>0){const C=this.getAccumulatedValue(r,0),f=this.offsetOfNode(r);return{node:r,remainder:Math.min(a-1,C),nodeStartOffset:f}}else if(r.piece.length>=a-1){const C=this.offsetOfNode(r);return{node:r,remainder:a-1,nodeStartOffset:C}}else a-=r.piece.length;r=r.next()}return null}nodeCharCodeAt(l,a){if(l.piece.lineFeedCnt<1)return-1;const r=this._buffers[l.piece.bufferIndex],u=this.offsetInBuffer(l.piece.bufferIndex,l.piece.start)+a;return r.buffer.charCodeAt(u)}offsetOfNode(l){if(!l)return 0;let a=l.size_left;for(;l!==this.root;)l.parent.right===l&&(a+=l.parent.size_left+l.parent.piece.length),l=l.parent;return a}shouldCheckCRLF(){return!(this._EOLNormalized&&this._EOL===` +`)}startWithLF(l){if(typeof l=="string")return l.charCodeAt(0)===10;if(l===E.SENTINEL||l.piece.lineFeedCnt===0)return!1;const a=l.piece,r=this._buffers[a.bufferIndex].lineStarts,u=a.start.line,C=r[u]+a.start.column;return u===r.length-1||r[u+1]>C+1?!1:this._buffers[a.bufferIndex].buffer.charCodeAt(C)===10}endWithCR(l){return typeof l=="string"?l.charCodeAt(l.length-1)===13:l===E.SENTINEL||l.piece.lineFeedCnt===0?!1:this.nodeCharCodeAt(l,l.piece.length-1)===13}validateCRLFWithPrevNode(l){if(this.shouldCheckCRLF()&&this.startWithLF(l)){const a=l.prev();this.endWithCR(a)&&this.fixCRLF(a,l)}}validateCRLFWithNextNode(l){if(this.shouldCheckCRLF()&&this.endWithCR(l)){const a=l.next();this.startWithLF(a)&&this.fixCRLF(l,a)}}fixCRLF(l,a){const r=[],u=this._buffers[l.piece.bufferIndex].lineStarts;let C;l.piece.end.column===0?C={line:l.piece.end.line-1,column:u[l.piece.end.line]-u[l.piece.end.line-1]-1}:C={line:l.piece.end.line,column:l.piece.end.column-1};const f=l.piece.length-1,h=l.piece.lineFeedCnt-1;l.piece=new o(l.piece.bufferIndex,l.piece.start,C,h,f),(0,E.updateTreeMetadata)(this,l,-1,-1),l.piece.length===0&&r.push(l);const v={line:a.piece.start.line+1,column:0},w=a.piece.length-1,S=this.getLineFeedCnt(a.piece.bufferIndex,v,a.piece.end);a.piece=new o(a.piece.bufferIndex,v,a.piece.end,S,w),(0,E.updateTreeMetadata)(this,a,-1,-1),a.piece.length===0&&r.push(a);const L=this.createNewPieces(`\r +`);this.rbInsertRight(l,L[0]);for(let D=0;D0?this.wrappedTextIndentLength:0}getLineLength(n){const o=n>0?this.breakOffsets[n-1]:0;let i=this.breakOffsets[n]-o;return n>0&&(i+=this.wrappedTextIndentLength),i}getMaxOutputOffset(n){return this.getLineLength(n)}translateToInputOffset(n,o){n>0&&(o=Math.max(0,o-this.wrappedTextIndentLength));let i=n===0?o:this.breakOffsets[n-1]+o;if(this.injectionOffsets!==null)for(let s=0;sthis.injectionOffsets[s];s++)i0?this.breakOffsets[s-1]:0,o===0)if(n<=g)i=s-1;else if(n>l)t=s+1;else break;else if(n=l)t=s+1;else break}let c=n-g;return s>0&&(c+=this.wrappedTextIndentLength),new b(s,c)}normalizeOutputPosition(n,o,t){if(this.injectionOffsets!==null){const i=this.outputPositionToOffsetInInputWithInjections(n,o),s=this.normalizeOffsetInInputWithInjectionsAroundInjections(i,t);if(s!==i)return this.offsetInInputWithInjectionsToOutputPosition(s,t)}if(t===0){if(n>0&&o===this.getMinOutputOffset(n))return new b(n-1,this.getMaxOutputOffset(n-1))}else if(t===1){const i=this.getOutputLineCount()-1;if(n0&&(o=Math.max(0,o-this.wrappedTextIndentLength)),(n>0?this.breakOffsets[n-1]:0)+o}normalizeOffsetInInputWithInjectionsAroundInjections(n,o){const t=this.getInjectedTextAtOffset(n);if(!t)return n;if(o===2){if(n===t.offsetInInputWithInjections+t.length&&y(this.injectionOptions[t.injectedTextIndex].cursorStops))return t.offsetInInputWithInjections+t.length;{let i=t.offsetInInputWithInjections;if(m(this.injectionOptions[t.injectedTextIndex].cursorStops))return i;let s=t.injectedTextIndex-1;for(;s>=0&&this.injectionOffsets[s]===this.injectionOffsets[t.injectedTextIndex]&&!(y(this.injectionOptions[s].cursorStops)||(i-=this.injectionOptions[s].content.length,m(this.injectionOptions[s].cursorStops)));)s--;return i}}else if(o===1||o===4){let i=t.offsetInInputWithInjections+t.length,s=t.injectedTextIndex;for(;s+1=0&&this.injectionOffsets[s-1]===this.injectionOffsets[s];)i-=this.injectionOptions[s-1].content.length,s--;return i}(0,d.assertNever)(o)}getInjectedText(n,o){const t=this.outputPositionToOffsetInInputWithInjections(n,o),i=this.getInjectedTextAtOffset(t);return i?{options:this.injectionOptions[i.injectedTextIndex]}:null}getInjectedTextAtOffset(n){const o=this.injectionOffsets,t=this.injectionOptions;if(o!==null){let i=0;for(let s=0;sn)break;if(n<=l)return{injectedTextIndex:s,offsetInInputWithInjections:c,length:g};i+=g}}}}e.ModelLineProjectionData=E;function y(p){return p==null?!0:p===I.InjectedTextCursorStops.Right||p===I.InjectedTextCursorStops.Both}function m(p){return p==null?!0:p===I.InjectedTextCursorStops.Left||p===I.InjectedTextCursorStops.Both}class _{constructor(n){this.options=n}}e.InjectedText=_;class b{constructor(n,o){this.outputLineIndex=n,this.outputOffset=o}toString(){return`${this.outputLineIndex}:${this.outputOffset}`}toPosition(n){return new k.Position(n+this.outputLineIndex,this.outputOffset+1)}}e.OutputPosition=b}),define(ne[326],se([1,0]),function(oe,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.EditorWorkerHost=void 0;class d{static{this.CHANNEL_NAME="editorWorkerHost"}static getChannel(I){return I.getChannel(d.CHANNEL_NAME)}static setChannel(I,E){I.setChannel(d.CHANNEL_NAME,E)}}e.EditorWorkerHost=d}),define(ne[582],se([1,0]),function(oe,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.findSectionHeaders=I;const d=new RegExp("\\bMARK:\\s*(.*)$","d"),k=/^-+|-+$/g;function I(b,p){let n=[];if(p.findRegionSectionHeaders&&p.foldingRules?.markers){const o=E(b,p);n=n.concat(o)}if(p.findMarkSectionHeaders){const o=y(b);n=n.concat(o)}return n}function E(b,p){const n=[],o=b.getLineCount();for(let t=1;t<=o;t++){const i=b.getLineContent(t),s=i.match(p.foldingRules.markers.start);if(s){const g={startLineNumber:t,startColumn:s[0].length+1,endLineNumber:t,endColumn:i.length+1};if(g.endColumn>g.startColumn){const c={range:g,..._(i.substring(s[0].length)),shouldBeInComments:!1};(c.text||c.hasSeparatorLine)&&n.push(c)}}}return n}function y(b){const p=[],n=b.getLineCount();for(let o=1;o<=n;o++){const t=b.getLineContent(o);m(t,o,p)}return p}function m(b,p,n){d.lastIndex=0;const o=d.exec(b);if(o){const t=o.indices[1][0]+1,i=o.indices[1][1]+1,s={startLineNumber:p,startColumn:t,endLineNumber:p,endColumn:i};if(s.endColumn>s.startColumn){const g={range:s,..._(o[1]),shouldBeInComments:!0};(g.text||g.hasSeparatorLine)&&n.push(g)}}}function _(b){b=b.trim();const p=b.startsWith("-");return b=b.replace(k,""),{text:b,hasSeparatorLine:p}}}),define(ne[327],se([1,0]),function(oe,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DraggedTreeItemsIdentifier=e.TreeViewsDnDService=void 0;class d{constructor(){this._dragOperations=new Map}removeDragOperationTransfer(E){if(E&&this._dragOperations.has(E)){const y=this._dragOperations.get(E);return this._dragOperations.delete(E),y}}}e.TreeViewsDnDService=d;class k{constructor(E){this.identifier=E}}e.DraggedTreeItemsIdentifier=k}),define(ne[328],se([1,0,4,202,11,90,147]),function(oe,e,d,k,I,E,y){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.UnicodeTextModelHighlighter=void 0;class m{static computeUnicodeHighlights(o,t,i){const s=i?i.startLineNumber:1,g=i?i.endLineNumber:o.getLineCount(),c=new b(t),l=c.getCandidateCodePoints();let a;l==="allNonBasicAscii"?a=new RegExp("[^\\t\\n\\r\\x20-\\x7E]","g"):a=new RegExp(`${_(Array.from(l))}`,"g");const r=new k.Searcher(null,a),u=[];let C=!1,f,h=0,v=0,w=0;e:for(let S=s,L=g;S<=L;S++){const D=o.getLineContent(S),T=D.length;r.reset(0);do if(f=r.next(D),f){let M=f.index,A=f.index+f[0].length;if(M>0){const F=D.charCodeAt(M-1);I.isHighSurrogate(F)&&M--}if(A+1=1e3){C=!0;break e}u.push(new d.Range(S,M+1,S,A+1))}}while(f)}return{ranges:u,hasMore:C,ambiguousCharacterCount:h,invisibleCharacterCount:v,nonBasicAsciiCharacterCount:w}}static computeUnicodeHighlightReason(o,t){const i=new b(t);switch(i.shouldHighlightNonBasicASCII(o,null)){case 0:return null;case 2:return{kind:1};case 3:{const g=o.codePointAt(0),c=i.ambiguousCharacters.getPrimaryConfusable(g),l=I.AmbiguousCharacters.getLocales().filter(a=>!I.AmbiguousCharacters.getInstance(new Set([...t.allowedLocales,a])).isAmbiguous(g));return{kind:0,confusableWith:String.fromCodePoint(c),notAmbiguousInLocales:l}}case 1:return{kind:2}}}}e.UnicodeTextModelHighlighter=m;function _(n,o){return`[${I.escapeRegExpCharacters(n.map(i=>String.fromCodePoint(i)).join(""))}]`}class b{constructor(o){this.options=o,this.allowedCodePoints=new Set(o.allowedCodePoints),this.ambiguousCharacters=I.AmbiguousCharacters.getInstance(new Set(o.allowedLocales))}getCandidateCodePoints(){if(this.options.nonBasicASCII)return"allNonBasicAscii";const o=new Set;if(this.options.invisibleCharacters)for(const t of I.InvisibleCharacters.codePoints)p(String.fromCodePoint(t))||o.add(t);if(this.options.ambiguousCharacters)for(const t of this.ambiguousCharacters.getConfusableCodePoints())o.add(t);for(const t of this.allowedCodePoints)o.delete(t);return o}shouldHighlightNonBasicASCII(o,t){const i=o.codePointAt(0);if(this.allowedCodePoints.has(i))return 0;if(this.options.nonBasicASCII)return 1;let s=!1,g=!1;if(t)for(const c of t){const l=c.codePointAt(0),a=I.isBasicASCII(c);s=s||a,!a&&!this.ambiguousCharacters.isAmbiguous(l)&&!I.InvisibleCharacters.isInvisibleCharacter(l)&&(g=!0)}return!s&&g?0:this.options.invisibleCharacters&&!p(o)&&I.InvisibleCharacters.isInvisibleCharacter(i)?2:this.options.ambiguousCharacters&&this.ambiguousCharacters.isAmbiguous(i)?3:0}}function p(n){return n===" "||n===` +`||n===" "}}),define(ne[238],se([1,0]),function(oe,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.WrappingIndent=e.TrackedRangeStickiness=e.TextEditorCursorStyle=e.TextEditorCursorBlinkingStyle=e.SymbolTag=e.SymbolKind=e.SignatureHelpTriggerKind=e.ShowLightbulbIconMode=e.SelectionDirection=e.ScrollbarVisibility=e.ScrollType=e.RenderMinimap=e.RenderLineNumbersType=e.PositionAffinity=e.PartialAcceptTriggerKind=e.OverviewRulerLane=e.OverlayWidgetPositionPreference=e.NewSymbolNameTriggerKind=e.NewSymbolNameTag=e.MouseTargetType=e.MinimapSectionHeaderStyle=e.MinimapPosition=e.MarkerTag=e.MarkerSeverity=e.KeyCode=e.InlineEditTriggerKind=e.InlineCompletionTriggerKind=e.InlayHintKind=e.InjectedTextCursorStops=e.IndentAction=e.HoverVerbosityAction=e.GlyphMarginLane=e.EndOfLineSequence=e.EndOfLinePreference=e.EditorOption=e.EditorAutoIndentStrategy=e.DocumentHighlightKind=e.DefaultEndOfLine=e.CursorChangeReason=e.ContentWidgetPositionPreference=e.CompletionTriggerKind=e.CompletionItemTag=e.CompletionItemKind=e.CompletionItemInsertTextRule=e.CodeActionTriggerType=e.AccessibilitySupport=void 0;var d;(function(R){R[R.Unknown=0]="Unknown",R[R.Disabled=1]="Disabled",R[R.Enabled=2]="Enabled"})(d||(e.AccessibilitySupport=d={}));var k;(function(R){R[R.Invoke=1]="Invoke",R[R.Auto=2]="Auto"})(k||(e.CodeActionTriggerType=k={}));var I;(function(R){R[R.None=0]="None",R[R.KeepWhitespace=1]="KeepWhitespace",R[R.InsertAsSnippet=4]="InsertAsSnippet"})(I||(e.CompletionItemInsertTextRule=I={}));var E;(function(R){R[R.Method=0]="Method",R[R.Function=1]="Function",R[R.Constructor=2]="Constructor",R[R.Field=3]="Field",R[R.Variable=4]="Variable",R[R.Class=5]="Class",R[R.Struct=6]="Struct",R[R.Interface=7]="Interface",R[R.Module=8]="Module",R[R.Property=9]="Property",R[R.Event=10]="Event",R[R.Operator=11]="Operator",R[R.Unit=12]="Unit",R[R.Value=13]="Value",R[R.Constant=14]="Constant",R[R.Enum=15]="Enum",R[R.EnumMember=16]="EnumMember",R[R.Keyword=17]="Keyword",R[R.Text=18]="Text",R[R.Color=19]="Color",R[R.File=20]="File",R[R.Reference=21]="Reference",R[R.Customcolor=22]="Customcolor",R[R.Folder=23]="Folder",R[R.TypeParameter=24]="TypeParameter",R[R.User=25]="User",R[R.Issue=26]="Issue",R[R.Snippet=27]="Snippet"})(E||(e.CompletionItemKind=E={}));var y;(function(R){R[R.Deprecated=1]="Deprecated"})(y||(e.CompletionItemTag=y={}));var m;(function(R){R[R.Invoke=0]="Invoke",R[R.TriggerCharacter=1]="TriggerCharacter",R[R.TriggerForIncompleteCompletions=2]="TriggerForIncompleteCompletions"})(m||(e.CompletionTriggerKind=m={}));var _;(function(R){R[R.EXACT=0]="EXACT",R[R.ABOVE=1]="ABOVE",R[R.BELOW=2]="BELOW"})(_||(e.ContentWidgetPositionPreference=_={}));var b;(function(R){R[R.NotSet=0]="NotSet",R[R.ContentFlush=1]="ContentFlush",R[R.RecoverFromMarkers=2]="RecoverFromMarkers",R[R.Explicit=3]="Explicit",R[R.Paste=4]="Paste",R[R.Undo=5]="Undo",R[R.Redo=6]="Redo"})(b||(e.CursorChangeReason=b={}));var p;(function(R){R[R.LF=1]="LF",R[R.CRLF=2]="CRLF"})(p||(e.DefaultEndOfLine=p={}));var n;(function(R){R[R.Text=0]="Text",R[R.Read=1]="Read",R[R.Write=2]="Write"})(n||(e.DocumentHighlightKind=n={}));var o;(function(R){R[R.None=0]="None",R[R.Keep=1]="Keep",R[R.Brackets=2]="Brackets",R[R.Advanced=3]="Advanced",R[R.Full=4]="Full"})(o||(e.EditorAutoIndentStrategy=o={}));var t;(function(R){R[R.acceptSuggestionOnCommitCharacter=0]="acceptSuggestionOnCommitCharacter",R[R.acceptSuggestionOnEnter=1]="acceptSuggestionOnEnter",R[R.accessibilitySupport=2]="accessibilitySupport",R[R.accessibilityPageSize=3]="accessibilityPageSize",R[R.ariaLabel=4]="ariaLabel",R[R.ariaRequired=5]="ariaRequired",R[R.autoClosingBrackets=6]="autoClosingBrackets",R[R.autoClosingComments=7]="autoClosingComments",R[R.screenReaderAnnounceInlineSuggestion=8]="screenReaderAnnounceInlineSuggestion",R[R.autoClosingDelete=9]="autoClosingDelete",R[R.autoClosingOvertype=10]="autoClosingOvertype",R[R.autoClosingQuotes=11]="autoClosingQuotes",R[R.autoIndent=12]="autoIndent",R[R.automaticLayout=13]="automaticLayout",R[R.autoSurround=14]="autoSurround",R[R.bracketPairColorization=15]="bracketPairColorization",R[R.guides=16]="guides",R[R.codeLens=17]="codeLens",R[R.codeLensFontFamily=18]="codeLensFontFamily",R[R.codeLensFontSize=19]="codeLensFontSize",R[R.colorDecorators=20]="colorDecorators",R[R.colorDecoratorsLimit=21]="colorDecoratorsLimit",R[R.columnSelection=22]="columnSelection",R[R.comments=23]="comments",R[R.contextmenu=24]="contextmenu",R[R.copyWithSyntaxHighlighting=25]="copyWithSyntaxHighlighting",R[R.cursorBlinking=26]="cursorBlinking",R[R.cursorSmoothCaretAnimation=27]="cursorSmoothCaretAnimation",R[R.cursorStyle=28]="cursorStyle",R[R.cursorSurroundingLines=29]="cursorSurroundingLines",R[R.cursorSurroundingLinesStyle=30]="cursorSurroundingLinesStyle",R[R.cursorWidth=31]="cursorWidth",R[R.disableLayerHinting=32]="disableLayerHinting",R[R.disableMonospaceOptimizations=33]="disableMonospaceOptimizations",R[R.domReadOnly=34]="domReadOnly",R[R.dragAndDrop=35]="dragAndDrop",R[R.dropIntoEditor=36]="dropIntoEditor",R[R.emptySelectionClipboard=37]="emptySelectionClipboard",R[R.experimentalWhitespaceRendering=38]="experimentalWhitespaceRendering",R[R.extraEditorClassName=39]="extraEditorClassName",R[R.fastScrollSensitivity=40]="fastScrollSensitivity",R[R.find=41]="find",R[R.fixedOverflowWidgets=42]="fixedOverflowWidgets",R[R.folding=43]="folding",R[R.foldingStrategy=44]="foldingStrategy",R[R.foldingHighlight=45]="foldingHighlight",R[R.foldingImportsByDefault=46]="foldingImportsByDefault",R[R.foldingMaximumRegions=47]="foldingMaximumRegions",R[R.unfoldOnClickAfterEndOfLine=48]="unfoldOnClickAfterEndOfLine",R[R.fontFamily=49]="fontFamily",R[R.fontInfo=50]="fontInfo",R[R.fontLigatures=51]="fontLigatures",R[R.fontSize=52]="fontSize",R[R.fontWeight=53]="fontWeight",R[R.fontVariations=54]="fontVariations",R[R.formatOnPaste=55]="formatOnPaste",R[R.formatOnType=56]="formatOnType",R[R.glyphMargin=57]="glyphMargin",R[R.gotoLocation=58]="gotoLocation",R[R.hideCursorInOverviewRuler=59]="hideCursorInOverviewRuler",R[R.hover=60]="hover",R[R.inDiffEditor=61]="inDiffEditor",R[R.inlineSuggest=62]="inlineSuggest",R[R.inlineEdit=63]="inlineEdit",R[R.letterSpacing=64]="letterSpacing",R[R.lightbulb=65]="lightbulb",R[R.lineDecorationsWidth=66]="lineDecorationsWidth",R[R.lineHeight=67]="lineHeight",R[R.lineNumbers=68]="lineNumbers",R[R.lineNumbersMinChars=69]="lineNumbersMinChars",R[R.linkedEditing=70]="linkedEditing",R[R.links=71]="links",R[R.matchBrackets=72]="matchBrackets",R[R.minimap=73]="minimap",R[R.mouseStyle=74]="mouseStyle",R[R.mouseWheelScrollSensitivity=75]="mouseWheelScrollSensitivity",R[R.mouseWheelZoom=76]="mouseWheelZoom",R[R.multiCursorMergeOverlapping=77]="multiCursorMergeOverlapping",R[R.multiCursorModifier=78]="multiCursorModifier",R[R.multiCursorPaste=79]="multiCursorPaste",R[R.multiCursorLimit=80]="multiCursorLimit",R[R.occurrencesHighlight=81]="occurrencesHighlight",R[R.overviewRulerBorder=82]="overviewRulerBorder",R[R.overviewRulerLanes=83]="overviewRulerLanes",R[R.padding=84]="padding",R[R.pasteAs=85]="pasteAs",R[R.parameterHints=86]="parameterHints",R[R.peekWidgetDefaultFocus=87]="peekWidgetDefaultFocus",R[R.placeholder=88]="placeholder",R[R.definitionLinkOpensInPeek=89]="definitionLinkOpensInPeek",R[R.quickSuggestions=90]="quickSuggestions",R[R.quickSuggestionsDelay=91]="quickSuggestionsDelay",R[R.readOnly=92]="readOnly",R[R.readOnlyMessage=93]="readOnlyMessage",R[R.renameOnType=94]="renameOnType",R[R.renderControlCharacters=95]="renderControlCharacters",R[R.renderFinalNewline=96]="renderFinalNewline",R[R.renderLineHighlight=97]="renderLineHighlight",R[R.renderLineHighlightOnlyWhenFocus=98]="renderLineHighlightOnlyWhenFocus",R[R.renderValidationDecorations=99]="renderValidationDecorations",R[R.renderWhitespace=100]="renderWhitespace",R[R.revealHorizontalRightPadding=101]="revealHorizontalRightPadding",R[R.roundedSelection=102]="roundedSelection",R[R.rulers=103]="rulers",R[R.scrollbar=104]="scrollbar",R[R.scrollBeyondLastColumn=105]="scrollBeyondLastColumn",R[R.scrollBeyondLastLine=106]="scrollBeyondLastLine",R[R.scrollPredominantAxis=107]="scrollPredominantAxis",R[R.selectionClipboard=108]="selectionClipboard",R[R.selectionHighlight=109]="selectionHighlight",R[R.selectOnLineNumbers=110]="selectOnLineNumbers",R[R.showFoldingControls=111]="showFoldingControls",R[R.showUnused=112]="showUnused",R[R.snippetSuggestions=113]="snippetSuggestions",R[R.smartSelect=114]="smartSelect",R[R.smoothScrolling=115]="smoothScrolling",R[R.stickyScroll=116]="stickyScroll",R[R.stickyTabStops=117]="stickyTabStops",R[R.stopRenderingLineAfter=118]="stopRenderingLineAfter",R[R.suggest=119]="suggest",R[R.suggestFontSize=120]="suggestFontSize",R[R.suggestLineHeight=121]="suggestLineHeight",R[R.suggestOnTriggerCharacters=122]="suggestOnTriggerCharacters",R[R.suggestSelection=123]="suggestSelection",R[R.tabCompletion=124]="tabCompletion",R[R.tabIndex=125]="tabIndex",R[R.unicodeHighlighting=126]="unicodeHighlighting",R[R.unusualLineTerminators=127]="unusualLineTerminators",R[R.useShadowDOM=128]="useShadowDOM",R[R.useTabStops=129]="useTabStops",R[R.wordBreak=130]="wordBreak",R[R.wordSegmenterLocales=131]="wordSegmenterLocales",R[R.wordSeparators=132]="wordSeparators",R[R.wordWrap=133]="wordWrap",R[R.wordWrapBreakAfterCharacters=134]="wordWrapBreakAfterCharacters",R[R.wordWrapBreakBeforeCharacters=135]="wordWrapBreakBeforeCharacters",R[R.wordWrapColumn=136]="wordWrapColumn",R[R.wordWrapOverride1=137]="wordWrapOverride1",R[R.wordWrapOverride2=138]="wordWrapOverride2",R[R.wrappingIndent=139]="wrappingIndent",R[R.wrappingStrategy=140]="wrappingStrategy",R[R.showDeprecated=141]="showDeprecated",R[R.inlayHints=142]="inlayHints",R[R.editorClassName=143]="editorClassName",R[R.pixelRatio=144]="pixelRatio",R[R.tabFocusMode=145]="tabFocusMode",R[R.layoutInfo=146]="layoutInfo",R[R.wrappingInfo=147]="wrappingInfo",R[R.defaultColorDecorators=148]="defaultColorDecorators",R[R.colorDecoratorsActivatedOn=149]="colorDecoratorsActivatedOn",R[R.inlineCompletionsAccessibilityVerbose=150]="inlineCompletionsAccessibilityVerbose"})(t||(e.EditorOption=t={}));var i;(function(R){R[R.TextDefined=0]="TextDefined",R[R.LF=1]="LF",R[R.CRLF=2]="CRLF"})(i||(e.EndOfLinePreference=i={}));var s;(function(R){R[R.LF=0]="LF",R[R.CRLF=1]="CRLF"})(s||(e.EndOfLineSequence=s={}));var g;(function(R){R[R.Left=1]="Left",R[R.Center=2]="Center",R[R.Right=3]="Right"})(g||(e.GlyphMarginLane=g={}));var c;(function(R){R[R.Increase=0]="Increase",R[R.Decrease=1]="Decrease"})(c||(e.HoverVerbosityAction=c={}));var l;(function(R){R[R.None=0]="None",R[R.Indent=1]="Indent",R[R.IndentOutdent=2]="IndentOutdent",R[R.Outdent=3]="Outdent"})(l||(e.IndentAction=l={}));var a;(function(R){R[R.Both=0]="Both",R[R.Right=1]="Right",R[R.Left=2]="Left",R[R.None=3]="None"})(a||(e.InjectedTextCursorStops=a={}));var r;(function(R){R[R.Type=1]="Type",R[R.Parameter=2]="Parameter"})(r||(e.InlayHintKind=r={}));var u;(function(R){R[R.Automatic=0]="Automatic",R[R.Explicit=1]="Explicit"})(u||(e.InlineCompletionTriggerKind=u={}));var C;(function(R){R[R.Invoke=0]="Invoke",R[R.Automatic=1]="Automatic"})(C||(e.InlineEditTriggerKind=C={}));var f;(function(R){R[R.DependsOnKbLayout=-1]="DependsOnKbLayout",R[R.Unknown=0]="Unknown",R[R.Backspace=1]="Backspace",R[R.Tab=2]="Tab",R[R.Enter=3]="Enter",R[R.Shift=4]="Shift",R[R.Ctrl=5]="Ctrl",R[R.Alt=6]="Alt",R[R.PauseBreak=7]="PauseBreak",R[R.CapsLock=8]="CapsLock",R[R.Escape=9]="Escape",R[R.Space=10]="Space",R[R.PageUp=11]="PageUp",R[R.PageDown=12]="PageDown",R[R.End=13]="End",R[R.Home=14]="Home",R[R.LeftArrow=15]="LeftArrow",R[R.UpArrow=16]="UpArrow",R[R.RightArrow=17]="RightArrow",R[R.DownArrow=18]="DownArrow",R[R.Insert=19]="Insert",R[R.Delete=20]="Delete",R[R.Digit0=21]="Digit0",R[R.Digit1=22]="Digit1",R[R.Digit2=23]="Digit2",R[R.Digit3=24]="Digit3",R[R.Digit4=25]="Digit4",R[R.Digit5=26]="Digit5",R[R.Digit6=27]="Digit6",R[R.Digit7=28]="Digit7",R[R.Digit8=29]="Digit8",R[R.Digit9=30]="Digit9",R[R.KeyA=31]="KeyA",R[R.KeyB=32]="KeyB",R[R.KeyC=33]="KeyC",R[R.KeyD=34]="KeyD",R[R.KeyE=35]="KeyE",R[R.KeyF=36]="KeyF",R[R.KeyG=37]="KeyG",R[R.KeyH=38]="KeyH",R[R.KeyI=39]="KeyI",R[R.KeyJ=40]="KeyJ",R[R.KeyK=41]="KeyK",R[R.KeyL=42]="KeyL",R[R.KeyM=43]="KeyM",R[R.KeyN=44]="KeyN",R[R.KeyO=45]="KeyO",R[R.KeyP=46]="KeyP",R[R.KeyQ=47]="KeyQ",R[R.KeyR=48]="KeyR",R[R.KeyS=49]="KeyS",R[R.KeyT=50]="KeyT",R[R.KeyU=51]="KeyU",R[R.KeyV=52]="KeyV",R[R.KeyW=53]="KeyW",R[R.KeyX=54]="KeyX",R[R.KeyY=55]="KeyY",R[R.KeyZ=56]="KeyZ",R[R.Meta=57]="Meta",R[R.ContextMenu=58]="ContextMenu",R[R.F1=59]="F1",R[R.F2=60]="F2",R[R.F3=61]="F3",R[R.F4=62]="F4",R[R.F5=63]="F5",R[R.F6=64]="F6",R[R.F7=65]="F7",R[R.F8=66]="F8",R[R.F9=67]="F9",R[R.F10=68]="F10",R[R.F11=69]="F11",R[R.F12=70]="F12",R[R.F13=71]="F13",R[R.F14=72]="F14",R[R.F15=73]="F15",R[R.F16=74]="F16",R[R.F17=75]="F17",R[R.F18=76]="F18",R[R.F19=77]="F19",R[R.F20=78]="F20",R[R.F21=79]="F21",R[R.F22=80]="F22",R[R.F23=81]="F23",R[R.F24=82]="F24",R[R.NumLock=83]="NumLock",R[R.ScrollLock=84]="ScrollLock",R[R.Semicolon=85]="Semicolon",R[R.Equal=86]="Equal",R[R.Comma=87]="Comma",R[R.Minus=88]="Minus",R[R.Period=89]="Period",R[R.Slash=90]="Slash",R[R.Backquote=91]="Backquote",R[R.BracketLeft=92]="BracketLeft",R[R.Backslash=93]="Backslash",R[R.BracketRight=94]="BracketRight",R[R.Quote=95]="Quote",R[R.OEM_8=96]="OEM_8",R[R.IntlBackslash=97]="IntlBackslash",R[R.Numpad0=98]="Numpad0",R[R.Numpad1=99]="Numpad1",R[R.Numpad2=100]="Numpad2",R[R.Numpad3=101]="Numpad3",R[R.Numpad4=102]="Numpad4",R[R.Numpad5=103]="Numpad5",R[R.Numpad6=104]="Numpad6",R[R.Numpad7=105]="Numpad7",R[R.Numpad8=106]="Numpad8",R[R.Numpad9=107]="Numpad9",R[R.NumpadMultiply=108]="NumpadMultiply",R[R.NumpadAdd=109]="NumpadAdd",R[R.NUMPAD_SEPARATOR=110]="NUMPAD_SEPARATOR",R[R.NumpadSubtract=111]="NumpadSubtract",R[R.NumpadDecimal=112]="NumpadDecimal",R[R.NumpadDivide=113]="NumpadDivide",R[R.KEY_IN_COMPOSITION=114]="KEY_IN_COMPOSITION",R[R.ABNT_C1=115]="ABNT_C1",R[R.ABNT_C2=116]="ABNT_C2",R[R.AudioVolumeMute=117]="AudioVolumeMute",R[R.AudioVolumeUp=118]="AudioVolumeUp",R[R.AudioVolumeDown=119]="AudioVolumeDown",R[R.BrowserSearch=120]="BrowserSearch",R[R.BrowserHome=121]="BrowserHome",R[R.BrowserBack=122]="BrowserBack",R[R.BrowserForward=123]="BrowserForward",R[R.MediaTrackNext=124]="MediaTrackNext",R[R.MediaTrackPrevious=125]="MediaTrackPrevious",R[R.MediaStop=126]="MediaStop",R[R.MediaPlayPause=127]="MediaPlayPause",R[R.LaunchMediaPlayer=128]="LaunchMediaPlayer",R[R.LaunchMail=129]="LaunchMail",R[R.LaunchApp2=130]="LaunchApp2",R[R.Clear=131]="Clear",R[R.MAX_VALUE=132]="MAX_VALUE"})(f||(e.KeyCode=f={}));var h;(function(R){R[R.Hint=1]="Hint",R[R.Info=2]="Info",R[R.Warning=4]="Warning",R[R.Error=8]="Error"})(h||(e.MarkerSeverity=h={}));var v;(function(R){R[R.Unnecessary=1]="Unnecessary",R[R.Deprecated=2]="Deprecated"})(v||(e.MarkerTag=v={}));var w;(function(R){R[R.Inline=1]="Inline",R[R.Gutter=2]="Gutter"})(w||(e.MinimapPosition=w={}));var S;(function(R){R[R.Normal=1]="Normal",R[R.Underlined=2]="Underlined"})(S||(e.MinimapSectionHeaderStyle=S={}));var L;(function(R){R[R.UNKNOWN=0]="UNKNOWN",R[R.TEXTAREA=1]="TEXTAREA",R[R.GUTTER_GLYPH_MARGIN=2]="GUTTER_GLYPH_MARGIN",R[R.GUTTER_LINE_NUMBERS=3]="GUTTER_LINE_NUMBERS",R[R.GUTTER_LINE_DECORATIONS=4]="GUTTER_LINE_DECORATIONS",R[R.GUTTER_VIEW_ZONE=5]="GUTTER_VIEW_ZONE",R[R.CONTENT_TEXT=6]="CONTENT_TEXT",R[R.CONTENT_EMPTY=7]="CONTENT_EMPTY",R[R.CONTENT_VIEW_ZONE=8]="CONTENT_VIEW_ZONE",R[R.CONTENT_WIDGET=9]="CONTENT_WIDGET",R[R.OVERVIEW_RULER=10]="OVERVIEW_RULER",R[R.SCROLLBAR=11]="SCROLLBAR",R[R.OVERLAY_WIDGET=12]="OVERLAY_WIDGET",R[R.OUTSIDE_EDITOR=13]="OUTSIDE_EDITOR"})(L||(e.MouseTargetType=L={}));var D;(function(R){R[R.AIGenerated=1]="AIGenerated"})(D||(e.NewSymbolNameTag=D={}));var T;(function(R){R[R.Invoke=0]="Invoke",R[R.Automatic=1]="Automatic"})(T||(e.NewSymbolNameTriggerKind=T={}));var M;(function(R){R[R.TOP_RIGHT_CORNER=0]="TOP_RIGHT_CORNER",R[R.BOTTOM_RIGHT_CORNER=1]="BOTTOM_RIGHT_CORNER",R[R.TOP_CENTER=2]="TOP_CENTER"})(M||(e.OverlayWidgetPositionPreference=M={}));var A;(function(R){R[R.Left=1]="Left",R[R.Center=2]="Center",R[R.Right=4]="Right",R[R.Full=7]="Full"})(A||(e.OverviewRulerLane=A={}));var P;(function(R){R[R.Word=0]="Word",R[R.Line=1]="Line",R[R.Suggest=2]="Suggest"})(P||(e.PartialAcceptTriggerKind=P={}));var N;(function(R){R[R.Left=0]="Left",R[R.Right=1]="Right",R[R.None=2]="None",R[R.LeftOfInjectedText=3]="LeftOfInjectedText",R[R.RightOfInjectedText=4]="RightOfInjectedText"})(N||(e.PositionAffinity=N={}));var O;(function(R){R[R.Off=0]="Off",R[R.On=1]="On",R[R.Relative=2]="Relative",R[R.Interval=3]="Interval",R[R.Custom=4]="Custom"})(O||(e.RenderLineNumbersType=O={}));var F;(function(R){R[R.None=0]="None",R[R.Text=1]="Text",R[R.Blocks=2]="Blocks"})(F||(e.RenderMinimap=F={}));var x;(function(R){R[R.Smooth=0]="Smooth",R[R.Immediate=1]="Immediate"})(x||(e.ScrollType=x={}));var W;(function(R){R[R.Auto=1]="Auto",R[R.Hidden=2]="Hidden",R[R.Visible=3]="Visible"})(W||(e.ScrollbarVisibility=W={}));var V;(function(R){R[R.LTR=0]="LTR",R[R.RTL=1]="RTL"})(V||(e.SelectionDirection=V={}));var q;(function(R){R.Off="off",R.OnCode="onCode",R.On="on"})(q||(e.ShowLightbulbIconMode=q={}));var H;(function(R){R[R.Invoke=1]="Invoke",R[R.TriggerCharacter=2]="TriggerCharacter",R[R.ContentChange=3]="ContentChange"})(H||(e.SignatureHelpTriggerKind=H={}));var z;(function(R){R[R.File=0]="File",R[R.Module=1]="Module",R[R.Namespace=2]="Namespace",R[R.Package=3]="Package",R[R.Class=4]="Class",R[R.Method=5]="Method",R[R.Property=6]="Property",R[R.Field=7]="Field",R[R.Constructor=8]="Constructor",R[R.Enum=9]="Enum",R[R.Interface=10]="Interface",R[R.Function=11]="Function",R[R.Variable=12]="Variable",R[R.Constant=13]="Constant",R[R.String=14]="String",R[R.Number=15]="Number",R[R.Boolean=16]="Boolean",R[R.Array=17]="Array",R[R.Object=18]="Object",R[R.Key=19]="Key",R[R.Null=20]="Null",R[R.EnumMember=21]="EnumMember",R[R.Struct=22]="Struct",R[R.Event=23]="Event",R[R.Operator=24]="Operator",R[R.TypeParameter=25]="TypeParameter"})(z||(e.SymbolKind=z={}));var U;(function(R){R[R.Deprecated=1]="Deprecated"})(U||(e.SymbolTag=U={}));var j;(function(R){R[R.Hidden=0]="Hidden",R[R.Blink=1]="Blink",R[R.Smooth=2]="Smooth",R[R.Phase=3]="Phase",R[R.Expand=4]="Expand",R[R.Solid=5]="Solid"})(j||(e.TextEditorCursorBlinkingStyle=j={}));var Q;(function(R){R[R.Line=1]="Line",R[R.Block=2]="Block",R[R.Underline=3]="Underline",R[R.LineThin=4]="LineThin",R[R.BlockOutline=5]="BlockOutline",R[R.UnderlineThin=6]="UnderlineThin"})(Q||(e.TextEditorCursorStyle=Q={}));var G;(function(R){R[R.AlwaysGrowsWhenTypingAtEdges=0]="AlwaysGrowsWhenTypingAtEdges",R[R.NeverGrowsWhenTypingAtEdges=1]="NeverGrowsWhenTypingAtEdges",R[R.GrowsOnlyWhenTypingBefore=2]="GrowsOnlyWhenTypingBefore",R[R.GrowsOnlyWhenTypingAfter=3]="GrowsOnlyWhenTypingAfter"})(G||(e.TrackedRangeStickiness=G={}));var K;(function(R){R[R.None=0]="None",R[R.Same=1]="Same",R[R.Indent=2]="Indent",R[R.DeepIndent=3]="DeepIndent"})(K||(e.WrappingIndent=K={}))}),define(ne[583],se([1,0]),function(oe,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.BracketPairWithMinIndentationInfo=e.BracketPairInfo=e.BracketInfo=void 0;class d{constructor(y,m,_,b){this.range=y,this.nestingLevel=m,this.nestingLevelOfEqualBracketType=_,this.isInvalid=b}}e.BracketInfo=d;class k{constructor(y,m,_,b,p,n){this.range=y,this.openingBracketRange=m,this.closingBracketRange=_,this.nestingLevel=b,this.nestingLevelOfEqualBracketType=p,this.bracketPairNode=n}get openingBracketInfo(){return this.bracketPairNode.openingBracket.bracketInfo}}e.BracketPairInfo=k;class I extends k{constructor(y,m,_,b,p,n,o){super(y,m,_,b,p,n),this.minVisibleColumnIndentation=o}}e.BracketPairWithMinIndentationInfo=I}),define(ne[584],se([1,0,6,2,583,200,321,106,320,149,236,13,319]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.BracketPairsTree=void 0;class t extends k.Disposable{didLanguageChange(r){return this.brackets.didLanguageChange(r)}constructor(r,u){if(super(),this.textModel=r,this.getLanguageConfiguration=u,this.didChangeEmitter=new d.Emitter,this.denseKeyProvider=new b.DenseKeyProvider,this.brackets=new y.LanguageAgnosticBracketTokens(this.denseKeyProvider,this.getLanguageConfiguration),this.onDidChange=this.didChangeEmitter.event,this.queuedTextEditsForInitialAstWithoutTokens=[],this.queuedTextEdits=[],r.tokenization.hasTokens)r.tokenization.backgroundTokenizationState===2?(this.initialAstWithoutTokens=void 0,this.astWithTokens=this.parseDocumentFromTextBuffer([],void 0,!1)):(this.initialAstWithoutTokens=this.parseDocumentFromTextBuffer([],void 0,!0),this.astWithTokens=this.initialAstWithoutTokens);else{const C=this.brackets.getSingleLanguageBracketTokens(this.textModel.getLanguageId()),f=new p.FastTokenizer(this.textModel.getValue(),C);this.initialAstWithoutTokens=(0,_.parseDocument)(f,[],void 0,!0),this.astWithTokens=this.initialAstWithoutTokens}}handleDidChangeBackgroundTokenizationState(){if(this.textModel.tokenization.backgroundTokenizationState===2){const r=this.initialAstWithoutTokens===void 0;this.initialAstWithoutTokens=void 0,r||this.didChangeEmitter.fire()}}handleDidChangeTokens({ranges:r}){const u=r.map(C=>new E.TextEditInfo((0,m.toLength)(C.fromLineNumber-1,0),(0,m.toLength)(C.toLineNumber,0),(0,m.toLength)(C.toLineNumber-C.fromLineNumber+1,0)));this.handleEdits(u,!0),this.initialAstWithoutTokens||this.didChangeEmitter.fire()}handleContentChanged(r){const u=E.TextEditInfo.fromModelContentChanges(r.changes);this.handleEdits(u,!1)}handleEdits(r,u){const C=(0,o.combineTextEditInfos)(this.queuedTextEdits,r);this.queuedTextEdits=C,this.initialAstWithoutTokens&&!u&&(this.queuedTextEditsForInitialAstWithoutTokens=(0,o.combineTextEditInfos)(this.queuedTextEditsForInitialAstWithoutTokens,r))}flushQueue(){this.queuedTextEdits.length>0&&(this.astWithTokens=this.parseDocumentFromTextBuffer(this.queuedTextEdits,this.astWithTokens,!1),this.queuedTextEdits=[]),this.queuedTextEditsForInitialAstWithoutTokens.length>0&&(this.initialAstWithoutTokens&&(this.initialAstWithoutTokens=this.parseDocumentFromTextBuffer(this.queuedTextEditsForInitialAstWithoutTokens,this.initialAstWithoutTokens,!1)),this.queuedTextEditsForInitialAstWithoutTokens=[])}parseDocumentFromTextBuffer(r,u,C){const h=u,v=new p.TextBufferTokenizer(this.textModel,this.brackets);return(0,_.parseDocument)(v,r,h,C)}getBracketsInRange(r,u){this.flushQueue();const C=(0,m.toLength)(r.startLineNumber-1,r.startColumn-1),f=(0,m.toLength)(r.endLineNumber-1,r.endColumn-1);return new n.CallbackIterable(h=>{const v=this.initialAstWithoutTokens||this.astWithTokens;g(v,m.lengthZero,v.length,C,f,h,0,0,new Map,u)})}getBracketPairsInRange(r,u){this.flushQueue();const C=(0,m.positionToLength)(r.getStartPosition()),f=(0,m.positionToLength)(r.getEndPosition());return new n.CallbackIterable(h=>{const v=this.initialAstWithoutTokens||this.astWithTokens,w=new c(h,u,this.textModel);l(v,m.lengthZero,v.length,C,f,w,0,new Map)})}getFirstBracketAfter(r){this.flushQueue();const u=this.initialAstWithoutTokens||this.astWithTokens;return s(u,m.lengthZero,u.length,(0,m.positionToLength)(r))}getFirstBracketBefore(r){this.flushQueue();const u=this.initialAstWithoutTokens||this.astWithTokens;return i(u,m.lengthZero,u.length,(0,m.positionToLength)(r))}}e.BracketPairsTree=t;function i(a,r,u,C){if(a.kind===4||a.kind===2){const f=[];for(const h of a.children)u=(0,m.lengthAdd)(r,h.length),f.push({nodeOffsetStart:r,nodeOffsetEnd:u}),r=u;for(let h=f.length-1;h>=0;h--){const{nodeOffsetStart:v,nodeOffsetEnd:w}=f[h];if((0,m.lengthLessThan)(v,C)){const S=i(a.children[h],v,w,C);if(S)return S}}return null}else{if(a.kind===3)return null;if(a.kind===1){const f=(0,m.lengthsToRange)(r,u);return{bracketInfo:a.bracketInfo,range:f}}}return null}function s(a,r,u,C){if(a.kind===4||a.kind===2){for(const f of a.children){if(u=(0,m.lengthAdd)(r,f.length),(0,m.lengthLessThan)(C,u)){const h=s(f,r,u,C);if(h)return h}r=u}return null}else{if(a.kind===3)return null;if(a.kind===1){const f=(0,m.lengthsToRange)(r,u);return{bracketInfo:a.bracketInfo,range:f}}}return null}function g(a,r,u,C,f,h,v,w,S,L,D=!1){if(v>200)return!0;e:for(;;)switch(a.kind){case 4:{const T=a.childrenLength;for(let M=0;M200)return!0;let S=!0;if(a.kind===2){let L=0;if(w){let M=w.get(a.openingBracket.text);M===void 0&&(M=0),L=M,M++,w.set(a.openingBracket.text,M)}const D=(0,m.lengthAdd)(r,a.openingBracket.length);let T=-1;if(h.includeMinIndentation&&(T=a.computeMinIndentation(r,h.textModel)),S=h.push(new I.BracketPairWithMinIndentationInfo((0,m.lengthsToRange)(r,u),(0,m.lengthsToRange)(r,D),a.closingBracket?(0,m.lengthsToRange)((0,m.lengthAdd)(D,a.child?.length||m.lengthZero),u):void 0,v,L,a,T)),r=D,S&&a.child){const M=a.child;if(u=(0,m.lengthAdd)(r,M.length),(0,m.lengthLessThanEqual)(r,f)&&(0,m.lengthGreaterThanEqual)(u,C)&&(S=l(M,r,u,C,f,h,v+1,w),!S))return!1}w?.set(a.openingBracket.text,L)}else{let L=r;for(const D of a.children){const T=L;if(L=(0,m.lengthAdd)(L,D.length),(0,m.lengthLessThanEqual)(T,f)&&(0,m.lengthLessThanEqual)(C,L)&&(S=l(D,T,L,C,f,h,v,w),!S))return!1}}return S}}),define(ne[132],se([1,0]),function(oe,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.InternalModelContentChangeEvent=e.ModelInjectedTextChangedEvent=e.ModelRawContentChangedEvent=e.ModelRawEOLChanged=e.ModelRawLinesInserted=e.ModelRawLinesDeleted=e.ModelRawLineChanged=e.LineInjectedText=e.ModelRawFlush=void 0;class d{constructor(){this.changeType=1}}e.ModelRawFlush=d;class k{static applyInjectedText(o,t){if(!t||t.length===0)return o;let i="",s=0;for(const g of t)i+=o.substring(s,g.column-1),s=g.column-1,i+=g.options.content;return i+=o.substring(s),i}static fromDecorations(o){const t=[];for(const i of o)i.options.before&&i.options.before.content.length>0&&t.push(new k(i.ownerId,i.range.startLineNumber,i.range.startColumn,i.options.before,0)),i.options.after&&i.options.after.content.length>0&&t.push(new k(i.ownerId,i.range.endLineNumber,i.range.endColumn,i.options.after,1));return t.sort((i,s)=>i.lineNumber===s.lineNumber?i.column===s.column?i.order-s.order:i.column-s.column:i.lineNumber-s.lineNumber),t}constructor(o,t,i,s,g){this.ownerId=o,this.lineNumber=t,this.column=i,this.options=s,this.order=g}}e.LineInjectedText=k;class I{constructor(o,t,i){this.changeType=2,this.lineNumber=o,this.detail=t,this.injectedText=i}}e.ModelRawLineChanged=I;class E{constructor(o,t){this.changeType=3,this.fromLineNumber=o,this.toLineNumber=t}}e.ModelRawLinesDeleted=E;class y{constructor(o,t,i,s){this.changeType=4,this.injectedTexts=s,this.fromLineNumber=o,this.toLineNumber=t,this.detail=i}}e.ModelRawLinesInserted=y;class m{constructor(){this.changeType=5}}e.ModelRawEOLChanged=m;class _{constructor(o,t,i,s){this.changes=o,this.versionId=t,this.isUndoing=i,this.isRedoing=s,this.resultingSelection=null}containsEvent(o){for(let t=0,i=this.changes.length;tg)throw new b.BugIndicatingError("Illegal value for lineNumber");const c=this.getLanguageConfiguration(this.textModel.getLanguageId()).foldingRules,l=!!(c&&c.offSide);let a=-2,r=-1,u=-2,C=-1;const f=O=>{if(a!==-1&&(a===-2||a>O-1)){a=-1,r=-1;for(let F=O-2;F>=0;F--){const x=this._computeIndentLevel(F);if(x>=0){a=F,r=x;break}}}if(u===-2){u=-1,C=-1;for(let F=O;F=0){u=F,C=x;break}}}};let h=-2,v=-1,w=-2,S=-1;const L=O=>{if(h===-2){h=-1,v=-1;for(let F=O-2;F>=0;F--){const x=this._computeIndentLevel(F);if(x>=0){h=F,v=x;break}}}if(w!==-1&&(w===-2||w=0){w=F,S=x;break}}}};let D=0,T=!0,M=0,A=!0,P=0,N=0;for(let O=0;T||A;O++){const F=t-O,x=t+O;O>1&&(F<1||F1&&(x>g||x>s)&&(A=!1),O>5e4&&(T=!1,A=!1);let W=-1;if(T&&F>=1){const q=this._computeIndentLevel(F-1);q>=0?(u=F-1,C=q,W=Math.ceil(q/this.textModel.getOptions().indentSize)):(f(F),W=this._getIndentLevelForWhitespaceLine(l,r,C))}let V=-1;if(A&&x<=g){const q=this._computeIndentLevel(x-1);q>=0?(h=x-1,v=q,V=Math.ceil(q/this.textModel.getOptions().indentSize)):(L(x),V=this._getIndentLevelForWhitespaceLine(l,v,S))}if(O===0){N=W;continue}if(O===1){if(x<=g&&V>=0&&N+1===V){T=!1,D=x,M=x,P=V;continue}if(F>=1&&W>=0&&W-1===N){A=!1,D=F,M=F,P=W;continue}if(D=t,M=t,P=N,P===0)return{startLineNumber:D,endLineNumber:M,indent:P}}T&&(W>=P?D=F:T=!1),A&&(V>=P?M=x:A=!1)}return{startLineNumber:D,endLineNumber:M,indent:P}}getLinesBracketGuides(t,i,s,g){const c=[];for(let f=t;f<=i;f++)c.push([]);const l=!0,a=this.textModel.bracketPairs.getBracketPairsInRangeWithMinIndentation(new E.Range(t,1,i,this.textModel.getLineMaxColumn(i))).toArray();let r;if(s&&a.length>0){const f=(t<=s.lineNumber&&s.lineNumber<=i?a:this.textModel.bracketPairs.getBracketPairsInRange(E.Range.fromPositions(s)).toArray()).filter(h=>E.Range.strictContainsPosition(h.range,s));r=(0,d.findLast)(f,h=>l||h.range.startLineNumber!==h.range.endLineNumber)?.range}const u=this.textModel.getOptions().bracketPairColorizationOptions.independentColorPoolPerBracketType,C=new n;for(const f of a){if(!f.closingBracketRange)continue;const h=r&&f.range.equalsRange(r);if(!h&&!g.includeInactive)continue;const v=C.getInlineClassName(f.nestingLevel,f.nestingLevelOfEqualBracketType,u)+(g.highlightActive&&h?" "+C.activeClassName:""),w=f.openingBracketRange.getStartPosition(),S=f.closingBracketRange.getStartPosition(),L=g.horizontalGuides===_.HorizontalGuidesState.Enabled||g.horizontalGuides===_.HorizontalGuidesState.EnabledForActive&&h;if(f.range.startLineNumber===f.range.endLineNumber){l&&L&&c[f.range.startLineNumber-t].push(new _.IndentGuide(-1,f.openingBracketRange.getEndPosition().column,v,new _.IndentGuideHorizontalLine(!1,S.column),-1,-1));continue}const D=this.getVisibleColumnFromPosition(S),T=this.getVisibleColumnFromPosition(f.openingBracketRange.getStartPosition()),M=Math.min(T,D,f.minVisibleColumnIndentation+1);let A=!1;k.firstNonWhitespaceIndex(this.textModel.getLineContent(f.closingBracketRange.startLineNumber))=t&&T>M&&c[w.lineNumber-t].push(new _.IndentGuide(M,-1,v,new _.IndentGuideHorizontalLine(!1,w.column),-1,-1)),S.lineNumber<=i&&D>M&&c[S.lineNumber-t].push(new _.IndentGuide(M,-1,v,new _.IndentGuideHorizontalLine(!A,S.column),-1,-1)))}for(const f of c)f.sort((h,v)=>h.visibleColumn-v.visibleColumn);return c}getVisibleColumnFromPosition(t){return I.CursorColumns.visibleColumnFromColumn(this.textModel.getLineContent(t.lineNumber),t.column,this.textModel.getOptions().tabSize)+1}getLinesIndentGuides(t,i){this.assertNotDisposed();const s=this.textModel.getLineCount();if(t<1||t>s)throw new Error("Illegal value for startLineNumber");if(i<1||i>s)throw new Error("Illegal value for endLineNumber");const g=this.textModel.getOptions(),c=this.getLanguageConfiguration(this.textModel.getLanguageId()).foldingRules,l=!!(c&&c.offSide),a=new Array(i-t+1);let r=-2,u=-1,C=-2,f=-1;for(let h=t;h<=i;h++){const v=h-t,w=this._computeIndentLevel(h-1);if(w>=0){r=h-1,u=w,a[v]=Math.ceil(w/g.indentSize);continue}if(r===-2){r=-1,u=-1;for(let S=h-2;S>=0;S--){const L=this._computeIndentLevel(S);if(L>=0){r=S,u=L;break}}}if(C!==-1&&(C===-2||C=0){C=S,f=L;break}}}a[v]=this._getIndentLevelForWhitespaceLine(l,u,f)}return a}_getIndentLevelForWhitespaceLine(t,i,s){const g=this.textModel.getOptions();return i===-1||s===-1?0:i{this._tokenizationSupports.get(m)===_&&(this._tokenizationSupports.delete(m),this.handleChange([m]))})}get(m){return this._tokenizationSupports.get(m)||null}registerFactory(m,_){this._factories.get(m)?.dispose();const b=new E(this,m,_);return this._factories.set(m,b),(0,k.toDisposable)(()=>{const p=this._factories.get(m);!p||p!==b||(this._factories.delete(m),p.dispose())})}async getOrCreate(m){const _=this.get(m);if(_)return _;const b=this._factories.get(m);return!b||b.isResolved?null:(await b.resolve(),this.get(m))}isResolved(m){if(this.get(m))return!0;const b=this._factories.get(m);return!!(!b||b.isResolved)}setColorMap(m){this._colorMap=m,this._onDidChange.fire({changedLanguages:Array.from(this._tokenizationSupports.keys()),changedColorMap:!0})}getColorMap(){return this._colorMap}getDefaultBackground(){return this._colorMap&&this._colorMap.length>2?this._colorMap[2]:null}}e.TokenizationRegistry=I;class E extends k.Disposable{get isResolved(){return this._isResolved}constructor(m,_,b){super(),this._registry=m,this._languageId=_,this._factory=b,this._isDisposed=!1,this._resolvePromise=null,this._isResolved=!1}dispose(){this._isDisposed=!0,super.dispose()}async resolve(){return this._resolvePromise||(this._resolvePromise=this._create()),this._resolvePromise}async _create(){const m=await this._factory.tokenizationSupport;this._isResolved=!0,m&&!this._isDisposed&&this._register(this._registry.register(this._languageId,m))}}}),define(ne[586],se([1,0]),function(oe,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ContiguousMultilineTokens=void 0;class d{get startLineNumber(){return this._startLineNumber}get endLineNumber(){return this._startLineNumber+this._tokens.length-1}constructor(I,E){this._startLineNumber=I,this._tokens=E}getLineTokens(I){return this._tokens[I-this._startLineNumber]}appendLineTokens(I){this._tokens.push(I)}}e.ContiguousMultilineTokens=d}),define(ne[330],se([1,0,586]),function(oe,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ContiguousMultilineTokensBuilder=void 0;class k{constructor(){this._tokens=[]}add(E,y){if(this._tokens.length>0){const m=this._tokens[this._tokens.length-1];if(m.endLineNumber+1===E){m.appendLineTokens(y);return}}this._tokens.push(new d.ContiguousMultilineTokens(E,[y]))}finalize(){return this._tokens}}e.ContiguousMultilineTokensBuilder=k}),define(ne[83],se([1,0,148]),function(oe,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.LineTokens=void 0,e.getStandardTokenTypeAtPosition=E;class k{static{this.defaultTokenMetadata=(32768|2<<24)>>>0}static createEmpty(m,_){const b=k.defaultTokenMetadata,p=new Uint32Array(2);return p[0]=m.length,p[1]=b,new k(p,m,_)}static createFromTextAndMetadata(m,_){let b=0,p="";const n=new Array;for(const{text:o,metadata:t}of m)n.push(b+o.length,t),b+=o.length,p+=o;return new k(new Uint32Array(n),p,_)}constructor(m,_,b){this._lineTokensBrand=void 0,this._tokens=m,this._tokensCount=this._tokens.length>>>1,this._text=_,this.languageIdCodec=b}equals(m){return m instanceof k?this.slicedEquals(m,0,this._tokensCount):!1}slicedEquals(m,_,b){if(this._text!==m._text||this._tokensCount!==m._tokensCount)return!1;const p=_<<1,n=p+(b<<1);for(let o=p;o0?this._tokens[m-1<<1]:0}getMetadata(m){return this._tokens[(m<<1)+1]}getLanguageId(m){const _=this._tokens[(m<<1)+1],b=d.TokenMetadata.getLanguageId(_);return this.languageIdCodec.decodeLanguageId(b)}getStandardTokenType(m){const _=this._tokens[(m<<1)+1];return d.TokenMetadata.getTokenType(_)}getForeground(m){const _=this._tokens[(m<<1)+1];return d.TokenMetadata.getForeground(_)}getClassName(m){const _=this._tokens[(m<<1)+1];return d.TokenMetadata.getClassNameFromMetadata(_)}getInlineStyle(m,_){const b=this._tokens[(m<<1)+1];return d.TokenMetadata.getInlineStyleFromMetadata(b,_)}getPresentation(m){const _=this._tokens[(m<<1)+1];return d.TokenMetadata.getPresentationFromMetadata(_)}getEndOffset(m){return this._tokens[m<<1]}findTokenIndexAtOffset(m){return k.findIndexInTokensArray(this._tokens,m)}inflate(){return this}sliceAndInflate(m,_,b){return new I(this,m,_,b)}static convertToEndOffset(m,_){const p=(m.length>>>1)-1;for(let n=0;n>>1)-1;for(;b_&&(p=n)}return b}withInserted(m){if(m.length===0)return this;let _=0,b=0,p="";const n=new Array;let o=0;for(;;){const t=_o){p+=this._text.substring(o,i.offset);const s=this._tokens[(_<<1)+1];n.push(p.length,s),o=i.offset}p+=i.text,n.push(p.length,i.tokenMetadata),b++}else break}return new k(new Uint32Array(n),p,this.languageIdCodec)}getTokenText(m){const _=this.getStartOffset(m),b=this.getEndOffset(m);return this._text.substring(_,b)}forEach(m){const _=this.getCount();for(let b=0;b<_;b++)m(b)}}e.LineTokens=k;class I{constructor(m,_,b,p){this._source=m,this._startOffset=_,this._endOffset=b,this._deltaOffset=p,this._firstTokenIndex=m.findTokenIndexAtOffset(_),this.languageIdCodec=m.languageIdCodec,this._tokensCount=0;for(let n=this._firstTokenIndex,o=m.getCount();n=b);n++)this._tokensCount++}getMetadata(m){return this._source.getMetadata(this._firstTokenIndex+m)}getLanguageId(m){return this._source.getLanguageId(this._firstTokenIndex+m)}getLineContent(){return this._source.getLineContent().substring(this._startOffset,this._endOffset)}equals(m){return m instanceof I?this._startOffset===m._startOffset&&this._endOffset===m._endOffset&&this._deltaOffset===m._deltaOffset&&this._source.slicedEquals(m._source,this._firstTokenIndex,this._tokensCount):!1}getCount(){return this._tokensCount}getStandardTokenType(m){return this._source.getStandardTokenType(this._firstTokenIndex+m)}getForeground(m){return this._source.getForeground(this._firstTokenIndex+m)}getEndOffset(m){const _=this._source.getEndOffset(this._firstTokenIndex+m);return Math.min(this._endOffset,_)-this._startOffset+this._deltaOffset}getClassName(m){return this._source.getClassName(this._firstTokenIndex+m)}getInlineStyle(m,_){return this._source.getInlineStyle(this._firstTokenIndex+m,_)}getPresentation(m){return this._source.getPresentation(this._firstTokenIndex+m)}findTokenIndexAtOffset(m){return this._source.findTokenIndexAtOffset(m+this._startOffset-this._deltaOffset)-this._firstTokenIndex}getTokenText(m){const _=this._firstTokenIndex+m,b=this._source.getStartOffset(_),p=this._source.getEndOffset(_);let n=this._source.getTokenText(_);return bthis._endOffset&&(n=n.substring(0,n.length-(p-this._endOffset))),n}forEach(m){for(let _=0;_{this.model.tokenization.forceTokenization(C);const f=this.model.tokenization.getLineTokens(C),h=this.model.getLineMaxColumn(C)-1;return(0,k.createScopedLineTokens)(f,h)};this.model.tokenization.forceTokenization(p.startLineNumber);const o=this.model.tokenization.getLineTokens(p.startLineNumber),t=(0,k.createScopedLineTokens)(o,p.startColumn-1),i=I.LineTokens.createEmpty("",t.languageIdCodec),s=p.startLineNumber-1;if(s===0||!(t.firstCharOffset===0))return i;const l=n(s);if(!(t.languageId===l.languageId))return i;const r=l.toIViewLineTokens();return this.indentationLineProcessor.getProcessedTokens(r)}}e.IndentationContextProcessor=y;class m{constructor(p,n){this.model=p,this.languageConfigurationService=n}getProcessedLine(p,n){const o=(s,g)=>{const c=d.getLeadingWhitespace(s);return g+s.substring(c.length)};this.model.tokenization.forceTokenization?.(p);const t=this.model.tokenization.getLineTokens(p);let i=this.getProcessedTokens(t).getLineContent();return n!==void 0&&(i=o(i,n)),i}getProcessedTokens(p){const n=c=>c===2||c===3||c===1,o=p.getLanguageId(0),i=this.languageConfigurationService.getLanguageConfiguration(o).bracketsNew.getBracketRegExp({global:!0}),s=[];return p.forEach(c=>{const l=p.getStandardTokenType(c);let a=p.getTokenText(c);n(l)&&(a=a.replace(i,""));const r=p.getMetadata(c);s.push({text:a,metadata:r})}),I.LineTokens.createFromTextAndMetadata(s,p.languageIdCodec)}}function _(b,p){b.tokenization.forceTokenization(p.lineNumber);const n=b.tokenization.getLineTokens(p.lineNumber),o=(0,k.createScopedLineTokens)(n,p.column-1),t=o.firstCharOffset===0,i=n.getLanguageId(0)===o.languageId;return!t&&!i}}),define(ne[241],se([1,0,11,131,240]),function(oe,e,d,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getInheritIndentForLine=y,e.getGoodIndentForLine=m,e.getIndentForEnter=_,e.getIndentActionForType=b,e.getIndentMetadata=p;function E(o,t,i){const s=o.tokenization.getLanguageIdAtPosition(t,0);if(t>1){let g,c=-1;for(g=t-1;g>=1;g--){if(o.tokenization.getLanguageIdAtPosition(g,0)!==s)return c;const l=o.getLineContent(g);if(i.shouldIgnore(g)||/^\s+$/.test(l)||l===""){c=g;continue}return g}}return-1}function y(o,t,i,s=!0,g){if(o<4)return null;const c=g.getLanguageConfiguration(t.tokenization.getLanguageId()).indentRulesSupport;if(!c)return null;const l=new I.ProcessedIndentRulesSupport(t,c,g);if(i<=1)return{indentation:"",action:null};for(let r=i-1;r>0&&t.getLineContent(r)==="";r--)if(r===1)return{indentation:"",action:null};const a=E(t,i,l);if(a<0)return null;if(a<1)return{indentation:"",action:null};if(l.shouldIncrease(a)||l.shouldIndentNextLine(a)){const r=t.getLineContent(a);return{indentation:d.getLeadingWhitespace(r),action:k.IndentAction.Indent,line:a}}else if(l.shouldDecrease(a)){const r=t.getLineContent(a);return{indentation:d.getLeadingWhitespace(r),action:null,line:a}}else{if(a===1)return{indentation:d.getLeadingWhitespace(t.getLineContent(a)),action:null,line:a};const r=a-1,u=c.getIndentMetadata(t.getLineContent(r));if(!(u&3)&&u&4){let C=0;for(let f=r-1;f>0;f--)if(!l.shouldIndentNextLine(f)){C=f;break}return{indentation:d.getLeadingWhitespace(t.getLineContent(C+1)),action:null,line:C+1}}if(s)return{indentation:d.getLeadingWhitespace(t.getLineContent(a)),action:null,line:a};for(let C=a;C>0;C--){if(l.shouldIncrease(C))return{indentation:d.getLeadingWhitespace(t.getLineContent(C)),action:k.IndentAction.Indent,line:C};if(l.shouldIndentNextLine(C)){let f=0;for(let h=C-1;h>0;h--)if(!l.shouldIndentNextLine(C)){f=h;break}return{indentation:d.getLeadingWhitespace(t.getLineContent(f+1)),action:null,line:f+1}}else if(l.shouldDecrease(C))return{indentation:d.getLeadingWhitespace(t.getLineContent(C)),action:null,line:C}}return{indentation:d.getLeadingWhitespace(t.getLineContent(1)),action:null,line:1}}}function m(o,t,i,s,g,c){if(o<4)return null;const l=c.getLanguageConfiguration(i);if(!l)return null;const a=c.getLanguageConfiguration(i).indentRulesSupport;if(!a)return null;const r=new I.ProcessedIndentRulesSupport(t,a,c),u=y(o,t,s,void 0,c);if(u){const C=u.line;if(C!==void 0){let f=!0;for(let h=C;h0){const D=t.getLineContent(L);if(u.shouldIndentNextLine(D)&&u.shouldIncrease(S)){const M=y(l,t,i.startLineNumber,!1,c)?.indentation;if(M!==void 0){const A=t.getLineContent(i.startLineNumber),P=d.getLeadingWhitespace(A),O=g.shiftIndent(M)===P,F=/^\s*$/.test(w),x=o.autoClosingPairs.autoClosingPairsOpenByEnd.get(s),V=x&&x.length>0&&F;if(O&&V)return M}}}return null}function p(o,t,i){const s=i.getLanguageConfiguration(o.getLanguageId()).indentRulesSupport;return!s||t<1||t>o.getLineCount()?null:s.getIndentMetadata(o.getLineContent(t))}function n(o,t,i){return{tokenization:{getLineTokens:g=>g===t?i:o.tokenization.getLineTokens(g),getLanguageId:()=>o.getLanguageId(),getLanguageIdAtPosition:(g,c)=>o.getLanguageIdAtPosition(g,c)},getLineContent:g=>g===t?i.getLineContent():o.getLineContent(g)}}}),define(ne[587],se([1,0,83]),function(oe,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ContiguousTokensEditing=e.EMPTY_LINE_TOKENS=void 0,e.toUint32Array=I,e.EMPTY_LINE_TOKENS=new Uint32Array(0).buffer;class k{static deleteBeginning(y,m){return y===null||y===e.EMPTY_LINE_TOKENS?y:k.delete(y,0,m)}static deleteEnding(y,m){if(y===null||y===e.EMPTY_LINE_TOKENS)return y;const _=I(y),b=_[_.length-2];return k.delete(y,m,b)}static delete(y,m,_){if(y===null||y===e.EMPTY_LINE_TOKENS||m===_)return y;const b=I(y),p=b.length>>>1;if(m===0&&b[b.length-2]===_)return e.EMPTY_LINE_TOKENS;const n=d.LineTokens.findIndexInTokensArray(b,m),o=n>0?b[n-1<<1]:0,t=b[n<<1];if(_s&&(b[i++]=a,b[i++]=b[(l<<1)+1],s=a)}if(i===b.length)return y;const c=new Uint32Array(i);return c.set(b.subarray(0,i),0),c.buffer}static append(y,m){if(m===e.EMPTY_LINE_TOKENS)return y;if(y===e.EMPTY_LINE_TOKENS)return m;if(y===null)return y;if(m===null)return null;const _=I(y),b=I(m),p=b.length>>>1,n=new Uint32Array(_.length+b.length);n.set(_,0);let o=_.length;const t=_[_.length-2];for(let i=0;i>>1;let n=d.LineTokens.findIndexInTokensArray(b,m);n>0&&b[n-1<<1]===m&&n--;for(let o=n;o0}getTokens(p,n,o){let t=null;if(n1&&(i=y.TokenMetadata.getLanguageId(t[1])!==p),!i)return I.EMPTY_LINE_TOKENS}if(!t||t.length===0){const i=new Uint32Array(2);return i[0]=n,i[1]=_(p),i.buffer}return t[t.length-2]=n,t.byteOffset===0&&t.byteLength===t.buffer.byteLength?t.buffer:t}_ensureLine(p){for(;p>=this._len;)this._lineTokens[this._len]=null,this._len++}_deleteLines(p,n){n!==0&&(p+n>this._len&&(n=this._len-p),this._lineTokens.splice(p,n),this._len-=n)}_insertLines(p,n){if(n===0)return;const o=[];for(let t=0;t=this._len)return;if(p.startLineNumber===p.endLineNumber){if(p.startColumn===p.endColumn)return;this._lineTokens[n]=I.ContiguousTokensEditing.delete(this._lineTokens[n],p.startColumn-1,p.endColumn-1);return}this._lineTokens[n]=I.ContiguousTokensEditing.deleteEnding(this._lineTokens[n],p.startColumn-1);const o=p.endLineNumber-1;let t=null;o=this._len)){if(n===0){this._lineTokens[t]=I.ContiguousTokensEditing.insert(this._lineTokens[t],p.column-1,o);return}this._lineTokens[t]=I.ContiguousTokensEditing.deleteEnding(this._lineTokens[t],p.column-1),this._lineTokens[t]=I.ContiguousTokensEditing.insert(this._lineTokens[t],p.column-1,o),this._insertLines(p.lineNumber,n)}}setMultilineTokens(p,n){if(p.length===0)return{changes:[]};const o=[];for(let t=0,i=p.length;t>>0}}),define(ne[589],se([1,0,9,4,145]),function(oe,e,d,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SparseLineTokens=e.SparseMultilineTokens=void 0;class E{static create(b,p){return new E(b,new y(p))}get startLineNumber(){return this._startLineNumber}get endLineNumber(){return this._endLineNumber}constructor(b,p){this._startLineNumber=b,this._tokens=p,this._endLineNumber=this._startLineNumber+this._tokens.getMaxDeltaLine()}toString(){return this._tokens.toString(this._startLineNumber)}_updateEndLineNumber(){this._endLineNumber=this._startLineNumber+this._tokens.getMaxDeltaLine()}isEmpty(){return this._tokens.isEmpty()}getLineTokens(b){return this._startLineNumber<=b&&b<=this._endLineNumber?this._tokens.getLineTokens(b-this._startLineNumber):null}getRange(){const b=this._tokens.getRange();return b&&new k.Range(this._startLineNumber+b.startLineNumber,b.startColumn,this._startLineNumber+b.endLineNumber,b.endColumn)}removeTokens(b){const p=b.startLineNumber-this._startLineNumber,n=b.endLineNumber-this._startLineNumber;this._startLineNumber+=this._tokens.removeTokens(p,b.startColumn-1,n,b.endColumn-1),this._updateEndLineNumber()}split(b){const p=b.startLineNumber-this._startLineNumber,n=b.endLineNumber-this._startLineNumber,[o,t,i]=this._tokens.split(p,b.startColumn-1,n,b.endColumn-1);return[new E(this._startLineNumber,o),new E(this._startLineNumber+i,t)]}applyEdit(b,p){const[n,o,t]=(0,I.countEOL)(p);this.acceptEdit(b,n,o,t,p.length>0?p.charCodeAt(0):0)}acceptEdit(b,p,n,o,t){this._acceptDeleteRange(b),this._acceptInsertText(new d.Position(b.startLineNumber,b.startColumn),p,n,o,t),this._updateEndLineNumber()}_acceptDeleteRange(b){if(b.startLineNumber===b.endLineNumber&&b.startColumn===b.endColumn)return;const p=b.startLineNumber-this._startLineNumber,n=b.endLineNumber-this._startLineNumber;if(n<0){const t=n-p;this._startLineNumber-=t;return}const o=this._tokens.getMaxDeltaLine();if(!(p>=o+1)){if(p<0&&n>=o+1){this._startLineNumber=0,this._tokens.clear();return}if(p<0){const t=-p;this._startLineNumber-=t,this._tokens.acceptDeleteRange(b.startColumn-1,0,0,n,b.endColumn-1)}else this._tokens.acceptDeleteRange(0,p,b.startColumn-1,n,b.endColumn-1)}}_acceptInsertText(b,p,n,o,t){if(p===0&&n===0)return;const i=b.lineNumber-this._startLineNumber;if(i<0){this._startLineNumber+=p;return}const s=this._tokens.getMaxDeltaLine();i>=s+1||this._tokens.acceptInsertText(i,b.column-1,p,n,o,t)}}e.SparseMultilineTokens=E;class y{constructor(b){this._tokens=b,this._tokenCount=b.length/4}toString(b){const p=[];for(let n=0;nb)n=o-1;else{let i=o;for(;i>p&&this._getDeltaLine(i-1)===b;)i--;let s=o;for(;sb||r===b&&C>=p)&&(rb||C===b&&h>=p){if(Ct?f-=t-n:f=n;else if(u===p&&C===n)if(u===o&&f>t)f-=t-n;else{l=!0;continue}else if(ut)u=p,C=n,f=C+(f-t);else{l=!0;continue}else if(u>o){if(g===0&&!l){c=s;break}u-=g}else if(u===o&&C>=t)b&&u===0&&(C+=b,f+=b),u-=g,C-=t-n,f-=t-n;else throw new Error("Not possible!");const v=4*c;i[v]=u,i[v+1]=C,i[v+2]=f,i[v+3]=h,c++}this._tokenCount=c}acceptInsertText(b,p,n,o,t,i){const s=n===0&&o===1&&(i>=48&&i<=57||i>=65&&i<=90||i>=97&&i<=122),g=this._tokens,c=this._tokenCount;for(let l=0;l0){const p=m[0].getRange(),n=m[m.length-1].getRange();if(!p||!n)return y;_=y.plusRange(p).plusRange(n)}let b=null;for(let p=0,n=this._pieces.length;p_.endLineNumber){b=b||{index:p};break}if(o.removeTokens(_),o.isEmpty()){this._pieces.splice(p,1),p--,n--;continue}if(o.endLineNumber<_.startLineNumber)continue;if(o.startLineNumber>_.endLineNumber){b=b||{index:p};continue}const[t,i]=o.split(_);if(t.isEmpty()){b=b||{index:p};continue}i.isEmpty()||(this._pieces.splice(p,1,t,i),p++,n++,b=b||{index:p})}return b=b||{index:this._pieces.length},m.length>0&&(this._pieces=d.arrayInsert(this._pieces,b.index,m)),_}isComplete(){return this._isComplete}addSparseTokens(y,m){if(m.getLineContent().length===0)return m;const _=this._pieces;if(_.length===0)return m;const b=I._findFirstPieceWithLine(_,y),p=_[b].getLineTokens(y);if(!p)return m;const n=m.getCount(),o=p.getCount();let t=0;const i=[];let s=0,g=0;const c=(l,a)=>{l!==g&&(g=l,i[s++]=l,i[s++]=a)};for(let l=0;l>>0,f=~C>>>0;for(;tm)b=p-1;else{for(;p>_&&y[p-1].startLineNumber<=m&&m<=y[p-1].endLineNumber;)p--;return p}}return _}acceptEdit(y,m,_,b,p){for(const n of this._pieces)n.acceptEdit(y,m,_,b,p)}}e.SparseTokensStore=I}),define(ne[170],se([1,0,2]),function(oe,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ViewEventHandler=void 0;class k extends d.Disposable{constructor(){super(),this._shouldRender=!0}shouldRender(){return this._shouldRender}forceShouldRender(){this._shouldRender=!0}setShouldRender(){this._shouldRender=!0}onDidRender(){this._shouldRender=!1}onCompositionStart(E){return!1}onCompositionEnd(E){return!1}onConfigurationChanged(E){return!1}onCursorStateChanged(E){return!1}onDecorationsChanged(E){return!1}onFlushed(E){return!1}onFocusChanged(E){return!1}onLanguageConfigurationChanged(E){return!1}onLineMappingChanged(E){return!1}onLinesChanged(E){return!1}onLinesDeleted(E){return!1}onLinesInserted(E){return!1}onRevealRangeRequest(E){return!1}onScrollChanged(E){return!1}onThemeChanged(E){return!1}onTokensChanged(E){return!1}onTokensColorsChanged(E){return!1}onZonesChanged(E){return!1}handleEvents(E){let y=!1;for(let m=0,_=E.length;m<_;m++){const b=E[m];switch(b.type){case 0:this.onCompositionStart(b)&&(y=!0);break;case 1:this.onCompositionEnd(b)&&(y=!0);break;case 2:this.onConfigurationChanged(b)&&(y=!0);break;case 3:this.onCursorStateChanged(b)&&(y=!0);break;case 4:this.onDecorationsChanged(b)&&(y=!0);break;case 5:this.onFlushed(b)&&(y=!0);break;case 6:this.onFocusChanged(b)&&(y=!0);break;case 7:this.onLanguageConfigurationChanged(b)&&(y=!0);break;case 8:this.onLineMappingChanged(b)&&(y=!0);break;case 9:this.onLinesChanged(b)&&(y=!0);break;case 10:this.onLinesDeleted(b)&&(y=!0);break;case 11:this.onLinesInserted(b)&&(y=!0);break;case 12:this.onRevealRangeRequest(b)&&(y=!0);break;case 13:this.onScrollChanged(b)&&(y=!0);break;case 15:this.onTokensChanged(b)&&(y=!0);break;case 14:this.onThemeChanged(b)&&(y=!0);break;case 16:this.onTokensColorsChanged(b)&&(y=!0);break;case 17:this.onZonesChanged(b)&&(y=!0);break;default:console.info("View received unknown event: "),console.info(b)}}y&&(this._shouldRender=!0)}}e.ViewEventHandler=k}),define(ne[133],se([1,0,170]),function(oe,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DynamicViewOverlay=void 0;class k extends d.ViewEventHandler{}e.DynamicViewOverlay=k}),define(ne[56],se([1,0,170]),function(oe,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.PartFingerprints=e.ViewPart=void 0;class k extends d.ViewEventHandler{constructor(y){super(),this._context=y,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),super.dispose()}}e.ViewPart=k;class I{static write(y,m){y.setAttribute("data-mprt",String(m))}static read(y){const m=y.getAttribute("data-mprt");return m===null?0:parseInt(m,10)}static collect(y,m){const _=[];let b=0;for(;y&&y!==y.ownerDocument.body&&y!==m;)y.nodeType===y.ELEMENT_NODE&&(_[b++]=this.read(y)),y=y.parentElement;const p=new Uint8Array(b);for(let n=0;n{if(i.options.zIndexs.options.zIndex)return 1;const g=i.options.className,c=s.options.className;return gc?1:I.Range.compareRangesUsingStarts(i.range,s.range)});const n=m.visibleRange.startLineNumber,o=m.visibleRange.endLineNumber,t=[];for(let i=n;i<=o;i++){const s=i-n;t[s]=""}this._renderWholeLineDecorations(m,b,t),this._renderNormalDecorations(m,b,t),this._renderResult=t}_renderWholeLineDecorations(m,_,b){const p=m.visibleRange.startLineNumber,n=m.visibleRange.endLineNumber;for(let o=0,t=_.length;o
    ',g=Math.max(i.range.startLineNumber,p),c=Math.min(i.range.endLineNumber,n);for(let l=g;l<=c;l++){const a=l-p;b[a]+=s}}}_renderNormalDecorations(m,_,b){const p=m.visibleRange.startLineNumber;let n=null,o=!1,t=null,i=!1;for(let s=0,g=_.length;s
    ';t[l]+=f}}}render(m,_){if(!this._renderResult)return"";const b=_-m;return b<0||b>=this._renderResult.length?"":this._renderResult[b]}}e.DecorationsOverlay=E}),define(ne[242],se([1,0,39,13,133,56,9,4,40,484]),function(oe,e,d,k,I,E,y,m,_){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.GlyphMarginWidgets=e.DedupOverlay=e.VisibleLineDecorationsToRender=e.LineDecorationToRender=e.DecorationToRender=void 0;class b{constructor(l,a,r,u,C){this.startLineNumber=l,this.endLineNumber=a,this.className=r,this.tooltip=u,this._decorationToRenderBrand=void 0,this.zIndex=C??0}}e.DecorationToRender=b;class p{constructor(l,a,r){this.className=l,this.zIndex=a,this.tooltip=r}}e.LineDecorationToRender=p;class n{constructor(){this.decorations=[]}add(l){this.decorations.push(l)}getDecorations(){return this.decorations}}e.VisibleLineDecorationsToRender=n;class o extends I.DynamicViewOverlay{_render(l,a,r){const u=[];for(let h=l;h<=a;h++){const v=h-l;u[v]=new n}if(r.length===0)return u;r.sort((h,v)=>h.className===v.className?h.startLineNumber===v.startLineNumber?h.endLineNumber-v.endLineNumber:h.startLineNumber-v.startLineNumber:h.classNameu)continue;const w=Math.max(h,r),S=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new y.Position(w,0)),L=this._context.viewModel.glyphLanes.getLanesAtLine(S.lineNumber).indexOf(C.preference.lane);a.push(new s(w,L,C.preference.zIndex,C))}}_collectSortedGlyphRenderRequests(l){const a=[];return this._collectDecorationBasedGlyphRenderRequest(l,a),this._collectWidgetBasedGlyphRenderRequest(l,a),a.sort((r,u)=>r.lineNumber===u.lineNumber?r.laneIndex===u.laneIndex?r.zIndex===u.zIndex?u.type===r.type?r.type===0&&u.type===0?r.className0;){const u=a.peek();if(!u)break;const C=a.takeWhile(h=>h.lineNumber===u.lineNumber&&h.laneIndex===u.laneIndex);if(!C||C.length===0)break;const f=C[0];if(f.type===0){const h=[];for(const v of C){if(v.zIndex!==f.zIndex||v.type!==f.type)break;(h.length===0||h[h.length-1]!==v.className)&&h.push(v.className)}r.push(f.accept(h.join(" ")))}else f.widget.renderInfo={lineNumber:f.lineNumber,laneIndex:f.laneIndex}}this._decorationGlyphsToRender=r}render(l){if(!this._glyphMargin){for(const r of Object.values(this._widgets))r.domNode.setDisplay("none");for(;this._managedDomNodes.length>0;)this._managedDomNodes.pop()?.domNode.remove();return}const a=Math.round(this._glyphMarginWidth/this._glyphMarginDecorationLaneCount);for(const r of Object.values(this._widgets))if(!r.renderInfo)r.domNode.setDisplay("none");else{const u=l.viewportData.relativeVerticalOffset[r.renderInfo.lineNumber-l.viewportData.startLineNumber],C=this._glyphMarginLeft+r.renderInfo.laneIndex*this._lineHeight;r.domNode.setDisplay("block"),r.domNode.setTop(u),r.domNode.setLeft(C),r.domNode.setWidth(a),r.domNode.setHeight(this._lineHeight)}for(let r=0;rthis._decorationGlyphsToRender.length;)this._managedDomNodes.pop()?.domNode.remove()}}e.GlyphMarginWidgets=t;class i{constructor(l,a,r,u){this.lineNumber=l,this.laneIndex=a,this.zIndex=r,this.className=u,this.type=0}accept(l){return new g(this.lineNumber,this.laneIndex,l)}}class s{constructor(l,a,r,u){this.lineNumber=l,this.laneIndex=a,this.zIndex=r,this.widget=u,this.type=1}}class g{constructor(l,a,r){this.lineNumber=l,this.laneIndex=a,this.combinedClassName=r}}}),define(ne[593],se([1,0,242,488]),function(oe,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.LinesDecorationsOverlay=void 0;class k extends d.DedupOverlay{constructor(E){super(),this._context=E;const m=this._context.configuration.options.get(146);this._decorationsLeft=m.decorationsLeft,this._decorationsWidth=m.decorationsWidth,this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(E){const m=this._context.configuration.options.get(146);return this._decorationsLeft=m.decorationsLeft,this._decorationsWidth=m.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){const y=E.getDecorationsInViewport(),m=[];let _=0;for(let b=0,p=y.length;b
    ',o=[];for(let t=y;t<=m;t++){const i=t-y,s=_[i].getDecorations();let g="";for(const c of s){let l='
    ';b[n]=t}this._renderResult=b}render(E,y){return this._renderResult?this._renderResult[y-E]:""}}e.MarginViewLineDecorationsOverlay=k}),define(ne[595],se([1,0,39,56,493]),function(oe,e,d,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Rulers=void 0;class I extends k.ViewPart{constructor(y){super(y),this.domNode=(0,d.createFastDomNode)(document.createElement("div")),this.domNode.setAttribute("role","presentation"),this.domNode.setAttribute("aria-hidden","true"),this.domNode.setClassName("view-rulers"),this._renderedRulers=[];const m=this._context.configuration.options;this._rulers=m.get(103),this._typicalHalfwidthCharacterWidth=m.get(50).typicalHalfwidthCharacterWidth}dispose(){super.dispose()}onConfigurationChanged(y){const m=this._context.configuration.options;return this._rulers=m.get(103),this._typicalHalfwidthCharacterWidth=m.get(50).typicalHalfwidthCharacterWidth,!0}onScrollChanged(y){return y.scrollHeightChanged}prepareRender(y){}_ensureRulersCount(){const y=this._renderedRulers.length,m=this._rulers.length;if(y===m)return;if(y0;){const o=(0,d.createFastDomNode)(document.createElement("div"));o.setClassName("view-ruler"),o.setWidth(p),this.domNode.appendChild(o),this._renderedRulers.push(o),n--}return}let _=y-m;for(;_>0;){const b=this._renderedRulers.pop();this.domNode.removeChild(b),_--}}render(y){this._ensureRulersCount();for(let m=0,_=this._rulers.length;m<_;m++){const b=this._renderedRulers[m],p=this._rulers[m];b.setBoxShadow(p.color?`1px 0 0 0 ${p.color} inset`:""),b.setHeight(Math.min(y.scrollHeight,1e6)),b.setLeft(p.column*this._typicalHalfwidthCharacterWidth)}}}e.Rulers=I}),define(ne[596],se([1,0,39,56,494]),function(oe,e,d,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ScrollDecorationViewPart=void 0;class I extends k.ViewPart{constructor(y){super(y),this._scrollTop=0,this._width=0,this._updateWidth(),this._shouldShow=!1;const _=this._context.configuration.options.get(104);this._useShadows=_.useShadows,this._domNode=(0,d.createFastDomNode)(document.createElement("div")),this._domNode.setAttribute("role","presentation"),this._domNode.setAttribute("aria-hidden","true")}dispose(){super.dispose()}_updateShouldShow(){const y=this._useShadows&&this._scrollTop>0;return this._shouldShow!==y?(this._shouldShow=y,!0):!1}getDomNode(){return this._domNode}_updateWidth(){const m=this._context.configuration.options.get(146);m.minimap.renderMinimap===0||m.minimap.minimapWidth>0&&m.minimap.minimapLeft===0?this._width=m.width:this._width=m.width-m.verticalScrollbarWidth}onConfigurationChanged(y){const _=this._context.configuration.options.get(104);return this._useShadows=_.useShadows,this._updateWidth(),this._updateShouldShow(),!0}onScrollChanged(y){return this._scrollTop=y.scrollTop,this._updateShouldShow()}prepareRender(y){}render(y){this._domNode.setWidth(this._width),this._domNode.setClassName(this._shouldShow?"scroll-decoration":"")}}e.ScrollDecorationViewPart=I}),define(ne[597],se([1,0,39,8,56,9]),function(oe,e,d,k,I,E){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ViewZones=void 0;const y=()=>{throw new Error("Invalid change accessor")};class m extends I.ViewPart{constructor(p){super(p);const n=this._context.configuration.options,o=n.get(146);this._lineHeight=n.get(67),this._contentWidth=o.contentWidth,this._contentLeft=o.contentLeft,this.domNode=(0,d.createFastDomNode)(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=(0,d.createFastDomNode)(document.createElement("div")),this.marginDomNode.setClassName("margin-view-zones"),this.marginDomNode.setPosition("absolute"),this.marginDomNode.setAttribute("role","presentation"),this.marginDomNode.setAttribute("aria-hidden","true"),this._zones={}}dispose(){super.dispose(),this._zones={}}_recomputeWhitespacesProps(){const p=this._context.viewLayout.getWhitespaces(),n=new Map;for(const t of p)n.set(t.id,t);let o=!1;return this._context.viewModel.changeWhitespace(t=>{const i=Object.keys(this._zones);for(let s=0,g=i.length;s{const t={addZone:i=>(n=!0,this._addZone(o,i)),removeZone:i=>{i&&(n=this._removeZone(o,i)||n)},layoutZone:i=>{i&&(n=this._layoutZone(o,i)||n)}};_(p,t),t.addZone=y,t.removeZone=y,t.layoutZone=y}),n}_addZone(p,n){const o=this._computeWhitespaceProps(n),i={whitespaceId:p.insertWhitespace(o.afterViewLineNumber,this._getZoneOrdinal(n),o.heightInPx,o.minWidthInPx),delegate:n,isInHiddenArea:o.isInHiddenArea,isVisible:!1,domNode:(0,d.createFastDomNode)(n.domNode),marginDomNode:n.marginDomNode?(0,d.createFastDomNode)(n.marginDomNode):null};return this._safeCallOnComputedHeight(i.delegate,o.heightInPx),i.domNode.setPosition("absolute"),i.domNode.domNode.style.width="100%",i.domNode.setDisplay("none"),i.domNode.setAttribute("monaco-view-zone",i.whitespaceId),this.domNode.appendChild(i.domNode),i.marginDomNode&&(i.marginDomNode.setPosition("absolute"),i.marginDomNode.domNode.style.width="100%",i.marginDomNode.setDisplay("none"),i.marginDomNode.setAttribute("monaco-view-zone",i.whitespaceId),this.marginDomNode.appendChild(i.marginDomNode)),this._zones[i.whitespaceId]=i,this.setShouldRender(),i.whitespaceId}_removeZone(p,n){if(this._zones.hasOwnProperty(n)){const o=this._zones[n];return delete this._zones[n],p.removeWhitespace(o.whitespaceId),o.domNode.removeAttribute("monaco-visible-view-zone"),o.domNode.removeAttribute("monaco-view-zone"),o.domNode.domNode.remove(),o.marginDomNode&&(o.marginDomNode.removeAttribute("monaco-visible-view-zone"),o.marginDomNode.removeAttribute("monaco-view-zone"),o.marginDomNode.domNode.remove()),this.setShouldRender(),!0}return!1}_layoutZone(p,n){if(this._zones.hasOwnProperty(n)){const o=this._zones[n],t=this._computeWhitespaceProps(o.delegate);return o.isInHiddenArea=t.isInHiddenArea,p.changeOneWhitespace(o.whitespaceId,t.afterViewLineNumber,t.heightInPx),this._safeCallOnComputedHeight(o.delegate,t.heightInPx),this.setShouldRender(),!0}return!1}shouldSuppressMouseDownOnViewZone(p){return this._zones.hasOwnProperty(p)?!!this._zones[p].delegate.suppressMouseDown:!1}_heightInPixels(p){return typeof p.heightInPx=="number"?p.heightInPx:typeof p.heightInLines=="number"?this._lineHeight*p.heightInLines:this._lineHeight}_minWidthInPixels(p){return typeof p.minWidthInPx=="number"?p.minWidthInPx:0}_safeCallOnComputedHeight(p,n){if(typeof p.onComputedHeight=="function")try{p.onComputedHeight(n)}catch(o){(0,k.onUnexpectedError)(o)}}_safeCallOnDomNodeTop(p,n){if(typeof p.onDomNodeTop=="function")try{p.onDomNodeTop(n)}catch(o){(0,k.onUnexpectedError)(o)}}prepareRender(p){}render(p){const n=p.viewportData.whitespaceViewportData,o={};let t=!1;for(const s of n)this._zones[s.id].isInHiddenArea||(o[s.id]=s,t=!0);const i=Object.keys(this._zones);for(let s=0,g=i.length;s=o||(i[s++]=new k(Math.max(1,g.startColumn-n+1),Math.min(t+1,g.endColumn-n+1),g.className,g.type));return i}static filter(_,b,p,n){if(_.length===0)return[];const o=[];let t=0;for(let i=0,s=_.length;ib||c.isEmpty()&&(g.type===0||g.type===3))continue;const l=c.startLineNumber===b?c.startColumn:p,a=c.endLineNumber===b?c.endColumn:n;o[t++]=new k(l,a,g.inlineClassName,g.type)}return o}static _typeCompare(_,b){const p=[2,0,1,3];return p[_]-p[b]}static compare(_,b){if(_.startColumn!==b.startColumn)return _.startColumn-b.startColumn;if(_.endColumn!==b.endColumn)return _.endColumn-b.endColumn;const p=k._typeCompare(_.type,b.type);return p!==0?p:_.className!==b.className?_.className0&&this.stopOffsets[0]<_;){let n=0;for(;n+10&&b<_&&(p.push(new I(b,_-1,this.classNames.join(" "),E._metadata(this.metadata))),b=_),b}insert(_,b,p){if(this.count===0||this.stopOffsets[this.count-1]<=_)this.stopOffsets.push(_),this.classNames.push(b),this.metadata.push(p);else for(let n=0;n=_){this.stopOffsets.splice(n,0,_),this.classNames.splice(n,0,b),this.metadata.splice(n,0,p);break}this.count++}}class y{static normalize(_,b){if(b.length===0)return[];const p=[],n=new E;let o=0;for(let t=0,i=b.length;t1){const C=_.charCodeAt(g-2);d.isHighSurrogate(C)&&g--}if(c>1){const C=_.charCodeAt(c-2);d.isHighSurrogate(C)&&c--}const r=g-1,u=c-2;o=n.consumeLowerThan(r,o,p),n.count===0&&(o=r),n.insert(u,l,a)}return n.consumeLowerThan(1073741824,o,p),p}}e.LineDecorationsNormalizer=y}),define(ne[598],se([1,0]),function(oe,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.LinePart=void 0;class d{constructor(I,E,y,m){this.endIndex=I,this.type=E,this.metadata=y,this.containsRTL=m,this._linePartBrand=void 0}isWhitespace(){return!!(this.metadata&1)}isPseudoAfter(){return!!(this.metadata&4)}}e.LinePart=d}),define(ne[599],se([1,0,11]),function(oe,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.LinesLayout=e.EditorWhitespace=void 0;class k{constructor(){this._hasPending=!1,this._inserts=[],this._changes=[],this._removes=[]}insert(m){this._hasPending=!0,this._inserts.push(m)}change(m){this._hasPending=!0,this._changes.push(m)}remove(m){this._hasPending=!0,this._removes.push(m)}mustCommit(){return this._hasPending}commit(m){if(!this._hasPending)return;const _=this._inserts,b=this._changes,p=this._removes;this._hasPending=!1,this._inserts=[],this._changes=[],this._removes=[],m._commitPendingChanges(_,b,p)}}class I{constructor(m,_,b,p,n){this.id=m,this.afterLineNumber=_,this.ordinal=b,this.height=p,this.minWidth=n,this.prefixSum=0}}e.EditorWhitespace=I;class E{static{this.INSTANCE_COUNT=0}constructor(m,_,b,p){this._instanceId=d.singleLetterHash(++E.INSTANCE_COUNT),this._pendingChanges=new k,this._lastWhitespaceId=0,this._arr=[],this._prefixSumValidIndex=-1,this._minWidth=-1,this._lineCount=m,this._lineHeight=_,this._paddingTop=b,this._paddingBottom=p}static findInsertionIndex(m,_,b){let p=0,n=m.length;for(;p>>1;_===m[o].afterLineNumber?b{_=!0,p=p|0,n=n|0,o=o|0,t=t|0;const i=this._instanceId+ ++this._lastWhitespaceId;return this._pendingChanges.insert(new I(i,p,n,o,t)),i},changeOneWhitespace:(p,n,o)=>{_=!0,n=n|0,o=o|0,this._pendingChanges.change({id:p,newAfterLineNumber:n,newHeight:o})},removeWhitespace:p=>{_=!0,this._pendingChanges.remove({id:p})}})}finally{this._pendingChanges.commit(this)}return _}_commitPendingChanges(m,_,b){if((m.length>0||b.length>0)&&(this._minWidth=-1),m.length+_.length+b.length<=1){for(const i of m)this._insertWhitespace(i);for(const i of _)this._changeOneWhitespace(i.id,i.newAfterLineNumber,i.newHeight);for(const i of b){const s=this._findWhitespaceIndex(i.id);s!==-1&&this._removeWhitespace(s)}return}const p=new Set;for(const i of b)p.add(i.id);const n=new Map;for(const i of _)n.set(i.id,i);const o=i=>{const s=[];for(const g of i)if(!p.has(g.id)){if(n.has(g.id)){const c=n.get(g.id);g.afterLineNumber=c.newAfterLineNumber,g.height=c.newHeight}s.push(g)}return s},t=o(this._arr).concat(o(m));t.sort((i,s)=>i.afterLineNumber===s.afterLineNumber?i.ordinal-s.ordinal:i.afterLineNumber-s.afterLineNumber),this._arr=t,this._prefixSumValidIndex=-1}_checkPendingChanges(){this._pendingChanges.mustCommit()&&this._pendingChanges.commit(this)}_insertWhitespace(m){const _=E.findInsertionIndex(this._arr,m.afterLineNumber,m.ordinal);this._arr.splice(_,0,m),this._prefixSumValidIndex=Math.min(this._prefixSumValidIndex,_-1)}_findWhitespaceIndex(m){const _=this._arr;for(let b=0,p=_.length;b_&&(this._arr[b].afterLineNumber-=_-m+1)}}onLinesInserted(m,_){this._checkPendingChanges(),m=m|0,_=_|0,this._lineCount+=_-m+1;for(let b=0,p=this._arr.length;b=_.length||_[t+1].afterLineNumber>=m)return t;b=t+1|0}else p=t-1|0}return-1}_findFirstWhitespaceAfterLineNumber(m){m=m|0;const b=this._findLastWhitespaceBeforeLineNumber(m)+1;return b1?b=this._lineHeight*(m-1):b=0;const p=this.getWhitespaceAccumulatedHeightBeforeLineNumber(m-(_?1:0));return b+p+this._paddingTop}getVerticalOffsetAfterLineNumber(m,_=!1){this._checkPendingChanges(),m=m|0;const b=this._lineHeight*m,p=this.getWhitespaceAccumulatedHeightBeforeLineNumber(m+(_?1:0));return b+p+this._paddingTop}getWhitespaceMinWidth(){if(this._checkPendingChanges(),this._minWidth===-1){let m=0;for(let _=0,b=this._arr.length;__}isInTopPadding(m){return this._paddingTop===0?!1:(this._checkPendingChanges(),m=_-this._paddingBottom}getLineNumberAtOrAfterVerticalOffset(m){if(this._checkPendingChanges(),m=m|0,m<0)return 1;const _=this._lineCount|0,b=this._lineHeight;let p=1,n=_;for(;p=t+b)p=o+1;else{if(m>=t)return o;n=o}}return p>_?_:p}getLinesViewportData(m,_){this._checkPendingChanges(),m=m|0,_=_|0;const b=this._lineHeight,p=this.getLineNumberAtOrAfterVerticalOffset(m)|0,n=this.getVerticalOffsetForLineNumber(p)|0;let o=this._lineCount|0,t=this.getFirstWhitespaceIndexAfterLineNumber(p)|0;const i=this.getWhitespacesCount()|0;let s,g;t===-1?(t=i,g=o+1,s=0):(g=this.getAfterLineNumberForWhitespaceIndex(t)|0,s=this.getHeightForWhitespaceIndex(t)|0);let c=n,l=c;const a=5e5;let r=0;n>=a&&(r=Math.floor(n/a)*a,r=Math.floor(r/b)*b,l-=r);const u=[],C=m+(_-m)/2;let f=-1;for(let S=p;S<=o;S++){if(f===-1){const L=c,D=c+b;(L<=C&&CC)&&(f=S)}for(c+=b,u[S-p]=l,l+=b;g===S;)l+=s,c+=s,t++,t>=i?g=o+1:(g=this.getAfterLineNumberForWhitespaceIndex(t)|0,s=this.getHeightForWhitespaceIndex(t)|0);if(c>=_){o=S;break}}f===-1&&(f=o);const h=this.getVerticalOffsetForLineNumber(o)|0;let v=p,w=o;return v_&&w--,{bigNumbersDelta:r,startLineNumber:p,endLineNumber:o,relativeVerticalOffset:u,centeredLineNumber:f,completelyVisibleStartLineNumber:v,completelyVisibleEndLineNumber:w,lineHeight:this._lineHeight}}getVerticalOffsetForWhitespaceIndex(m){this._checkPendingChanges(),m=m|0;const _=this.getAfterLineNumberForWhitespaceIndex(m);let b;_>=1?b=this._lineHeight*_:b=0;let p;return m>0?p=this.getWhitespacesAccumulatedHeight(m-1):p=0,b+p+this._paddingTop}getWhitespaceIndexAtOrAfterVerticallOffset(m){this._checkPendingChanges(),m=m|0;let _=0,b=this.getWhitespacesCount()-1;if(b<0)return-1;const p=this.getVerticalOffsetForWhitespaceIndex(b),n=this.getHeightForWhitespaceIndex(b);if(m>=p+n)return-1;for(;_=t+i)_=o+1;else{if(m>=t)return o;b=o}}return _}getWhitespaceAtVerticalOffset(m){this._checkPendingChanges(),m=m|0;const _=this.getWhitespaceIndexAtOrAfterVerticallOffset(m);if(_<0||_>=this.getWhitespacesCount())return null;const b=this.getVerticalOffsetForWhitespaceIndex(_);if(b>m)return null;const p=this.getHeightForWhitespaceIndex(_),n=this.getIdForWhitespaceIndex(_),o=this.getAfterLineNumberForWhitespaceIndex(_);return{id:n,afterLineNumber:o,verticalOffset:b,height:p}}getWhitespaceViewportData(m,_){this._checkPendingChanges(),m=m|0,_=_|0;const b=this.getWhitespaceIndexAtOrAfterVerticallOffset(m),p=this.getWhitespacesCount()-1;if(b<0)return[];const n=[];for(let o=b;o<=p;o++){const t=this.getVerticalOffsetForWhitespaceIndex(o),i=this.getHeightForWhitespaceIndex(o);if(t>=_)break;n.push({id:this.getIdForWhitespaceIndex(o),afterLineNumber:this.getAfterLineNumberForWhitespaceIndex(o),verticalOffset:t,height:i})}return n}getWhitespaces(){return this._checkPendingChanges(),this._arr.slice(0)}getWhitespacesCount(){return this._checkPendingChanges(),this._arr.length}getIdForWhitespaceIndex(m){return this._checkPendingChanges(),m=m|0,this._arr[m].id}getAfterLineNumberForWhitespaceIndex(m){return this._checkPendingChanges(),m=m|0,this._arr[m].afterLineNumber}getHeightForWhitespaceIndex(m){return this._checkPendingChanges(),m=m|0,this._arr[m].height}}e.LinesLayout=E}),define(ne[600],se([1,0,4]),function(oe,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ViewportData=void 0;class k{constructor(E,y,m,_){this.selections=E,this.startLineNumber=y.startLineNumber|0,this.endLineNumber=y.endLineNumber|0,this.relativeVerticalOffset=y.relativeVerticalOffset,this.bigNumbersDelta=y.bigNumbersDelta|0,this.lineHeight=y.lineHeight|0,this.whitespaceViewportData=m,this._model=_,this.visibleRange=new d.Range(y.startLineNumber,this._model.getLineMinColumn(y.startLineNumber),y.endLineNumber,this._model.getLineMaxColumn(y.endLineNumber))}getViewLineRenderingData(E){return this._model.getViewportViewLineRenderingData(this.visibleRange,E)}getDecorationsInViewport(){return this._model.getDecorationsInViewport(this.visibleRange)}}e.ViewportData=k}),define(ne[95],se([1,0,13,11,4]),function(oe,e,d,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OverviewRulerDecorationsGroup=e.ViewModelDecoration=e.SingleLineInlineDecoration=e.InlineDecoration=e.ViewLineRenderingData=e.ViewLineData=e.MinimapLinesRenderingData=e.Viewport=void 0;class E{constructor(i,s,g,c){this._viewportBrand=void 0,this.top=i|0,this.left=s|0,this.width=g|0,this.height=c|0}}e.Viewport=E;class y{constructor(i,s){this.tabSize=i,this.data=s}}e.MinimapLinesRenderingData=y;class m{constructor(i,s,g,c,l,a,r){this._viewLineDataBrand=void 0,this.content=i,this.continuesWithWrappedLine=s,this.minColumn=g,this.maxColumn=c,this.startVisibleColumn=l,this.tokens=a,this.inlineDecorations=r}}e.ViewLineData=m;class _{constructor(i,s,g,c,l,a,r,u,C,f){this.minColumn=i,this.maxColumn=s,this.content=g,this.continuesWithWrappedLine=c,this.isBasicASCII=_.isBasicASCII(g,a),this.containsRTL=_.containsRTL(g,this.isBasicASCII,l),this.tokens=r,this.inlineDecorations=u,this.tabSize=C,this.startVisibleColumn=f}static isBasicASCII(i,s){return s?k.isBasicASCII(i):!0}static containsRTL(i,s,g){return!s&&g?k.containsRTL(i):!1}}e.ViewLineRenderingData=_;class b{constructor(i,s,g){this.range=i,this.inlineClassName=s,this.type=g}}e.InlineDecoration=b;class p{constructor(i,s,g,c){this.startOffset=i,this.endOffset=s,this.inlineClassName=g,this.inlineClassNameAffectsLetterSpacing=c}toInlineDecoration(i){return new b(new I.Range(i,this.startOffset+1,i,this.endOffset+1),this.inlineClassName,this.inlineClassNameAffectsLetterSpacing?3:0)}}e.SingleLineInlineDecoration=p;class n{constructor(i,s){this._viewModelDecorationBrand=void 0,this.range=i,this.options=s}}e.ViewModelDecoration=n;class o{constructor(i,s,g){this.color=i,this.zIndex=s,this.data=g}static compareByRenderingProps(i,s){return i.zIndex===s.zIndex?i.colors.color?1:0:i.zIndex-s.zIndex}static equals(i,s){return i.color===s.color&&i.zIndex===s.zIndex&&d.equals(i.data,s.data)}static equalsArr(i,s){return d.equals(i,s,o.equals)}}e.OverviewRulerDecorationsGroup=o}),define(ne[601],se([1,0,40]),function(oe,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.GlyphMarginLanesModel=void 0;const k=d.GlyphMarginLane.Right;class I{constructor(y){this.persist=0,this._requiredLanes=1,this.lanes=new Uint8Array(Math.ceil((y+1)*k/8))}reset(y){const m=Math.ceil((y+1)*k/8);this.lanes.length>>3]|=1<>>3]&1<<_%8)&&m.push(b+1),_++;return m.length?m:[d.GlyphMarginLane.Center]}countAtLine(y){let m=k*y,_=0;for(let b=0;b>>3]&1<0?this._projectionData.breakOffsets[g-1]:0,l=this._projectionData.breakOffsets[g];let a;if(this._projectionData.injectionOffsets!==null){const r=this._projectionData.injectionOffsets.map((C,f)=>new I.LineInjectedText(0,0,C+1,this._projectionData.injectionOptions[f],0));a=I.LineInjectedText.applyInjectedText(i.getLineContent(s),r).substring(c,l)}else a=i.getValueInRange({startLineNumber:s,startColumn:c+1,endLineNumber:s,endColumn:l+1});return g>0&&(a=n(this._projectionData.wrappedTextIndentLength)+a),a}getViewLineLength(i,s,g){return this._assertVisible(),this._projectionData.getLineLength(g)}getViewLineMinColumn(i,s,g){return this._assertVisible(),this._projectionData.getMinOutputOffset(g)+1}getViewLineMaxColumn(i,s,g){return this._assertVisible(),this._projectionData.getMaxOutputOffset(g)+1}getViewLineData(i,s,g){const c=new Array;return this.getViewLinesData(i,s,g,1,0,[!0],c),c[0]}getViewLinesData(i,s,g,c,l,a,r){this._assertVisible();const u=this._projectionData,C=u.injectionOffsets,f=u.injectionOptions;let h=null;if(C){h=[];let w=0,S=0;for(let L=0;L0?u.breakOffsets[L-1]:0,M=u.breakOffsets[L];for(;SM)break;if(T0?u.wrappedTextIndentLength:0,x=F+Math.max(P-T,0),W=F+Math.min(N-T,M-T);x!==W&&D.push(new E.SingleLineInlineDecoration(x,W,O.inlineClassName,O.inlineClassNameAffectsLetterSpacing))}}if(N<=M)w+=A,S++;else break}}}let v;C?v=i.tokenization.getLineTokens(s).withInserted(C.map((w,S)=>({offset:w,text:f[S].content,tokenMetadata:d.LineTokens.defaultTokenMetadata}))):v=i.tokenization.getLineTokens(s);for(let w=g;w0?c.wrappedTextIndentLength:0,a=g>0?c.breakOffsets[g-1]:0,r=c.breakOffsets[g],u=i.sliceAndInflate(a,r,l);let C=u.getLineContent();g>0&&(C=n(c.wrappedTextIndentLength)+C);const f=this._projectionData.getMinOutputOffset(g)+1,h=C.length+1,v=g+1=p.length)for(let i=1;i<=t;i++)p[i]=o(i);return p[t]}function o(t){return new Array(t+1).join(" ")}}),define(ne[603],se([1,0,11,144,132,325]),function(oe,e,d,k,I,E){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.MonospaceLineBreaksComputerFactory=void 0;class y{static create(c){return new y(c.get(135),c.get(134))}constructor(c,l){this.classifier=new m(c,l)}createLineBreaksComputer(c,l,a,r,u){const C=[],f=[],h=[];return{addRequest:(v,w,S)=>{C.push(v),f.push(w),h.push(S)},finalize:()=>{const v=c.typicalFullwidthCharacterWidth/c.typicalHalfwidthCharacterWidth,w=[];for(let S=0,L=C.length;S=0&&c<256?this._asciiMap[c]:c>=12352&&c<=12543||c>=13312&&c<=19903||c>=19968&&c<=40959?3:this._map.get(c)||this._defaultValue}}let _=[],b=[];function p(g,c,l,a,r,u,C,f){if(r===-1)return null;const h=l.length;if(h<=1)return null;const v=f==="keepAll",w=c.breakOffsets,S=c.breakOffsetsVisibleColumn,L=s(l,a,r,u,C),D=r-L,T=_,M=b;let A=0,P=0,N=0,O=r;const F=w.length;let x=0;if(x>=0){let W=Math.abs(S[x]-O);for(;x+1=W)break;W=V,x++}}for(;xW&&(W=P,V=N);let q=0,H=0,z=0,U=0;if(V<=O){let Q=V,G=W===0?0:l.charCodeAt(W-1),K=W===0?0:g.get(G),R=!0;for(let J=W;JP&&i(G,K,ue,he,v)&&(q=ie,H=Q),Q+=pe,Q>O){ie>P?(z=ie,U=Q-pe):(z=J+1,U=Q),Q-H>D&&(q=0),R=!1;break}G=ue,K=he}if(R){A>0&&(T[A]=w[w.length-1],M[A]=S[w.length-1],A++);break}}if(q===0){let Q=V,G=l.charCodeAt(W),K=g.get(G),R=!1;for(let J=W-1;J>=P;J--){const ie=J+1,ue=l.charCodeAt(J);if(ue===9){R=!0;break}let he,pe;if(d.isLowSurrogate(ue)?(J--,he=0,pe=2):(he=g.get(ue),pe=d.isFullWidthCharacter(ue)?u:1),Q<=O){if(z===0&&(z=ie,U=Q),Q<=O-D)break;if(i(ue,he,G,K,v)){q=ie,H=Q;break}}Q-=pe,G=ue,K=he}if(q!==0){const J=D-(U-H);if(J<=a){const ie=l.charCodeAt(z);let ue;d.isHighSurrogate(ie)?ue=2:ue=o(ie,U,a,u),J-ue<0&&(q=0)}}if(R){x--;continue}}if(q===0&&(q=z,H=U),q<=P){const Q=l.charCodeAt(P);d.isHighSurrogate(Q)?(q=P+2,H=N+2):(q=P+1,H=N+o(Q,N,a,u))}for(P=q,T[A]=q,N=H,M[A]=H,A++,O=H+D;x<0||x=j)break;j=Q,x++}}return A===0?null:(T.length=A,M.length=A,_=c.breakOffsets,b=c.breakOffsetsVisibleColumn,c.breakOffsets=T,c.breakOffsetsVisibleColumn=M,c.wrappedTextIndentLength=L,c)}function n(g,c,l,a,r,u,C,f){const h=I.LineInjectedText.applyInjectedText(c,l);let v,w;if(l&&l.length>0?(v=l.map(H=>H.options),w=l.map(H=>H.column-1)):(v=null,w=null),r===-1)return v?new E.ModelLineProjectionData(w,v,[h.length],[],0):null;const S=h.length;if(S<=1)return v?new E.ModelLineProjectionData(w,v,[h.length],[],0):null;const L=f==="keepAll",D=s(h,a,r,u,C),T=r-D,M=[],A=[];let P=0,N=0,O=0,F=r,x=h.charCodeAt(0),W=g.get(x),V=o(x,0,a,u),q=1;d.isHighSurrogate(x)&&(V+=1,x=h.charCodeAt(1),W=g.get(x),q++);for(let H=q;HF&&((N===0||V-O>T)&&(N=z,O=V-Q),M[P]=N,A[P]=O,P++,F=O+T,N=0),x=U,W=j}return P===0&&(!l||l.length===0)?null:(M[P]=S,A[P]=V,new E.ModelLineProjectionData(w,v,M,A,D))}function o(g,c,l,a){return g===9?l-c%l:d.isFullWidthCharacter(g)||g<32?a:1}function t(g,c){return c-g%c}function i(g,c,l,a,r){return l!==32&&(c===2&&a!==2||c!==1&&a===1||!r&&c===3&&a!==2||!r&&a===3&&c!==1)}function s(g,c,l,a,r){let u=0;if(r!==0){const C=d.firstNonWhitespaceIndex(g);if(C!==-1){for(let h=0;hl&&(u=0)}}return u}}),define(ne[332],se([1,0]),function(oe,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OverviewZoneManager=e.OverviewRulerZone=e.ColorZone=void 0;class d{constructor(y,m,_){this._colorZoneBrand=void 0,this.from=y|0,this.to=m|0,this.colorId=_|0}static compare(y,m){return y.colorId===m.colorId?y.from===m.from?y.to-m.to:y.from-m.from:y.colorId-m.colorId}}e.ColorZone=d;class k{constructor(y,m,_,b){this._overviewRulerZoneBrand=void 0,this.startLineNumber=y,this.endLineNumber=m,this.heightInLines=_,this.color=b,this._colorZone=null}static compare(y,m){return y.color===m.color?y.startLineNumber===m.startLineNumber?y.heightInLines===m.heightInLines?y.endLineNumber-m.endLineNumber:y.heightInLines-m.heightInLines:y.startLineNumber-m.startLineNumber:y.color_&&(r=_-u);const C=s.color;let f=this._color2Id[C];f||(f=++this._lastAssignedId,this._color2Id[C]=f,this._id2Color[f]=C);const h=new d(r-u,r+u,f);s.setColorZone(h),o.push(h)}return this._colorZonesInvalid=!1,o.sort(d.compare),o}}e.OverviewZoneManager=I}),define(ne[604],se([1,0,39,332,170]),function(oe,e,d,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OverviewRuler=void 0;class E extends I.ViewEventHandler{constructor(m,_){super(),this._context=m;const b=this._context.configuration.options;this._domNode=(0,d.createFastDomNode)(document.createElement("canvas")),this._domNode.setClassName(_),this._domNode.setPosition("absolute"),this._domNode.setLayerHinting(!0),this._domNode.setContain("strict"),this._zoneManager=new k.OverviewZoneManager(p=>this._context.viewLayout.getVerticalOffsetForLineNumber(p)),this._zoneManager.setDOMWidth(0),this._zoneManager.setDOMHeight(0),this._zoneManager.setOuterHeight(this._context.viewLayout.getScrollHeight()),this._zoneManager.setLineHeight(b.get(67)),this._zoneManager.setPixelRatio(b.get(144)),this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),super.dispose()}onConfigurationChanged(m){const _=this._context.configuration.options;return m.hasChanged(67)&&(this._zoneManager.setLineHeight(_.get(67)),this._render()),m.hasChanged(144)&&(this._zoneManager.setPixelRatio(_.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(m){return this._render(),!0}onScrollChanged(m){return m.scrollHeightChanged&&(this._zoneManager.setOuterHeight(m.scrollHeight),this._render()),!0}onZonesChanged(m){return this._render(),!0}getDomNode(){return this._domNode.domNode}setLayout(m){this._domNode.setTop(m.top),this._domNode.setRight(m.right);let _=!1;_=this._zoneManager.setDOMWidth(m.width)||_,_=this._zoneManager.setDOMHeight(m.height)||_,_&&(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(m){this._zoneManager.setZones(m),this._render()}_render(){if(this._zoneManager.getOuterHeight()===0)return!1;const m=this._zoneManager.getCanvasWidth(),_=this._zoneManager.getCanvasHeight(),b=this._zoneManager.resolveColorZones(),p=this._zoneManager.getId2Color(),n=this._domNode.domNode.getContext("2d");return n.clearRect(0,0,m,_),b.length>0&&this._renderOneLane(n,b,p,m),!0}_renderOneLane(m,_,b,p){let n=0,o=0,t=0;for(const i of _){const s=i.colorId,g=i.from,c=i.to;s!==n?(m.fillRect(0,o,p,t-o),n=s,m.fillStyle=b[n],o=g,t=c):t>=g?t=Math.max(t,c):(m.fillRect(0,o,p,t-o),o=g,t=c)}m.fillRect(0,o,p,t-o)}}e.OverviewRuler=E}),define(ne[605],se([1,0,562]),function(oe,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ViewContext=void 0;class k{constructor(E,y,m){this.configuration=E,this.theme=new d.EditorTheme(y),this.viewModel=m,this.viewLayout=m.viewLayout}addEventHandler(E){this.viewModel.addViewEventHandler(E)}removeEventHandler(E){this.viewModel.removeViewEventHandler(E)}}e.ViewContext=k}),define(ne[244],se([1,0,6,2]),function(oe,e,d,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ModelTokensChangedEvent=e.ModelOptionsChangedEvent=e.ModelContentChangedEvent=e.ModelLanguageConfigurationChangedEvent=e.ModelLanguageChangedEvent=e.ModelDecorationsChangedEvent=e.ReadOnlyEditAttemptEvent=e.CursorStateChangedEvent=e.HiddenAreasChangedEvent=e.ViewZonesChangedEvent=e.ScrollChangedEvent=e.FocusChangedEvent=e.ContentSizeChangedEvent=e.ViewModelEventsCollector=e.ViewModelEventDispatcher=void 0;class I extends k.Disposable{constructor(){super(),this._onEvent=this._register(new d.Emitter),this.onEvent=this._onEvent.event,this._eventHandlers=[],this._viewEventQueue=null,this._isConsumingViewEventQueue=!1,this._collector=null,this._collectorCnt=0,this._outgoingEvents=[]}emitOutgoingEvent(r){this._addOutgoingEvent(r),this._emitOutgoingEvents()}_addOutgoingEvent(r){for(let u=0,C=this._outgoingEvents.length;u0;){if(this._collector||this._isConsumingViewEventQueue)return;const r=this._outgoingEvents.shift();r.isNoOp()||this._onEvent.fire(r)}}addViewEventHandler(r){for(let u=0,C=this._eventHandlers.length;u0&&this._emitMany(u)}this._emitOutgoingEvents()}emitSingleViewEvent(r){try{this.beginEmitViewEvents().emitViewEvent(r)}finally{this.endEmitViewEvents()}}_emitMany(r){this._viewEventQueue?this._viewEventQueue=this._viewEventQueue.concat(r):this._viewEventQueue=r,this._isConsumingViewEventQueue||this._consumeViewEventQueue()}_consumeViewEventQueue(){try{this._isConsumingViewEventQueue=!0,this._doConsumeQueue()}finally{this._isConsumingViewEventQueue=!1}}_doConsumeQueue(){for(;this._viewEventQueue;){const r=this._viewEventQueue;this._viewEventQueue=null;const u=this._eventHandlers.slice(0);for(const C of u)C.handleEvents(r)}}}e.ViewModelEventDispatcher=I;class E{constructor(){this.viewEvents=[],this.outgoingEvents=[]}emitViewEvent(r){this.viewEvents.push(r)}emitOutgoingEvent(r){this.outgoingEvents.push(r)}}e.ViewModelEventsCollector=E;class y{constructor(r,u,C,f){this.kind=0,this._oldContentWidth=r,this._oldContentHeight=u,this.contentWidth=C,this.contentHeight=f,this.contentWidthChanged=this._oldContentWidth!==this.contentWidth,this.contentHeightChanged=this._oldContentHeight!==this.contentHeight}isNoOp(){return!this.contentWidthChanged&&!this.contentHeightChanged}attemptToMerge(r){return r.kind!==this.kind?null:new y(this._oldContentWidth,this._oldContentHeight,r.contentWidth,r.contentHeight)}}e.ContentSizeChangedEvent=y;class m{constructor(r,u){this.kind=1,this.oldHasFocus=r,this.hasFocus=u}isNoOp(){return this.oldHasFocus===this.hasFocus}attemptToMerge(r){return r.kind!==this.kind?null:new m(this.oldHasFocus,r.hasFocus)}}e.FocusChangedEvent=m;class _{constructor(r,u,C,f,h,v,w,S){this.kind=2,this._oldScrollWidth=r,this._oldScrollLeft=u,this._oldScrollHeight=C,this._oldScrollTop=f,this.scrollWidth=h,this.scrollLeft=v,this.scrollHeight=w,this.scrollTop=S,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(r){return r.kind!==this.kind?null:new _(this._oldScrollWidth,this._oldScrollLeft,this._oldScrollHeight,this._oldScrollTop,r.scrollWidth,r.scrollLeft,r.scrollHeight,r.scrollTop)}}e.ScrollChangedEvent=_;class b{constructor(){this.kind=3}isNoOp(){return!1}attemptToMerge(r){return r.kind!==this.kind?null:this}}e.ViewZonesChangedEvent=b;class p{constructor(){this.kind=4}isNoOp(){return!1}attemptToMerge(r){return r.kind!==this.kind?null:this}}e.HiddenAreasChangedEvent=p;class n{constructor(r,u,C,f,h,v,w){this.kind=6,this.oldSelections=r,this.selections=u,this.oldModelVersionId=C,this.modelVersionId=f,this.source=h,this.reason=v,this.reachedMaxCursorCount=w}static _selectionsAreEqual(r,u){if(!r&&!u)return!0;if(!r||!u)return!1;const C=r.length,f=u.length;if(C!==f)return!1;for(let h=0;h=i?0:g.horizontalScrollbarSize}_getContentHeight(t,i,s){const g=this._configuration.options;let c=this._linesLayout.getLinesTotalHeight();return g.get(106)?c+=Math.max(0,i-g.get(67)-g.get(84).bottom):g.get(104).ignoreHorizontalScrollbarInContentHeight||(c+=this._getHorizontalScrollbarHeight(t,s)),c}_updateHeight(){const t=this._scrollable.getScrollDimensions(),i=t.width,s=t.height,g=t.contentWidth;this._scrollable.setScrollDimensions(new b(i,t.contentWidth,s,this._getContentHeight(i,s,g)))}getCurrentViewport(){const t=this._scrollable.getScrollDimensions(),i=this._scrollable.getCurrentScrollPosition();return new y.Viewport(i.scrollTop,i.scrollLeft,t.width,t.height)}getFutureViewport(){const t=this._scrollable.getScrollDimensions(),i=this._scrollable.getFutureScrollPosition();return new y.Viewport(i.scrollTop,i.scrollLeft,t.width,t.height)}_computeContentWidth(){const t=this._configuration.options,i=this._maxLineWidth,s=t.get(147),g=t.get(50),c=t.get(146);if(s.isViewportWrapping){const l=t.get(73);return i>c.contentWidth+g.typicalHalfwidthCharacterWidth&&l.enabled&&l.side==="right"?i+c.verticalScrollbarWidth:i}else{const l=t.get(105)*g.typicalHalfwidthCharacterWidth,a=this._linesLayout.getWhitespaceMinWidth();return Math.max(i+l+c.verticalScrollbarWidth,a,this._overlayWidgetsMinWidth)}}setMaxLineWidth(t){this._maxLineWidth=t,this._updateContentWidth()}setOverlayWidgetsMinWidth(t){this._overlayWidgetsMinWidth=t,this._updateContentWidth()}_updateContentWidth(){const t=this._scrollable.getScrollDimensions();this._scrollable.setScrollDimensions(new b(t.width,this._computeContentWidth(),t.height,t.contentHeight)),this._updateHeight()}saveState(){const t=this._scrollable.getFutureScrollPosition(),i=t.scrollTop,s=this._linesLayout.getLineNumberAtOrAfterVerticalOffset(i),g=this._linesLayout.getWhitespaceAccumulatedHeightBeforeLineNumber(s);return{scrollTop:i,scrollTopWithoutViewZones:i-g,scrollLeft:t.scrollLeft}}changeWhitespace(t){const i=this._linesLayout.changeWhitespace(t);return i&&this.onHeightMaybeChanged(),i}getVerticalOffsetForLineNumber(t,i=!1){return this._linesLayout.getVerticalOffsetForLineNumber(t,i)}getVerticalOffsetAfterLineNumber(t,i=!1){return this._linesLayout.getVerticalOffsetAfterLineNumber(t,i)}isAfterLines(t){return this._linesLayout.isAfterLines(t)}isInTopPadding(t){return this._linesLayout.isInTopPadding(t)}isInBottomPadding(t){return this._linesLayout.isInBottomPadding(t)}getLineNumberAtVerticalOffset(t){return this._linesLayout.getLineNumberAtOrAfterVerticalOffset(t)}getWhitespaceAtVerticalOffset(t){return this._linesLayout.getWhitespaceAtVerticalOffset(t)}getLinesViewportData(){const t=this.getCurrentViewport();return this._linesLayout.getLinesViewportData(t.top,t.top+t.height)}getLinesViewportDataAtScrollTop(t){const i=this._scrollable.getScrollDimensions();return t+i.height>i.scrollHeight&&(t=i.scrollHeight-i.height),t<0&&(t=0),this._linesLayout.getLinesViewportData(t,t+i.height)}getWhitespaceViewportData(){const t=this.getCurrentViewport();return this._linesLayout.getWhitespaceViewportData(t.top,t.top+t.height)}getWhitespaces(){return this._linesLayout.getWhitespaces()}getContentWidth(){return this._scrollable.getScrollDimensions().contentWidth}getScrollWidth(){return this._scrollable.getScrollDimensions().scrollWidth}getContentHeight(){return this._scrollable.getScrollDimensions().contentHeight}getScrollHeight(){return this._scrollable.getScrollDimensions().scrollHeight}getCurrentScrollLeft(){return this._scrollable.getCurrentScrollPosition().scrollLeft}getCurrentScrollTop(){return this._scrollable.getCurrentScrollPosition().scrollTop}validateScrollPosition(t){return this._scrollable.validateScrollPosition(t)}setScrollPosition(t,i){i===1?this._scrollable.setScrollPositionNow(t):this._scrollable.setScrollPositionSmooth(t)}hasPendingScrollAnimation(){return this._scrollable.hasPendingScrollAnimation()}deltaScrollNow(t,i){const s=this._scrollable.getCurrentScrollPosition();this._scrollable.setScrollPositionNow({scrollLeft:s.scrollLeft+t,scrollTop:s.scrollTop+i})}}e.ViewLayout=n}),define(ne[607],se([1,0,4,23]),function(oe,e,d,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.MoveCaretCommand=void 0;class I{constructor(y,m){this._selection=y,this._isMovingLeft=m}getEditOperations(y,m){if(this._selection.startLineNumber!==this._selection.endLineNumber||this._selection.isEmpty())return;const _=this._selection.startLineNumber,b=this._selection.startColumn,p=this._selection.endColumn;if(!(this._isMovingLeft&&b===1)&&!(!this._isMovingLeft&&p===y.getLineMaxColumn(_)))if(this._isMovingLeft){const n=new d.Range(_,b-1,_,b),o=y.getValueInRange(n);m.addEditOperation(n,null),m.addEditOperation(new d.Range(_,p,_,p),o)}else{const n=new d.Range(_,p,_,p+1),o=y.getValueInRange(n);m.addEditOperation(n,null),m.addEditOperation(new d.Range(_,b,_,b),o)}}computeCursorState(y,m){return this._isMovingLeft?new k.Selection(this._selection.startLineNumber,this._selection.startColumn-1,this._selection.endLineNumber,this._selection.endColumn-1):new k.Selection(this._selection.startLineNumber,this._selection.startColumn+1,this._selection.endLineNumber,this._selection.endColumn+1)}}e.MoveCaretCommand=I}),define(ne[134],se([1,0,8,91]),function(oe,e,d,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CodeActionItem=e.CodeActionCommandArgs=e.CodeActionTriggerSource=e.CodeActionKind=void 0,e.mayIncludeActionsOfKind=E,e.filtersAction=y,e.CodeActionKind=new class{constructor(){this.QuickFix=new k.HierarchicalKind("quickfix"),this.Refactor=new k.HierarchicalKind("refactor"),this.RefactorExtract=this.Refactor.append("extract"),this.RefactorInline=this.Refactor.append("inline"),this.RefactorMove=this.Refactor.append("move"),this.RefactorRewrite=this.Refactor.append("rewrite"),this.Notebook=new k.HierarchicalKind("notebook"),this.Source=new k.HierarchicalKind("source"),this.SourceOrganizeImports=this.Source.append("organizeImports"),this.SourceFixAll=this.Source.append("fixAll"),this.SurroundWith=this.Refactor.append("surround")}};var I;(function(p){p.Refactor="refactor",p.RefactorPreview="refactor preview",p.Lightbulb="lightbulb",p.Default="other (default)",p.SourceAction="source action",p.QuickFix="quick fix action",p.FixAll="fix all",p.OrganizeImports="organize imports",p.AutoFix="auto fix",p.QuickFixHover="quick fix hover window",p.OnSave="save participants",p.ProblemsView="problems view"})(I||(e.CodeActionTriggerSource=I={}));function E(p,n){return!(p.include&&!p.include.intersects(n)||p.excludes&&p.excludes.some(o=>m(n,o,p.include))||!p.includeSourceActions&&e.CodeActionKind.Source.contains(n))}function y(p,n){const o=n.kind?new k.HierarchicalKind(n.kind):void 0;return!(p.include&&(!o||!p.include.contains(o))||p.excludes&&o&&p.excludes.some(t=>m(o,t,p.include))||!p.includeSourceActions&&o&&e.CodeActionKind.Source.contains(o)||p.onlyIncludePreferredActions&&!n.isPreferred)}function m(p,n,o){return!(!n.contains(p)||o&&n.contains(o))}class _{static fromUser(n,o){return!n||typeof n!="object"?new _(o.kind,o.apply,!1):new _(_.getKindFromUser(n,o.kind),_.getApplyFromUser(n,o.apply),_.getPreferredUser(n))}static getApplyFromUser(n,o){switch(typeof n.apply=="string"?n.apply.toLowerCase():""){case"first":return"first";case"never":return"never";case"ifsingle":return"ifSingle";default:return o}}static getKindFromUser(n,o){return typeof n.kind=="string"?new k.HierarchicalKind(n.kind):o}static getPreferredUser(n){return typeof n.preferred=="boolean"?n.preferred:!1}constructor(n,o,t){this.kind=n,this.apply=o,this.preferred=t}}e.CodeActionCommandArgs=_;class b{constructor(n,o,t){this.action=n,this.provider=o,this.highlightRange=t}async resolve(n){if(this.provider?.resolveCodeAction&&!this.action.edit){let o;try{o=await this.provider.resolveCodeAction(this.action,n)}catch(t){(0,d.onUnexpectedExternalError)(t)}o&&(this.action.edit=o.edit)}return this}}e.CodeActionItem=b}),define(ne[608],se([1,0,6]),function(oe,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ColorPickerModel=void 0;class k{get color(){return this._color}set color(E){this._color.equals(E)||(this._color=E,this._onDidChangeColor.fire(E))}get presentation(){return this.colorPresentations[this.presentationIndex]}get colorPresentations(){return this._colorPresentations}set colorPresentations(E){this._colorPresentations=E,this.presentationIndex>E.length-1&&(this.presentationIndex=0),this._onDidChangePresentation.fire(this.presentation)}constructor(E,y,m){this.presentationIndex=m,this._onColorFlushed=new d.Emitter,this.onColorFlushed=this._onColorFlushed.event,this._onDidChangeColor=new d.Emitter,this.onDidChangeColor=this._onDidChangeColor.event,this._onDidChangePresentation=new d.Emitter,this.onDidChangePresentation=this._onDidChangePresentation.event,this.originalColor=E,this._color=E,this._colorPresentations=y}selectNextColorPresentation(){this.presentationIndex=(this.presentationIndex+1)%this.colorPresentations.length,this.flushColor(),this._onDidChangePresentation.fire(this.presentation)}guessColorPresentation(E,y){let m=-1;for(let _=0;_o)return!1;for(let t=0;t=65&&i<=90&&i+32===s)&&!(s>=65&&s<=90&&s+32===i))return!1}return!0}_createOperationsForBlockComment(_,b,p,n,o,t){const i=_.startLineNumber,s=_.startColumn,g=_.endLineNumber,c=_.endColumn,l=o.getLineContent(i),a=o.getLineContent(g);let r=l.lastIndexOf(b,s-1+b.length),u=a.indexOf(p,c-1-p.length);if(r!==-1&&u!==-1)if(i===g)l.substring(r+b.length,u).indexOf(p)>=0&&(r=-1,u=-1);else{const f=l.substring(r+b.length),h=a.substring(0,u);(f.indexOf(p)>=0||h.indexOf(p)>=0)&&(r=-1,u=-1)}let C;r!==-1&&u!==-1?(n&&r+b.length0&&a.charCodeAt(u-1)===32&&(p=" "+p,u-=1),C=y._createRemoveBlockCommentOperations(new I.Range(i,r+b.length+1,g,u+1),b,p)):(C=y._createAddBlockCommentOperations(_,b,p,this._insertSpace),this._usedEndToken=C.length===1?p:null);for(const f of C)t.addTrackedEditOperation(f.range,f.text)}static _createRemoveBlockCommentOperations(_,b,p){const n=[];return I.Range.isEmpty(_)?n.push(d.EditOperation.delete(new I.Range(_.startLineNumber,_.startColumn-b.length,_.endLineNumber,_.endColumn+p.length))):(n.push(d.EditOperation.delete(new I.Range(_.startLineNumber,_.startColumn-b.length,_.startLineNumber,_.startColumn))),n.push(d.EditOperation.delete(new I.Range(_.endLineNumber,_.endColumn,_.endLineNumber,_.endColumn+p.length)))),n}static _createAddBlockCommentOperations(_,b,p,n){const o=[];return I.Range.isEmpty(_)?o.push(d.EditOperation.replace(new I.Range(_.startLineNumber,_.startColumn,_.endLineNumber,_.endColumn),b+" "+p)):(o.push(d.EditOperation.insert(new k.Position(_.startLineNumber,_.startColumn),b+(n?" ":""))),o.push(d.EditOperation.insert(new k.Position(_.endLineNumber,_.endColumn),(n?" ":"")+p))),o}getEditOperations(_,b){const p=this._selection.startLineNumber,n=this._selection.startColumn;_.tokenization.tokenizeIfCheap(p);const o=_.getLanguageIdAtPosition(p,n),t=this.languageConfigurationService.getLanguageConfiguration(o).comments;!t||!t.blockCommentStartToken||!t.blockCommentEndToken||this._createOperationsForBlockComment(this._selection,t.blockCommentStartToken,t.blockCommentEndToken,this._insertSpace,_,b)}computeCursorState(_,b){const p=b.getInverseEditOperations();if(p.length===2){const n=p[0],o=p[1];return new E.Selection(n.range.endLineNumber,n.range.endColumn,o.range.startLineNumber,o.range.startColumn)}else{const n=p[0].range,o=this._usedEndToken?-this._usedEndToken.length-1:0;return new E.Selection(n.endLineNumber,n.endColumn+o,n.endLineNumber,n.endColumn+o)}}}e.BlockCommentCommand=y}),define(ne[609],se([1,0,11,75,9,4,23,333]),function(oe,e,d,k,I,E,y,m){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.LineCommentCommand=void 0;class _{constructor(p,n,o,t,i,s,g){this.languageConfigurationService=p,this._selection=n,this._indentSize=o,this._type=t,this._insertSpace=i,this._selectionId=null,this._deltaColumn=0,this._moveEndPositionDown=!1,this._ignoreEmptyLines=s,this._ignoreFirstLine=g||!1}static _gatherPreflightCommentStrings(p,n,o,t){p.tokenization.tokenizeIfCheap(n);const i=p.getLanguageIdAtPosition(n,1),s=t.getLanguageConfiguration(i).comments,g=s?s.lineCommentToken:null;if(!g)return null;const c=[];for(let l=0,a=o-n+1;li?n[c].commentStrOffset=s-1:n[c].commentStrOffset=s}}}e.LineCommentCommand=_}),define(ne[610],se([1,0,4,23]),function(oe,e,d,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DragAndDropCommand=void 0;class I{constructor(y,m,_){this.selection=y,this.targetPosition=m,this.copy=_,this.targetSelection=null}getEditOperations(y,m){const _=y.getValueInRange(this.selection);if(this.copy||m.addEditOperation(this.selection,null),m.addEditOperation(new d.Range(this.targetPosition.lineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.targetPosition.column),_),this.selection.containsPosition(this.targetPosition)&&!(this.copy&&(this.selection.getEndPosition().equals(this.targetPosition)||this.selection.getStartPosition().equals(this.targetPosition)))){this.targetSelection=this.selection;return}if(this.copy){this.targetSelection=new k.Selection(this.targetPosition.lineNumber,this.targetPosition.column,this.selection.endLineNumber-this.selection.startLineNumber+this.targetPosition.lineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column+this.selection.endColumn-this.selection.startColumn:this.selection.endColumn);return}if(this.targetPosition.lineNumber>this.selection.endLineNumber){this.targetSelection=new k.Selection(this.targetPosition.lineNumber-this.selection.endLineNumber+this.selection.startLineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column+this.selection.endColumn-this.selection.startColumn:this.selection.endColumn);return}if(this.targetPosition.lineNumber0){const m=[];for(let p=0;pd.Range.compareRangesUsingStarts(p.range,n.range));const _=[];let b=m[0];for(let p=1;p0){const c=[],l=s.caseOps.length;let a=0;for(let r=0,u=g.length;r=l){c.push(g.slice(r));break}switch(s.caseOps[a]){case"U":c.push(g[r].toUpperCase());break;case"u":c.push(g[r].toUpperCase()),a++;break;case"L":c.push(g[r].toLowerCase());break;case"l":c.push(g[r].toLowerCase()),a++;break;default:c.push(g[r])}}g=c.join("")}o+=g}return o}static _substitute(p,n){if(n===null)return"";if(p===0)return n[0];let o="";for(;p>0;){if(p=t)break;const s=b.charCodeAt(o);switch(s){case 92:n.emitUnchanged(o-1),n.emitStatic("\\",o+1);break;case 110:n.emitUnchanged(o-1),n.emitStatic(` +`,o+1);break;case 116:n.emitUnchanged(o-1),n.emitStatic(" ",o+1);break;case 117:case 85:case 108:case 76:n.emitUnchanged(o-1),n.emitStatic("",o+1),p.push(String.fromCharCode(s));break}continue}if(i===36){if(o++,o>=t)break;const s=b.charCodeAt(o);if(s===36){n.emitUnchanged(o-1),n.emitStatic("$",o+1);continue}if(s===48||s===38){n.emitUnchanged(o-1),n.emitMatchIndex(0,o+1,p),p.length=0;continue}if(49<=s&&s<=57){let g=s-48;if(o+1e.MAX_FOLDING_REGIONS)throw new Error("invalid startIndexes or endIndexes size");this._startIndexes=m,this._endIndexes=_,this._collapseStates=new k(m.length),this._userDefinedStates=new k(m.length),this._recoveredStates=new k(m.length),this._types=b,this._parentsComputed=!1}ensureParentIndices(){if(!this._parentsComputed){this._parentsComputed=!0;const m=[],_=(b,p)=>{const n=m[m.length-1];return this.getStartLineNumber(n)<=b&&this.getEndLineNumber(n)>=p};for(let b=0,p=this._startIndexes.length;be.MAX_LINE_NUMBER||o>e.MAX_LINE_NUMBER)throw new Error("startLineNumber or endLineNumber must not exceed "+e.MAX_LINE_NUMBER);for(;m.length>0&&!_(n,o);)m.pop();const t=m.length>0?m[m.length-1]:-1;m.push(b),this._startIndexes[b]=n+((t&255)<<24),this._endIndexes[b]=o+((t&65280)<<16)}}}get length(){return this._startIndexes.length}getStartLineNumber(m){return this._startIndexes[m]&e.MAX_LINE_NUMBER}getEndLineNumber(m){return this._endIndexes[m]&e.MAX_LINE_NUMBER}getType(m){return this._types?this._types[m]:void 0}hasTypes(){return!!this._types}isCollapsed(m){return this._collapseStates.get(m)}setCollapsed(m,_){this._collapseStates.set(m,_)}isUserDefined(m){return this._userDefinedStates.get(m)}setUserDefined(m,_){return this._userDefinedStates.set(m,_)}isRecovered(m){return this._recoveredStates.get(m)}setRecovered(m,_){return this._recoveredStates.set(m,_)}getSource(m){return this.isUserDefined(m)?1:this.isRecovered(m)?2:0}setSource(m,_){_===1?(this.setUserDefined(m,!0),this.setRecovered(m,!1)):_===2?(this.setUserDefined(m,!1),this.setRecovered(m,!0)):(this.setUserDefined(m,!1),this.setRecovered(m,!1))}setCollapsedAllOfType(m,_){let b=!1;if(this._types)for(let p=0;p>>24)+((this._endIndexes[m]&d)>>>16);return _===e.MAX_FOLDING_REGIONS?-1:_}contains(m,_){return this.getStartLineNumber(m)<=_&&this.getEndLineNumber(m)>=_}findIndex(m){let _=0,b=this._startIndexes.length;if(b===0)return-1;for(;_=0){if(this.getEndLineNumber(_)>=m)return _;for(_=this.getParentIndex(_);_!==-1;){if(this.contains(_,m))return _;_=this.getParentIndex(_)}}return-1}toString(){const m=[];for(let _=0;_Array.isArray(C)?h=>hh=c.startLineNumber))g&&g.startLineNumber===c.startLineNumber?(c.source===1?C=c:(C=g,C.isCollapsed=c.isCollapsed&&(g.endLineNumber===c.endLineNumber||!p?.startsInside(g.startLineNumber+1,g.endLineNumber+1)),C.source=0),g=o(++i)):(C=c,c.isCollapsed&&c.source===0&&(C.source=2)),c=t(++s);else{let f=s,h=c;for(;;){if(!h||h.startLineNumber>g.endLineNumber){C=g;break}if(h.source===1&&h.endLineNumber>g.endLineNumber)break;h=t(++f)}g=o(++i)}if(C){for(;a&&a.endLineNumberC.startLineNumber&&C.startLineNumber>r&&C.endLineNumber<=b&&(!a||a.endLineNumber>=C.endLineNumber)&&(u.push(C),r=C.startLineNumber,a&&l.push(a),a=C)}}return u}}e.FoldingRegions=I;class E{constructor(m,_){this.ranges=m,this.index=_}get startLineNumber(){return this.ranges.getStartLineNumber(this.index)}get endLineNumber(){return this.ranges.getEndLineNumber(this.index)}get regionIndex(){return this.index}get parentIndex(){return this.ranges.getParentIndex(this.index)}get isCollapsed(){return this.ranges.isCollapsed(this.index)}containedBy(m){return m.startLineNumber<=this.startLineNumber&&m.endLineNumber>=this.endLineNumber}containsLine(m){return this.startLineNumber<=m&&m<=this.endLineNumber}}e.FoldingRegion=E}),define(ne[334],se([1,0,6,203,129]),function(oe,e,d,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.FoldingModel=void 0,e.toggleCollapseState=y,e.setCollapseStateLevelsDown=m,e.setCollapseStateLevelsUp=_,e.setCollapseStateUp=b,e.setCollapseStateAtLevel=p,e.setCollapseStateForRest=n,e.setCollapseStateForMatchingLines=o,e.setCollapseStateForType=t,e.getParentFoldLine=i,e.getPreviousFoldLine=s,e.getNextFoldLine=g;class E{get regions(){return this._regions}get textModel(){return this._textModel}constructor(l,a){this._updateEventEmitter=new d.Emitter,this.onDidChange=this._updateEventEmitter.event,this._textModel=l,this._decorationProvider=a,this._regions=new k.FoldingRegions(new Uint32Array(0),new Uint32Array(0)),this._editorDecorationIds=[]}toggleCollapseState(l){if(!l.length)return;l=l.sort((r,u)=>r.regionIndex-u.regionIndex);const a={};this._decorationProvider.changeDecorations(r=>{let u=0,C=-1,f=-1;const h=v=>{for(;uf&&(f=w),u++}};for(const v of l){const w=v.regionIndex,S=this._editorDecorationIds[w];if(S&&!a[S]){a[S]=!0,h(w);const L=!this._regions.isCollapsed(w);this._regions.setCollapsed(w,L),C=Math.max(C,this._regions.getEndLineNumber(w))}}h(this._regions.length)}),this._updateEventEmitter.fire({model:this,collapseStateChanged:l})}removeManualRanges(l){const a=new Array,r=u=>{for(const C of l)if(!(C.startLineNumber>u.endLineNumber||u.startLineNumber>C.endLineNumber))return!0;return!1};for(let u=0;ur&&(r=h)}this._decorationProvider.changeDecorations(u=>this._editorDecorationIds=u.deltaDecorations(this._editorDecorationIds,a)),this._regions=l,this._updateEventEmitter.fire({model:this})}_currentFoldedOrManualRanges(l){const a=[];for(let r=0,u=this._regions.length;r=f.endLineNumber||f.startLineNumber<1||f.endLineNumber>r)continue;const h=this._getLinesChecksum(f.startLineNumber+1,f.endLineNumber);a.push({startLineNumber:f.startLineNumber,endLineNumber:f.endLineNumber,isCollapsed:f.isCollapsed,source:f.source,checksum:h})}return a.length>0?a:void 0}applyMemento(l){if(!Array.isArray(l))return;const a=[],r=this._textModel.getLineCount();for(const C of l){if(C.startLineNumber>=C.endLineNumber||C.startLineNumber<1||C.endLineNumber>r)continue;const f=this._getLinesChecksum(C.startLineNumber+1,C.endLineNumber);(!C.checksum||f===C.checksum)&&a.push({startLineNumber:C.startLineNumber,endLineNumber:C.endLineNumber,type:void 0,isCollapsed:C.isCollapsed??!0,source:C.source??0})}const u=k.FoldingRegions.sanitizeAndMerge(this._regions,a,r);this.updatePost(k.FoldingRegions.fromFoldRanges(u))}_getLinesChecksum(l,a){return(0,I.hash)(this._textModel.getLineContent(l)+this._textModel.getLineContent(a))%1e6}dispose(){this._decorationProvider.removeDecorations(this._editorDecorationIds)}getAllRegionsAtLine(l,a){const r=[];if(this._regions){let u=this._regions.findRange(l),C=1;for(;u>=0;){const f=this._regions.toRegion(u);(!a||a(f,C))&&r.push(f),C++,u=f.parentIndex}}return r}getRegionAtLine(l){if(this._regions){const a=this._regions.findRange(l);if(a>=0)return this._regions.toRegion(a)}return null}getRegionsInside(l,a){const r=[],u=l?l.regionIndex+1:0,C=l?l.endLineNumber:Number.MAX_VALUE;if(a&&a.length===2){const f=[];for(let h=u,v=this._regions.length;h0&&!w.containedBy(f[f.length-1]);)f.pop();f.push(w),a(w,f.length)&&r.push(w)}else break}}else for(let f=u,h=this._regions.length;f1){const h=c.getRegionsInside(C,(v,w)=>v.isCollapsed!==f&&w0)for(const C of r){const f=c.getRegionAtLine(C);if(f&&(f.isCollapsed!==l&&u.push(f),a>1)){const h=c.getRegionsInside(f,(v,w)=>v.isCollapsed!==l&&wf.isCollapsed!==l&&hh.isCollapsed!==l&&v<=a);u.push(...f)}c.toggleCollapseState(u)}function b(c,l,a){const r=[];for(const u of a){const C=c.getAllRegionsAtLine(u,f=>f.isCollapsed!==l);C.length>0&&r.push(C[0])}c.toggleCollapseState(r)}function p(c,l,a,r){const u=(f,h)=>h===l&&f.isCollapsed!==a&&!r.some(v=>f.containsLine(v)),C=c.getRegionsInside(null,u);c.toggleCollapseState(C)}function n(c,l,a){const r=[];for(const f of a){const h=c.getAllRegionsAtLine(f,void 0);h.length>0&&r.push(h[0])}const u=f=>r.every(h=>!h.containedBy(f)&&!f.containedBy(h))&&f.isCollapsed!==l,C=c.getRegionsInside(null,u);c.toggleCollapseState(C)}function o(c,l,a){const r=c.textModel,u=c.regions,C=[];for(let f=u.length-1;f>=0;f--)if(a!==u.isCollapsed(f)){const h=u.getStartLineNumber(f);l.test(r.getLineContent(h))&&C.push(u.toRegion(f))}c.toggleCollapseState(C)}function t(c,l,a){const r=c.regions,u=[];for(let C=r.length-1;C>=0;C--)a!==r.isCollapsed(C)&&l===r.getType(C)&&u.push(r.toRegion(C));c.toggleCollapseState(u)}function i(c,l){let a=null;const r=l.getRegionAtLine(c);if(r!==null&&(a=r.startLineNumber,c===a)){const u=r.parentIndex;u!==-1?a=l.regions.getStartLineNumber(u):a=null}return a}function s(c,l){let a=l.getRegionAtLine(c);if(a!==null&&a.startLineNumber===c){if(c!==a.startLineNumber)return a.startLineNumber;{const r=a.parentIndex;let u=0;for(r!==-1&&(u=l.regions.getStartLineNumber(a.parentIndex));a!==null;)if(a.regionIndex>0){if(a=l.regions.toRegion(a.regionIndex-1),a.startLineNumber<=u)return null;if(a.parentIndex===r)return a.startLineNumber}else return null}}else if(l.regions.length>0)for(a=l.regions.toRegion(l.regions.length-1);a!==null;){if(a.startLineNumber0?a=l.regions.toRegion(a.regionIndex-1):a=null}return null}function g(c,l){let a=l.getRegionAtLine(c);if(a!==null&&a.startLineNumber===c){const r=a.parentIndex;let u=0;if(r!==-1)u=l.regions.getEndLineNumber(a.parentIndex);else{if(l.regions.length===0)return null;u=l.regions.getEndLineNumber(l.regions.length-1)}for(;a!==null;)if(a.regionIndex=u)return null;if(a.parentIndex===r)return a.startLineNumber}else return null}else if(l.regions.length>0)for(a=l.regions.toRegion(0);a!==null;){if(a.startLineNumber>c)return a.startLineNumber;a.regionIndexthis.updateHiddenRanges()),this._hiddenRanges=[],p.regions.length&&this.updateHiddenRanges()}notifyChangeModelContent(p){this._hiddenRanges.length&&!this._hasLineChanges&&(this._hasLineChanges=p.changes.some(n=>n.range.endLineNumber!==n.range.startLineNumber||(0,E.countEOL)(n.text)[0]!==0))}updateHiddenRanges(){let p=!1;const n=[];let o=0,t=0,i=Number.MAX_VALUE,s=-1;const g=this._foldingModel.regions;for(;o0}isHidden(p){return _(this._hiddenRanges,p)!==null}adjustSelections(p){let n=!1;const o=this._foldingModel.textModel;let t=null;const i=s=>((!t||!m(s,t))&&(t=_(this._hiddenRanges,s)),t?t.startLineNumber-1:null);for(let s=0,g=p.length;s0&&(this._hiddenRanges=[],this._updateEventEmitter.fire(this._hiddenRanges)),this._foldingModelListener&&(this._foldingModelListener.dispose(),this._foldingModelListener=null)}}e.HiddenRangeModel=y;function m(b,p){return b>=p.startLineNumber&&b<=p.endLineNumber}function _(b,p){const n=(0,d.findFirstIdxMonotonousOrArrLen)(b,o=>p=0&&b[n].endLineNumber>=p?b[n]:null}}),define(ne[335],se([1,0,237,203]),function(oe,e,d,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.RangesCollector=e.IndentRangeProvider=void 0,e.computeRanges=b;const I=5e3,E="indent";class y{constructor(n,o,t){this.editorModel=n,this.languageConfigurationService=o,this.foldingRangesLimit=t,this.id=E}dispose(){}compute(n){const o=this.languageConfigurationService.getLanguageConfiguration(this.editorModel.getLanguageId()).foldingRules,t=o&&!!o.offSide,i=o&&o.markers;return Promise.resolve(b(this.editorModel,t,i,this.foldingRangesLimit))}}e.IndentRangeProvider=y;class m{constructor(n){this._startIndexes=[],this._endIndexes=[],this._indentOccurrences=[],this._length=0,this._foldingRangesLimit=n}insertFirst(n,o,t){if(n>k.MAX_LINE_NUMBER||o>k.MAX_LINE_NUMBER)return;const i=this._length;this._startIndexes[i]=n,this._endIndexes[i]=o,this._length++,t<1e3&&(this._indentOccurrences[t]=(this._indentOccurrences[t]||0)+1)}toIndentRanges(n){const o=this._foldingRangesLimit.limit;if(this._length<=o){this._foldingRangesLimit.update(this._length,!1);const t=new Uint32Array(this._length),i=new Uint32Array(this._length);for(let s=this._length-1,g=0;s>=0;s--,g++)t[g]=this._startIndexes[s],i[g]=this._endIndexes[s];return new k.FoldingRegions(t,i)}else{this._foldingRangesLimit.update(this._length,o);let t=0,i=this._indentOccurrences.length;for(let l=0;lo){i=l;break}t+=a}}const s=n.getOptions().tabSize,g=new Uint32Array(o),c=new Uint32Array(o);for(let l=this._length-1,a=0;l>=0;l--){const r=this._startIndexes[l],u=n.getLineContent(r),C=(0,d.computeIndentLevel)(u,s);(C{}};function b(p,n,o,t=_){const i=p.getOptions().tabSize,s=new m(t);let g;o&&(g=new RegExp(`(${o.start.source})|(?:${o.end.source})`));const c=[],l=p.getLineCount()+1;c.push({indent:-1,endAbove:l,line:l});for(let a=p.getLineCount();a>0;a--){const r=p.getLineContent(a),u=(0,d.computeIndentLevel)(r,i);let C=c[c.length-1];if(u===-1){n&&(C.endAbove=a);continue}let f;if(g&&(f=r.match(g)))if(f[1]){let h=c.length-1;for(;h>0&&c[h].indent!==-2;)h--;if(h>0){c.length=h+1,C=c[h],s.insertFirst(a,C.line,u),C.line=a,C.indent=u,C.endAbove=a;continue}}else{c.push({indent:-2,endAbove:a,line:a});continue}if(C.indent>u){do c.pop(),C=c[c.length-1];while(C.indent>u);const h=C.endAbove-1;h-a>=1&&s.insertFirst(a,h,u)}C.indent===u?C.endAbove=a:c.push({indent:u,endAbove:a,line:a})}return s.toIndentRanges(p)}}),define(ne[336],se([1,0,8,2,203]),function(oe,e,d,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SyntaxRangeProvider=void 0,e.sanitizeRanges=p;const E={},y="syntax";class m{constructor(o,t,i,s,g){this.editorModel=o,this.providers=t,this.handleFoldingRangesChange=i,this.foldingRangesLimit=s,this.fallbackRangeProvider=g,this.id=y,this.disposables=new k.DisposableStore,g&&this.disposables.add(g);for(const c of t)typeof c.onDidChange=="function"&&this.disposables.add(c.onDidChange(i))}compute(o){return _(this.providers,this.editorModel,o).then(t=>t?p(t,this.foldingRangesLimit):this.fallbackRangeProvider?.compute(o)??null)}dispose(){this.disposables.dispose()}}e.SyntaxRangeProvider=m;function _(n,o,t){let i=null;const s=n.map((g,c)=>Promise.resolve(g.provideFoldingRanges(o,E,t)).then(l=>{if(!t.isCancellationRequested&&Array.isArray(l)){Array.isArray(i)||(i=[]);const a=o.getLineCount();for(const r of l)r.start>0&&r.end>r.start&&r.end<=a&&i.push({start:r.start,end:r.end,rank:c,kind:r.kind})}},d.onUnexpectedExternalError));return Promise.all(s).then(g=>i)}class b{constructor(o){this._startIndexes=[],this._endIndexes=[],this._nestingLevels=[],this._nestingLevelCounts=[],this._types=[],this._length=0,this._foldingRangesLimit=o}add(o,t,i,s){if(o>I.MAX_LINE_NUMBER||t>I.MAX_LINE_NUMBER)return;const g=this._length;this._startIndexes[g]=o,this._endIndexes[g]=t,this._nestingLevels[g]=s,this._types[g]=i,this._length++,s<30&&(this._nestingLevelCounts[s]=(this._nestingLevelCounts[s]||0)+1)}toIndentRanges(){const o=this._foldingRangesLimit.limit;if(this._length<=o){this._foldingRangesLimit.update(this._length,!1);const t=new Uint32Array(this._length),i=new Uint32Array(this._length);for(let s=0;so){i=l;break}t+=a}}const s=new Uint32Array(o),g=new Uint32Array(o),c=[];for(let l=0,a=0;l{let a=c.start-l.start;return a===0&&(a=c.rank-l.rank),a}),i=new b(o);let s;const g=[];for(const c of t)if(!s)s=c,i.add(c.start,c.end,c.kind&&c.kind.value,g.length);else if(c.start>s.start)if(c.end<=s.end)g.push(s),s=c,i.add(c.start,c.end,c.kind&&c.kind.value,g.length);else{if(c.start>s.end){do s=g.pop();while(s&&c.start>s.end);s&&g.push(s),s=c}i.add(c.start,c.end,c.kind&&c.kind.value,g.length)}return i.toIndentRanges()}}),define(ne[337],se([1,0,75,4,143]),function(oe,e,d,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.FormattingEdit=void 0;class E{static _handleEolEdits(m,_){let b;const p=[];for(const n of _)typeof n.eol=="number"&&(b=n.eol),n.range&&typeof n.text=="string"&&p.push(n);return typeof b=="number"&&m.hasModel()&&m.getModel().pushEOL(b),p}static _isFullModelReplaceEdit(m,_){if(!m.hasModel())return!1;const b=m.getModel(),p=b.validateRange(_.range);return b.getFullModelRange().equalsRange(p)}static execute(m,_,b){b&&m.pushUndoStop();const p=I.StableEditorScrollState.capture(m),n=E._handleEolEdits(m,_);n.length===1&&E._isFullModelReplaceEdit(m,n[0])?m.executeEdits("formatEditsCommand",n.map(o=>d.EditOperation.replace(k.Range.lift(o.range),o.text))):m.executeEdits("formatEditsCommand",n.map(o=>d.EditOperation.replaceMove(k.Range.lift(o.range),o.text))),b&&m.pushUndoStop(),p.restoreRelativeVerticalPositionOfCursor(m)}}e.FormattingEdit=E}),define(ne[614],se([1,0]),function(oe,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.FilteredHoverResult=e.HoverResult=void 0;class d{constructor(E,y,m){this.anchor=E,this.hoverParts=y,this.isComplete=m}filter(E){const y=this.hoverParts.filter(m=>m.isValidForHoverAnchor(E));return y.length===this.hoverParts.length?this:new k(this,this.anchor,y,this.isComplete)}}e.HoverResult=d;class k extends d{constructor(E,y,m,_){super(y,m,_),this.original=E}filter(E){return this.original.filter(E)}}e.FilteredHoverResult=k}),define(ne[615],se([1,0]),function(oe,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ExtHoverAccessibleView=e.HoverAccessibilityHelp=e.HoverAccessibleView=void 0;class d{}e.HoverAccessibleView=d;class k{}e.HoverAccessibilityHelp=k;class I{}e.ExtHoverAccessibleView=I}),define(ne[84],se([1,0]),function(oe,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.HoverParticipantRegistry=e.RenderedHoverParts=e.HoverForeignElementAnchor=e.HoverRangeAnchor=void 0;class d{constructor(y,m,_,b){this.priority=y,this.range=m,this.initialMousePosX=_,this.initialMousePosY=b,this.type=1}equals(y){return y.type===1&&this.range.equalsRange(y.range)}canAdoptVisibleHover(y,m){return y.type===1&&m.lineNumber===this.range.startLineNumber}}e.HoverRangeAnchor=d;class k{constructor(y,m,_,b,p,n){this.priority=y,this.owner=m,this.range=_,this.initialMousePosX=b,this.initialMousePosY=p,this.supportsMarkerHover=n,this.type=2}equals(y){return y.type===2&&this.owner===y.owner}canAdoptVisibleHover(y,m){return y.type===2&&this.owner===y.owner}}e.HoverForeignElementAnchor=k;class I{constructor(y){this.renderedHoverParts=y}dispose(){for(const y of this.renderedHoverParts)y.dispose()}}e.RenderedHoverParts=I,e.HoverParticipantRegistry=new class{constructor(){this._participants=[]}register(y){this._participants.push(y)}getAll(){return this._participants}}}),define(ne[616],se([1,0,23]),function(oe,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.InPlaceReplaceCommand=void 0;class k{constructor(E,y,m){this._editRange=E,this._originalSelection=y,this._text=m}getEditOperations(E,y){y.addTrackedEditOperation(this._editRange,this._text)}computeCursorState(E,y){const _=y.getInverseEditOperations()[0].range;return this._originalSelection.isEmpty()?new d.Selection(_.endLineNumber,Math.min(this._originalSelection.positionColumn,_.endColumn),_.endLineNumber,Math.min(this._originalSelection.positionColumn,_.endColumn)):new d.Selection(_.endLineNumber,_.endColumn-this._text.length,_.endLineNumber,_.endColumn)}}e.InPlaceReplaceCommand=k}),define(ne[338],se([1,0]),function(oe,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getSpaceCnt=d,e.generateIndent=k;function d(I,E){let y=0;for(let m=0;mi.equals(t.parts[s]))}renderForScreenReader(t){if(this.parts.length===0)return"";const i=this.parts[this.parts.length-1],s=t.substr(0,i.column-1);return new y.TextEdit([...this.parts.map(c=>new y.SingleTextEdit(E.Range.fromPositions(new I.Position(1,c.column)),c.lines.join(` +`)))]).applyToString(s).substring(this.parts[0].column-1)}isEmpty(){return this.parts.every(t=>t.lines.length===0)}get lineCount(){return 1+this.parts.reduce((t,i)=>t+i.lines.length-1,0)}}e.GhostText=m;class _{constructor(t,i,s){this.column=t,this.text=i,this.preview=s,this.lines=(0,k.splitLines)(this.text)}equals(t){return this.column===t.column&&this.lines.length===t.lines.length&&this.lines.every((i,s)=>i===t.lines[s])}}e.GhostTextPart=_;class b{constructor(t,i,s,g=0){this.lineNumber=t,this.columnRange=i,this.text=s,this.additionalReservedLineCount=g,this.parts=[new _(this.columnRange.endColumnExclusive,this.text,!1)],this.newLines=(0,k.splitLines)(this.text)}renderForScreenReader(t){return this.newLines.join(` +`)}get lineCount(){return this.newLines.length}isEmpty(){return this.parts.every(t=>t.lines.length===0)}equals(t){return this.lineNumber===t.lineNumber&&this.columnRange.equals(t.columnRange)&&this.newLines.length===t.newLines.length&&this.newLines.every((i,s)=>i===t.newLines[s])&&this.additionalReservedLineCount===t.additionalReservedLineCount}}e.GhostTextReplacement=b;function p(o,t){return(0,d.equals)(o,t,n)}function n(o,t){return o===t?!0:!o||!t?!1:o instanceof m&&t instanceof m||o instanceof b&&t instanceof b?o.equals(t):!1}}),define(ne[246],se([1,0,190,11,4,113,104,204]),function(oe,e,d,k,I,E,y,m){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.singleTextRemoveCommonPrefix=_,e.singleTextEditAugments=b,e.computeGhostText=p;function _(g,c,l){const a=l?g.range.intersectRanges(l):g.range;if(!a)return g;const r=c.getValueInRange(a,1),u=(0,k.commonPrefixLength)(r,g.text),C=E.TextLength.ofText(r.substring(0,u)).addToPosition(g.range.getStartPosition()),f=g.text.substring(u),h=I.Range.fromPositions(C,g.range.getEndPosition());return new y.SingleTextEdit(h,f)}function b(g,c){return g.text.startsWith(c.text)&&n(g.range,c.range)}function p(g,c,l,a,r=0){let u=_(g,c);if(u.range.endLineNumber!==u.range.startLineNumber)return;const C=c.getLineContent(u.range.startLineNumber),f=(0,k.getLeadingWhitespace)(C).length;if(u.range.startColumn-1<=f){const T=(0,k.getLeadingWhitespace)(u.text).length,M=C.substring(u.range.startColumn-1,f),[A,P]=[u.range.getStartPosition(),u.range.getEndPosition()],N=A.column+M.length<=P.column?A.delta(0,M.length):P,O=I.Range.fromPositions(N,P),F=u.text.startsWith(M)?u.text.substring(M.length):u.text.substring(T);u=new y.SingleTextEdit(O,F)}const v=c.getValueInRange(u.range),w=t(v,u.text);if(!w)return;const S=u.range.startLineNumber,L=new Array;if(l==="prefix"){const T=w.filter(M=>M.originalLength===0);if(T.length>1||T.length===1&&T[0].originalStart!==v.length)return}const D=u.text.length-r;for(const T of w){const M=u.range.startColumn+T.originalStart+T.originalLength;if(l==="subwordSmart"&&a&&a.lineNumber===u.range.startLineNumber&&M0)return;if(T.modifiedLength===0)continue;const A=T.modifiedStart+T.modifiedLength,P=Math.max(T.modifiedStart,Math.min(A,D)),N=u.text.substring(T.modifiedStart,P),O=u.text.substring(P,Math.max(T.modifiedStart,A));N.length>0&&L.push(new m.GhostTextPart(M,N,!1)),O.length>0&&L.push(new m.GhostTextPart(M,O,!0))}return new m.GhostText(S,L)}function n(g,c){return c.getStartPosition().equals(g.getStartPosition())&&c.getEndPosition().isBeforeOrEqual(g.getEndPosition())}let o;function t(g,c){if(o?.originalValue===g&&o?.newValue===c)return o?.changes;{let l=s(g,c,!0);if(l){const a=i(l);if(a>0){const r=s(g,c,!1);r&&i(r)5e3||c.length>5e3)return;function a(v){let w=0;for(let S=0,L=v.length;Sw&&(w=D)}return w}const r=Math.max(a(g),a(c));function u(v){if(v<0)throw new Error("unexpected");return r+v+1}function C(v){let w=0,S=0;const L=new Int32Array(v.length);for(let D=0,T=v.length;Df},{getElements:()=>h}).ComputeDiff(!1).changes}}),define(ne[205],se([1,0,8,2,21,9,4]),function(oe,e,d,k,I,E,y){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ColumnRange=void 0,e.getReadonlyEmptyArray=_,e.applyObservableDecorations=p,e.addPositions=n,e.subtractPositions=o;const m=[];function _(){return m}class b{constructor(i,s){if(this.startColumn=i,this.endColumnExclusive=s,i>s)throw new d.BugIndicatingError(`startColumn ${i} cannot be after endColumnExclusive ${s}`)}toRange(i){return new y.Range(i,this.startColumn,i,this.endColumnExclusive)}equals(i){return this.startColumn===i.startColumn&&this.endColumnExclusive===i.endColumnExclusive}}e.ColumnRange=b;function p(t,i){const s=new k.DisposableStore,g=t.createDecorationsCollection();return s.add((0,I.autorunOpts)({debugName:()=>`Apply decorations from ${i.debugName}`},c=>{const l=i.read(c);g.set(l)})),s.add({dispose:()=>{g.clear()}}),s}function n(t,i){return new E.Position(t.lineNumber+i.lineNumber-1,i.lineNumber===1?t.column+i.column-1:i.column)}function o(t,i){return new E.Position(t.lineNumber-i.lineNumber+1,t.lineNumber-i.lineNumber===0?t.column-i.column+1:t.column)}}),define(ne[618],se([1,0]),function(oe,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.inlineEditJumpBackId=e.inlineEditJumpToId=e.inlineEditRejectId=e.inlineEditAcceptId=void 0,e.inlineEditAcceptId="editor.action.inlineEdit.accept",e.inlineEditRejectId="editor.action.inlineEdit.reject",e.inlineEditJumpToId="editor.action.inlineEdit.jumpTo",e.inlineEditJumpBackId="editor.action.inlineEdit.jumpBack"}),define(ne[619],se([1,0,4,23]),function(oe,e,d,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CopyLinesCommand=void 0;class I{constructor(y,m,_){this._selection=y,this._isCopyingDown=m,this._noop=_||!1,this._selectionDirection=0,this._selectionId=null,this._startLineNumberDelta=0,this._endLineNumberDelta=0}getEditOperations(y,m){let _=this._selection;this._startLineNumberDelta=0,this._endLineNumberDelta=0,_.startLineNumber<_.endLineNumber&&_.endColumn===1&&(this._endLineNumberDelta=1,_=_.setEndPosition(_.endLineNumber-1,y.getLineMaxColumn(_.endLineNumber-1)));const b=[];for(let n=_.startLineNumber;n<=_.endLineNumber;n++)b.push(y.getLineContent(n));const p=b.join(` +`);p===""&&this._isCopyingDown&&(this._startLineNumberDelta++,this._endLineNumberDelta++),this._noop?m.addEditOperation(new d.Range(_.endLineNumber,y.getLineMaxColumn(_.endLineNumber),_.endLineNumber+1,1),_.endLineNumber===y.getLineCount()?"":` +`):this._isCopyingDown?m.addEditOperation(new d.Range(_.startLineNumber,1,_.startLineNumber,1),p+` +`):m.addEditOperation(new d.Range(_.endLineNumber,y.getLineMaxColumn(_.endLineNumber),_.endLineNumber,y.getLineMaxColumn(_.endLineNumber)),` +`+p),this._selectionId=m.trackSelection(_),this._selectionDirection=this._selection.getDirection()}computeCursorState(y,m){let _=m.getTrackedSelection(this._selectionId);if(this._startLineNumberDelta!==0||this._endLineNumberDelta!==0){let b=_.startLineNumber,p=_.startColumn,n=_.endLineNumber,o=_.endColumn;this._startLineNumberDelta!==0&&(b=b+this._startLineNumberDelta,p=1),this._endLineNumberDelta!==0&&(n=n+this._endLineNumberDelta,o=1),_=k.Selection.createWithDirection(b,p,n,o,this._selectionDirection)}return _}}e.CopyLinesCommand=I}),define(ne[620],se([1,0,75,4]),function(oe,e,d,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SortLinesCommand=void 0;class I{static{this._COLLATOR=null}static getCollator(){return I._COLLATOR||(I._COLLATOR=new Intl.Collator),I._COLLATOR}constructor(_,b){this.selection=_,this.descending=b,this.selectionId=null}getEditOperations(_,b){const p=y(_,this.selection,this.descending);p&&b.addEditOperation(p.range,p.text),this.selectionId=b.trackSelection(this.selection)}computeCursorState(_,b){return b.getTrackedSelection(this.selectionId)}static canRun(_,b,p){if(_===null)return!1;const n=E(_,b,p);if(!n)return!1;for(let o=0,t=n.before.length;o=n)return null;const o=[];for(let i=p;i<=n;i++)o.push(m.getLineContent(i));let t=o.slice(0);return t.sort(I.getCollator().compare),b===!0&&(t=t.reverse()),{startLineNumber:p,endLineNumber:n,before:o,after:t}}function y(m,_,b){const p=E(m,_,b);return p?d.EditOperation.replace(new k.Range(p.startLineNumber,1,p.endLineNumber,m.getLineMaxColumn(p.endLineNumber)),p.after.join(` +`)):null}}),define(ne[339],se([1,0]),function(oe,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SEMANTIC_HIGHLIGHTING_SETTING_ID=void 0,e.isSemanticColoringEnabled=d,e.SEMANTIC_HIGHLIGHTING_SETTING_ID="editor.semanticHighlighting";function d(k,I,E){const y=E.getValue(e.SEMANTIC_HIGHLIGHTING_SETTING_ID,{overrideIdentifier:k.getLanguageId(),resource:k.uri})?.enabled;return typeof y=="boolean"?y:I.getColorTheme().semanticHighlighting}}),define(ne[340],se([1,0,73,9,4]),function(oe,e,d,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.BracketSelectionRangeProvider=void 0;class E{async provideSelectionRanges(m,_){const b=[];for(const p of _){const n=[];b.push(n);const o=new Map;await new Promise(t=>E._bracketsRightYield(t,0,m,p,o)),await new Promise(t=>E._bracketsLeftYield(t,0,m,p,o,n))}return b}static{this._maxDuration=30}static{this._maxRounds=2}static _bracketsRightYield(m,_,b,p,n){const o=new Map,t=Date.now();for(;;){if(_>=E._maxRounds){m();break}if(!p){m();break}const i=b.bracketPairs.findNextBracket(p);if(!i){m();break}if(Date.now()-t>E._maxDuration){setTimeout(()=>E._bracketsRightYield(m,_+1,b,p,n));break}if(i.bracketInfo.isOpeningBracket){const g=i.bracketInfo.bracketText,c=o.has(g)?o.get(g):0;o.set(g,c+1)}else{const g=i.bracketInfo.getOpeningBrackets()[0].bracketText;let c=o.has(g)?o.get(g):0;if(c-=1,o.set(g,Math.max(0,c)),c<0){let l=n.get(g);l||(l=new d.LinkedList,n.set(g,l)),l.push(i.range)}}p=i.range.getEndPosition()}}static _bracketsLeftYield(m,_,b,p,n,o){const t=new Map,i=Date.now();for(;;){if(_>=E._maxRounds&&n.size===0){m();break}if(!p){m();break}const s=b.bracketPairs.findPrevBracket(p);if(!s){m();break}if(Date.now()-i>E._maxDuration){setTimeout(()=>E._bracketsLeftYield(m,_+1,b,p,n,o));break}if(s.bracketInfo.isOpeningBracket){const c=s.bracketInfo.bracketText;let l=t.has(c)?t.get(c):0;if(l-=1,t.set(c,Math.max(0,l)),l<0){const a=n.get(c);if(a){const r=a.shift();a.size===0&&n.delete(c);const u=I.Range.fromPositions(s.range.getEndPosition(),r.getStartPosition()),C=I.Range.fromPositions(s.range.getStartPosition(),r.getEndPosition());o.push({range:u}),o.push({range:C}),E._addBracketLeading(b,C,o)}}}else{const c=s.bracketInfo.getOpeningBrackets()[0].bracketText,l=t.has(c)?t.get(c):0;t.set(c,l+1)}p=s.range.getStartPosition()}}static _addBracketLeading(m,_,b){if(_.startLineNumber===_.endLineNumber)return;const p=_.startLineNumber,n=m.getLineFirstNonWhitespaceColumn(p);n!==0&&n!==_.startColumn&&(b.push({range:I.Range.fromPositions(new k.Position(p,n),_.getEndPosition())}),b.push({range:I.Range.fromPositions(new k.Position(p,1),_.getEndPosition())}));const o=p-1;if(o>0){const t=m.getLineFirstNonWhitespaceColumn(o);t===_.startColumn&&t!==m.getLineLastNonWhitespaceColumn(o)&&(b.push({range:I.Range.fromPositions(new k.Position(o,t),_.getEndPosition())}),b.push({range:I.Range.fromPositions(new k.Position(o,1),_.getEndPosition())}))}}}e.BracketSelectionRangeProvider=E}),define(ne[621],se([1,0,11,4]),function(oe,e,d,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.WordSelectionRangeProvider=void 0;class I{constructor(y=!0){this.selectSubwords=y}provideSelectionRanges(y,m){const _=[];for(const b of m){const p=[];_.push(p),this.selectSubwords&&this._addInWordRanges(p,y,b),this._addWordRanges(p,y,b),this._addWhitespaceLine(p,y,b),p.push({range:y.getFullModelRange()})}return _}_addInWordRanges(y,m,_){const b=m.getWordAtPosition(_);if(!b)return;const{word:p,startColumn:n}=b,o=_.column-n;let t=o,i=o,s=0;for(;t>=0;t--){const g=p.charCodeAt(t);if(t!==o&&(g===95||g===45))break;if((0,d.isLowerAsciiLetter)(g)&&(0,d.isUpperAsciiLetter)(s))break;s=g}for(t+=1;i0&&m.getLineFirstNonWhitespaceColumn(_.lineNumber)===0&&m.getLineLastNonWhitespaceColumn(_.lineNumber)===0&&y.push({range:new k.Range(_.lineNumber,1,_.lineNumber,m.getLineMaxColumn(_.lineNumber))})}}e.WordSelectionRangeProvider=I}),define(ne[135],se([1,0]),function(oe,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SnippetParser=e.TextmateSnippet=e.Variable=e.FormatString=e.Transform=e.Choice=e.Placeholder=e.TransformableMarker=e.Text=e.Marker=e.Scanner=void 0;class d{constructor(){this.value="",this.pos=0}static{this._table={36:0,58:1,44:2,123:3,125:4,92:5,47:6,124:7,43:11,45:12,63:13}}static isDigitCharacter(s){return s>=48&&s<=57}static isVariableCharacter(s){return s===95||s>=97&&s<=122||s>=65&&s<=90}text(s){this.value=s,this.pos=0}tokenText(s){return this.value.substr(s.pos,s.len)}next(){if(this.pos>=this.value.length)return{type:14,pos:this.pos,len:0};const s=this.pos;let g=0,c=this.value.charCodeAt(s),l;if(l=d._table[c],typeof l=="number")return this.pos+=1,{type:l,pos:s,len:1};if(d.isDigitCharacter(c)){l=8;do g+=1,c=this.value.charCodeAt(s+g);while(d.isDigitCharacter(c));return this.pos+=g,{type:l,pos:s,len:g}}if(d.isVariableCharacter(c)){l=9;do c=this.value.charCodeAt(s+ ++g);while(d.isVariableCharacter(c)||d.isDigitCharacter(c));return this.pos+=g,{type:l,pos:s,len:g}}l=10;do g+=1,c=this.value.charCodeAt(s+g);while(!isNaN(c)&&typeof d._table[c]>"u"&&!d.isDigitCharacter(c)&&!d.isVariableCharacter(c));return this.pos+=g,{type:l,pos:s,len:g}}}e.Scanner=d;class k{constructor(){this._children=[]}appendChild(s){return s instanceof I&&this._children[this._children.length-1]instanceof I?this._children[this._children.length-1].value+=s.value:(s.parent=this,this._children.push(s)),this}replace(s,g){const{parent:c}=s,l=c.children.indexOf(s),a=c.children.slice(0);a.splice(l,1,...g),c._children=a,function r(u,C){for(const f of u)f.parent=C,r(f.children,f)}(g,c)}get children(){return this._children}get rightMostDescendant(){return this._children.length>0?this._children[this._children.length-1].rightMostDescendant:this}get snippet(){let s=this;for(;;){if(!s)return;if(s instanceof o)return s;s=s.parent}}toString(){return this.children.reduce((s,g)=>s+g.toString(),"")}len(){return 0}}e.Marker=k;class I extends k{constructor(s){super(),this.value=s}toString(){return this.value}len(){return this.value.length}clone(){return new I(this.value)}}e.Text=I;class E extends k{}e.TransformableMarker=E;class y extends E{static compareByIndex(s,g){return s.index===g.index?0:s.isFinalTabstop?1:g.isFinalTabstop||s.indexg.index?1:0}constructor(s){super(),this.index=s}get isFinalTabstop(){return this.index===0}get choice(){return this._children.length===1&&this._children[0]instanceof m?this._children[0]:void 0}clone(){const s=new y(this.index);return this.transform&&(s.transform=this.transform.clone()),s._children=this.children.map(g=>g.clone()),s}}e.Placeholder=y;class m extends k{constructor(){super(...arguments),this.options=[]}appendChild(s){return s instanceof I&&(s.parent=this,this.options.push(s)),this}toString(){return this.options[0].value}len(){return this.options[0].len()}clone(){const s=new m;return this.options.forEach(s.appendChild,s),s}}e.Choice=m;class _ extends k{constructor(){super(...arguments),this.regexp=new RegExp("")}resolve(s){const g=this;let c=!1,l=s.replace(this.regexp,function(){return c=!0,g._replace(Array.prototype.slice.call(arguments,0,-2))});return!c&&this._children.some(a=>a instanceof b&&!!a.elseValue)&&(l=this._replace([])),l}_replace(s){let g="";for(const c of this._children)if(c instanceof b){let l=s[c.index]||"";l=c.resolve(l),g+=l}else g+=c.toString();return g}toString(){return""}clone(){const s=new _;return s.regexp=new RegExp(this.regexp.source,(this.regexp.ignoreCase?"i":"")+(this.regexp.global?"g":"")),s._children=this.children.map(g=>g.clone()),s}}e.Transform=_;class b extends k{constructor(s,g,c,l){super(),this.index=s,this.shorthandName=g,this.ifValue=c,this.elseValue=l}resolve(s){return this.shorthandName==="upcase"?s?s.toLocaleUpperCase():"":this.shorthandName==="downcase"?s?s.toLocaleLowerCase():"":this.shorthandName==="capitalize"?s?s[0].toLocaleUpperCase()+s.substr(1):"":this.shorthandName==="pascalcase"?s?this._toPascalCase(s):"":this.shorthandName==="camelcase"?s?this._toCamelCase(s):"":s&&typeof this.ifValue=="string"?this.ifValue:!s&&typeof this.elseValue=="string"?this.elseValue:s||""}_toPascalCase(s){const g=s.match(/[a-z0-9]+/gi);return g?g.map(c=>c.charAt(0).toUpperCase()+c.substr(1)).join(""):s}_toCamelCase(s){const g=s.match(/[a-z0-9]+/gi);return g?g.map((c,l)=>l===0?c.charAt(0).toLowerCase()+c.substr(1):c.charAt(0).toUpperCase()+c.substr(1)).join(""):s}clone(){return new b(this.index,this.shorthandName,this.ifValue,this.elseValue)}}e.FormatString=b;class p extends E{constructor(s){super(),this.name=s}resolve(s){let g=s.resolve(this);return this.transform&&(g=this.transform.resolve(g||"")),g!==void 0?(this._children=[new I(g)],!0):!1}clone(){const s=new p(this.name);return this.transform&&(s.transform=this.transform.clone()),s._children=this.children.map(g=>g.clone()),s}}e.Variable=p;function n(i,s){const g=[...i];for(;g.length>0;){const c=g.shift();if(!s(c))break;g.unshift(...c.children)}}class o extends k{get placeholderInfo(){if(!this._placeholders){const s=[];let g;this.walk(function(c){return c instanceof y&&(s.push(c),g=!g||g.indexl===s?(c=!0,!1):(g+=l.len(),!0)),c?g:-1}fullLen(s){let g=0;return n([s],c=>(g+=c.len(),!0)),g}enclosingPlaceholders(s){const g=[];let{parent:c}=s;for(;c;)c instanceof y&&g.push(c),c=c.parent;return g}resolveVariables(s){return this.walk(g=>(g instanceof p&&g.resolve(s)&&(this._placeholders=void 0),!0)),this}appendChild(s){return this._placeholders=void 0,super.appendChild(s)}replace(s,g){return this._placeholders=void 0,super.replace(s,g)}clone(){const s=new o;return this._children=this.children.map(g=>g.clone()),s}walk(s){n(this.children,s)}}e.TextmateSnippet=o;class t{constructor(){this._scanner=new d,this._token={type:14,pos:0,len:0}}static escape(s){return s.replace(/\$|}|\\/g,"\\$&")}static guessNeedsClipboard(s){return/\${?CLIPBOARD/.test(s)}parse(s,g,c){const l=new o;return this.parseFragment(s,l),this.ensureFinalTabstop(l,c??!1,g??!1),l}parseFragment(s,g){const c=g.children.length;for(this._scanner.text(s),this._token=this._scanner.next();this._parse(g););const l=new Map,a=[];g.walk(C=>(C instanceof y&&(C.isFinalTabstop?l.set(0,void 0):!l.has(C.index)&&C.children.length>0?l.set(C.index,C.children):a.push(C)),!0));const r=(C,f)=>{const h=l.get(C.index);if(!h)return;const v=new y(C.index);v.transform=C.transform;for(const w of h){const S=w.clone();v.appendChild(S),S instanceof y&&l.has(S.index)&&!f.has(S.index)&&(f.add(S.index),r(S,f),f.delete(S.index))}g.replace(C,[v])},u=new Set;for(const C of a)r(C,u);return g.children.slice(c)}ensureFinalTabstop(s,g,c){(g||c&&s.placeholders.length>0)&&(s.placeholders.find(a=>a.index===0)||s.appendChild(new y(0)))}_accept(s,g){if(s===void 0||this._token.type===s){const c=g?this._scanner.tokenText(this._token):!0;return this._token=this._scanner.next(),c}return!1}_backTo(s){return this._scanner.pos=s.pos+s.len,this._token=s,!1}_until(s){const g=this._token;for(;this._token.type!==s;){if(this._token.type===14)return!1;if(this._token.type===5){const l=this._scanner.next();if(l.type!==0&&l.type!==4&&l.type!==5)return!1}this._token=this._scanner.next()}const c=this._scanner.value.substring(g.pos,this._token.pos).replace(/\\(\$|}|\\)/g,"$1");return this._token=this._scanner.next(),c}_parse(s){return this._parseEscaped(s)||this._parseTabstopOrVariableName(s)||this._parseComplexPlaceholder(s)||this._parseComplexVariable(s)||this._parseAnything(s)}_parseEscaped(s){let g;return(g=this._accept(5,!0))?(g=this._accept(0,!0)||this._accept(4,!0)||this._accept(5,!0)||g,s.appendChild(new I(g)),!0):!1}_parseTabstopOrVariableName(s){let g;const c=this._token;return this._accept(0)&&(g=this._accept(9,!0)||this._accept(8,!0))?(s.appendChild(/^\d+$/.test(g)?new y(Number(g)):new p(g)),!0):this._backTo(c)}_parseComplexPlaceholder(s){let g;const c=this._token;if(!(this._accept(0)&&this._accept(3)&&(g=this._accept(8,!0))))return this._backTo(c);const a=new y(Number(g));if(this._accept(1))for(;;){if(this._accept(4))return s.appendChild(a),!0;if(!this._parse(a))return s.appendChild(new I("${"+g+":")),a.children.forEach(s.appendChild,s),!0}else if(a.index>0&&this._accept(7)){const r=new m;for(;;){if(this._parseChoiceElement(r)){if(this._accept(2))continue;if(this._accept(7)&&(a.appendChild(r),this._accept(4)))return s.appendChild(a),!0}return this._backTo(c),!1}}else return this._accept(6)?this._parseTransform(a)?(s.appendChild(a),!0):(this._backTo(c),!1):this._accept(4)?(s.appendChild(a),!0):this._backTo(c)}_parseChoiceElement(s){const g=this._token,c=[];for(;!(this._token.type===2||this._token.type===7);){let l;if((l=this._accept(5,!0))?l=this._accept(2,!0)||this._accept(7,!0)||this._accept(5,!0)||l:l=this._accept(void 0,!0),!l)return this._backTo(g),!1;c.push(l)}return c.length===0?(this._backTo(g),!1):(s.appendChild(new I(c.join(""))),!0)}_parseComplexVariable(s){let g;const c=this._token;if(!(this._accept(0)&&this._accept(3)&&(g=this._accept(9,!0))))return this._backTo(c);const a=new p(g);if(this._accept(1))for(;;){if(this._accept(4))return s.appendChild(a),!0;if(!this._parse(a))return s.appendChild(new I("${"+g+":")),a.children.forEach(s.appendChild,s),!0}else return this._accept(6)?this._parseTransform(a)?(s.appendChild(a),!0):(this._backTo(c),!1):this._accept(4)?(s.appendChild(a),!0):this._backTo(c)}_parseTransform(s){const g=new _;let c="",l="";for(;!this._accept(6);){let a;if(a=this._accept(5,!0)){a=this._accept(6,!0)||a,c+=a;continue}if(this._token.type!==14){c+=this._accept(void 0,!0);continue}return!1}for(;!this._accept(6);){let a;if(a=this._accept(5,!0)){a=this._accept(5,!0)||this._accept(6,!0)||a,g.appendChild(new I(a));continue}if(!(this._parseFormatString(g)||this._parseAnything(g)))return!1}for(;!this._accept(4);){if(this._token.type!==14){l+=this._accept(void 0,!0);continue}return!1}try{g.regexp=new RegExp(c,l)}catch{return!1}return s.transform=g,!0}_parseFormatString(s){const g=this._token;if(!this._accept(0))return!1;let c=!1;this._accept(3)&&(c=!0);const l=this._accept(8,!0);if(l)if(c){if(this._accept(4))return s.appendChild(new b(Number(l))),!0;if(!this._accept(1))return this._backTo(g),!1}else return s.appendChild(new b(Number(l))),!0;else return this._backTo(g),!1;if(this._accept(6)){const a=this._accept(9,!0);return!a||!this._accept(4)?(this._backTo(g),!1):(s.appendChild(new b(Number(l),a)),!0)}else if(this._accept(11)){const a=this._until(4);if(a)return s.appendChild(new b(Number(l),void 0,a,void 0)),!0}else if(this._accept(12)){const a=this._until(4);if(a)return s.appendChild(new b(Number(l),void 0,void 0,a)),!0}else if(this._accept(13)){const a=this._until(1);if(a){const r=this._until(4);if(r)return s.appendChild(new b(Number(l),void 0,a,r)),!0}}else{const a=this._until(4);if(a)return s.appendChild(new b(Number(l),void 0,void 0,a)),!0}return this._backTo(g),!1}_parseAnything(s){return this._token.type!==14?(s.appendChild(new I(this._scanner.tokenText(this._token))),this._accept(void 0),!0):!1}}e.SnippetParser=t}),define(ne[341],se([1,0]),function(oe,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.StickyModel=e.StickyElement=e.StickyRange=void 0;class d{constructor(y,m){this.startLineNumber=y,this.endLineNumber=m}}e.StickyRange=d;class k{constructor(y,m,_){this.range=y,this.children=m,this.parent=_}}e.StickyElement=k;class I{constructor(y,m,_,b){this.uri=y,this.version=m,this.element=_,this.outlineProviderId=b}}e.StickyModel=I}),define(ne[342],se([1,0,13,82,11]),function(oe,e,d,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CompletionModel=e.LineContext=void 0;class E{constructor(_,b){this.leadingLineContent=_,this.characterCountDelta=b}}e.LineContext=E;class y{constructor(_,b,p,n,o,t,i=k.FuzzyScoreOptions.default,s=void 0){this.clipboardText=s,this._snippetCompareFn=y._compareCompletionItems,this._items=_,this._column=b,this._wordDistance=n,this._options=o,this._refilterKind=1,this._lineContext=p,this._fuzzyScoreOptions=i,t==="top"?this._snippetCompareFn=y._compareCompletionItemsSnippetsUp:t==="bottom"&&(this._snippetCompareFn=y._compareCompletionItemsSnippetsDown)}get lineContext(){return this._lineContext}set lineContext(_){(this._lineContext.leadingLineContent!==_.leadingLineContent||this._lineContext.characterCountDelta!==_.characterCountDelta)&&(this._refilterKind=this._lineContext.characterCountDelta<_.characterCountDelta&&this._filteredItems?2:1,this._lineContext=_)}get items(){return this._ensureCachedState(),this._filteredItems}getItemsByProvider(){return this._ensureCachedState(),this._itemsByProvider}getIncompleteProvider(){this._ensureCachedState();const _=new Set;for(const[b,p]of this.getItemsByProvider())p.length>0&&p[0].container.incomplete&&_.add(b);return _}get stats(){return this._ensureCachedState(),this._stats}_ensureCachedState(){this._refilterKind!==0&&this._createCachedState()}_createCachedState(){this._itemsByProvider=new Map;const _=[],{leadingLineContent:b,characterCountDelta:p}=this._lineContext;let n="",o="";const t=this._refilterKind===1?this._items:this._filteredItems,i=[],s=!this._options.filterGraceful||t.length>2e3?k.fuzzyScore:k.fuzzyScoreGracefulAggressive;for(let g=0;g=r)c.score=k.FuzzyScore.Default;else if(typeof c.completion.filterText=="string"){const C=s(n,o,u,c.completion.filterText,c.filterTextLow,0,this._fuzzyScoreOptions);if(!C)continue;(0,I.compareIgnoreCase)(c.completion.filterText,c.textLabel)===0?c.score=C:(c.score=(0,k.anyScore)(n,o,u,c.textLabel,c.labelLow,0),c.score[0]=C[0])}else{const C=s(n,o,u,c.textLabel,c.labelLow,0,this._fuzzyScoreOptions);if(!C)continue;c.score=C}}c.idx=g,c.distance=this._wordDistance.distance(c.position,c.completion),i.push(c),_.push(c.textLabel.length)}this._filteredItems=i.sort(this._snippetCompareFn),this._refilterKind=0,this._stats={pLabelLen:_.length?(0,d.quickSelect)(_.length-.85,_,(g,c)=>g-c):0}}static _compareCompletionItems(_,b){return _.score[0]>b.score[0]?-1:_.score[0]b.distance?1:_.idxb.idx?1:0}static _compareCompletionItemsSnippetsDown(_,b){if(_.completion.kind!==b.completion.kind){if(_.completion.kind===27)return 1;if(b.completion.kind===27)return-1}return y._compareCompletionItems(_,b)}static _compareCompletionItemsSnippetsUp(_,b){if(_.completion.kind!==b.completion.kind){if(_.completion.kind===27)return-1;if(b.completion.kind===27)return 1}return y._compareCompletionItems(_,b)}}e.CompletionModel=y}),define(ne[622],se([1,0,13,2,144]),function(oe,e,d,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CommitCharacterController=void 0;class E{constructor(m,_,b,p){this._disposables=new k.DisposableStore,this._disposables.add(b.onDidSuggest(n=>{n.completionModel.items.length===0&&this.reset()})),this._disposables.add(b.onDidCancel(n=>{this.reset()})),this._disposables.add(_.onDidShow(()=>this._onItem(_.getFocusedItem()))),this._disposables.add(_.onDidFocus(this._onItem,this)),this._disposables.add(_.onDidHide(this.reset,this)),this._disposables.add(m.onWillType(n=>{if(this._active&&!_.isFrozen()&&b.state!==0){const o=n.charCodeAt(n.length-1);this._active.acceptCharacters.has(o)&&m.getOption(0)&&p(this._active.item)}}))}_onItem(m){if(!m||!(0,d.isNonEmptyArray)(m.item.completion.commitCharacters)){this.reset();return}if(this._active&&this._active.item.item===m.item)return;const _=new I.CharacterSet;for(const b of m.item.completion.commitCharacters)b.length>0&&_.add(b.charCodeAt(0));this._active={acceptCharacters:_,item:m}}reset(){this._active=void 0}dispose(){this._disposables.dispose()}}e.CommitCharacterController=E}),define(ne[623],se([1,0,2]),function(oe,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OvertypingCapturer=void 0;class k{static{this._maxSelectionLength=51200}constructor(E,y){this._disposables=new d.DisposableStore,this._lastOvertyped=[],this._locked=!1,this._disposables.add(E.onWillType(()=>{if(this._locked||!E.hasModel())return;const m=E.getSelections(),_=m.length;let b=!1;for(let n=0;n<_;n++)if(!m[n].isEmpty()){b=!0;break}if(!b){this._lastOvertyped.length!==0&&(this._lastOvertyped.length=0);return}this._lastOvertyped=[];const p=E.getModel();for(let n=0;n<_;n++){const o=m[n];if(p.getValueLengthInRange(o)>k._maxSelectionLength)return;this._lastOvertyped[n]={value:p.getValueInRange(o),multiline:o.startLineNumber!==o.endLineNumber}}})),this._disposables.add(y.onDidTrigger(m=>{this._locked=!0})),this._disposables.add(y.onDidCancel(m=>{this._locked=!1}))}getLastOvertypedInfo(E){if(E>=0&&E=0?c[l]:c[Math.max(0,~l-1)];let r=n.length;for(const u of n){if(!k.Range.containsRange(u.range,a))break;r-=1}return r}}}}e.WordDistance=E}),define(ne[624],se([1,0]),function(oe,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.StandaloneTreeSitterParserService=void 0;class d{getParseResult(I){}}e.StandaloneTreeSitterParserService=d}),define(ne[344],se([1,0]),function(oe,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.isFuzzyActionArr=d,e.isFuzzyAction=k,e.isString=I,e.isIAction=E,e.empty=y,e.fixCase=m,e.sanitize=_,e.log=b,e.createError=p,e.substituteMatches=n,e.substituteMatchesRe=o,e.findRules=t,e.stateExists=i;function d(s){return Array.isArray(s)}function k(s){return!d(s)}function I(s){return typeof s=="string"}function E(s){return!I(s)}function y(s){return!s}function m(s,g){return s.ignoreCase&&g?g.toLowerCase():g}function _(s){return s.replace(/[&<>'"_]/g,"-")}function b(s,g){console.log(`${s.languageId}: ${g}`)}function p(s,g){return new Error(`${s.languageId}: ${g}`)}function n(s,g,c,l,a){const r=/\$((\$)|(#)|(\d\d?)|[sS](\d\d?)|@(\w+))/g;let u=null;return g.replace(r,function(C,f,h,v,w,S,L,D,T){return y(h)?y(v)?!y(w)&&w0;){const l=s.tokenizer[c];if(l)return l;const a=c.lastIndexOf(".");a<0?c=null:c=c.substr(0,a)}return null}function i(s,g){let c=g;for(;c&&c.length>0;){if(s.stateNames[c])return!0;const a=c.lastIndexOf(".");a<0?c=null:c=c.substr(0,a)}return!1}}),define(ne[625],se([1,0,344]),function(oe,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.compile=t;function k(i,s){if(!s||!Array.isArray(s))return!1;for(const g of s)if(!i(g))return!1;return!0}function I(i,s){return typeof i=="boolean"?i:s}function E(i,s){return typeof i=="string"?i:s}function y(i){const s={};for(const g of i)s[g]=!0;return s}function m(i,s=!1){s&&(i=i.map(function(c){return c.toLowerCase()}));const g=y(i);return s?function(c){return g[c.toLowerCase()]!==void 0&&g.hasOwnProperty(c.toLowerCase())}:function(c){return g[c]!==void 0&&g.hasOwnProperty(c)}}function _(i,s,g){s=s.replace(/@@/g,"");let c=0,l;do l=!1,s=s.replace(/@(\w+)/g,function(r,u){l=!0;let C="";if(typeof i[u]=="string")C=i[u];else if(i[u]&&i[u]instanceof RegExp)C=i[u].source;else throw i[u]===void 0?d.createError(i,"language definition does not contain attribute '"+u+"', used at: "+s):d.createError(i,"attribute reference '"+u+"' must be a string, used at: "+s);return d.empty(C)?"":"(?:"+C+")"}),c++;while(l&&c<5);s=s.replace(/\x01/g,"@");const a=(i.ignoreCase?"i":"")+(i.unicode?"u":"");if(g&&s.match(/\$[sS](\d\d?)/g)){let u=null,C=null;return f=>(C&&u===f||(u=f,C=new RegExp(d.substituteMatchesRe(i,s,f),a)),C)}return new RegExp(s,a)}function b(i,s,g,c){if(c<0)return i;if(c=100){c=c-100;const l=g.split(".");if(l.unshift(g),c=0&&(c.tokenSubst=!0),typeof g.bracket=="string")if(g.bracket==="@open")c.bracket=1;else if(g.bracket==="@close")c.bracket=-1;else throw d.createError(i,"a 'bracket' attribute must be either '@open' or '@close', in rule: "+s);if(g.next){if(typeof g.next!="string")throw d.createError(i,"the next state must be a string value in rule: "+s);{let l=g.next;if(!/^(@pop|@push|@popall)$/.test(l)&&(l[0]==="@"&&(l=l.substr(1)),l.indexOf("$")<0&&!d.stateExists(i,d.substituteMatches(i,l,"",[],""))))throw d.createError(i,"the next state '"+g.next+"' is not defined in rule: "+s);c.next=l}}return typeof g.goBack=="number"&&(c.goBack=g.goBack),typeof g.switchTo=="string"&&(c.switchTo=g.switchTo),typeof g.log=="string"&&(c.log=g.log),typeof g.nextEmbedded=="string"&&(c.nextEmbedded=g.nextEmbedded,i.usesEmbedded=!0),c}}else if(Array.isArray(g)){const c=[];for(let l=0,a=g.length;l0&&c[0]==="^",this.name=this.name+": "+c,this.regex=_(s,"^(?:"+(this.matchOnlyAtLineStart?c.substr(1):c)+")",!0)}setAction(s,g){this.action=n(s,this.name,g)}resolveRegex(s){return this.regex instanceof RegExp?this.regex:this.regex(s)}}function t(i,s){if(!s||typeof s!="object")throw new Error("Monarch: expecting a language definition object");const g={languageId:i,includeLF:I(s.includeLF,!1),noThrow:!1,maxStack:100,start:typeof s.start=="string"?s.start:null,ignoreCase:I(s.ignoreCase,!1),unicode:I(s.unicode,!1),tokenPostfix:E(s.tokenPostfix,"."+i),defaultToken:E(s.defaultToken,"source"),usesEmbedded:!1,stateNames:{},tokenizer:{},brackets:[]},c=s;c.languageId=i,c.includeLF=g.includeLF,c.ignoreCase=g.ignoreCase,c.unicode=g.unicode,c.noThrow=g.noThrow,c.usesEmbedded=g.usesEmbedded,c.stateNames=s.tokenizer,c.defaultToken=g.defaultToken;function l(r,u,C){for(const f of C){let h=f.include;if(h){if(typeof h!="string")throw d.createError(g,"an 'include' attribute must be a string at: "+r);if(h[0]==="@"&&(h=h.substr(1)),!s.tokenizer[h])throw d.createError(g,"include target '"+h+"' is not defined at: "+r);l(r+"."+h,u,s.tokenizer[h])}else{const v=new o(r);if(Array.isArray(f)&&f.length>=1&&f.length<=3)if(v.setRegex(c,f[0]),f.length>=3)if(typeof f[1]=="string")v.setAction(c,{token:f[1],next:f[2]});else if(typeof f[1]=="object"){const w=f[1];w.next=f[2],v.setAction(c,w)}else throw d.createError(g,"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: "+r);else v.setAction(c,f[1]);else{if(!f.regex)throw d.createError(g,"a rule must either be an array, or an object with a 'regex' or 'include' field at: "+r);f.name&&typeof f.name=="string"&&(v.name=f.name),f.matchOnlyAtStart&&(v.matchOnlyAtLineStart=I(f.matchOnlyAtLineStart,!1)),v.setRegex(c,f.regex),v.setAction(c,f.action)}u.push(v)}}}if(!s.tokenizer||typeof s.tokenizer!="object")throw d.createError(g,"a language definition must define the 'tokenizer' attribute as an object");g.tokenizer=[];for(const r in s.tokenizer)if(s.tokenizer.hasOwnProperty(r)){g.start||(g.start=r);const u=s.tokenizer[r];g.tokenizer[r]=new Array,l("tokenizer."+r,g.tokenizer[r],u)}if(g.usesEmbedded=c.usesEmbedded,s.brackets){if(!Array.isArray(s.brackets))throw d.createError(g,"the 'brackets' attribute must be defined as an array")}else s.brackets=[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}];const a=[];for(const r of s.brackets){let u=r;if(u&&Array.isArray(u)&&u.length===3&&(u={token:u[2],open:u[0],close:u[1]}),u.open===u.close)throw d.createError(g,"open and close brackets in a 'brackets' attribute must be different: "+u.open+` + hint: use the 'bracket' attribute if matching on equal brackets is required.`);if(typeof u.open=="string"&&typeof u.token=="string"&&typeof u.close=="string")a.push({token:u.token+g.tokenPostfix,open:d.fixCase(g,u.open),close:d.fixCase(g,u.close)});else throw d.createError(g,"every element in the 'brackets' array must be a '{open,close,token}' object or array")}return g.brackets=a,g.noThrow=!0,g}}),define(ne[345],se([1,0]),function(oe,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getNLSMessages=d,e.getNLSLanguage=k;function d(){return globalThis._VSCODE_NLS_MESSAGES}function k(){return globalThis._VSCODE_NLS_LANGUAGE}}),define(ne[3],se([1,0,345,345]),function(oe,e,d,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getNLSMessages=e.getNLSLanguage=void 0,e.localize=y,e.localize2=_,Object.defineProperty(e,"getNLSLanguage",{enumerable:!0,get:function(){return k.getNLSLanguage}}),Object.defineProperty(e,"getNLSMessages",{enumerable:!0,get:function(){return k.getNLSMessages}});const I=(0,d.getNLSLanguage)()==="pseudo"||typeof document<"u"&&document.location&&document.location.hash.indexOf("pseudo=true")>=0;function E(b,p){let n;return p.length===0?n=b:n=b.replace(/\{(\d+)\}/g,(o,t)=>{const i=t[0],s=p[i];let g=o;return typeof s=="string"?g=s:(typeof s=="number"||typeof s=="boolean"||s===void 0||s===null)&&(g=String(s)),g}),I&&(n="\uFF3B"+n.replace(/[aouei]/g,"$&$&")+"\uFF3D"),n}function y(b,p,...n){return E(typeof b=="number"?m(b,p):p,n)}function m(b,p){const n=(0,d.getNLSMessages)()?.[b];if(typeof n!="string"){if(typeof p=="string")return p;throw new Error(`!!! NLS MISSING: ${b} !!!`)}return n}function _(b,p,...n){let o;typeof b=="number"?o=m(b,p):o=p;const t=E(o,n);return{value:t,original:p===o?t:E(p,n)}}}),define(ne[41],se([1,0,6,2,3]),function(oe,e,d,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.EmptySubmenuAction=e.SubmenuAction=e.Separator=e.ActionRunner=e.Action=void 0,e.toAction=p;class E extends k.Disposable{constructor(o,t="",i="",s=!0,g){super(),this._onDidChange=this._register(new d.Emitter),this.onDidChange=this._onDidChange.event,this._enabled=!0,this._id=o,this._label=t,this._cssClass=i,this._enabled=s,this._actionCallback=g}get id(){return this._id}get label(){return this._label}set label(o){this._setLabel(o)}_setLabel(o){this._label!==o&&(this._label=o,this._onDidChange.fire({label:o}))}get tooltip(){return this._tooltip||""}set tooltip(o){this._setTooltip(o)}_setTooltip(o){this._tooltip!==o&&(this._tooltip=o,this._onDidChange.fire({tooltip:o}))}get class(){return this._cssClass}set class(o){this._setClass(o)}_setClass(o){this._cssClass!==o&&(this._cssClass=o,this._onDidChange.fire({class:o}))}get enabled(){return this._enabled}set enabled(o){this._setEnabled(o)}_setEnabled(o){this._enabled!==o&&(this._enabled=o,this._onDidChange.fire({enabled:o}))}get checked(){return this._checked}set checked(o){this._setChecked(o)}_setChecked(o){this._checked!==o&&(this._checked=o,this._onDidChange.fire({checked:o}))}async run(o,t){this._actionCallback&&await this._actionCallback(o)}}e.Action=E;class y extends k.Disposable{constructor(){super(...arguments),this._onWillRun=this._register(new d.Emitter),this.onWillRun=this._onWillRun.event,this._onDidRun=this._register(new d.Emitter),this.onDidRun=this._onDidRun.event}async run(o,t){if(!o.enabled)return;this._onWillRun.fire({action:o});let i;try{await this.runAction(o,t)}catch(s){i=s}this._onDidRun.fire({action:o,error:i})}async runAction(o,t){await o.run(t)}}e.ActionRunner=y;class m{constructor(){this.id=m.ID,this.label="",this.tooltip="",this.class="separator",this.enabled=!1,this.checked=!1}static join(...o){let t=[];for(const i of o)i.length&&(t.length?t=[...t,new m,...i]:t=i);return t}static{this.ID="vs.actions.separator"}async run(){}}e.Separator=m;class _{get actions(){return this._actions}constructor(o,t,i,s){this.tooltip="",this.enabled=!0,this.checked=void 0,this.id=o,this.label=t,this.class=s,this._actions=i}async run(){}}e.SubmenuAction=_;class b extends E{static{this.ID="vs.actions.empty"}constructor(){super(b.ID,I.localize(27,"(empty)"),void 0,!1)}}e.EmptySubmenuAction=b;function p(n){return{id:n.id,label:n.label,tooltip:n.tooltip??n.label,class:n.class,enabled:n.enabled??!0,checked:n.checked,run:async(...o)=>n.run(...o)}}}),define(ne[346],se([1,0,13,19,3]),function(oe,e,d,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.toErrorMessage=_;function E(b,p){return p&&(b.stack||b.stacktrace)?I.localize(28,"{0}: {1}",m(b),y(b.stack)||y(b.stacktrace)):m(b)}function y(b){return Array.isArray(b)?b.join(` +`):b}function m(b){return b.code==="ERR_UNC_HOST_NOT_ALLOWED"?`${b.message}. Please update the 'security.allowedUNCHosts' setting if you want to allow this host.`:typeof b.code=="string"&&typeof b.errno=="number"&&typeof b.syscall=="string"?I.localize(29,"A system error occurred ({0})",b.message):b.message||I.localize(30,"An unknown error occurred. Please consult the log for more details.")}function _(b=null,p=!1){if(!b)return I.localize(31,"An unknown error occurred. Please consult the log for more details.");if(Array.isArray(b)){const n=d.coalesce(b),o=_(n[0],p);return n.length>1?I.localize(32,"{0} ({1} errors in total)",o,n.length):o}if(k.isString(b))return b;if(b.detail){const n=b.detail;if(n.error)return E(n.error,p);if(n.exception)return E(n.exception,p)}return b.stack?E(b,p):b.message?b.message:I.localize(33,"An unknown error occurred. Please consult the log for more details.")}}),define(ne[247],se([1,0,3]),function(oe,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.UserSettingsLabelProvider=e.ElectronAcceleratorLabelProvider=e.AriaLabelProvider=e.UILabelProvider=e.ModifierLabelProvider=void 0;class k{constructor(y,m,_=m){this.modifierLabels=[null],this.modifierLabels[2]=y,this.modifierLabels[1]=m,this.modifierLabels[3]=_}toLabel(y,m,_){if(m.length===0)return null;const b=[];for(let p=0,n=m.length;p=0,I=c.indexOf("Macintosh")>=0,p=(c.indexOf("Macintosh")>=0||c.indexOf("iPad")>=0||c.indexOf("iPhone")>=0)&&!!navigator.maxTouchPoints&&navigator.maxTouchPoints>0,E=c.indexOf("Linux")>=0,o=c?.indexOf("Mobi")>=0,_=!0,i=d.getNLSLanguage()||e.LANGUAGE_DEFAULT,t=navigator.language.toLowerCase(),s=t):console.error("Unable to resolve platform.");let C=0;I?C=1:k?C=3:E&&(C=2),e.isWindows=k,e.isMacintosh=I,e.isLinux=E,e.isNative=m,e.isWeb=_,e.isWebWorker=_&&typeof l.importScripts=="function",e.webWorkerOrigin=e.isWebWorker?l.origin:void 0,e.isIOS=p,e.isMobile=o,e.userAgent=c,e.language=i,e.setTimeout0IsFaster=typeof l.postMessage=="function"&&!l.importScripts,e.setTimeout0=(()=>{if(e.setTimeout0IsFaster){const w=[];l.addEventListener("message",L=>{if(L.data&&L.data.vscodeScheduleAsyncWork)for(let D=0,T=w.length;D{const D=++S;w.push({id:D,callback:L}),l.postMessage({vscodeScheduleAsyncWork:D},"*")}}return w=>setTimeout(w)})(),e.OS=I||p?2:k?1:3;let f=!0,h=!1;function v(){if(!h){h=!0;const w=new Uint8Array(2);w[0]=1,w[1]=2,f=new Uint16Array(w.buffer)[0]===513}return f}e.isChrome=!!(e.userAgent&&e.userAgent.indexOf("Chrome")>=0),e.isFirefox=!!(e.userAgent&&e.userAgent.indexOf("Firefox")>=0),e.isSafari=!!(!e.isChrome&&e.userAgent&&e.userAgent.indexOf("Safari")>=0),e.isEdge=!!(e.userAgent&&e.userAgent.indexOf("Edg/")>=0),e.isAndroid=!!(e.userAgent&&e.userAgent.indexOf("Android")>=0)}),define(ne[248],se([1,0,64,52,16]),function(oe,e,d,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.BrowserFeatures=void 0,e.BrowserFeatures={clipboard:{writeText:I.isNative||document.queryCommandSupported&&document.queryCommandSupported("copy")||!!(navigator&&navigator.clipboard&&navigator.clipboard.writeText),readText:I.isNative||!!(navigator&&navigator.clipboard&&navigator.clipboard.readText)},keyboard:I.isNative||d.isStandalone()?0:navigator.keyboard||d.isSafari?1:2,touch:"ontouchstart"in k.mainWindow||navigator.maxTouchPoints>0,pointerEvents:k.mainWindow.PointerEvent&&("ontouchstart"in k.mainWindow||navigator.maxTouchPoints>0)}}),define(ne[347],se([1,0,16]),function(oe,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DEFAULT_FONT_FAMILY=void 0,e.DEFAULT_FONT_FAMILY=d.isWindows?'"Segoe WPC", "Segoe UI", sans-serif':d.isMacintosh?"-apple-system, BlinkMacSystemFont, sans-serif":'system-ui, "Ubuntu", "Droid Sans", sans-serif'}),define(ne[47],se([1,0,64,72,140,16]),function(oe,e,d,k,I,E){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.StandardKeyboardEvent=void 0;function y(o){if(o.charCode){const i=String.fromCharCode(o.charCode).toUpperCase();return k.KeyCodeUtils.fromString(i)}const t=o.keyCode;if(t===3)return 7;if(d.isFirefox)switch(t){case 59:return 85;case 60:if(E.isLinux)return 97;break;case 61:return 86;case 107:return 109;case 109:return 111;case 173:return 88;case 224:if(E.isMacintosh)return 57;break}else if(d.isWebKit){if(E.isMacintosh&&t===93)return 57;if(!E.isMacintosh&&t===92)return 57}return k.EVENT_KEY_CODE_MAP[t]||0}const m=E.isMacintosh?256:2048,_=512,b=1024,p=E.isMacintosh?2048:256;class n{constructor(t){this._standardKeyboardEventBrand=!0;const i=t;this.browserEvent=i,this.target=i.target,this.ctrlKey=i.ctrlKey,this.shiftKey=i.shiftKey,this.altKey=i.altKey,this.metaKey=i.metaKey,this.altGraphKey=i.getModifierState?.("AltGraph"),this.keyCode=y(i),this.code=i.code,this.ctrlKey=this.ctrlKey||this.keyCode===5,this.altKey=this.altKey||this.keyCode===6,this.shiftKey=this.shiftKey||this.keyCode===4,this.metaKey=this.metaKey||this.keyCode===57,this._asKeybinding=this._computeKeybinding(),this._asKeyCodeChord=this._computeKeyCodeChord()}preventDefault(){this.browserEvent&&this.browserEvent.preventDefault&&this.browserEvent.preventDefault()}stopPropagation(){this.browserEvent&&this.browserEvent.stopPropagation&&this.browserEvent.stopPropagation()}toKeyCodeChord(){return this._asKeyCodeChord}equals(t){return this._asKeybinding===t}_computeKeybinding(){let t=0;this.keyCode!==5&&this.keyCode!==4&&this.keyCode!==6&&this.keyCode!==57&&(t=this.keyCode);let i=0;return this.ctrlKey&&(i|=m),this.altKey&&(i|=_),this.shiftKey&&(i|=b),this.metaKey&&(i|=p),i|=t,i}_computeKeyCodeChord(){let t=0;return this.keyCode!==5&&this.keyCode!==4&&this.keyCode!==6&&this.keyCode!==57&&(t=this.keyCode),new I.KeyCodeChord(this.ctrlKey,this.shiftKey,this.altKey,this.metaKey,t)}}e.StandardKeyboardEvent=n}),define(ne[77],se([1,0,64,441,16]),function(oe,e,d,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.StandardWheelEvent=e.StandardMouseEvent=void 0;class E{constructor(_,b){this.timestamp=Date.now(),this.browserEvent=b,this.leftButton=b.button===0,this.middleButton=b.button===1,this.rightButton=b.button===2,this.buttons=b.buttons,this.target=b.target,this.detail=b.detail||1,b.type==="dblclick"&&(this.detail=2),this.ctrlKey=b.ctrlKey,this.shiftKey=b.shiftKey,this.altKey=b.altKey,this.metaKey=b.metaKey,typeof b.pageX=="number"?(this.posx=b.pageX,this.posy=b.pageY):(this.posx=b.clientX+this.target.ownerDocument.body.scrollLeft+this.target.ownerDocument.documentElement.scrollLeft,this.posy=b.clientY+this.target.ownerDocument.body.scrollTop+this.target.ownerDocument.documentElement.scrollTop);const p=k.IframeUtils.getPositionOfChildWindowRelativeToAncestorWindow(_,b.view);this.posx-=p.left,this.posy-=p.top}preventDefault(){this.browserEvent.preventDefault()}stopPropagation(){this.browserEvent.stopPropagation()}}e.StandardMouseEvent=E;class y{constructor(_,b=0,p=0){this.browserEvent=_||null,this.target=_?_.target||_.targetNode||_.srcElement:null,this.deltaY=p,this.deltaX=b;let n=!1;if(d.isChrome){const o=navigator.userAgent.match(/Chrome\/(\d+)/);n=(o?parseInt(o[1]):123)<=122}if(_){const o=_,t=_,i=_.view?.devicePixelRatio||1;if(typeof o.wheelDeltaY<"u")n?this.deltaY=o.wheelDeltaY/(120*i):this.deltaY=o.wheelDeltaY/120;else if(typeof t.VERTICAL_AXIS<"u"&&t.axis===t.VERTICAL_AXIS)this.deltaY=-t.detail/3;else if(_.type==="wheel"){const s=_;s.deltaMode===s.DOM_DELTA_LINE?d.isFirefox&&!I.isMacintosh?this.deltaY=-_.deltaY/3:this.deltaY=-_.deltaY:this.deltaY=-_.deltaY/40}if(typeof o.wheelDeltaX<"u")d.isSafari&&I.isWindows?this.deltaX=-(o.wheelDeltaX/120):n?this.deltaX=o.wheelDeltaX/(120*i):this.deltaX=o.wheelDeltaX/120;else if(typeof t.HORIZONTAL_AXIS<"u"&&t.axis===t.HORIZONTAL_AXIS)this.deltaX=-_.detail/3;else if(_.type==="wheel"){const s=_;s.deltaMode===s.DOM_DELTA_LINE?d.isFirefox&&!I.isMacintosh?this.deltaX=-_.deltaX/3:this.deltaX=-_.deltaX:this.deltaX=-_.deltaX/40}this.deltaY===0&&this.deltaX===0&&_.wheelDelta&&(n?this.deltaY=_.wheelDelta/(120*i):this.deltaY=_.wheelDelta/120)}}preventDefault(){this.browserEvent?.preventDefault()}stopPropagation(){this.browserEvent?.stopPropagation()}}e.StandardWheelEvent=y}),define(ne[14],se([1,0,18,8,6,2,16,301]),function(oe,e,d,k,I,E,y,m){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CancelableAsyncIterableObject=e.AsyncIterableObject=e.Promises=e.DeferredPromise=e.GlobalIdleValue=e.AbstractIdleValue=e._runWhenIdle=e.runWhenGlobalIdle=e.RunOnceScheduler=e.IntervalTimer=e.TimeoutTimer=e.ThrottledDelayer=e.Delayer=e.Throttler=void 0,e.isThenable=_,e.createCancelablePromise=b,e.raceCancellation=p,e.timeout=g,e.disposableTimeout=c,e.first=l,e.createCancelableAsyncIterable=L;function _(D){return!!D&&typeof D.then=="function"}function b(D){const T=new d.CancellationTokenSource,M=D(T.token),A=new Promise((P,N)=>{const O=T.token.onCancellationRequested(()=>{O.dispose(),N(new k.CancellationError)});Promise.resolve(M).then(F=>{O.dispose(),T.dispose(),P(F)},F=>{O.dispose(),T.dispose(),N(F)})});return new class{cancel(){T.cancel(),T.dispose()}then(P,N){return A.then(P,N)}catch(P){return this.then(void 0,P)}finally(P){return A.finally(P)}}}function p(D,T,M){return new Promise((A,P)=>{const N=T.onCancellationRequested(()=>{N.dispose(),A(M)});D.then(A,P).finally(()=>N.dispose())})}class n{constructor(){this.isDisposed=!1,this.activePromise=null,this.queuedPromise=null,this.queuedPromiseFactory=null}queue(T){if(this.isDisposed)return Promise.reject(new Error("Throttler is disposed"));if(this.activePromise){if(this.queuedPromiseFactory=T,!this.queuedPromise){const M=()=>{if(this.queuedPromise=null,this.isDisposed)return;const A=this.queue(this.queuedPromiseFactory);return this.queuedPromiseFactory=null,A};this.queuedPromise=new Promise(A=>{this.activePromise.then(M,M).then(A)})}return new Promise((M,A)=>{this.queuedPromise.then(M,A)})}return this.activePromise=T(),new Promise((M,A)=>{this.activePromise.then(P=>{this.activePromise=null,M(P)},P=>{this.activePromise=null,A(P)})})}dispose(){this.isDisposed=!0}}e.Throttler=n;const o=(D,T)=>{let M=!0;const A=setTimeout(()=>{M=!1,T()},D);return{isTriggered:()=>M,dispose:()=>{clearTimeout(A),M=!1}}},t=D=>{let T=!0;return queueMicrotask(()=>{T&&(T=!1,D())}),{isTriggered:()=>T,dispose:()=>{T=!1}}};class i{constructor(T){this.defaultDelay=T,this.deferred=null,this.completionPromise=null,this.doResolve=null,this.doReject=null,this.task=null}trigger(T,M=this.defaultDelay){this.task=T,this.cancelTimeout(),this.completionPromise||(this.completionPromise=new Promise((P,N)=>{this.doResolve=P,this.doReject=N}).then(()=>{if(this.completionPromise=null,this.doResolve=null,this.task){const P=this.task;return this.task=null,P()}}));const A=()=>{this.deferred=null,this.doResolve?.(null)};return this.deferred=M===m.MicrotaskDelay?t(A):o(M,A),this.completionPromise}isTriggered(){return!!this.deferred?.isTriggered()}cancel(){this.cancelTimeout(),this.completionPromise&&(this.doReject?.(new k.CancellationError),this.completionPromise=null)}cancelTimeout(){this.deferred?.dispose(),this.deferred=null}dispose(){this.cancel()}}e.Delayer=i;class s{constructor(T){this.delayer=new i(T),this.throttler=new n}trigger(T,M){return this.delayer.trigger(()=>this.throttler.queue(T),M)}cancel(){this.delayer.cancel()}dispose(){this.delayer.dispose(),this.throttler.dispose()}}e.ThrottledDelayer=s;function g(D,T){return T?new Promise((M,A)=>{const P=setTimeout(()=>{N.dispose(),M()},D),N=T.onCancellationRequested(()=>{clearTimeout(P),N.dispose(),A(new k.CancellationError)})}):b(M=>g(D,M))}function c(D,T=0,M){const A=setTimeout(()=>{D(),M&&P.dispose()},T),P=(0,E.toDisposable)(()=>{clearTimeout(A),M?.deleteAndLeak(P)});return M?.add(P),P}function l(D,T=A=>!!A,M=null){let A=0;const P=D.length,N=()=>{if(A>=P)return Promise.resolve(M);const O=D[A++];return Promise.resolve(O()).then(x=>T(x)?Promise.resolve(x):N())};return N()}class a{constructor(T,M){this._isDisposed=!1,this._token=-1,typeof T=="function"&&typeof M=="number"&&this.setIfNotSet(T,M)}dispose(){this.cancel(),this._isDisposed=!0}cancel(){this._token!==-1&&(clearTimeout(this._token),this._token=-1)}cancelAndSet(T,M){if(this._isDisposed)throw new k.BugIndicatingError("Calling 'cancelAndSet' on a disposed TimeoutTimer");this.cancel(),this._token=setTimeout(()=>{this._token=-1,T()},M)}setIfNotSet(T,M){if(this._isDisposed)throw new k.BugIndicatingError("Calling 'setIfNotSet' on a disposed TimeoutTimer");this._token===-1&&(this._token=setTimeout(()=>{this._token=-1,T()},M))}}e.TimeoutTimer=a;class r{constructor(){this.disposable=void 0,this.isDisposed=!1}cancel(){this.disposable?.dispose(),this.disposable=void 0}cancelAndSet(T,M,A=globalThis){if(this.isDisposed)throw new k.BugIndicatingError("Calling 'cancelAndSet' on a disposed IntervalTimer");this.cancel();const P=A.setInterval(()=>{T()},M);this.disposable=(0,E.toDisposable)(()=>{A.clearInterval(P),this.disposable=void 0})}dispose(){this.cancel(),this.isDisposed=!0}}e.IntervalTimer=r;class u{constructor(T,M){this.timeoutToken=-1,this.runner=T,this.timeout=M,this.timeoutHandler=this.onTimeout.bind(this)}dispose(){this.cancel(),this.runner=null}cancel(){this.isScheduled()&&(clearTimeout(this.timeoutToken),this.timeoutToken=-1)}schedule(T=this.timeout){this.cancel(),this.timeoutToken=setTimeout(this.timeoutHandler,T)}get delay(){return this.timeout}set delay(T){this.timeout=T}isScheduled(){return this.timeoutToken!==-1}onTimeout(){this.timeoutToken=-1,this.runner&&this.doRun()}doRun(){this.runner?.()}}e.RunOnceScheduler=u,function(){typeof globalThis.requestIdleCallback!="function"||typeof globalThis.cancelIdleCallback!="function"?e._runWhenIdle=(D,T)=>{(0,y.setTimeout0)(()=>{if(M)return;const A=Date.now()+15;T(Object.freeze({didTimeout:!0,timeRemaining(){return Math.max(0,A-Date.now())}}))});let M=!1;return{dispose(){M||(M=!0)}}}:e._runWhenIdle=(D,T,M)=>{const A=D.requestIdleCallback(T,typeof M=="number"?{timeout:M}:void 0);let P=!1;return{dispose(){P||(P=!0,D.cancelIdleCallback(A))}}},e.runWhenGlobalIdle=D=>(0,e._runWhenIdle)(globalThis,D)}();class C{constructor(T,M){this._didRun=!1,this._executor=()=>{try{this._value=M()}catch(A){this._error=A}finally{this._didRun=!0}},this._handle=(0,e._runWhenIdle)(T,()=>this._executor())}dispose(){this._handle.dispose()}get value(){if(this._didRun||(this._handle.dispose(),this._executor()),this._error)throw this._error;return this._value}get isInitialized(){return this._didRun}}e.AbstractIdleValue=C;class f extends C{constructor(T){super(globalThis,T)}}e.GlobalIdleValue=f;class h{get isRejected(){return this.outcome?.outcome===1}get isSettled(){return!!this.outcome}constructor(){this.p=new Promise((T,M)=>{this.completeCallback=T,this.errorCallback=M})}complete(T){return new Promise(M=>{this.completeCallback(T),this.outcome={outcome:0,value:T},M()})}error(T){return new Promise(M=>{this.errorCallback(T),this.outcome={outcome:1,value:T},M()})}cancel(){return this.error(new k.CancellationError)}}e.DeferredPromise=h;var v;(function(D){async function T(A){let P;const N=await Promise.all(A.map(O=>O.then(F=>F,F=>{P||(P=F)})));if(typeof P<"u")throw P;return N}D.settled=T;function M(A){return new Promise(async(P,N)=>{try{await A(P,N)}catch(O){N(O)}})}D.withAsyncBody=M})(v||(e.Promises=v={}));class w{static fromArray(T){return new w(M=>{M.emitMany(T)})}static fromPromise(T){return new w(async M=>{M.emitMany(await T)})}static fromPromises(T){return new w(async M=>{await Promise.all(T.map(async A=>M.emitOne(await A)))})}static merge(T){return new w(async M=>{await Promise.all(T.map(async A=>{for await(const P of A)M.emitOne(P)}))})}static{this.EMPTY=w.fromArray([])}constructor(T,M){this._state=0,this._results=[],this._error=null,this._onReturn=M,this._onStateChanged=new I.Emitter,queueMicrotask(async()=>{const A={emitOne:P=>this.emitOne(P),emitMany:P=>this.emitMany(P),reject:P=>this.reject(P)};try{await Promise.resolve(T(A)),this.resolve()}catch(P){this.reject(P)}finally{A.emitOne=void 0,A.emitMany=void 0,A.reject=void 0}})}[Symbol.asyncIterator](){let T=0;return{next:async()=>{do{if(this._state===2)throw this._error;if(T(this._onReturn?.(),{done:!0,value:void 0})}}static map(T,M){return new w(async A=>{for await(const P of T)A.emitOne(M(P))})}map(T){return w.map(this,T)}static filter(T,M){return new w(async A=>{for await(const P of T)M(P)&&A.emitOne(P)})}filter(T){return w.filter(this,T)}static coalesce(T){return w.filter(T,M=>!!M)}coalesce(){return w.coalesce(this)}static async toPromise(T){const M=[];for await(const A of T)M.push(A);return M}toPromise(){return w.toPromise(this)}emitOne(T){this._state===0&&(this._results.push(T),this._onStateChanged.fire())}emitMany(T){this._state===0&&(this._results=this._results.concat(T),this._onStateChanged.fire())}resolve(){this._state===0&&(this._state=1,this._onStateChanged.fire())}reject(T){this._state===0&&(this._state=2,this._error=T,this._onStateChanged.fire())}}e.AsyncIterableObject=w;class S extends w{constructor(T,M){super(M),this._source=T}cancel(){this._source.cancel()}}e.CancelableAsyncIterableObject=S;function L(D){const T=new d.CancellationTokenSource,M=D(T.token);return new S(T,async A=>{const P=T.token.onCancellationRequested(()=>{P.dispose(),T.dispose(),A.reject(new k.CancellationError)});try{for await(const N of M){if(T.token.isCancellationRequested)return;A.emitOne(N)}P.dispose(),T.dispose()}catch(N){P.dispose(),T.dispose(),A.reject(N)}})}}),define(ne[626],se([1,0,14,2]),function(oe,e,d,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ScrollbarVisibilityController=void 0;class I extends k.Disposable{constructor(y,m,_){super(),this._visibility=y,this._visibleClassName=m,this._invisibleClassName=_,this._domNode=null,this._isVisible=!1,this._isNeeded=!1,this._rawShouldBeVisible=!1,this._shouldBeVisible=!1,this._revealTimer=this._register(new d.TimeoutTimer)}setVisibility(y){this._visibility!==y&&(this._visibility=y,this._updateShouldBeVisible())}setShouldBeVisible(y){this._rawShouldBeVisible=y,this._updateShouldBeVisible()}_applyVisibilitySetting(){return this._visibility===2?!1:this._visibility===3?!0:this._rawShouldBeVisible}_updateShouldBeVisible(){const y=this._applyVisibilitySetting();this._shouldBeVisible!==y&&(this._shouldBeVisible=y,this.ensureVisibility())}setIsNeeded(y){this._isNeeded!==y&&(this._isNeeded=y,this.ensureVisibility())}setDomNode(y){this._domNode=y,this._domNode.setClassName(this._invisibleClassName),this.setShouldBeVisible(!1)}ensureVisibility(){if(!this._isNeeded){this._hide(!1);return}this._shouldBeVisible?this._reveal():this._hide(!0)}_reveal(){this._isVisible||(this._isVisible=!0,this._revealTimer.setIfNotSet(()=>{this._domNode?.setClassName(this._visibleClassName)},0))}_hide(y){this._revealTimer.cancel(),this._isVisible&&(this._isVisible=!1,this._domNode?.setClassName(this._invisibleClassName+(y?" fade":"")))}}e.ScrollbarVisibilityController=I}),define(ne[249],se([1,0,159,13,14,301,190,6,53]),function(oe,e,d,k,I,E,y,m,_){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.IndexTreeModel=void 0,e.isFilterResult=b,e.getVisibleState=p;function b(t){return typeof t=="object"&&"visibility"in t&&"data"in t}function p(t){switch(t){case!0:return 1;case!1:return 0;default:return t}}function n(t){return typeof t.collapsible=="boolean"}class o{constructor(i,s,g,c={}){this.user=i,this.list=s,this.rootRef=[],this.eventBufferer=new m.EventBufferer,this._onDidChangeCollapseState=new m.Emitter,this.onDidChangeCollapseState=this.eventBufferer.wrapEvent(this._onDidChangeCollapseState.event),this._onDidChangeRenderNodeCount=new m.Emitter,this.onDidChangeRenderNodeCount=this.eventBufferer.wrapEvent(this._onDidChangeRenderNodeCount.event),this._onDidSplice=new m.Emitter,this.onDidSplice=this._onDidSplice.event,this.refilterDelayer=new I.Delayer(E.MicrotaskDelay),this.collapseByDefault=typeof c.collapseByDefault>"u"?!1:c.collapseByDefault,this.allowNonCollapsibleParents=c.allowNonCollapsibleParents??!1,this.filter=c.filter,this.autoExpandSingleChildren=typeof c.autoExpandSingleChildren>"u"?!1:c.autoExpandSingleChildren,this.root={parent:void 0,element:g,children:[],depth:0,visibleChildrenCount:0,visibleChildIndex:-1,collapsible:!1,collapsed:!1,renderNodeCount:0,visibility:1,visible:!0,filterData:void 0}}splice(i,s,g=_.Iterable.empty(),c={}){if(i.length===0)throw new d.TreeError(this.user,"Invalid tree location");c.diffIdentityProvider?this.spliceSmart(c.diffIdentityProvider,i,s,g,c):this.spliceSimple(i,s,g,c)}spliceSmart(i,s,g,c=_.Iterable.empty(),l,a=l.diffDepth??0){const{parentNode:r}=this.getParentNodeWithListIndex(s);if(!r.lastDiffIds)return this.spliceSimple(s,g,c,l);const u=[...c],C=s[s.length-1],f=new y.LcsDiff({getElements:()=>r.lastDiffIds},{getElements:()=>[...r.children.slice(0,C),...u,...r.children.slice(C+g)].map(L=>i.getId(L.element).toString())}).ComputeDiff(!1);if(f.quitEarly)return r.lastDiffIds=void 0,this.spliceSimple(s,g,u,l);const h=s.slice(0,-1),v=(L,D,T)=>{if(a>0)for(let M=0;MT.originalStart-D.originalStart))v(w,S,w-(L.originalStart+L.originalLength)),w=L.originalStart,S=L.modifiedStart-C,this.spliceSimple([...h,w],L.originalLength,_.Iterable.slice(u,S,S+L.modifiedLength),l);v(w,S,w)}spliceSimple(i,s,g=_.Iterable.empty(),{onDidCreateNode:c,onDidDeleteNode:l,diffIdentityProvider:a}){const{parentNode:r,listIndex:u,revealed:C,visible:f}=this.getParentNodeWithListIndex(i),h=[],v=_.Iterable.map(g,N=>this.createTreeNode(N,r,r.visible?1:0,C,h,c)),w=i[i.length-1];let S=0;for(let N=w;N>=0&&Na.getId(N.element).toString())):r.lastDiffIds=r.children.map(N=>a.getId(N.element).toString()):r.lastDiffIds=void 0;let A=0;for(const N of M)N.visible&&A++;if(A!==0)for(let N=w+L.length;NO+(F.visible?F.renderNodeCount:0),0);this._updateAncestorsRenderNodeCount(r,T-N),this.list.splice(u,N,h)}if(M.length>0&&l){const N=O=>{l(O),O.children.forEach(N)};M.forEach(N)}this._onDidSplice.fire({insertedNodes:L,deletedNodes:M});let P=r;for(;P;){if(P.visibility===2){this.refilterDelayer.trigger(()=>this.refilter());break}P=P.parent}}rerender(i){if(i.length===0)throw new d.TreeError(this.user,"Invalid tree location");const{node:s,listIndex:g,revealed:c}=this.getTreeNodeWithListIndex(i);s.visible&&c&&this.list.splice(g,1,[s])}has(i){return this.hasTreeNode(i)}getListIndex(i){const{listIndex:s,visible:g,revealed:c}=this.getTreeNodeWithListIndex(i);return g&&c?s:-1}getListRenderCount(i){return this.getTreeNode(i).renderNodeCount}isCollapsible(i){return this.getTreeNode(i).collapsible}setCollapsible(i,s){const g=this.getTreeNode(i);typeof s>"u"&&(s=!g.collapsible);const c={collapsible:s};return this.eventBufferer.bufferEvents(()=>this._setCollapseState(i,c))}isCollapsed(i){return this.getTreeNode(i).collapsed}setCollapsed(i,s,g){const c=this.getTreeNode(i);typeof s>"u"&&(s=!c.collapsed);const l={collapsed:s,recursive:g||!1};return this.eventBufferer.bufferEvents(()=>this._setCollapseState(i,l))}_setCollapseState(i,s){const{node:g,listIndex:c,revealed:l}=this.getTreeNodeWithListIndex(i),a=this._setListNodeCollapseState(g,c,l,s);if(g!==this.root&&this.autoExpandSingleChildren&&a&&!n(s)&&g.collapsible&&!g.collapsed&&!s.recursive){let r=-1;for(let u=0;u-1){r=-1;break}else r=u;r>-1&&this._setCollapseState([...i,r],s)}return a}_setListNodeCollapseState(i,s,g,c){const l=this._setNodeCollapseState(i,c,!1);if(!g||!i.visible||!l)return l;const a=i.renderNodeCount,r=this.updateNodeAfterCollapseChange(i),u=a-(s===-1?0:1);return this.list.splice(s+1,u,r.slice(1)),l}_setNodeCollapseState(i,s,g){let c;if(i===this.root?c=!1:(n(s)?(c=i.collapsible!==s.collapsible,i.collapsible=s.collapsible):i.collapsible?(c=i.collapsed!==s.collapsed,i.collapsed=s.collapsed):c=!1,c&&this._onDidChangeCollapseState.fire({node:i,deep:g})),!n(s)&&s.recursive)for(const l of i.children)c=this._setNodeCollapseState(l,s,!0)||c;return c}expandTo(i){this.eventBufferer.bufferEvents(()=>{let s=this.getTreeNode(i);for(;s.parent;)s=s.parent,i=i.slice(0,i.length-1),s.collapsed&&this._setCollapseState(i,{collapsed:!1,recursive:!1})})}refilter(){const i=this.root.renderNodeCount,s=this.updateNodeAfterFilterChange(this.root);this.list.splice(0,i,s),this.refilterDelayer.cancel()}createTreeNode(i,s,g,c,l,a){const r={parent:s,element:i.element,children:[],depth:s.depth+1,visibleChildrenCount:0,visibleChildIndex:-1,collapsible:typeof i.collapsible=="boolean"?i.collapsible:typeof i.collapsed<"u",collapsed:typeof i.collapsed>"u"?this.collapseByDefault:i.collapsed,renderNodeCount:1,visibility:1,visible:!0,filterData:void 0},u=this._filterNode(r,g);r.visibility=u,c&&l.push(r);const C=i.children||_.Iterable.empty(),f=c&&u!==0&&!r.collapsed;let h=0,v=1;for(const w of C){const S=this.createTreeNode(w,r,u,f,l,a);r.children.push(S),v+=S.renderNodeCount,S.visible&&(S.visibleChildIndex=h++)}return this.allowNonCollapsibleParents||(r.collapsible=r.collapsible||r.children.length>0),r.visibleChildrenCount=h,r.visible=u===2?h>0:u===1,r.visible?r.collapsed||(r.renderNodeCount=v):(r.renderNodeCount=0,c&&l.pop()),a?.(r),r}updateNodeAfterCollapseChange(i){const s=i.renderNodeCount,g=[];return this._updateNodeAfterCollapseChange(i,g),this._updateAncestorsRenderNodeCount(i.parent,g.length-s),g}_updateNodeAfterCollapseChange(i,s){if(i.visible===!1)return 0;if(s.push(i),i.renderNodeCount=1,!i.collapsed)for(const g of i.children)i.renderNodeCount+=this._updateNodeAfterCollapseChange(g,s);return this._onDidChangeRenderNodeCount.fire(i),i.renderNodeCount}updateNodeAfterFilterChange(i){const s=i.renderNodeCount,g=[];return this._updateNodeAfterFilterChange(i,i.visible?1:0,g),this._updateAncestorsRenderNodeCount(i.parent,g.length-s),g}_updateNodeAfterFilterChange(i,s,g,c=!0){let l;if(i!==this.root){if(l=this._filterNode(i,s),l===0)return i.visible=!1,i.renderNodeCount=0,!1;c&&g.push(i)}const a=g.length;i.renderNodeCount=i===this.root?0:1;let r=!1;if(!i.collapsed||l!==0){let u=0;for(const C of i.children)r=this._updateNodeAfterFilterChange(C,l,g,c&&!i.collapsed)||r,C.visible&&(C.visibleChildIndex=u++);i.visibleChildrenCount=u}else i.visibleChildrenCount=0;return i!==this.root&&(i.visible=l===2?r:l===1,i.visibility=l),i.visible?i.collapsed||(i.renderNodeCount+=g.length-a):(i.renderNodeCount=0,c&&g.pop()),this._onDidChangeRenderNodeCount.fire(i),i.visible}_updateAncestorsRenderNodeCount(i,s){if(s!==0)for(;i;)i.renderNodeCount+=s,this._onDidChangeRenderNodeCount.fire(i),i=i.parent}_filterNode(i,s){const g=this.filter?this.filter.filter(i.element,s):1;return typeof g=="boolean"?(i.filterData=void 0,g?1:0):b(g)?(i.filterData=g.data,p(g.visibility)):(i.filterData=void 0,p(g))}hasTreeNode(i,s=this.root){if(!i||i.length===0)return!0;const[g,...c]=i;return g<0||g>s.children.length?!1:this.hasTreeNode(c,s.children[g])}getTreeNode(i,s=this.root){if(!i||i.length===0)return s;const[g,...c]=i;if(g<0||g>s.children.length)throw new d.TreeError(this.user,"Invalid tree location");return this.getTreeNode(c,s.children[g])}getTreeNodeWithListIndex(i){if(i.length===0)return{node:this.root,listIndex:-1,revealed:!0,visible:!1};const{parentNode:s,listIndex:g,revealed:c,visible:l}=this.getParentNodeWithListIndex(i),a=i[i.length-1];if(a<0||a>s.children.length)throw new d.TreeError(this.user,"Invalid tree location");const r=s.children[a];return{node:r,listIndex:g,revealed:c,visible:l&&r.visible}}getParentNodeWithListIndex(i,s=this.root,g=0,c=!0,l=!0){const[a,...r]=i;if(a<0||a>s.children.length)throw new d.TreeError(this.user,"Invalid tree location");for(let u=0;u{if(i.element===null)return;const s=i;if(p.add(s.element),this.nodes.set(s.element,s),this.identityProvider){const g=this.identityProvider.getId(s.element).toString();n.add(g),this.nodesByIdentity.set(g,s)}b.onDidCreateNode?.(s)},t=i=>{if(i.element===null)return;const s=i;if(p.has(s.element)||this.nodes.delete(s.element),this.identityProvider){const g=this.identityProvider.getId(s.element).toString();n.has(g)||this.nodesByIdentity.delete(g)}b.onDidDeleteNode?.(s)};this.model.splice([...m,0],Number.MAX_VALUE,_,{...b,onDidCreateNode:o,onDidDeleteNode:t})}preserveCollapseState(m=I.Iterable.empty()){return this.sorter&&(m=[...m].sort(this.sorter.compare.bind(this.sorter))),I.Iterable.map(m,_=>{let b=this.nodes.get(_.element);if(!b&&this.identityProvider){const o=this.identityProvider.getId(_.element).toString();b=this.nodesByIdentity.get(o)}if(!b){let o;return typeof _.collapsed>"u"?o=void 0:_.collapsed===k.ObjectTreeElementCollapseState.Collapsed||_.collapsed===k.ObjectTreeElementCollapseState.PreserveOrCollapsed?o=!0:_.collapsed===k.ObjectTreeElementCollapseState.Expanded||_.collapsed===k.ObjectTreeElementCollapseState.PreserveOrExpanded?o=!1:o=!!_.collapsed,{..._,children:this.preserveCollapseState(_.children),collapsed:o}}const p=typeof _.collapsible=="boolean"?_.collapsible:b.collapsible;let n;return typeof _.collapsed>"u"||_.collapsed===k.ObjectTreeElementCollapseState.PreserveOrCollapsed||_.collapsed===k.ObjectTreeElementCollapseState.PreserveOrExpanded?n=b.collapsed:_.collapsed===k.ObjectTreeElementCollapseState.Collapsed?n=!0:_.collapsed===k.ObjectTreeElementCollapseState.Expanded?n=!1:n=!!_.collapsed,{..._,collapsible:p,collapsed:n,children:this.preserveCollapseState(_.children)}})}rerender(m){const _=this.getElementLocation(m);this.model.rerender(_)}getFirstElementChild(m=null){const _=this.getElementLocation(m);return this.model.getFirstElementChild(_)}has(m){return this.nodes.has(m)}getListIndex(m){const _=this.getElementLocation(m);return this.model.getListIndex(_)}getListRenderCount(m){const _=this.getElementLocation(m);return this.model.getListRenderCount(_)}isCollapsible(m){const _=this.getElementLocation(m);return this.model.isCollapsible(_)}setCollapsible(m,_){const b=this.getElementLocation(m);return this.model.setCollapsible(b,_)}isCollapsed(m){const _=this.getElementLocation(m);return this.model.isCollapsed(_)}setCollapsed(m,_,b){const p=this.getElementLocation(m);return this.model.setCollapsed(p,_,b)}expandTo(m){const _=this.getElementLocation(m);this.model.expandTo(_)}refilter(){this.model.refilter()}getNode(m=null){if(m===null)return this.model.getNode(this.model.rootRef);const _=this.nodes.get(m);if(!_)throw new k.TreeError(this.user,`Tree element not found: ${m}`);return _}getNodeLocation(m){return m.element}getParentNodeLocation(m){if(m===null)throw new k.TreeError(this.user,"Invalid getParentNodeLocation call");const _=this.nodes.get(m);if(!_)throw new k.TreeError(this.user,`Tree element not found: ${m}`);const b=this.model.getNodeLocation(_),p=this.model.getParentNodeLocation(b);return this.model.getNode(p).element}getElementLocation(m){if(m===null)return[];const _=this.nodes.get(m);if(!_)throw new k.TreeError(this.user,`Tree element not found: ${m}`);return this.model.getNodeLocation(_)}}e.ObjectTreeModel=E}),define(ne[627],se([1,0,250,159,13,6,53]),function(oe,e,d,k,I,E,y){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CompressibleObjectTreeModel=e.DefaultElementMapper=e.CompressedObjectTreeModel=void 0,e.compress=_,e.decompress=p;function m(a){const r=[a.element],u=a.incompressible||!1;return{element:{elements:r,incompressible:u},children:y.Iterable.map(y.Iterable.from(a.children),m),collapsible:a.collapsible,collapsed:a.collapsed}}function _(a){const r=[a.element],u=a.incompressible||!1;let C,f;for(;[f,C]=y.Iterable.consume(y.Iterable.from(a.children),2),!(f.length!==1||f[0].incompressible);)a=f[0],r.push(a.element);return{element:{elements:r,incompressible:u},children:y.Iterable.map(y.Iterable.concat(f,C),_),collapsible:a.collapsible,collapsed:a.collapsed}}function b(a,r=0){let u;return rb(C,0)),r===0&&a.element.incompressible?{element:a.element.elements[r],children:u,incompressible:!0,collapsible:a.collapsible,collapsed:a.collapsed}:{element:a.element.elements[r],children:u,collapsible:a.collapsible,collapsed:a.collapsed}}function p(a){return b(a,0)}function n(a,r,u){return a.element===r?{...a,children:u}:{...a,children:y.Iterable.map(y.Iterable.from(a.children),C=>n(C,r,u))}}const o=a=>({getId(r){return r.elements.map(u=>a.getId(u).toString()).join("\0")}});class t{get onDidSplice(){return this.model.onDidSplice}get onDidChangeCollapseState(){return this.model.onDidChangeCollapseState}get onDidChangeRenderNodeCount(){return this.model.onDidChangeRenderNodeCount}constructor(r,u,C={}){this.user=r,this.rootRef=null,this.nodes=new Map,this.model=new d.ObjectTreeModel(r,u,C),this.enabled=typeof C.compressionEnabled>"u"?!0:C.compressionEnabled,this.identityProvider=C.identityProvider}setChildren(r,u=y.Iterable.empty(),C){const f=C.diffIdentityProvider&&o(C.diffIdentityProvider);if(r===null){const P=y.Iterable.map(u,this.enabled?_:m);this._setChildren(null,P,{diffIdentityProvider:f,diffDepth:1/0});return}const h=this.nodes.get(r);if(!h)throw new k.TreeError(this.user,"Unknown compressed tree node");const v=this.model.getNode(h),w=this.model.getParentNodeLocation(h),S=this.model.getNode(w),L=p(v),D=n(L,r,u),T=(this.enabled?_:m)(D),M=C.diffIdentityProvider?(P,N)=>C.diffIdentityProvider.getId(P)===C.diffIdentityProvider.getId(N):void 0;if((0,I.equals)(T.element.elements,v.element.elements,M)){this._setChildren(h,T.children||y.Iterable.empty(),{diffIdentityProvider:f,diffDepth:1});return}const A=S.children.map(P=>P===v?T:P);this._setChildren(S.element,A,{diffIdentityProvider:f,diffDepth:v.depth-S.depth})}isCompressionEnabled(){return this.enabled}setCompressionEnabled(r){if(r===this.enabled)return;this.enabled=r;const C=this.model.getNode().children,f=y.Iterable.map(C,p),h=y.Iterable.map(f,r?_:m);this._setChildren(null,h,{diffIdentityProvider:this.identityProvider,diffDepth:1/0})}_setChildren(r,u,C){const f=new Set,h=w=>{for(const S of w.element.elements)f.add(S),this.nodes.set(S,w.element)},v=w=>{for(const S of w.element.elements)f.has(S)||this.nodes.delete(S)};this.model.setChildren(r,u,{...C,onDidCreateNode:h,onDidDeleteNode:v})}has(r){return this.nodes.has(r)}getListIndex(r){const u=this.getCompressedNode(r);return this.model.getListIndex(u)}getListRenderCount(r){const u=this.getCompressedNode(r);return this.model.getListRenderCount(u)}getNode(r){if(typeof r>"u")return this.model.getNode();const u=this.getCompressedNode(r);return this.model.getNode(u)}getNodeLocation(r){const u=this.model.getNodeLocation(r);return u===null?null:u.elements[u.elements.length-1]}getParentNodeLocation(r){const u=this.getCompressedNode(r),C=this.model.getParentNodeLocation(u);return C===null?null:C.elements[C.elements.length-1]}getFirstElementChild(r){const u=this.getCompressedNode(r);return this.model.getFirstElementChild(u)}isCollapsible(r){const u=this.getCompressedNode(r);return this.model.isCollapsible(u)}setCollapsible(r,u){const C=this.getCompressedNode(r);return this.model.setCollapsible(C,u)}isCollapsed(r){const u=this.getCompressedNode(r);return this.model.isCollapsed(u)}setCollapsed(r,u,C){const f=this.getCompressedNode(r);return this.model.setCollapsed(f,u,C)}expandTo(r){const u=this.getCompressedNode(r);this.model.expandTo(u)}rerender(r){const u=this.getCompressedNode(r);this.model.rerender(u)}refilter(){this.model.refilter()}getCompressedNode(r){if(r===null)return null;const u=this.nodes.get(r);if(!u)throw new k.TreeError(this.user,`Tree element not found: ${r}`);return u}}e.CompressedObjectTreeModel=t;const i=a=>a[a.length-1];e.DefaultElementMapper=i;class s{get element(){return this.node.element===null?null:this.unwrapper(this.node.element)}get children(){return this.node.children.map(r=>new s(this.unwrapper,r))}get depth(){return this.node.depth}get visibleChildrenCount(){return this.node.visibleChildrenCount}get visibleChildIndex(){return this.node.visibleChildIndex}get collapsible(){return this.node.collapsible}get collapsed(){return this.node.collapsed}get visible(){return this.node.visible}get filterData(){return this.node.filterData}constructor(r,u){this.unwrapper=r,this.node=u}}function g(a,r){return{splice(u,C,f){r.splice(u,C,f.map(h=>a.map(h)))},updateElementHeight(u,C){r.updateElementHeight(u,C)}}}function c(a,r){return{...r,identityProvider:r.identityProvider&&{getId(u){return r.identityProvider.getId(a(u))}},sorter:r.sorter&&{compare(u,C){return r.sorter.compare(u.elements[0],C.elements[0])}},filter:r.filter&&{filter(u,C){return r.filter.filter(a(u),C)}}}}class l{get onDidSplice(){return E.Event.map(this.model.onDidSplice,({insertedNodes:r,deletedNodes:u})=>({insertedNodes:r.map(C=>this.nodeMapper.map(C)),deletedNodes:u.map(C=>this.nodeMapper.map(C))}))}get onDidChangeCollapseState(){return E.Event.map(this.model.onDidChangeCollapseState,({node:r,deep:u})=>({node:this.nodeMapper.map(r),deep:u}))}get onDidChangeRenderNodeCount(){return E.Event.map(this.model.onDidChangeRenderNodeCount,r=>this.nodeMapper.map(r))}constructor(r,u,C={}){this.rootRef=null,this.elementMapper=C.elementMapper||e.DefaultElementMapper;const f=h=>this.elementMapper(h.elements);this.nodeMapper=new k.WeakMapper(h=>new s(f,h)),this.model=new t(r,g(this.nodeMapper,u),c(f,C))}setChildren(r,u=y.Iterable.empty(),C={}){this.model.setChildren(r,u,C)}isCompressionEnabled(){return this.model.isCompressionEnabled()}setCompressionEnabled(r){this.model.setCompressionEnabled(r)}has(r){return this.model.has(r)}getListIndex(r){return this.model.getListIndex(r)}getListRenderCount(r){return this.model.getListRenderCount(r)}getNode(r){return this.nodeMapper.map(this.model.getNode(r))}getNodeLocation(r){return r.element}getParentNodeLocation(r){return this.model.getParentNodeLocation(r)}getFirstElementChild(r){const u=this.model.getFirstElementChild(r);return u===null||typeof u>"u"?u:this.elementMapper(u.elements)}isCollapsible(r){return this.model.isCollapsible(r)}setCollapsible(r,u){return this.model.setCollapsible(r,u)}isCollapsed(r){return this.model.isCollapsed(r)}setCollapsed(r,u,C){return this.model.setCollapsed(r,u,C)}expandTo(r){return this.model.expandTo(r)}rerender(r){return this.model.rerender(r)}refilter(){return this.model.refilter()}getCompressedTreeNode(r=null){return this.model.getNode(r)}}e.CompressibleObjectTreeModel=l}),define(ne[348],se([1,0,16]),function(oe,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.platform=e.env=e.cwd=void 0;let k;const I=globalThis.vscode;if(typeof I<"u"&&typeof I.process<"u"){const E=I.process;k={get platform(){return E.platform},get arch(){return E.arch},get env(){return E.env},cwd(){return E.cwd()}}}else typeof process<"u"&&typeof process?.versions?.node=="string"?k={get platform(){return process.platform},get arch(){return process.arch},get env(){return process.env},cwd(){return process.env.VSCODE_CWD||process.cwd()}}:k={get platform(){return d.isWindows?"win32":d.isMacintosh?"darwin":"linux"},get arch(){},get env(){return{}},cwd(){return"/"}};e.cwd=k.cwd,e.env=k.env,e.platform=k.platform}),define(ne[349],se([1,0,348]),function(oe,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.isHotReloadEnabled=k,e.registerHotReloadHandler=I;function k(){return d.env&&!!d.env.VSCODE_DEV}function I(m){if(k()){const _=E();return _.add(m),{dispose(){_.delete(m)}}}else return{dispose(){}}}function E(){y||(y=new Set);const m=globalThis;return m.$hotReload_applyNewExports||(m.$hotReload_applyNewExports=_=>{const b={config:{mode:void 0},..._},p=[];for(const n of y){const o=n(b);o&&p.push(o)}if(p.length>0)return n=>{let o=!1;for(const t of p)t(n)&&(o=!0);return o}}),y}let y;k()&&I(({oldExports:m,newSrc:_,config:b})=>{if(b.mode==="patch-prototype")return p=>{for(const n in p){const o=p[n];if(console.log(`[hot-reload] Patching prototype methods of '${n}'`,{exportedItem:o}),typeof o=="function"&&o.prototype){const t=m[n];if(t){for(const i of Object.getOwnPropertyNames(o.prototype)){const s=Object.getOwnPropertyDescriptor(o.prototype,i),g=Object.getOwnPropertyDescriptor(t.prototype,i);s?.value?.toString()!==g?.value?.toString()&&console.log(`[hot-reload] Patching prototype method '${n}.${i}'`),Object.defineProperty(t.prototype,i,s)}p[n]=t}}}return!0}})}),define(ne[171],se([1,0,349,21]),function(oe,e,d,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.readHotReloadableExport=I,e.observeHotReloadableExports=E;function I(y,m){return E([y],m),y}function E(y,m){(0,d.isHotReloadEnabled)()&&(0,k.observableSignalFromEvent)("reload",b=>(0,d.registerHotReloadHandler)(({oldExports:p})=>{if([...Object.values(p)].some(n=>y.includes(n)))return n=>(b(void 0),!0)})).read(m)}}),define(ne[99],se([1,0,348]),function(oe,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.sep=e.extname=e.basename=e.dirname=e.relative=e.resolve=e.join=e.normalize=e.posix=e.win32=void 0;const k=65,I=97,E=90,y=122,m=46,_=47,b=92,p=58,n=63;class o extends Error{constructor(h,v,w){let S;typeof v=="string"&&v.indexOf("not ")===0?(S="must not be",v=v.replace(/^not /,"")):S="must be";const L=h.indexOf(".")!==-1?"property":"argument";let D=`The "${h}" ${L} ${S} of type ${v}`;D+=`. Received type ${typeof w}`,super(D),this.code="ERR_INVALID_ARG_TYPE"}}function t(f,h){if(f===null||typeof f!="object")throw new o(h,"Object",f)}function i(f,h){if(typeof f!="string")throw new o(h,"string",f)}const s=d.platform==="win32";function g(f){return f===_||f===b}function c(f){return f===_}function l(f){return f>=k&&f<=E||f>=I&&f<=y}function a(f,h,v,w){let S="",L=0,D=-1,T=0,M=0;for(let A=0;A<=f.length;++A){if(A2){const P=S.lastIndexOf(v);P===-1?(S="",L=0):(S=S.slice(0,P),L=S.length-1-S.lastIndexOf(v)),D=A,T=0;continue}else if(S.length!==0){S="",L=0,D=A,T=0;continue}}h&&(S+=S.length>0?`${v}..`:"..",L=2)}else S.length>0?S+=`${v}${f.slice(D+1,A)}`:S=f.slice(D+1,A),L=A-D-1;D=A,T=0}else M===m&&T!==-1?++T:T=-1}return S}function r(f){return f?`${f[0]==="."?"":"."}${f}`:""}function u(f,h){t(h,"pathObject");const v=h.dir||h.root,w=h.base||`${h.name||""}${r(h.ext)}`;return v?v===h.root?`${v}${w}`:`${v}${f}${w}`:w}e.win32={resolve(...f){let h="",v="",w=!1;for(let S=f.length-1;S>=-1;S--){let L;if(S>=0){if(L=f[S],i(L,`paths[${S}]`),L.length===0)continue}else h.length===0?L=d.cwd():(L=d.env[`=${h}`]||d.cwd(),(L===void 0||L.slice(0,2).toLowerCase()!==h.toLowerCase()&&L.charCodeAt(2)===b)&&(L=`${h}\\`));const D=L.length;let T=0,M="",A=!1;const P=L.charCodeAt(0);if(D===1)g(P)&&(T=1,A=!0);else if(g(P))if(A=!0,g(L.charCodeAt(1))){let N=2,O=N;for(;N2&&g(L.charCodeAt(2))&&(A=!0,T=3));if(M.length>0)if(h.length>0){if(M.toLowerCase()!==h.toLowerCase())continue}else h=M;if(w){if(h.length>0)break}else if(v=`${L.slice(T)}\\${v}`,w=A,A&&h.length>0)break}return v=a(v,!w,"\\",g),w?`${h}\\${v}`:`${h}${v}`||"."},normalize(f){i(f,"path");const h=f.length;if(h===0)return".";let v=0,w,S=!1;const L=f.charCodeAt(0);if(h===1)return c(L)?"\\":f;if(g(L))if(S=!0,g(f.charCodeAt(1))){let T=2,M=T;for(;T2&&g(f.charCodeAt(2))&&(S=!0,v=3));let D=v0&&g(f.charCodeAt(h-1))&&(D+="\\"),w===void 0?S?`\\${D}`:D:S?`${w}\\${D}`:`${w}${D}`},isAbsolute(f){i(f,"path");const h=f.length;if(h===0)return!1;const v=f.charCodeAt(0);return g(v)||h>2&&l(v)&&f.charCodeAt(1)===p&&g(f.charCodeAt(2))},join(...f){if(f.length===0)return".";let h,v;for(let L=0;L0&&(h===void 0?h=v=D:h+=`\\${D}`)}if(h===void 0)return".";let w=!0,S=0;if(typeof v=="string"&&g(v.charCodeAt(0))){++S;const L=v.length;L>1&&g(v.charCodeAt(1))&&(++S,L>2&&(g(v.charCodeAt(2))?++S:w=!1))}if(w){for(;S=2&&(h=`\\${h.slice(S)}`)}return e.win32.normalize(h)},relative(f,h){if(i(f,"from"),i(h,"to"),f===h)return"";const v=e.win32.resolve(f),w=e.win32.resolve(h);if(v===w||(f=v.toLowerCase(),h=w.toLowerCase(),f===h))return"";let S=0;for(;SS&&f.charCodeAt(L-1)===b;)L--;const D=L-S;let T=0;for(;TT&&h.charCodeAt(M-1)===b;)M--;const A=M-T,P=DP){if(h.charCodeAt(T+O)===b)return w.slice(T+O+1);if(O===2)return w.slice(T+O)}D>P&&(f.charCodeAt(S+O)===b?N=O:O===2&&(N=3)),N===-1&&(N=0)}let F="";for(O=S+N+1;O<=L;++O)(O===L||f.charCodeAt(O)===b)&&(F+=F.length===0?"..":"\\..");return T+=N,F.length>0?`${F}${w.slice(T,M)}`:(w.charCodeAt(T)===b&&++T,w.slice(T,M))},toNamespacedPath(f){if(typeof f!="string"||f.length===0)return f;const h=e.win32.resolve(f);if(h.length<=2)return f;if(h.charCodeAt(0)===b){if(h.charCodeAt(1)===b){const v=h.charCodeAt(2);if(v!==n&&v!==m)return`\\\\?\\UNC\\${h.slice(2)}`}}else if(l(h.charCodeAt(0))&&h.charCodeAt(1)===p&&h.charCodeAt(2)===b)return`\\\\?\\${h}`;return f},dirname(f){i(f,"path");const h=f.length;if(h===0)return".";let v=-1,w=0;const S=f.charCodeAt(0);if(h===1)return g(S)?f:".";if(g(S)){if(v=w=1,g(f.charCodeAt(1))){let T=2,M=T;for(;T2&&g(f.charCodeAt(2))?3:2,w=v);let L=-1,D=!0;for(let T=h-1;T>=w;--T)if(g(f.charCodeAt(T))){if(!D){L=T;break}}else D=!1;if(L===-1){if(v===-1)return".";L=v}return f.slice(0,L)},basename(f,h){h!==void 0&&i(h,"suffix"),i(f,"path");let v=0,w=-1,S=!0,L;if(f.length>=2&&l(f.charCodeAt(0))&&f.charCodeAt(1)===p&&(v=2),h!==void 0&&h.length>0&&h.length<=f.length){if(h===f)return"";let D=h.length-1,T=-1;for(L=f.length-1;L>=v;--L){const M=f.charCodeAt(L);if(g(M)){if(!S){v=L+1;break}}else T===-1&&(S=!1,T=L+1),D>=0&&(M===h.charCodeAt(D)?--D===-1&&(w=L):(D=-1,w=T))}return v===w?w=T:w===-1&&(w=f.length),f.slice(v,w)}for(L=f.length-1;L>=v;--L)if(g(f.charCodeAt(L))){if(!S){v=L+1;break}}else w===-1&&(S=!1,w=L+1);return w===-1?"":f.slice(v,w)},extname(f){i(f,"path");let h=0,v=-1,w=0,S=-1,L=!0,D=0;f.length>=2&&f.charCodeAt(1)===p&&l(f.charCodeAt(0))&&(h=w=2);for(let T=f.length-1;T>=h;--T){const M=f.charCodeAt(T);if(g(M)){if(!L){w=T+1;break}continue}S===-1&&(L=!1,S=T+1),M===m?v===-1?v=T:D!==1&&(D=1):v!==-1&&(D=-1)}return v===-1||S===-1||D===0||D===1&&v===S-1&&v===w+1?"":f.slice(v,S)},format:u.bind(null,"\\"),parse(f){i(f,"path");const h={root:"",dir:"",base:"",ext:"",name:""};if(f.length===0)return h;const v=f.length;let w=0,S=f.charCodeAt(0);if(v===1)return g(S)?(h.root=h.dir=f,h):(h.base=h.name=f,h);if(g(S)){if(w=1,g(f.charCodeAt(1))){let N=2,O=N;for(;N0&&(h.root=f.slice(0,w));let L=-1,D=w,T=-1,M=!0,A=f.length-1,P=0;for(;A>=w;--A){if(S=f.charCodeAt(A),g(S)){if(!M){D=A+1;break}continue}T===-1&&(M=!1,T=A+1),S===m?L===-1?L=A:P!==1&&(P=1):L!==-1&&(P=-1)}return T!==-1&&(L===-1||P===0||P===1&&L===T-1&&L===D+1?h.base=h.name=f.slice(D,T):(h.name=f.slice(D,L),h.base=f.slice(D,T),h.ext=f.slice(L,T))),D>0&&D!==w?h.dir=f.slice(0,D-1):h.dir=h.root,h},sep:"\\",delimiter:";",win32:null,posix:null};const C=(()=>{if(s){const f=/\\/g;return()=>{const h=d.cwd().replace(f,"/");return h.slice(h.indexOf("/"))}}return()=>d.cwd()})();e.posix={resolve(...f){let h="",v=!1;for(let w=f.length-1;w>=-1&&!v;w--){const S=w>=0?f[w]:C();i(S,`paths[${w}]`),S.length!==0&&(h=`${S}/${h}`,v=S.charCodeAt(0)===_)}return h=a(h,!v,"/",c),v?`/${h}`:h.length>0?h:"."},normalize(f){if(i(f,"path"),f.length===0)return".";const h=f.charCodeAt(0)===_,v=f.charCodeAt(f.length-1)===_;return f=a(f,!h,"/",c),f.length===0?h?"/":v?"./":".":(v&&(f+="/"),h?`/${f}`:f)},isAbsolute(f){return i(f,"path"),f.length>0&&f.charCodeAt(0)===_},join(...f){if(f.length===0)return".";let h;for(let v=0;v0&&(h===void 0?h=w:h+=`/${w}`)}return h===void 0?".":e.posix.normalize(h)},relative(f,h){if(i(f,"from"),i(h,"to"),f===h||(f=e.posix.resolve(f),h=e.posix.resolve(h),f===h))return"";const v=1,w=f.length,S=w-v,L=1,D=h.length-L,T=ST){if(h.charCodeAt(L+A)===_)return h.slice(L+A+1);if(A===0)return h.slice(L+A)}else S>T&&(f.charCodeAt(v+A)===_?M=A:A===0&&(M=0));let P="";for(A=v+M+1;A<=w;++A)(A===w||f.charCodeAt(A)===_)&&(P+=P.length===0?"..":"/..");return`${P}${h.slice(L+M)}`},toNamespacedPath(f){return f},dirname(f){if(i(f,"path"),f.length===0)return".";const h=f.charCodeAt(0)===_;let v=-1,w=!0;for(let S=f.length-1;S>=1;--S)if(f.charCodeAt(S)===_){if(!w){v=S;break}}else w=!1;return v===-1?h?"/":".":h&&v===1?"//":f.slice(0,v)},basename(f,h){h!==void 0&&i(h,"ext"),i(f,"path");let v=0,w=-1,S=!0,L;if(h!==void 0&&h.length>0&&h.length<=f.length){if(h===f)return"";let D=h.length-1,T=-1;for(L=f.length-1;L>=0;--L){const M=f.charCodeAt(L);if(M===_){if(!S){v=L+1;break}}else T===-1&&(S=!1,T=L+1),D>=0&&(M===h.charCodeAt(D)?--D===-1&&(w=L):(D=-1,w=T))}return v===w?w=T:w===-1&&(w=f.length),f.slice(v,w)}for(L=f.length-1;L>=0;--L)if(f.charCodeAt(L)===_){if(!S){v=L+1;break}}else w===-1&&(S=!1,w=L+1);return w===-1?"":f.slice(v,w)},extname(f){i(f,"path");let h=-1,v=0,w=-1,S=!0,L=0;for(let D=f.length-1;D>=0;--D){const T=f.charCodeAt(D);if(T===_){if(!S){v=D+1;break}continue}w===-1&&(S=!1,w=D+1),T===m?h===-1?h=D:L!==1&&(L=1):h!==-1&&(L=-1)}return h===-1||w===-1||L===0||L===1&&h===w-1&&h===v+1?"":f.slice(h,w)},format:u.bind(null,"/"),parse(f){i(f,"path");const h={root:"",dir:"",base:"",ext:"",name:""};if(f.length===0)return h;const v=f.charCodeAt(0)===_;let w;v?(h.root="/",w=1):w=0;let S=-1,L=0,D=-1,T=!0,M=f.length-1,A=0;for(;M>=w;--M){const P=f.charCodeAt(M);if(P===_){if(!T){L=M+1;break}continue}D===-1&&(T=!1,D=M+1),P===m?S===-1?S=M:A!==1&&(A=1):S!==-1&&(A=-1)}if(D!==-1){const P=L===0&&v?1:L;S===-1||A===0||A===1&&S===D-1&&S===L+1?h.base=h.name=f.slice(P,D):(h.name=f.slice(P,S),h.base=f.slice(P,D),h.ext=f.slice(S,D))}return L>0?h.dir=f.slice(0,L-1):v&&(h.dir="/"),h},sep:"/",delimiter:":",win32:null,posix:null},e.posix.win32=e.win32.win32=e.win32,e.posix.posix=e.win32.posix=e.posix,e.normalize=s?e.win32.normalize:e.posix.normalize,e.join=s?e.win32.join:e.posix.join,e.resolve=s?e.win32.resolve:e.posix.resolve,e.relative=s?e.win32.relative:e.posix.relative,e.dirname=s?e.win32.dirname:e.posix.dirname,e.basename=s?e.win32.basename:e.posix.basename,e.extname=s?e.win32.extname:e.posix.extname,e.sep=s?e.win32.sep:e.posix.sep}),define(ne[251],se([1,0,99,16,11]),function(oe,e,d,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.isPathSeparator=E,e.toSlashes=y,e.toPosixPath=m,e.getRoot=_,e.isEqualOrParent=b,e.isWindowsDriveLetter=p,e.hasDriveLetter=n;function E(o){return o===47||o===92}function y(o){return o.replace(/[\\/]/g,d.posix.sep)}function m(o){return o.indexOf("/")===-1&&(o=y(o)),/^[a-zA-Z]:(\/|$)/.test(o)&&(o="/"+o),o}function _(o,t=d.posix.sep){if(!o)return"";const i=o.length,s=o.charCodeAt(0);if(E(s)){if(E(o.charCodeAt(1))&&!E(o.charCodeAt(2))){let c=3;const l=c;for(;co.length)return!1;if(i){if(!(0,I.startsWithIgnoreCase)(o,t))return!1;if(t.length===o.length)return!0;let c=t.length;return t.charAt(t.length-1)===s&&c--,o.charAt(c)===s}return t.charAt(t.length-1)!==s&&(t+=s),o.indexOf(t)===0}function p(o){return o>=65&&o<=90||o>=97&&o<=122}function n(o,t=k.isWindows){return t?p(o.charCodeAt(0))&&o.charCodeAt(1)===58:!1}}),define(ne[628],se([1,0,82,99,16,11]),function(oe,e,d,k,I,E){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.scoreFuzzy2=m,e.prepareQuery=s,e.pieceToQuery=c;const y=[void 0,[]];function m(l,a,r=0,u=0){const C=a;return C.values&&C.values.length>1?_(l,C.values,r,u):b(l,a,r,u)}function _(l,a,r,u){let C=0;const f=[];for(const h of a){const[v,w]=b(l,h,r,u);if(typeof v!="number")return y;C+=v,f.push(...w)}return[C,n(f)]}function b(l,a,r,u){const C=(0,d.fuzzyScore)(a.original,a.originalLowercase,r,l,l.toLowerCase(),u,{firstMatchCanBeWeak:!0,boostFullMatch:!0});return C?[C[0],(0,d.createMatches)(C)]:y}const p=Object.freeze({score:0});function n(l){const a=l.sort((C,f)=>C.start-f.start),r=[];let u;for(const C of a)!u||!o(u,C)?(u=C,r.push(C)):(u.start=Math.min(u.start,C.start),u.end=Math.max(u.end,C.end));return r}function o(l,a){return!(l.end=0,h=t(l);let v;const w=l.split(i);if(w.length>1)for(const S of w){const L=t(S),{pathNormalized:D,normalized:T,normalizedLowercase:M}=g(S);T&&(v||(v=[]),v.push({original:S,originalLowercase:S.toLowerCase(),pathNormalized:D,normalized:T,normalizedLowercase:M,expectContiguousMatch:L}))}return{original:l,originalLowercase:a,pathNormalized:r,normalized:u,normalizedLowercase:C,values:v,containsPathSeparator:f,expectContiguousMatch:h}}function g(l){let a;I.isWindows?a=l.replace(/\//g,k.sep):a=l.replace(/\\/g,k.sep);const r=(0,E.stripWildcards)(a).replace(/\s|"/g,"");return{pathNormalized:a,normalized:r,normalizedLowercase:r.toLowerCase()}}function c(l){return Array.isArray(l)?s(l.map(a=>a.original).join(i)):s(l.original)}}),define(ne[350],se([1,0,14,251,45,99,16,11]),function(oe,e,d,k,I,E,y,m){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.GLOB_SPLIT=e.GLOBSTAR=void 0,e.splitGlobAware=o,e.match=M,e.parse=A,e.isRelativePattern=P,e.GLOBSTAR="**",e.GLOB_SPLIT="/";const _="[/\\\\]",b="[^/\\\\]",p=/\//g;function n(x,W){switch(x){case 0:return"";case 1:return`${b}*?`;default:return`(?:${_}|${b}+${_}${W?`|${_}${b}+`:""})*?`}}function o(x,W){if(!x)return[];const V=[];let q=!1,H=!1,z="";for(const U of x){switch(U){case W:if(!q&&!H){V.push(z),z="";continue}break;case"{":q=!0;break;case"}":q=!1;break;case"[":H=!0;break;case"]":H=!1;break}z+=U}return z&&V.push(z),V}function t(x){if(!x)return"";let W="";const V=o(x,e.GLOB_SPLIT);if(V.every(q=>q===e.GLOBSTAR))W=".*";else{let q=!1;V.forEach((H,z)=>{if(H===e.GLOBSTAR){if(q)return;W+=n(2,z===V.length-1)}else{let U=!1,j="",Q=!1,G="";for(const K of H){if(K!=="}"&&U){j+=K;continue}if(Q&&(K!=="]"||!G)){let R;K==="-"?R=K:(K==="^"||K==="!")&&!G?R="^":K===e.GLOB_SPLIT?R="":R=(0,m.escapeRegExpCharacters)(K),G+=R;continue}switch(K){case"{":U=!0;continue;case"[":Q=!0;continue;case"}":{const J=`(?:${o(j,",").map(ie=>t(ie)).join("|")})`;W+=J,U=!1,j="";break}case"]":{W+="["+G+"]",Q=!1,G="";break}case"?":W+=b;continue;case"*":W+=n(1);continue;default:W+=(0,m.escapeRegExpCharacters)(K)}}zf(j,W)).filter(j=>j!==C),x),q=V.length;if(!q)return C;if(q===1)return V[0];const H=function(j,Q){for(let G=0,K=V.length;G!!j.allBasenames);z&&(H.allBasenames=z.allBasenames);const U=V.reduce((j,Q)=>Q.allPaths?j.concat(Q.allPaths):j,[]);return U.length&&(H.allPaths=U),H}function D(x,W,V){const q=E.sep===E.posix.sep,H=q?x:x.replace(p,E.sep),z=E.sep+H,U=E.posix.sep+x;let j;return V?j=function(Q,G){return typeof Q=="string"&&(Q===H||Q.endsWith(z)||!q&&(Q===x||Q.endsWith(U)))?W:null}:j=function(Q,G){return typeof Q=="string"&&(Q===H||!q&&Q===x)?W:null},j.allPaths=[(V?"*/":"./")+x],j}function T(x){try{const W=new RegExp(`^${t(x)}$`);return function(V){return W.lastIndex=0,typeof V=="string"&&W.test(V)?x:null}}catch{return C}}function M(x,W,V){return!x||typeof W!="string"?!1:A(x)(W,void 0,V)}function A(x,W={}){if(!x)return u;if(typeof x=="string"||P(x)){const V=f(x,W);if(V===C)return u;const q=function(H,z){return!!V(H,z)};return V.allBasenames&&(q.allBasenames=V.allBasenames),V.allPaths&&(q.allPaths=V.allPaths),q}return N(x,W)}function P(x){const W=x;return W?typeof W.base=="string"&&typeof W.pattern=="string":!1}function N(x,W){const V=F(Object.getOwnPropertyNames(x).map(j=>O(j,x[j],W)).filter(j=>j!==C)),q=V.length;if(!q)return C;if(!V.some(j=>!!j.requiresSiblings)){if(q===1)return V[0];const j=function(K,R){let J;for(let ie=0,ue=V.length;ie{for(const ie of J){const ue=await ie;if(typeof ue=="string")return ue}return null})():null},Q=V.find(K=>!!K.allBasenames);Q&&(j.allBasenames=Q.allBasenames);const G=V.reduce((K,R)=>R.allPaths?K.concat(R.allPaths):K,[]);return G.length&&(j.allPaths=G),j}const H=function(j,Q,G){let K,R;for(let J=0,ie=V.length;J{for(const J of R){const ie=await J;if(typeof ie=="string")return ie}return null})():null},z=V.find(j=>!!j.allBasenames);z&&(H.allBasenames=z.allBasenames);const U=V.reduce((j,Q)=>Q.allPaths?j.concat(Q.allPaths):j,[]);return U.length&&(H.allPaths=U),H}function O(x,W,V){if(W===!1)return C;const q=f(x,V);if(q===C)return C;if(typeof W=="boolean")return q;if(W){const H=W.when;if(typeof H=="string"){const z=(U,j,Q,G)=>{if(!G||!q(U,j))return null;const K=H.replace("$(basename)",()=>Q),R=G(K);return(0,d.isThenable)(R)?R.then(J=>J?x:null):R?x:null};return z.requiresSiblings=!0,z}}return q}function F(x,W){const V=x.filter(j=>!!j.basenames);if(V.length<2)return x;const q=V.reduce((j,Q)=>{const G=Q.basenames;return G?j.concat(G):j},[]);let H;if(W){H=[];for(let j=0,Q=q.length;j{const G=Q.patterns;return G?j.concat(G):j},[]);const z=function(j,Q){if(typeof j!="string")return null;if(!Q){let K;for(K=j.length;K>0;K--){const R=j.charCodeAt(K-1);if(R===47||R===92)break}Q=j.substr(K)}const G=q.indexOf(Q);return G!==-1?H[G]:null};z.basenames=q,z.patterns=H,z.allBasenames=q;const U=x.filter(j=>!j.basenames);return U.push(z),U}}),define(ne[629],se([1,0,251,16]),function(oe,e,d,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.normalizeDriveLetter=I;function I(y,m=k.isWindows){return(0,d.hasDriveLetter)(y,m)?y.charAt(0).toUpperCase()+y.slice(1):y}let E=Object.create(null)}),define(ne[22],se([1,0,99,16]),function(oe,e,d,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.URI=void 0,e.uriToFsPath=a;const I=/^\w[\w\d+.-]*$/,E=/^\//,y=/^\/\//;function m(h,v){if(!h.scheme&&v)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${h.authority}", path: "${h.path}", query: "${h.query}", fragment: "${h.fragment}"}`);if(h.scheme&&!I.test(h.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(h.path){if(h.authority){if(!E.test(h.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(y.test(h.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}function _(h,v){return!h&&!v?"file":h}function b(h,v){switch(h){case"https":case"http":case"file":v?v[0]!==n&&(v=n+v):v=n;break}return v}const p="",n="/",o=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class t{static isUri(v){return v instanceof t?!0:v?typeof v.authority=="string"&&typeof v.fragment=="string"&&typeof v.path=="string"&&typeof v.query=="string"&&typeof v.scheme=="string"&&typeof v.fsPath=="string"&&typeof v.with=="function"&&typeof v.toString=="function":!1}constructor(v,w,S,L,D,T=!1){typeof v=="object"?(this.scheme=v.scheme||p,this.authority=v.authority||p,this.path=v.path||p,this.query=v.query||p,this.fragment=v.fragment||p):(this.scheme=_(v,T),this.authority=w||p,this.path=b(this.scheme,S||p),this.query=L||p,this.fragment=D||p,m(this,T))}get fsPath(){return a(this,!1)}with(v){if(!v)return this;let{scheme:w,authority:S,path:L,query:D,fragment:T}=v;return w===void 0?w=this.scheme:w===null&&(w=p),S===void 0?S=this.authority:S===null&&(S=p),L===void 0?L=this.path:L===null&&(L=p),D===void 0?D=this.query:D===null&&(D=p),T===void 0?T=this.fragment:T===null&&(T=p),w===this.scheme&&S===this.authority&&L===this.path&&D===this.query&&T===this.fragment?this:new s(w,S,L,D,T)}static parse(v,w=!1){const S=o.exec(v);return S?new s(S[2]||p,f(S[4]||p),f(S[5]||p),f(S[7]||p),f(S[9]||p),w):new s(p,p,p,p,p)}static file(v){let w=p;if(k.isWindows&&(v=v.replace(/\\/g,n)),v[0]===n&&v[1]===n){const S=v.indexOf(n,2);S===-1?(w=v.substring(2),v=n):(w=v.substring(2,S),v=v.substring(S)||n)}return new s("file",w,v,p,p)}static from(v,w){return new s(v.scheme,v.authority,v.path,v.query,v.fragment,w)}static joinPath(v,...w){if(!v.path)throw new Error("[UriError]: cannot call joinPath on URI without path");let S;return k.isWindows&&v.scheme==="file"?S=t.file(d.win32.join(a(v,!0),...w)).path:S=d.posix.join(v.path,...w),v.with({path:S})}toString(v=!1){return r(this,v)}toJSON(){return this}static revive(v){if(v){if(v instanceof t)return v;{const w=new s(v);return w._formatted=v.external??null,w._fsPath=v._sep===i?v.fsPath??null:null,w}}else return v}}e.URI=t;const i=k.isWindows?1:void 0;class s extends t{constructor(){super(...arguments),this._formatted=null,this._fsPath=null}get fsPath(){return this._fsPath||(this._fsPath=a(this,!1)),this._fsPath}toString(v=!1){return v?r(this,!0):(this._formatted||(this._formatted=r(this,!1)),this._formatted)}toJSON(){const v={$mid:1};return this._fsPath&&(v.fsPath=this._fsPath,v._sep=i),this._formatted&&(v.external=this._formatted),this.path&&(v.path=this.path),this.scheme&&(v.scheme=this.scheme),this.authority&&(v.authority=this.authority),this.query&&(v.query=this.query),this.fragment&&(v.fragment=this.fragment),v}}const g={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function c(h,v,w){let S,L=-1;for(let D=0;D=97&&T<=122||T>=65&&T<=90||T>=48&&T<=57||T===45||T===46||T===95||T===126||v&&T===47||w&&T===91||w&&T===93||w&&T===58)L!==-1&&(S+=encodeURIComponent(h.substring(L,D)),L=-1),S!==void 0&&(S+=h.charAt(D));else{S===void 0&&(S=h.substr(0,D));const M=g[T];M!==void 0?(L!==-1&&(S+=encodeURIComponent(h.substring(L,D)),L=-1),S+=M):L===-1&&(L=D)}}return L!==-1&&(S+=encodeURIComponent(h.substring(L))),S!==void 0?S:h}function l(h){let v;for(let w=0;w1&&h.scheme==="file"?w=`//${h.authority}${h.path}`:h.path.charCodeAt(0)===47&&(h.path.charCodeAt(1)>=65&&h.path.charCodeAt(1)<=90||h.path.charCodeAt(1)>=97&&h.path.charCodeAt(1)<=122)&&h.path.charCodeAt(2)===58?v?w=h.path.substr(1):w=h.path[1].toLowerCase()+h.path.substr(2):w=h.path,k.isWindows&&(w=w.replace(/\//g,"\\")),w}function r(h,v){const w=v?l:c;let S="",{scheme:L,authority:D,path:T,query:M,fragment:A}=h;if(L&&(S+=L,S+=":"),(D||L==="file")&&(S+=n,S+=n),D){let P=D.indexOf("@");if(P!==-1){const N=D.substr(0,P);D=D.substr(P+1),P=N.lastIndexOf(":"),P===-1?S+=w(N,!1,!1):(S+=w(N.substr(0,P),!1,!1),S+=":",S+=w(N.substr(P+1),!1,!0)),S+="@"}D=D.toLowerCase(),P=D.lastIndexOf(":"),P===-1?S+=w(D,!1,!0):(S+=w(D.substr(0,P),!1,!0),S+=D.substr(P))}if(T){if(T.length>=3&&T.charCodeAt(0)===47&&T.charCodeAt(2)===58){const P=T.charCodeAt(1);P>=65&&P<=90&&(T=`/${String.fromCharCode(P+32)}:${T.substr(3)}`)}else if(T.length>=2&&T.charCodeAt(1)===58){const P=T.charCodeAt(0);P>=65&&P<=90&&(T=`${String.fromCharCode(P+32)}:${T.substr(2)}`)}S+=w(T,!0,!1)}return M&&(S+="?",S+=w(M,!1,!1)),A&&(S+="#",S+=v?A:c(A,!1,!1)),S}function u(h){try{return decodeURIComponent(h)}catch{return h.length>3?h.substr(0,3)+u(h.substr(3)):h}}const C=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function f(h){return h.match(C)?h.replace(C,v=>u(v)):h}}),define(ne[252],se([1,0,160,22]),function(oe,e,d,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.stringify=I,e.parse=E,e.revive=m;function I(_){return JSON.stringify(_,y)}function E(_){let b=JSON.parse(_);return b=m(b),b}function y(_,b){return b instanceof RegExp?{$mid:2,source:b.source,flags:b.flags}:b}function m(_,b=0){if(!_||b>200)return _;if(typeof _=="object"){switch(_.$mid){case 1:return k.URI.revive(_);case 2:return new RegExp(_.source,_.flags);case 17:return new Date(_.source)}if(_ instanceof d.VSBuffer||_ instanceof Uint8Array)return _;if(Array.isArray(_))for(let p=0;p<_.length;++p)_[p]=m(_[p],b+1);else for(const p in _)Object.hasOwnProperty.call(_,p)&&(_[p]=m(_[p],b+1))}return _}}),define(ne[42],se([1,0,8,16,11,22,99]),function(oe,e,d,k,I,E,y){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.COI=e.FileAccess=e.VSCODE_AUTHORITY=e.RemoteAuthorities=e.connectionTokenQueryName=e.Schemas=void 0,e.matchesScheme=_,e.matchesSomeScheme=b;var m;(function(t){t.inMemory="inmemory",t.vscode="vscode",t.internal="private",t.walkThrough="walkThrough",t.walkThroughSnippet="walkThroughSnippet",t.http="http",t.https="https",t.file="file",t.mailto="mailto",t.untitled="untitled",t.data="data",t.command="command",t.vscodeRemote="vscode-remote",t.vscodeRemoteResource="vscode-remote-resource",t.vscodeManagedRemoteResource="vscode-managed-remote-resource",t.vscodeUserData="vscode-userdata",t.vscodeCustomEditor="vscode-custom-editor",t.vscodeNotebookCell="vscode-notebook-cell",t.vscodeNotebookCellMetadata="vscode-notebook-cell-metadata",t.vscodeNotebookCellMetadataDiff="vscode-notebook-cell-metadata-diff",t.vscodeNotebookCellOutput="vscode-notebook-cell-output",t.vscodeNotebookCellOutputDiff="vscode-notebook-cell-output-diff",t.vscodeNotebookMetadata="vscode-notebook-metadata",t.vscodeInteractiveInput="vscode-interactive-input",t.vscodeSettings="vscode-settings",t.vscodeWorkspaceTrust="vscode-workspace-trust",t.vscodeTerminal="vscode-terminal",t.vscodeChatCodeBlock="vscode-chat-code-block",t.vscodeChatCodeCompareBlock="vscode-chat-code-compare-block",t.vscodeChatSesssion="vscode-chat-editor",t.webviewPanel="webview-panel",t.vscodeWebview="vscode-webview",t.extension="extension",t.vscodeFileResource="vscode-file",t.tmp="tmp",t.vsls="vsls",t.vscodeSourceControl="vscode-scm",t.commentsInput="comment",t.codeSetting="code-setting",t.outputChannel="output"})(m||(e.Schemas=m={}));function _(t,i){return E.URI.isUri(t)?(0,I.equalsIgnoreCase)(t.scheme,i):(0,I.startsWithIgnoreCase)(t,i+":")}function b(t,...i){return i.some(s=>_(t,s))}e.connectionTokenQueryName="tkn";class p{constructor(){this._hosts=Object.create(null),this._ports=Object.create(null),this._connectionTokens=Object.create(null),this._preferredWebSchema="http",this._delegate=null,this._serverRootPath="/"}setPreferredWebSchema(i){this._preferredWebSchema=i}get _remoteResourcesPath(){return y.posix.join(this._serverRootPath,m.vscodeRemoteResource)}rewrite(i){if(this._delegate)try{return this._delegate(i)}catch(r){return d.onUnexpectedError(r),i}const s=i.authority;let g=this._hosts[s];g&&g.indexOf(":")!==-1&&g.indexOf("[")===-1&&(g=`[${g}]`);const c=this._ports[s],l=this._connectionTokens[s];let a=`path=${encodeURIComponent(i.path)}`;return typeof l=="string"&&(a+=`&${e.connectionTokenQueryName}=${encodeURIComponent(l)}`),E.URI.from({scheme:k.isWeb?this._preferredWebSchema:m.vscodeRemoteResource,authority:`${g}:${c}`,path:this._remoteResourcesPath,query:a})}}e.RemoteAuthorities=new p,e.VSCODE_AUTHORITY="vscode-app";class n{static{this.FALLBACK_AUTHORITY=e.VSCODE_AUTHORITY}asBrowserUri(i){const s=this.toUri(i,oe);return this.uriToBrowserUri(s)}uriToBrowserUri(i){return i.scheme===m.vscodeRemote?e.RemoteAuthorities.rewrite(i):i.scheme===m.file&&(k.isNative||k.webWorkerOrigin===`${m.vscodeFileResource}://${n.FALLBACK_AUTHORITY}`)?i.with({scheme:m.vscodeFileResource,authority:i.authority||n.FALLBACK_AUTHORITY,query:null,fragment:null}):i}toUri(i,s){if(E.URI.isUri(i))return i;if(globalThis._VSCODE_FILE_ROOT){const g=globalThis._VSCODE_FILE_ROOT;if(/^\w[\w\d+.-]*:\/\//.test(g))return E.URI.joinPath(E.URI.parse(g,!0),i);const c=y.join(g,i);return E.URI.file(c)}return E.URI.parse(s.toUrl(i))}}e.FileAccess=new n;var o;(function(t){const i=new Map([["1",{"Cross-Origin-Opener-Policy":"same-origin"}],["2",{"Cross-Origin-Embedder-Policy":"require-corp"}],["3",{"Cross-Origin-Opener-Policy":"same-origin","Cross-Origin-Embedder-Policy":"require-corp"}]]);t.CoopAndCoep=Object.freeze(i.get("3"));const s="vscode-coi";function g(l){let a;typeof l=="string"?a=new URL(l).searchParams:l instanceof URL?a=l.searchParams:E.URI.isUri(l)&&(a=new URL(l.toString(!0)).searchParams);const r=a?.get(s);if(r)return i.get(r)}t.getHeadersFromQuery=g;function c(l,a,r){if(!globalThis.crossOriginIsolated)return;const u=a&&r?"3":r?"2":"1";l instanceof URLSearchParams?l.set(s,u):l[s]=u}t.addSearchParam=c})(o||(e.COI=o={}))}),define(ne[5],se([1,0,64,248,47,77,14,8,6,351,2,42,16,129,52]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i){"use strict";var s;Object.defineProperty(e,"__esModule",{value:!0}),e.DragAndDropObserver=e.ModifierKeyEmitter=e.basicMarkupHtmlTags=e.Namespace=e.EventHelper=e.EventType=e.sharedMutationObserver=e.Dimension=e.WindowIntervalTimer=e.scheduleAtNextAnimationFrame=e.runAtThisOrScheduleAtNextAnimationFrame=e.WindowIdleValue=e.addStandardDisposableGenericMouseUpListener=e.addStandardDisposableGenericMouseDownListener=e.addStandardDisposableListener=e.onDidUnregisterWindow=e.onWillUnregisterWindow=e.onDidRegisterWindow=e.hasWindow=e.getWindowById=e.getWindowId=e.getWindowsCount=e.getWindows=e.getDocument=e.getWindow=e.registerWindow=void 0,e.clearNode=g,e.addDisposableListener=l,e.addDisposableGenericMouseDownListener=h,e.addDisposableGenericMouseUpListener=v,e.runWhenWindowIdle=w,e.getComputedStyle=T,e.getClientArea=M,e.getTopLeftOffset=N,e.size=O,e.getDomNodePagePosition=F,e.getDomNodeZoomLevel=x,e.getTotalWidth=W,e.getContentWidth=V,e.getContentHeight=q,e.getTotalHeight=H,e.isAncestor=z,e.findParentWithClass=U,e.hasParentWithClass=j,e.isShadowRoot=Q,e.isInShadowDOM=G,e.getShadowRoot=K,e.getActiveElement=R,e.isActiveElement=J,e.isAncestorOfActiveElement=ie,e.getActiveDocument=ue,e.getActiveWindow=he,e.createStyleSheet2=ae,e.createStyleSheet=de,e.createCSSRule=Y,e.removeCSSRulesContainingSelector=Z,e.isHTMLElement=re,e.isHTMLAnchorElement=le,e.isSVGElement=me,e.isMouseEvent=ve,e.isKeyboardEvent=Le,e.isEventLike=Ee,e.saveParentsScrollTop=Ie,e.restoreParentsScrollTop=Ae,e.trackFocus=Ne,e.after=ze,e.append=Ve,e.prepend=$e,e.reset=it,e.$=we,e.setVisibility=Fe,e.show=Ce,e.hide=Se,e.computeScreenAwareSize=ye,e.windowOpenNoOpener=De,e.animate=Re,e.asCSSUrl=We,e.asCSSPropertyValue=He,e.asCssValueWithDefault=je,e.hookDomPurifyHrefAndSrcSanitizer=qe,e.h=ot,e.svgElem=pt,s=function(){const be=new Map;(0,i.ensureCodeWindow)(i.mainWindow,1);const _e={window:i.mainWindow,disposables:new p.DisposableStore};be.set(i.mainWindow.vscodeWindowId,_e);const Te=new _.Emitter,xe=new _.Emitter,Ke=new _.Emitter;function Ye(Ue,tt){return(typeof Ue=="number"?be.get(Ue):void 0)??(tt?_e:void 0)}return{onDidRegisterWindow:Te.event,onWillUnregisterWindow:Ke.event,onDidUnregisterWindow:xe.event,registerWindow(Ue){if(be.has(Ue.vscodeWindowId))return p.Disposable.None;const tt=new p.DisposableStore,st={window:Ue,disposables:tt.add(new p.DisposableStore)};return be.set(Ue.vscodeWindowId,st),tt.add((0,p.toDisposable)(()=>{be.delete(Ue.vscodeWindowId),xe.fire(Ue)})),tt.add(l(Ue,e.EventType.BEFORE_UNLOAD,()=>{Ke.fire(Ue)})),Te.fire(st),tt},getWindows(){return be.values()},getWindowsCount(){return be.size},getWindowId(Ue){return Ue.vscodeWindowId},hasWindow(Ue){return be.has(Ue)},getWindowById:Ye,getWindow(Ue){const tt=Ue;if(tt?.ownerDocument?.defaultView)return tt.ownerDocument.defaultView.window;const st=Ue;return st?.view?st.view.window:i.mainWindow},getDocument(Ue){const tt=Ue;return(0,e.getWindow)(tt).document}}}(),e.registerWindow=s.registerWindow,e.getWindow=s.getWindow,e.getDocument=s.getDocument,e.getWindows=s.getWindows,e.getWindowsCount=s.getWindowsCount,e.getWindowId=s.getWindowId,e.getWindowById=s.getWindowById,e.hasWindow=s.hasWindow,e.onDidRegisterWindow=s.onDidRegisterWindow,e.onWillUnregisterWindow=s.onWillUnregisterWindow,e.onDidUnregisterWindow=s.onDidUnregisterWindow;function g(be){for(;be.firstChild;)be.firstChild.remove()}class c{constructor(_e,Te,xe,Ke){this._node=_e,this._type=Te,this._handler=xe,this._options=Ke||!1,this._node.addEventListener(this._type,this._handler,this._options)}dispose(){this._handler&&(this._node.removeEventListener(this._type,this._handler,this._options),this._node=null,this._handler=null)}}function l(be,_e,Te,xe){return new c(be,_e,Te,xe)}function a(be,_e){return function(Te){return _e(new E.StandardMouseEvent(be,Te))}}function r(be){return function(_e){return be(new I.StandardKeyboardEvent(_e))}}const u=function(_e,Te,xe,Ke){let Ye=xe;return Te==="click"||Te==="mousedown"||Te==="contextmenu"?Ye=a((0,e.getWindow)(_e),xe):(Te==="keydown"||Te==="keypress"||Te==="keyup")&&(Ye=r(xe)),l(_e,Te,Ye,Ke)};e.addStandardDisposableListener=u;const C=function(_e,Te,xe){const Ke=a((0,e.getWindow)(_e),Te);return h(_e,Ke,xe)};e.addStandardDisposableGenericMouseDownListener=C;const f=function(_e,Te,xe){const Ke=a((0,e.getWindow)(_e),Te);return v(_e,Ke,xe)};e.addStandardDisposableGenericMouseUpListener=f;function h(be,_e,Te){return l(be,o.isIOS&&k.BrowserFeatures.pointerEvents?e.EventType.POINTER_DOWN:e.EventType.MOUSE_DOWN,_e,Te)}function v(be,_e,Te){return l(be,o.isIOS&&k.BrowserFeatures.pointerEvents?e.EventType.POINTER_UP:e.EventType.MOUSE_UP,_e,Te)}function w(be,_e,Te){return(0,y._runWhenIdle)(be,_e,Te)}class S extends y.AbstractIdleValue{constructor(_e,Te){super(_e,Te)}}e.WindowIdleValue=S;class L extends y.IntervalTimer{constructor(_e){super(),this.defaultTarget=_e&&(0,e.getWindow)(_e)}cancelAndSet(_e,Te,xe){return super.cancelAndSet(_e,Te,xe??this.defaultTarget)}}e.WindowIntervalTimer=L;class D{constructor(_e,Te=0){this._runner=_e,this.priority=Te,this._canceled=!1}dispose(){this._canceled=!0}execute(){if(!this._canceled)try{this._runner()}catch(_e){(0,m.onUnexpectedError)(_e)}}static sort(_e,Te){return Te.priority-_e.priority}}(function(){const be=new Map,_e=new Map,Te=new Map,xe=new Map,Ke=Ye=>{Te.set(Ye,!1);const Ue=be.get(Ye)??[];for(_e.set(Ye,Ue),be.set(Ye,[]),xe.set(Ye,!0);Ue.length>0;)Ue.sort(D.sort),Ue.shift().execute();xe.set(Ye,!1)};e.scheduleAtNextAnimationFrame=(Ye,Ue,tt=0)=>{const st=(0,e.getWindowId)(Ye),Je=new D(Ue,tt);let ut=be.get(st);return ut||(ut=[],be.set(st,ut)),ut.push(Je),Te.get(st)||(Te.set(st,!0),Ye.requestAnimationFrame(()=>Ke(st))),Je},e.runAtThisOrScheduleAtNextAnimationFrame=(Ye,Ue,tt)=>{const st=(0,e.getWindowId)(Ye);if(xe.get(st)){const Je=new D(Ue,tt);let ut=_e.get(st);return ut||(ut=[],_e.set(st,ut)),ut.push(Je),Je}else return(0,e.scheduleAtNextAnimationFrame)(Ye,Ue,tt)}})();function T(be){return(0,e.getWindow)(be).getComputedStyle(be,null)}function M(be,_e){const Te=(0,e.getWindow)(be),xe=Te.document;if(be!==xe.body)return new P(be.clientWidth,be.clientHeight);if(o.isIOS&&Te?.visualViewport)return new P(Te.visualViewport.width,Te.visualViewport.height);if(Te?.innerWidth&&Te.innerHeight)return new P(Te.innerWidth,Te.innerHeight);if(xe.body&&xe.body.clientWidth&&xe.body.clientHeight)return new P(xe.body.clientWidth,xe.body.clientHeight);if(xe.documentElement&&xe.documentElement.clientWidth&&xe.documentElement.clientHeight)return new P(xe.documentElement.clientWidth,xe.documentElement.clientHeight);if(_e)return M(_e);throw new Error("Unable to figure out browser width and height")}class A{static convertToPixels(_e,Te){return parseFloat(Te)||0}static getDimension(_e,Te,xe){const Ke=T(_e),Ye=Ke?Ke.getPropertyValue(Te):"0";return A.convertToPixels(_e,Ye)}static getBorderLeftWidth(_e){return A.getDimension(_e,"border-left-width","borderLeftWidth")}static getBorderRightWidth(_e){return A.getDimension(_e,"border-right-width","borderRightWidth")}static getBorderTopWidth(_e){return A.getDimension(_e,"border-top-width","borderTopWidth")}static getBorderBottomWidth(_e){return A.getDimension(_e,"border-bottom-width","borderBottomWidth")}static getPaddingLeft(_e){return A.getDimension(_e,"padding-left","paddingLeft")}static getPaddingRight(_e){return A.getDimension(_e,"padding-right","paddingRight")}static getPaddingTop(_e){return A.getDimension(_e,"padding-top","paddingTop")}static getPaddingBottom(_e){return A.getDimension(_e,"padding-bottom","paddingBottom")}static getMarginLeft(_e){return A.getDimension(_e,"margin-left","marginLeft")}static getMarginTop(_e){return A.getDimension(_e,"margin-top","marginTop")}static getMarginRight(_e){return A.getDimension(_e,"margin-right","marginRight")}static getMarginBottom(_e){return A.getDimension(_e,"margin-bottom","marginBottom")}}class P{static{this.None=new P(0,0)}constructor(_e,Te){this.width=_e,this.height=Te}with(_e=this.width,Te=this.height){return _e!==this.width||Te!==this.height?new P(_e,Te):this}static is(_e){return typeof _e=="object"&&typeof _e.height=="number"&&typeof _e.width=="number"}static lift(_e){return _e instanceof P?_e:new P(_e.width,_e.height)}static equals(_e,Te){return _e===Te?!0:!_e||!Te?!1:_e.width===Te.width&&_e.height===Te.height}}e.Dimension=P;function N(be){let _e=be.offsetParent,Te=be.offsetTop,xe=be.offsetLeft;for(;(be=be.parentNode)!==null&&be!==be.ownerDocument.body&&be!==be.ownerDocument.documentElement;){Te-=be.scrollTop;const Ke=Q(be)?null:T(be);Ke&&(xe-=Ke.direction!=="rtl"?be.scrollLeft:-be.scrollLeft),be===_e&&(xe+=A.getBorderLeftWidth(be),Te+=A.getBorderTopWidth(be),Te+=be.offsetTop,xe+=be.offsetLeft,_e=be.offsetParent)}return{left:xe,top:Te}}function O(be,_e,Te){typeof _e=="number"&&(be.style.width=`${_e}px`),typeof Te=="number"&&(be.style.height=`${Te}px`)}function F(be){const _e=be.getBoundingClientRect(),Te=(0,e.getWindow)(be);return{left:_e.left+Te.scrollX,top:_e.top+Te.scrollY,width:_e.width,height:_e.height}}function x(be){let _e=be,Te=1;do{const xe=T(_e).zoom;xe!=null&&xe!=="1"&&(Te*=xe),_e=_e.parentElement}while(_e!==null&&_e!==_e.ownerDocument.documentElement);return Te}function W(be){const _e=A.getMarginLeft(be)+A.getMarginRight(be);return be.offsetWidth+_e}function V(be){const _e=A.getBorderLeftWidth(be)+A.getBorderRightWidth(be),Te=A.getPaddingLeft(be)+A.getPaddingRight(be);return be.offsetWidth-_e-Te}function q(be){const _e=A.getBorderTopWidth(be)+A.getBorderBottomWidth(be),Te=A.getPaddingTop(be)+A.getPaddingBottom(be);return be.offsetHeight-_e-Te}function H(be){const _e=A.getMarginTop(be)+A.getMarginBottom(be);return be.offsetHeight+_e}function z(be,_e){return!!_e?.contains(be)}function U(be,_e,Te){for(;be&&be.nodeType===be.ELEMENT_NODE;){if(be.classList.contains(_e))return be;if(Te){if(typeof Te=="string"){if(be.classList.contains(Te))return null}else if(be===Te)return null}be=be.parentNode}return null}function j(be,_e,Te){return!!U(be,_e,Te)}function Q(be){return be&&!!be.host&&!!be.mode}function G(be){return!!K(be)}function K(be){for(;be.parentNode;){if(be===be.ownerDocument?.body)return null;be=be.parentNode}return Q(be)?be:null}function R(){let be=ue().activeElement;for(;be?.shadowRoot;)be=be.shadowRoot.activeElement;return be}function J(be){return R()===be}function ie(be){return z(R(),be)}function ue(){return(0,e.getWindowsCount)()<=1?i.mainWindow.document:Array.from((0,e.getWindows)()).map(({window:_e})=>_e.document).find(_e=>_e.hasFocus())??i.mainWindow.document}function he(){return ue().defaultView?.window??i.mainWindow}const pe=new Map;function ae(){return new ee}class ee{constructor(){this._currentCssStyle="",this._styleSheet=void 0}setStyle(_e){_e!==this._currentCssStyle&&(this._currentCssStyle=_e,this._styleSheet?this._styleSheet.innerText=_e:this._styleSheet=de(i.mainWindow.document.head,Te=>Te.innerText=_e))}dispose(){this._styleSheet&&(this._styleSheet.remove(),this._styleSheet=void 0)}}function de(be=i.mainWindow.document.head,_e,Te){const xe=document.createElement("style");if(xe.type="text/css",xe.media="screen",_e?.(xe),be.appendChild(xe),Te&&Te.add((0,p.toDisposable)(()=>xe.remove())),be===i.mainWindow.document.head){const Ke=new Set;pe.set(xe,Ke);for(const{window:Ye,disposables:Ue}of(0,e.getWindows)()){if(Ye===i.mainWindow)continue;const tt=Ue.add(ge(xe,Ke,Ye));Te?.add(tt)}}return xe}function ge(be,_e,Te){const xe=new p.DisposableStore,Ke=be.cloneNode(!0);Te.document.head.appendChild(Ke),xe.add((0,p.toDisposable)(()=>Ke.remove()));for(const Ye of $(be))Ke.sheet?.insertRule(Ye.cssText,Ke.sheet?.cssRules.length);return xe.add(e.sharedMutationObserver.observe(be,xe,{childList:!0})(()=>{Ke.textContent=be.textContent})),_e.add(Ke),xe.add((0,p.toDisposable)(()=>_e.delete(Ke))),xe}e.sharedMutationObserver=new class{constructor(){this.mutationObservers=new Map}observe(be,_e,Te){let xe=this.mutationObservers.get(be);xe||(xe=new Map,this.mutationObservers.set(be,xe));const Ke=(0,t.hash)(Te);let Ye=xe.get(Ke);if(Ye)Ye.users+=1;else{const Ue=new _.Emitter,tt=new MutationObserver(Je=>Ue.fire(Je));tt.observe(be,Te);const st=Ye={users:1,observer:tt,onDidMutate:Ue.event};_e.add((0,p.toDisposable)(()=>{st.users-=1,st.users===0&&(Ue.dispose(),tt.disconnect(),xe?.delete(Ke),xe?.size===0&&this.mutationObservers.delete(be))})),xe.set(Ke,Ye)}return Ye.onDidMutate}};let X=null;function B(){return X||(X=de()),X}function $(be){return be?.sheet?.rules?be.sheet.rules:be?.sheet?.cssRules?be.sheet.cssRules:[]}function Y(be,_e,Te=B()){if(!(!Te||!_e)){Te.sheet?.insertRule(`${be} {${_e}}`,0);for(const xe of pe.get(Te)??[])Y(be,_e,xe)}}function Z(be,_e=B()){if(!_e)return;const Te=$(_e),xe=[];for(let Ke=0;Ke=0;Ke--)_e.sheet?.deleteRule(xe[Ke]);for(const Ke of pe.get(_e)??[])Z(be,Ke)}function te(be){return typeof be.selectorText=="string"}function re(be){return be instanceof HTMLElement||be instanceof(0,e.getWindow)(be).HTMLElement}function le(be){return be instanceof HTMLAnchorElement||be instanceof(0,e.getWindow)(be).HTMLAnchorElement}function me(be){return be instanceof SVGElement||be instanceof(0,e.getWindow)(be).SVGElement}function ve(be){return be instanceof MouseEvent||be instanceof(0,e.getWindow)(be).MouseEvent}function Le(be){return be instanceof KeyboardEvent||be instanceof(0,e.getWindow)(be).KeyboardEvent}e.EventType={CLICK:"click",AUXCLICK:"auxclick",DBLCLICK:"dblclick",MOUSE_UP:"mouseup",MOUSE_DOWN:"mousedown",MOUSE_OVER:"mouseover",MOUSE_MOVE:"mousemove",MOUSE_OUT:"mouseout",MOUSE_ENTER:"mouseenter",MOUSE_LEAVE:"mouseleave",MOUSE_WHEEL:"wheel",POINTER_UP:"pointerup",POINTER_DOWN:"pointerdown",POINTER_MOVE:"pointermove",POINTER_LEAVE:"pointerleave",CONTEXT_MENU:"contextmenu",WHEEL:"wheel",KEY_DOWN:"keydown",KEY_PRESS:"keypress",KEY_UP:"keyup",LOAD:"load",BEFORE_UNLOAD:"beforeunload",UNLOAD:"unload",PAGE_SHOW:"pageshow",PAGE_HIDE:"pagehide",PASTE:"paste",ABORT:"abort",ERROR:"error",RESIZE:"resize",SCROLL:"scroll",FULLSCREEN_CHANGE:"fullscreenchange",WK_FULLSCREEN_CHANGE:"webkitfullscreenchange",SELECT:"select",CHANGE:"change",SUBMIT:"submit",RESET:"reset",FOCUS:"focus",FOCUS_IN:"focusin",FOCUS_OUT:"focusout",BLUR:"blur",INPUT:"input",STORAGE:"storage",DRAG_START:"dragstart",DRAG:"drag",DRAG_ENTER:"dragenter",DRAG_LEAVE:"dragleave",DRAG_OVER:"dragover",DROP:"drop",DRAG_END:"dragend",ANIMATION_START:d.isWebKit?"webkitAnimationStart":"animationstart",ANIMATION_END:d.isWebKit?"webkitAnimationEnd":"animationend",ANIMATION_ITERATION:d.isWebKit?"webkitAnimationIteration":"animationiteration"};function Ee(be){const _e=be;return!!(_e&&typeof _e.preventDefault=="function"&&typeof _e.stopPropagation=="function")}e.EventHelper={stop:(be,_e)=>(be.preventDefault(),_e&&be.stopPropagation(),be)};function Ie(be){const _e=[];for(let Te=0;be&&be.nodeType===be.ELEMENT_NODE;Te++)_e[Te]=be.scrollTop,be=be.parentNode;return _e}function Ae(be,_e){for(let Te=0;be&&be.nodeType===be.ELEMENT_NODE;Te++)be.scrollTop!==_e[Te]&&(be.scrollTop=_e[Te]),be=be.parentNode}class Me extends p.Disposable{static hasFocusWithin(_e){if(re(_e)){const Te=K(_e),xe=Te?Te.activeElement:_e.ownerDocument.activeElement;return z(xe,_e)}else{const Te=_e;return z(Te.document.activeElement,Te.document)}}constructor(_e){super(),this._onDidFocus=this._register(new _.Emitter),this.onDidFocus=this._onDidFocus.event,this._onDidBlur=this._register(new _.Emitter),this.onDidBlur=this._onDidBlur.event;let Te=Me.hasFocusWithin(_e),xe=!1;const Ke=()=>{xe=!1,Te||(Te=!0,this._onDidFocus.fire())},Ye=()=>{Te&&(xe=!0,(re(_e)?(0,e.getWindow)(_e):_e).setTimeout(()=>{xe&&(xe=!1,Te=!1,this._onDidBlur.fire())},0))};this._refreshStateHandler=()=>{Me.hasFocusWithin(_e)!==Te&&(Te?Ye():Ke())},this._register(l(_e,e.EventType.FOCUS,Ke,!0)),this._register(l(_e,e.EventType.BLUR,Ye,!0)),re(_e)&&(this._register(l(_e,e.EventType.FOCUS_IN,()=>this._refreshStateHandler())),this._register(l(_e,e.EventType.FOCUS_OUT,()=>this._refreshStateHandler())))}}function Ne(be){return new Me(be)}function ze(be,_e){return be.after(_e),_e}function Ve(be,..._e){if(be.append(..._e),_e.length===1&&typeof _e[0]!="string")return _e[0]}function $e(be,_e){return be.insertBefore(_e,be.firstChild),_e}function it(be,..._e){be.innerText="",Ve(be,..._e)}const Oe=/([\w\-]+)?(#([\w\-]+))?((\.([\w\-]+))*)/;var Pe;(function(be){be.HTML="http://www.w3.org/1999/xhtml",be.SVG="http://www.w3.org/2000/svg"})(Pe||(e.Namespace=Pe={}));function fe(be,_e,Te,...xe){const Ke=Oe.exec(_e);if(!Ke)throw new Error("Bad use of emmet");const Ye=Ke[1]||"div";let Ue;return be!==Pe.HTML?Ue=document.createElementNS(be,Ye):Ue=document.createElement(Ye),Ke[3]&&(Ue.id=Ke[3]),Ke[4]&&(Ue.className=Ke[4].replace(/\./g," ").trim()),Te&&Object.entries(Te).forEach(([tt,st])=>{typeof st>"u"||(/^on\w+$/.test(tt)?Ue[tt]=st:tt==="selected"?st&&Ue.setAttribute(tt,"true"):Ue.setAttribute(tt,st))}),Ue.append(...xe),Ue}function we(be,_e,...Te){return fe(Pe.HTML,be,_e,...Te)}we.SVG=function(be,_e,...Te){return fe(Pe.SVG,be,_e,...Te)};function Fe(be,..._e){be?Ce(..._e):Se(..._e)}function Ce(...be){for(const _e of be)_e.style.display="",_e.removeAttribute("aria-hidden")}function Se(...be){for(const _e of be)_e.style.display="none",_e.setAttribute("aria-hidden","true")}function ye(be,_e){const Te=be.devicePixelRatio*_e;return Math.max(1,Math.floor(Te))/be.devicePixelRatio}function De(be){i.mainWindow.open(be,"_blank","noopener")}function Re(be,_e){const Te=()=>{_e(),xe=(0,e.scheduleAtNextAnimationFrame)(be,Te)};let xe=(0,e.scheduleAtNextAnimationFrame)(be,Te);return(0,p.toDisposable)(()=>xe.dispose())}n.RemoteAuthorities.setPreferredWebSchema(/^https:/.test(i.mainWindow.location.href)?"https":"http");function We(be){return be?`url('${n.FileAccess.uriToBrowserUri(be).toString(!0).replace(/'/g,"%27")}')`:"url('')"}function He(be){return`'${be.replace(/'/g,"%27")}'`}function je(be,_e){if(be!==void 0){const Te=be.match(/^\s*var\((.+)\)$/);if(Te){const xe=Te[1].split(",",2);return xe.length===2&&(_e=je(xe[1].trim(),_e)),`var(${xe[0]}, ${_e})`}return be}return _e}function qe(be,_e=!1){const Te=document.createElement("a");return b.addHook("afterSanitizeAttributes",xe=>{for(const Ke of["href","src"])if(xe.hasAttribute(Ke)){const Ye=xe.getAttribute(Ke);if(Ke==="href"&&Ye.startsWith("#"))continue;if(Te.href=Ye,!be.includes(Te.protocol.replace(/:$/,""))){if(_e&&Ke==="src"&&Te.href.startsWith("data:"))continue;xe.removeAttribute(Ke)}}}),(0,p.toDisposable)(()=>{b.removeHook("afterSanitizeAttributes")})}e.basicMarkupHtmlTags=Object.freeze(["a","abbr","b","bdo","blockquote","br","caption","cite","code","col","colgroup","dd","del","details","dfn","div","dl","dt","em","figcaption","figure","h1","h2","h3","h4","h5","h6","hr","i","img","input","ins","kbd","label","li","mark","ol","p","pre","q","rp","rt","ruby","samp","small","small","source","span","strike","strong","sub","summary","sup","table","tbody","td","tfoot","th","thead","time","tr","tt","u","ul","var","video","wbr"]);const Ze=Object.freeze({ALLOWED_TAGS:["a","button","blockquote","code","div","h1","h2","h3","h4","h5","h6","hr","input","label","li","p","pre","select","small","span","strong","textarea","ul","ol"],ALLOWED_ATTR:["href","data-href","data-command","target","title","name","src","alt","class","id","role","tabindex","style","data-code","width","height","align","x-dispatch","required","checked","placeholder","type","start"],RETURN_DOM:!1,RETURN_DOM_FRAGMENT:!1,RETURN_TRUSTED_TYPE:!0});class et extends _.Emitter{constructor(){super(),this._subscriptions=new p.DisposableStore,this._keyStatus={altKey:!1,shiftKey:!1,ctrlKey:!1,metaKey:!1},this._subscriptions.add(_.Event.runAndSubscribe(e.onDidRegisterWindow,({window:_e,disposables:Te})=>this.registerListeners(_e,Te),{window:i.mainWindow,disposables:this._subscriptions}))}registerListeners(_e,Te){Te.add(l(_e,"keydown",xe=>{if(xe.defaultPrevented)return;const Ke=new I.StandardKeyboardEvent(xe);if(!(Ke.keyCode===6&&xe.repeat)){if(xe.altKey&&!this._keyStatus.altKey)this._keyStatus.lastKeyPressed="alt";else if(xe.ctrlKey&&!this._keyStatus.ctrlKey)this._keyStatus.lastKeyPressed="ctrl";else if(xe.metaKey&&!this._keyStatus.metaKey)this._keyStatus.lastKeyPressed="meta";else if(xe.shiftKey&&!this._keyStatus.shiftKey)this._keyStatus.lastKeyPressed="shift";else if(Ke.keyCode!==6)this._keyStatus.lastKeyPressed=void 0;else return;this._keyStatus.altKey=xe.altKey,this._keyStatus.ctrlKey=xe.ctrlKey,this._keyStatus.metaKey=xe.metaKey,this._keyStatus.shiftKey=xe.shiftKey,this._keyStatus.lastKeyPressed&&(this._keyStatus.event=xe,this.fire(this._keyStatus))}},!0)),Te.add(l(_e,"keyup",xe=>{xe.defaultPrevented||(!xe.altKey&&this._keyStatus.altKey?this._keyStatus.lastKeyReleased="alt":!xe.ctrlKey&&this._keyStatus.ctrlKey?this._keyStatus.lastKeyReleased="ctrl":!xe.metaKey&&this._keyStatus.metaKey?this._keyStatus.lastKeyReleased="meta":!xe.shiftKey&&this._keyStatus.shiftKey?this._keyStatus.lastKeyReleased="shift":this._keyStatus.lastKeyReleased=void 0,this._keyStatus.lastKeyPressed!==this._keyStatus.lastKeyReleased&&(this._keyStatus.lastKeyPressed=void 0),this._keyStatus.altKey=xe.altKey,this._keyStatus.ctrlKey=xe.ctrlKey,this._keyStatus.metaKey=xe.metaKey,this._keyStatus.shiftKey=xe.shiftKey,this._keyStatus.lastKeyReleased&&(this._keyStatus.event=xe,this.fire(this._keyStatus)))},!0)),Te.add(l(_e.document.body,"mousedown",()=>{this._keyStatus.lastKeyPressed=void 0},!0)),Te.add(l(_e.document.body,"mouseup",()=>{this._keyStatus.lastKeyPressed=void 0},!0)),Te.add(l(_e.document.body,"mousemove",xe=>{xe.buttons&&(this._keyStatus.lastKeyPressed=void 0)},!0)),Te.add(l(_e,"blur",()=>{this.resetKeyStatus()}))}get keyStatus(){return this._keyStatus}resetKeyStatus(){this.doResetKeyStatus(),this.fire(this._keyStatus)}doResetKeyStatus(){this._keyStatus={altKey:!1,shiftKey:!1,ctrlKey:!1,metaKey:!1}}static getInstance(){return et.instance||(et.instance=new et),et.instance}dispose(){super.dispose(),this._subscriptions.dispose()}}e.ModifierKeyEmitter=et;class lt extends p.Disposable{constructor(_e,Te){super(),this.element=_e,this.callbacks=Te,this.counter=0,this.dragStartTime=0,this.registerListeners()}registerListeners(){this.callbacks.onDragStart&&this._register(l(this.element,e.EventType.DRAG_START,_e=>{this.callbacks.onDragStart?.(_e)})),this.callbacks.onDrag&&this._register(l(this.element,e.EventType.DRAG,_e=>{this.callbacks.onDrag?.(_e)})),this._register(l(this.element,e.EventType.DRAG_ENTER,_e=>{this.counter++,this.dragStartTime=_e.timeStamp,this.callbacks.onDragEnter?.(_e)})),this._register(l(this.element,e.EventType.DRAG_OVER,_e=>{_e.preventDefault(),this.callbacks.onDragOver?.(_e,_e.timeStamp-this.dragStartTime)})),this._register(l(this.element,e.EventType.DRAG_LEAVE,_e=>{this.counter--,this.counter===0&&(this.dragStartTime=0,this.callbacks.onDragLeave?.(_e))})),this._register(l(this.element,e.EventType.DRAG_END,_e=>{this.counter=0,this.dragStartTime=0,this.callbacks.onDragEnd?.(_e)})),this._register(l(this.element,e.EventType.DROP,_e=>{this.counter=0,this.dragStartTime=0,this.callbacks.onDrop?.(_e)}))}}e.DragAndDropObserver=lt;const ct=/(?[\w\-]+)?(?:#(?[\w\-]+))?(?(?:\.(?:[\w\-]+))*)(?:@(?(?:[\w\_])+))?/;function ot(be,..._e){let Te,xe;Array.isArray(_e[0])?(Te={},xe=_e[0]):(Te=_e[0]||{},xe=_e[1]);const Ke=ct.exec(be);if(!Ke||!Ke.groups)throw new Error("Bad use of h");const Ye=Ke.groups.tag||"div",Ue=document.createElement(Ye);Ke.groups.id&&(Ue.id=Ke.groups.id);const tt=[];if(Ke.groups.class)for(const Je of Ke.groups.class.split("."))Je!==""&&tt.push(Je);if(Te.className!==void 0)for(const Je of Te.className.split("."))Je!==""&&tt.push(Je);tt.length>0&&(Ue.className=tt.join(" "));const st={};if(Ke.groups.name&&(st[Ke.groups.name]=Ue),xe)for(const Je of xe)re(Je)?Ue.appendChild(Je):typeof Je=="string"?Ue.append(Je):"root"in Je&&(Object.assign(st,Je),Ue.appendChild(Je.root));for(const[Je,ut]of Object.entries(Te))if(Je!=="className")if(Je==="style")for(const[Lt,Ct]of Object.entries(ut))Ue.style.setProperty(Qe(Lt),typeof Ct=="number"?Ct+"px":""+Ct);else Je==="tabIndex"?Ue.tabIndex=ut:Ue.setAttribute(Qe(Je),ut.toString());return st.root=Ue,st}function pt(be,..._e){let Te,xe;Array.isArray(_e[0])?(Te={},xe=_e[0]):(Te=_e[0]||{},xe=_e[1]);const Ke=ct.exec(be);if(!Ke||!Ke.groups)throw new Error("Bad use of h");const Ye=Ke.groups.tag||"div",Ue=document.createElementNS("http://www.w3.org/2000/svg",Ye);Ke.groups.id&&(Ue.id=Ke.groups.id);const tt=[];if(Ke.groups.class)for(const Je of Ke.groups.class.split("."))Je!==""&&tt.push(Je);if(Te.className!==void 0)for(const Je of Te.className.split("."))Je!==""&&tt.push(Je);tt.length>0&&(Ue.className=tt.join(" "));const st={};if(Ke.groups.name&&(st[Ke.groups.name]=Ue),xe)for(const Je of xe)re(Je)?Ue.appendChild(Je):typeof Je=="string"?Ue.append(Je):"root"in Je&&(Object.assign(st,Je),Ue.appendChild(Je.root));for(const[Je,ut]of Object.entries(Te))if(Je!=="className")if(Je==="style")for(const[Lt,Ct]of Object.entries(ut))Ue.style.setProperty(Qe(Lt),typeof Ct=="number"?Ct+"px":""+Ct);else Je==="tabIndex"?Ue.tabIndex=ut:Ue.setAttribute(Qe(Je),ut.toString());return st.root=Ue,st}function Qe(be){return be.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}}),define(ne[630],se([1,0,5,2,21]),function(oe,e,d,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.createStyleSheetFromObservable=E;function E(y){const m=new k.DisposableStore,_=m.add((0,d.createStyleSheet2)());return m.add((0,I.autorun)(b=>{_.setStyle(y.read(b))})),m}}),define(ne[352],se([1,0,5]),function(oe,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.renderText=k,e.renderFormattedText=I,e.createElement=E;function k(n,o={}){const t=E(o);return t.textContent=n,t}function I(n,o={}){const t=E(o);return m(t,_(n,!!o.renderCodeSegments),o.actionHandler,o.renderCodeSegments),t}function E(n){const o=n.inline?"span":"div",t=document.createElement(o);return n.className&&(t.className=n.className),t}class y{constructor(o){this.source=o,this.index=0}eos(){return this.index>=this.source.length}next(){const o=this.peek();return this.advance(),o}peek(){return this.source[this.index]}advance(){this.index++}}function m(n,o,t,i){let s;if(o.type===2)s=document.createTextNode(o.content||"");else if(o.type===3)s=document.createElement("b");else if(o.type===4)s=document.createElement("i");else if(o.type===7&&i)s=document.createElement("code");else if(o.type===5&&t){const g=document.createElement("a");t.disposables.add(d.addStandardDisposableListener(g,"click",c=>{t.callback(String(o.index),c)})),s=g}else o.type===8?s=document.createElement("br"):o.type===1&&(s=n);s&&n!==s&&n.appendChild(s),s&&Array.isArray(o.children)&&o.children.forEach(g=>{m(s,g,t,i)})}function _(n,o){const t={type:1,children:[]};let i=0,s=t;const g=[],c=new y(n);for(;!c.eos();){let l=c.next();const a=l==="\\"&&p(c.peek(),o)!==0;if(a&&(l=c.next()),!a&&b(l,o)&&l===c.peek()){c.advance(),s.type===2&&(s=g.pop());const r=p(l,o);if(s.type===r||s.type===5&&r===6)s=g.pop();else{const u={type:r,children:[]};r===5&&(u.index=i,i++),s.children.push(u),g.push(s),s=u}}else if(l===` +`)s.type===2&&(s=g.pop()),s.children.push({type:8});else if(s.type!==2){const r={type:2,content:l};s.children.push(r),g.push(s),s=r}else s.content+=l}return s.type===2&&(s=g.pop()),g.length,t}function b(n,o){return p(n,o)!==0}function p(n,o){switch(n){case"*":return 3;case"_":return 4;case"[":return 5;case"]":return 6;case"`":return o?7:0;default:return 0}}}),define(ne[172],se([1,0,5,2]),function(oe,e,d,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.GlobalPointerMoveMonitor=void 0;class I{constructor(){this._hooks=new k.DisposableStore,this._pointerMoveCallback=null,this._onStopCallback=null}dispose(){this.stopMonitoring(!1),this._hooks.dispose()}stopMonitoring(y,m){if(!this.isMonitoring())return;this._hooks.clear(),this._pointerMoveCallback=null;const _=this._onStopCallback;this._onStopCallback=null,y&&_&&_(m)}isMonitoring(){return!!this._pointerMoveCallback}startMonitoring(y,m,_,b,p){this.isMonitoring()&&this.stopMonitoring(!1),this._pointerMoveCallback=b,this._onStopCallback=p;let n=y;try{y.setPointerCapture(m),this._hooks.add((0,k.toDisposable)(()=>{try{y.releasePointerCapture(m)}catch{}}))}catch{n=d.getWindow(y)}this._hooks.add(d.addDisposableListener(n,d.EventType.POINTER_MOVE,o=>{if(o.buttons!==_){this.stopMonitoring(!0);return}o.preventDefault(),this._pointerMoveCallback(o)})),this._hooks.add(d.addDisposableListener(n,d.EventType.POINTER_UP,o=>this.stopMonitoring(!0)))}}e.GlobalPointerMoveMonitor=I}),define(ne[253],se([1,0,5,6,2]),function(oe,e,d,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.PixelRatio=void 0;class E extends I.Disposable{constructor(b){super(),this._onDidChange=this._register(new k.Emitter),this.onDidChange=this._onDidChange.event,this._listener=()=>this._handleChange(b,!0),this._mediaQueryList=null,this._handleChange(b,!1)}_handleChange(b,p){this._mediaQueryList?.removeEventListener("change",this._listener),this._mediaQueryList=b.matchMedia(`(resolution: ${b.devicePixelRatio}dppx)`),this._mediaQueryList.addEventListener("change",this._listener),p&&this._onDidChange.fire()}}class y extends I.Disposable{get value(){return this._value}constructor(b){super(),this._onDidChange=this._register(new k.Emitter),this.onDidChange=this._onDidChange.event,this._value=this._getPixelRatio(b);const p=this._register(new E(b));this._register(p.onDidChange(()=>{this._value=this._getPixelRatio(b),this._onDidChange.fire(this._value)}))}_getPixelRatio(b){const p=document.createElement("canvas").getContext("2d"),n=b.devicePixelRatio||1,o=p.webkitBackingStorePixelRatio||p.mozBackingStorePixelRatio||p.msBackingStorePixelRatio||p.oBackingStorePixelRatio||p.backingStorePixelRatio||1;return n/o}}class m{constructor(){this.mapWindowIdToPixelRatioMonitor=new Map}_getOrCreatePixelRatioMonitor(b){const p=(0,d.getWindowId)(b);let n=this.mapWindowIdToPixelRatioMonitor.get(p);return n||(n=(0,I.markAsSingleton)(new y(b)),this.mapWindowIdToPixelRatioMonitor.set(p,n),(0,I.markAsSingleton)(k.Event.once(d.onDidUnregisterWindow)(({vscodeWindowId:o})=>{o===p&&(n?.dispose(),this.mapWindowIdToPixelRatioMonitor.delete(p))}))),n}getInstance(b){return this._getOrCreatePixelRatioMonitor(b)}}e.PixelRatio=new m}),define(ne[69],se([1,0,5,52,13,126,6,2,73]),function(oe,e,d,k,I,E,y,m,_){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Gesture=e.EventType=void 0;var b;(function(n){n.Tap="-monaco-gesturetap",n.Change="-monaco-gesturechange",n.Start="-monaco-gesturestart",n.End="-monaco-gesturesend",n.Contextmenu="-monaco-gesturecontextmenu"})(b||(e.EventType=b={}));class p extends m.Disposable{static{this.SCROLL_FRICTION=-.005}static{this.HOLD_DELAY=700}static{this.CLEAR_TAP_COUNT_TIME=400}constructor(){super(),this.dispatched=!1,this.targets=new _.LinkedList,this.ignoreTargets=new _.LinkedList,this.activeTouches={},this.handle=null,this._lastSetTapCountTime=0,this._register(y.Event.runAndSubscribe(d.onDidRegisterWindow,({window:o,disposables:t})=>{t.add(d.addDisposableListener(o.document,"touchstart",i=>this.onTouchStart(i),{passive:!1})),t.add(d.addDisposableListener(o.document,"touchend",i=>this.onTouchEnd(o,i))),t.add(d.addDisposableListener(o.document,"touchmove",i=>this.onTouchMove(i),{passive:!1}))},{window:k.mainWindow,disposables:this._store}))}static addTarget(o){if(!p.isTouchDevice())return m.Disposable.None;p.INSTANCE||(p.INSTANCE=(0,m.markAsSingleton)(new p));const t=p.INSTANCE.targets.push(o);return(0,m.toDisposable)(t)}static ignoreTarget(o){if(!p.isTouchDevice())return m.Disposable.None;p.INSTANCE||(p.INSTANCE=(0,m.markAsSingleton)(new p));const t=p.INSTANCE.ignoreTargets.push(o);return(0,m.toDisposable)(t)}static isTouchDevice(){return"ontouchstart"in k.mainWindow||navigator.maxTouchPoints>0}dispose(){this.handle&&(this.handle.dispose(),this.handle=null),super.dispose()}onTouchStart(o){const t=Date.now();this.handle&&(this.handle.dispose(),this.handle=null);for(let i=0,s=o.targetTouches.length;i=p.HOLD_DELAY&&Math.abs(a.initialPageX-I.tail(a.rollingPageX))<30&&Math.abs(a.initialPageY-I.tail(a.rollingPageY))<30){const u=this.newGestureEvent(b.Contextmenu,a.initialTarget);u.pageX=I.tail(a.rollingPageX),u.pageY=I.tail(a.rollingPageY),this.dispatchEvent(u)}else if(s===1){const u=I.tail(a.rollingPageX),C=I.tail(a.rollingPageY),f=I.tail(a.rollingTimestamps)-a.rollingTimestamps[0],h=u-a.rollingPageX[0],v=C-a.rollingPageY[0],w=[...this.targets].filter(S=>a.initialTarget instanceof Node&&S.contains(a.initialTarget));this.inertia(o,w,i,Math.abs(h)/f,h>0?1:-1,u,Math.abs(v)/f,v>0?1:-1,C)}this.dispatchEvent(this.newGestureEvent(b.End,a.initialTarget)),delete this.activeTouches[l.identifier]}this.dispatched&&(t.preventDefault(),t.stopPropagation(),this.dispatched=!1)}newGestureEvent(o,t){const i=document.createEvent("CustomEvent");return i.initEvent(o,!1,!0),i.initialTarget=t,i.tapCount=0,i}dispatchEvent(o){if(o.type===b.Tap){const t=new Date().getTime();let i=0;t-this._lastSetTapCountTime>p.CLEAR_TAP_COUNT_TIME?i=1:i=2,this._lastSetTapCountTime=t,o.tapCount=i}else(o.type===b.Change||o.type===b.Contextmenu)&&(this._lastSetTapCountTime=0);if(o.initialTarget instanceof Node){for(const i of this.ignoreTargets)if(i.contains(o.initialTarget))return;const t=[];for(const i of this.targets)if(i.contains(o.initialTarget)){let s=0,g=o.initialTarget;for(;g&&g!==i;)s++,g=g.parentElement;t.push([s,i])}t.sort((i,s)=>i[0]-s[0]);for(const[i,s]of t)s.dispatchEvent(o),this.dispatched=!0}}inertia(o,t,i,s,g,c,l,a,r){this.handle=d.scheduleAtNextAnimationFrame(o,()=>{const u=Date.now(),C=u-i;let f=0,h=0,v=!0;s+=p.SCROLL_FRICTION*C,l+=p.SCROLL_FRICTION*C,s>0&&(v=!1,f=g*s*C),l>0&&(v=!1,h=a*l*C);const w=this.newGestureEvent(b.Change);w.translationX=f,w.translationY=h,t.forEach(S=>S.dispatchEvent(w)),v||this.inertia(o,t,u,s,g,c+f,l,a,r+h)})}onTouchMove(o){const t=Date.now();for(let i=0,s=o.changedTouches.length;i3&&(c.rollingPageX.shift(),c.rollingPageY.shift(),c.rollingTimestamps.shift()),c.rollingPageX.push(g.pageX),c.rollingPageY.push(g.pageY),c.rollingTimestamps.push(t)}this.dispatched&&(o.preventDefault(),o.stopPropagation(),this.dispatched=!1)}}e.Gesture=p,ke([E.memoize],p,"isTouchDevice",null)}),define(ne[46],se([1,0,5,458]),function(oe,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.setARIAContainer=b,e.alert=p,e.status=n;const k=2e4;let I,E,y,m,_;function b(t){I=document.createElement("div"),I.className="monaco-aria-container";const i=()=>{const g=document.createElement("div");return g.className="monaco-alert",g.setAttribute("role","alert"),g.setAttribute("aria-atomic","true"),I.appendChild(g),g};E=i(),y=i();const s=()=>{const g=document.createElement("div");return g.className="monaco-status",g.setAttribute("aria-live","polite"),g.setAttribute("aria-atomic","true"),I.appendChild(g),g};m=s(),_=s(),t.appendChild(I)}function p(t){I&&(E.textContent!==t?(d.clearNode(y),o(E,t)):(d.clearNode(E),o(y,t)))}function n(t){I&&(m.textContent!==t?(d.clearNode(_),o(m,t)):(d.clearNode(m),o(_,t)))}function o(t,i){d.clearNode(t),i.length>k&&(i=i.substr(0,k)),t.textContent=i,t.style.visibility="hidden",t.style.visibility="visible"}}),define(ne[353],se([1,0,248,5,2,16,188,462]),function(oe,e,d,k,I,E,y){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ContextView=e.LayoutAnchorMode=void 0,e.isAnchor=m,e.layout=b;function m(o){const t=o;return!!t&&typeof t.x=="number"&&typeof t.y=="number"}var _;(function(o){o[o.AVOID=0]="AVOID",o[o.ALIGN=1]="ALIGN"})(_||(e.LayoutAnchorMode=_={}));function b(o,t,i){const s=i.mode===_.ALIGN?i.offset:i.offset+i.size,g=i.mode===_.ALIGN?i.offset+i.size:i.offset;return i.position===0?t<=o-s?s:t<=g?g-t:Math.max(o-t,0):t<=g?g-t:t<=o-s?s:0}class p extends I.Disposable{static{this.BUBBLE_UP_EVENTS=["click","keydown","focus","blur"]}static{this.BUBBLE_DOWN_EVENTS=["click"]}constructor(t,i){super(),this.container=null,this.useFixedPosition=!1,this.useShadowDOM=!1,this.delegate=null,this.toDisposeOnClean=I.Disposable.None,this.toDisposeOnSetContainer=I.Disposable.None,this.shadowRoot=null,this.shadowRootHostElement=null,this.view=k.$(".context-view"),k.hide(this.view),this.setContainer(t,i),this._register((0,I.toDisposable)(()=>this.setContainer(null,1)))}setContainer(t,i){this.useFixedPosition=i!==1;const s=this.useShadowDOM;if(this.useShadowDOM=i===3,!(t===this.container&&s===this.useShadowDOM)&&(this.container&&(this.toDisposeOnSetContainer.dispose(),this.view.remove(),this.shadowRoot&&(this.shadowRoot=null,this.shadowRootHostElement?.remove(),this.shadowRootHostElement=null),this.container=null),t)){if(this.container=t,this.useShadowDOM){this.shadowRootHostElement=k.$(".shadow-root-host"),this.container.appendChild(this.shadowRootHostElement),this.shadowRoot=this.shadowRootHostElement.attachShadow({mode:"open"});const c=document.createElement("style");c.textContent=n,this.shadowRoot.appendChild(c),this.shadowRoot.appendChild(this.view),this.shadowRoot.appendChild(k.$("slot"))}else this.container.appendChild(this.view);const g=new I.DisposableStore;p.BUBBLE_UP_EVENTS.forEach(c=>{g.add(k.addStandardDisposableListener(this.container,c,l=>{this.onDOMEvent(l,!1)}))}),p.BUBBLE_DOWN_EVENTS.forEach(c=>{g.add(k.addStandardDisposableListener(this.container,c,l=>{this.onDOMEvent(l,!0)},!0))}),this.toDisposeOnSetContainer=g}}show(t){this.isVisible()&&this.hide(),k.clearNode(this.view),this.view.className="context-view monaco-component",this.view.style.top="0px",this.view.style.left="0px",this.view.style.zIndex=`${2575+(t.layer??0)}`,this.view.style.position=this.useFixedPosition?"fixed":"absolute",k.show(this.view),this.toDisposeOnClean=t.render(this.view)||I.Disposable.None,this.delegate=t,this.doLayout(),this.delegate.focus?.()}getViewElement(){return this.view}layout(){if(this.isVisible()){if(this.delegate.canRelayout===!1&&!(E.isIOS&&d.BrowserFeatures.pointerEvents)){this.hide();return}this.delegate?.layout?.(),this.doLayout()}}doLayout(){if(!this.isVisible())return;const t=this.delegate.getAnchor();let i;if(k.isHTMLElement(t)){const h=k.getDomNodePagePosition(t),v=k.getDomNodeZoomLevel(t);i={top:h.top*v,left:h.left*v,width:h.width*v,height:h.height*v}}else m(t)?i={top:t.y,left:t.x,width:t.width||1,height:t.height||2}:i={top:t.posy,left:t.posx,width:2,height:2};const s=k.getTotalWidth(this.view),g=k.getTotalHeight(this.view),c=this.delegate.anchorPosition||0,l=this.delegate.anchorAlignment||0,a=this.delegate.anchorAxisAlignment||0;let r,u;const C=k.getActiveWindow();if(a===0){const h={offset:i.top-C.pageYOffset,size:i.height,position:c===0?0:1},v={offset:i.left,size:i.width,position:l===0?0:1,mode:_.ALIGN};r=b(C.innerHeight,g,h)+C.pageYOffset,y.Range.intersects({start:r,end:r+g},{start:h.offset,end:h.offset+h.size})&&(v.mode=_.AVOID),u=b(C.innerWidth,s,v)}else{const h={offset:i.left,size:i.width,position:l===0?0:1},v={offset:i.top,size:i.height,position:c===0?0:1,mode:_.ALIGN};u=b(C.innerWidth,s,h),y.Range.intersects({start:u,end:u+s},{start:h.offset,end:h.offset+h.size})&&(v.mode=_.AVOID),r=b(C.innerHeight,g,v)+C.pageYOffset}this.view.classList.remove("top","bottom","left","right"),this.view.classList.add(c===0?"bottom":"top"),this.view.classList.add(l===0?"left":"right"),this.view.classList.toggle("fixed",this.useFixedPosition);const f=k.getDomNodePagePosition(this.container);this.view.style.top=`${r-(this.useFixedPosition?k.getDomNodePagePosition(this.view).top:f.top)}px`,this.view.style.left=`${u-(this.useFixedPosition?k.getDomNodePagePosition(this.view).left:f.left)}px`,this.view.style.width="initial"}hide(t){const i=this.delegate;this.delegate=null,i?.onHide&&i.onHide(t),this.toDisposeOnClean.dispose(),k.hide(this.view)}isVisible(){return!!this.delegate}onDOMEvent(t,i){this.delegate&&(this.delegate.onDOMEvent?this.delegate.onDOMEvent(t,k.getWindow(t).document.activeElement):i&&!k.isAncestor(t.target,this.container)&&this.hide())}dispose(){this.hide(),super.dispose()}}e.ContextView=p;const n=` + :host { + all: initial; /* 1st rule so subsequent properties are reset. */ + } + + .codicon[class*='codicon-'] { + font: normal normal normal 16px/1 codicon; + display: inline-block; + text-decoration: none; + text-rendering: auto; + text-align: center; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + } + + :host { + font-family: -apple-system, BlinkMacSystemFont, "Segoe WPC", "Segoe UI", "HelveticaNeue-Light", system-ui, "Ubuntu", "Droid Sans", sans-serif; + } + + :host-context(.mac) { font-family: -apple-system, BlinkMacSystemFont, sans-serif; } + :host-context(.mac:lang(zh-Hans)) { font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", sans-serif; } + :host-context(.mac:lang(zh-Hant)) { font-family: -apple-system, BlinkMacSystemFont, "PingFang TC", sans-serif; } + :host-context(.mac:lang(ja)) { font-family: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic Pro", sans-serif; } + :host-context(.mac:lang(ko)) { font-family: -apple-system, BlinkMacSystemFont, "Nanum Gothic", "Apple SD Gothic Neo", "AppleGothic", sans-serif; } + + :host-context(.windows) { font-family: "Segoe WPC", "Segoe UI", sans-serif; } + :host-context(.windows:lang(zh-Hans)) { font-family: "Segoe WPC", "Segoe UI", "Microsoft YaHei", sans-serif; } + :host-context(.windows:lang(zh-Hant)) { font-family: "Segoe WPC", "Segoe UI", "Microsoft Jhenghei", sans-serif; } + :host-context(.windows:lang(ja)) { font-family: "Segoe WPC", "Segoe UI", "Yu Gothic UI", "Meiryo UI", sans-serif; } + :host-context(.windows:lang(ko)) { font-family: "Segoe WPC", "Segoe UI", "Malgun Gothic", "Dotom", sans-serif; } + + :host-context(.linux) { font-family: system-ui, "Ubuntu", "Droid Sans", sans-serif; } + :host-context(.linux:lang(zh-Hans)) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans SC", "Source Han Sans CN", "Source Han Sans", sans-serif; } + :host-context(.linux:lang(zh-Hant)) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans TC", "Source Han Sans TW", "Source Han Sans", sans-serif; } + :host-context(.linux:lang(ja)) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans J", "Source Han Sans JP", "Source Han Sans", sans-serif; } + :host-context(.linux:lang(ko)) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans K", "Source Han Sans JR", "Source Han Sans", "UnDotum", "FBaekmuk Gulim", sans-serif; } +`}),define(ne[354],se([1,0,5,11,463]),function(oe,e,d,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CountBadge=void 0;class I{constructor(y,m,_){this.options=m,this.styles=_,this.count=0,this.element=(0,d.append)(y,(0,d.$)(".monaco-count-badge")),this.countFormat=this.options.countFormat||"{0}",this.titleFormat=this.options.titleFormat||"",this.setCount(this.options.count||0)}setCount(y){this.count=y,this.render()}setTitleFormat(y){this.titleFormat=y,this.render()}render(){this.element.textContent=(0,k.format)(this.countFormat,this.count),this.element.title=(0,k.format)(this.titleFormat,this.count),this.element.style.backgroundColor=this.styles.badgeBackground??"",this.element.style.color=this.styles.badgeForeground??"",this.styles.badgeBorder&&(this.element.style.border=`1px solid ${this.styles.badgeBorder}`)}}e.CountBadge=I}),define(ne[631],se([1,0,5,47,69,41,6,303]),function(oe,e,d,k,I,E,y){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DropdownMenu=void 0;class m extends E.ActionRunner{constructor(p,n){super(),this._onDidChangeVisibility=this._register(new y.Emitter),this.onDidChangeVisibility=this._onDidChangeVisibility.event,this._element=(0,d.append)(p,(0,d.$)(".monaco-dropdown")),this._label=(0,d.append)(this._element,(0,d.$)(".dropdown-label"));let o=n.labelRenderer;o||(o=i=>(i.textContent=n.label||"",null));for(const i of[d.EventType.CLICK,d.EventType.MOUSE_DOWN,I.EventType.Tap])this._register((0,d.addDisposableListener)(this.element,i,s=>d.EventHelper.stop(s,!0)));for(const i of[d.EventType.MOUSE_DOWN,I.EventType.Tap])this._register((0,d.addDisposableListener)(this._label,i,s=>{(0,d.isMouseEvent)(s)&&(s.detail>1||s.button!==0)||(this.visible?this.hide():this.show())}));this._register((0,d.addDisposableListener)(this._label,d.EventType.KEY_UP,i=>{const s=new k.StandardKeyboardEvent(i);(s.equals(3)||s.equals(10))&&(d.EventHelper.stop(i,!0),this.visible?this.hide():this.show())}));const t=o(this._label);t&&this._register(t),this._register(I.Gesture.addTarget(this._label))}get element(){return this._element}show(){this.visible||(this.visible=!0,this._onDidChangeVisibility.fire(!0))}hide(){this.visible&&(this.visible=!1,this._onDidChangeVisibility.fire(!1))}dispose(){super.dispose(),this.hide(),this.boxContainer&&(this.boxContainer.remove(),this.boxContainer=void 0),this.contents&&(this.contents.remove(),this.contents=void 0),this._label&&(this._label.remove(),this._label=void 0)}}class _ extends m{constructor(p,n){super(p,n),this._options=n,this._actions=[],this.actions=n.actions||[]}set menuOptions(p){this._menuOptions=p}get menuOptions(){return this._menuOptions}get actions(){return this._options.actionProvider?this._options.actionProvider.getActions():this._actions}set actions(p){this._actions=p}show(){super.show(),this.element.classList.add("active"),this._options.contextMenuProvider.showContextMenu({getAnchor:()=>this.element,getActions:()=>this.actions,getActionsContext:()=>this.menuOptions?this.menuOptions.context:null,getActionViewItem:(p,n)=>this.menuOptions&&this.menuOptions.actionViewItemProvider?this.menuOptions.actionViewItemProvider(p,n):void 0,getKeyBinding:p=>this.menuOptions&&this.menuOptions.getKeyBinding?this.menuOptions.getKeyBinding(p):void 0,getMenuClassName:()=>this._options.menuClassName||"",onHide:()=>this.onHide(),actionRunner:this.menuOptions?this.menuOptions.actionRunner:void 0,anchorAlignment:this.menuOptions?this.menuOptions.anchorAlignment:0,domForShadowRoot:this._options.menuAsChild?this.element:void 0,skipTelemetry:this._options.skipTelemetry})}hide(){super.hide()}onHide(){this.hide(),this.element.classList.remove("active")}}e.DropdownMenu=_}),define(ne[114],se([1,0,5,30]),function(oe,e,d,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.renderLabelWithIcons=E,e.renderIcon=y;const I=new RegExp(`(\\\\)?\\$\\((${k.ThemeIcon.iconNameExpression}(?:${k.ThemeIcon.iconModifierExpression})?)\\)`,"g");function E(m){const _=new Array;let b,p=0,n=0;for(;(b=I.exec(m))!==null;){n=b.index||0,p{t=i===`\r +`?-1:0,s+=o;for(const g of n)g.end<=s||(g.start>=s&&(g.start+=t),g.end>=s&&(g.end+=t));return o+=t,"\u23CE"})}}e.HighlightedLabel=_}),define(ne[254],se([1,0,5,355,2,60,188,44,81,19,142,465]),function(oe,e,d,k,I,E,y,m,_,b,p){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.IconLabel=void 0;class n{constructor(c){this._element=c}get element(){return this._element}set textContent(c){this.disposed||c===this._textContent||(this._textContent=c,this._element.textContent=c)}set classNames(c){this.disposed||(0,E.equals)(c,this._classNames)||(this._classNames=c,this._element.classList.value="",this._element.classList.add(...c))}set empty(c){this.disposed||c===this._empty||(this._empty=c,this._element.style.marginLeft=c?"0":"")}dispose(){this.disposed=!0}}class o extends I.Disposable{constructor(c,l){super(),this.customHovers=new Map,this.creationOptions=l,this.domNode=this._register(new n(d.append(c,d.$(".monaco-icon-label")))),this.labelContainer=d.append(this.domNode.element,d.$(".monaco-icon-label-container")),this.nameContainer=d.append(this.labelContainer,d.$("span.monaco-icon-name-container")),l?.supportHighlights||l?.supportIcons?this.nameNode=this._register(new s(this.nameContainer,!!l.supportIcons)):this.nameNode=new t(this.nameContainer),this.hoverDelegate=l?.hoverDelegate??(0,m.getDefaultHoverDelegate)("mouse")}get element(){return this.domNode.element}setLabel(c,l,a){const r=["monaco-icon-label"],u=["monaco-icon-label-container"];let C="";a&&(a.extraClasses&&r.push(...a.extraClasses),a.italic&&r.push("italic"),a.strikethrough&&r.push("strikethrough"),a.disabledCommand&&u.push("disabled"),a.title&&(typeof a.title=="string"?C+=a.title:C+=c));const f=this.domNode.element.querySelector(".monaco-icon-label-iconpath");if(a?.iconPath){let h;!f||!d.isHTMLElement(f)?(h=d.$(".monaco-icon-label-iconpath"),this.domNode.element.prepend(h)):h=f,h.style.backgroundImage=d.asCSSUrl(a?.iconPath)}else f&&f.remove();if(this.domNode.classNames=r,this.domNode.element.setAttribute("aria-label",C),this.labelContainer.classList.value="",this.labelContainer.classList.add(...u),this.setupHover(a?.descriptionTitle?this.labelContainer:this.element,a?.title),this.nameNode.setLabel(c,a),l||this.descriptionNode){const h=this.getOrCreateDescriptionNode();h instanceof k.HighlightedLabel?(h.set(l||"",a?a.descriptionMatches:void 0,void 0,a?.labelEscapeNewLines),this.setupHover(h.element,a?.descriptionTitle)):(h.textContent=l&&a?.labelEscapeNewLines?k.HighlightedLabel.escapeNewLines(l,[]):l||"",this.setupHover(h.element,a?.descriptionTitle||""),h.empty=!l)}if(a?.suffix||this.suffixNode){const h=this.getOrCreateSuffixNode();h.textContent=a?.suffix??""}}setupHover(c,l){const a=this.customHovers.get(c);if(a&&(a.dispose(),this.customHovers.delete(c)),!l){c.removeAttribute("title");return}if(this.hoverDelegate.showNativeHover)(function(u,C){(0,b.isString)(C)?u.title=(0,p.stripIcons)(C):C?.markdownNotSupportedFallback?u.title=C.markdownNotSupportedFallback:u.removeAttribute("title")})(c,l);else{const r=(0,_.getBaseLayerHoverDelegate)().setupManagedHover(this.hoverDelegate,c,l);r&&this.customHovers.set(c,r)}}dispose(){super.dispose();for(const c of this.customHovers.values())c.dispose();this.customHovers.clear()}getOrCreateSuffixNode(){if(!this.suffixNode){const c=this._register(new n(d.after(this.nameContainer,d.$("span.monaco-icon-suffix-container"))));this.suffixNode=this._register(new n(d.append(c.element,d.$("span.label-suffix"))))}return this.suffixNode}getOrCreateDescriptionNode(){if(!this.descriptionNode){const c=this._register(new n(d.append(this.labelContainer,d.$("span.monaco-icon-description-container"))));this.creationOptions?.supportDescriptionHighlights?this.descriptionNode=this._register(new k.HighlightedLabel(d.append(c.element,d.$("span.label-description")),{supportIcons:!!this.creationOptions.supportIcons})):this.descriptionNode=this._register(new n(d.append(c.element,d.$("span.label-description"))))}return this.descriptionNode}}e.IconLabel=o;class t{constructor(c){this.container=c,this.label=void 0,this.singleLabel=void 0}setLabel(c,l){if(!(this.label===c&&(0,E.equals)(this.options,l)))if(this.label=c,this.options=l,typeof c=="string")this.singleLabel||(this.container.innerText="",this.container.classList.remove("multiple"),this.singleLabel=d.append(this.container,d.$("a.label-name",{id:l?.domId}))),this.singleLabel.textContent=c;else{this.container.innerText="",this.container.classList.add("multiple"),this.singleLabel=void 0;for(let a=0;a{const u={start:a,end:a+r.length},C=l.map(f=>y.Range.intersect(u,f)).filter(f=>!y.Range.isEmpty(f)).map(({start:f,end:h})=>({start:f-a,end:h-a}));return a=u.end+c.length,C})}class s extends I.Disposable{constructor(c,l){super(),this.container=c,this.supportIcons=l,this.label=void 0,this.singleLabel=void 0}setLabel(c,l){if(!(this.label===c&&(0,E.equals)(this.options,l)))if(this.label=c,this.options=l,typeof c=="string")this.singleLabel||(this.container.innerText="",this.container.classList.remove("multiple"),this.singleLabel=this._register(new k.HighlightedLabel(d.append(this.container,d.$("a.label-name",{id:l?.domId})),{supportIcons:this.supportIcons}))),this.singleLabel.set(c,l?.matches,void 0,l?.labelEscapeNewLines);else{this.container.innerText="",this.container.classList.add("multiple"),this.singleLabel=void 0;const a=l?.separator||"/",r=i(c,a,l?.matches);for(let u=0;u{for(const m of E)this.getRenderer(y).disposeTemplate(m.templateData),m.templateData=null}),this.cache.clear(),this.transactionNodesPendingRemoval.clear()}getRenderer(E){const y=this.renderers.get(E);if(!y)throw new Error(`No renderer found for ${E}`);return y}}e.RowCache=k}),define(ne[633],se([1,0,5,14,2,469]),function(oe,e,d,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ProgressBar=void 0;const E="done",y="active",m="infinite",_="infinite-long-running",b="discrete";class p extends I.Disposable{static{this.LONG_RUNNING_INFINITE_THRESHOLD=1e4}constructor(o,t){super(),this.progressSignal=this._register(new I.MutableDisposable),this.workedVal=0,this.showDelayedScheduler=this._register(new k.RunOnceScheduler(()=>(0,d.show)(this.element),0)),this.longRunningScheduler=this._register(new k.RunOnceScheduler(()=>this.infiniteLongRunning(),p.LONG_RUNNING_INFINITE_THRESHOLD)),this.create(o,t)}create(o,t){this.element=document.createElement("div"),this.element.classList.add("monaco-progress-container"),this.element.setAttribute("role","progressbar"),this.element.setAttribute("aria-valuemin","0"),o.appendChild(this.element),this.bit=document.createElement("div"),this.bit.classList.add("progress-bit"),this.bit.style.backgroundColor=t?.progressBarBackground||"#0E70C0",this.element.appendChild(this.bit)}off(){this.bit.style.width="inherit",this.bit.style.opacity="1",this.element.classList.remove(y,m,_,b),this.workedVal=0,this.totalWork=void 0,this.longRunningScheduler.cancel(),this.progressSignal.clear()}stop(){return this.doDone(!1)}doDone(o){return this.element.classList.add(E),this.element.classList.contains(m)?(this.bit.style.opacity="0",o?setTimeout(()=>this.off(),200):this.off()):(this.bit.style.width="inherit",o?setTimeout(()=>this.off(),200):this.off()),this}infinite(){return this.bit.style.width="2%",this.bit.style.opacity="1",this.element.classList.remove(b,E,_),this.element.classList.add(y,m),this.longRunningScheduler.schedule(),this}infiniteLongRunning(){this.element.classList.add(_)}getContainer(){return this.element}}e.ProgressBar=p}),define(ne[173],se([1,0,5,93,69,14,126,6,2,16,470]),function(oe,e,d,k,I,E,y,m,_,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Sash=e.OrthogonalEdge=void 0;const p=!1;var n;(function(u){u.North="north",u.South="south",u.East="east",u.West="west"})(n||(e.OrthogonalEdge=n={}));let o=4;const t=new m.Emitter;let i=300;const s=new m.Emitter;class g{constructor(C){this.el=C,this.disposables=new _.DisposableStore}get onPointerMove(){return this.disposables.add(new k.DomEmitter((0,d.getWindow)(this.el),"mousemove")).event}get onPointerUp(){return this.disposables.add(new k.DomEmitter((0,d.getWindow)(this.el),"mouseup")).event}dispose(){this.disposables.dispose()}}ke([y.memoize],g.prototype,"onPointerMove",null),ke([y.memoize],g.prototype,"onPointerUp",null);class c{get onPointerMove(){return this.disposables.add(new k.DomEmitter(this.el,I.EventType.Change)).event}get onPointerUp(){return this.disposables.add(new k.DomEmitter(this.el,I.EventType.End)).event}constructor(C){this.el=C,this.disposables=new _.DisposableStore}dispose(){this.disposables.dispose()}}ke([y.memoize],c.prototype,"onPointerMove",null),ke([y.memoize],c.prototype,"onPointerUp",null);class l{get onPointerMove(){return this.factory.onPointerMove}get onPointerUp(){return this.factory.onPointerUp}constructor(C){this.factory=C}dispose(){}}ke([y.memoize],l.prototype,"onPointerMove",null),ke([y.memoize],l.prototype,"onPointerUp",null);const a="pointer-events-disabled";class r extends _.Disposable{get state(){return this._state}get orthogonalStartSash(){return this._orthogonalStartSash}get orthogonalEndSash(){return this._orthogonalEndSash}set state(C){this._state!==C&&(this.el.classList.toggle("disabled",C===0),this.el.classList.toggle("minimum",C===1),this.el.classList.toggle("maximum",C===2),this._state=C,this.onDidEnablementChange.fire(C))}set orthogonalStartSash(C){if(this._orthogonalStartSash!==C){if(this.orthogonalStartDragHandleDisposables.clear(),this.orthogonalStartSashDisposables.clear(),C){const f=h=>{this.orthogonalStartDragHandleDisposables.clear(),h!==0&&(this._orthogonalStartDragHandle=(0,d.append)(this.el,(0,d.$)(".orthogonal-drag-handle.start")),this.orthogonalStartDragHandleDisposables.add((0,_.toDisposable)(()=>this._orthogonalStartDragHandle.remove())),this.orthogonalStartDragHandleDisposables.add(new k.DomEmitter(this._orthogonalStartDragHandle,"mouseenter")).event(()=>r.onMouseEnter(C),void 0,this.orthogonalStartDragHandleDisposables),this.orthogonalStartDragHandleDisposables.add(new k.DomEmitter(this._orthogonalStartDragHandle,"mouseleave")).event(()=>r.onMouseLeave(C),void 0,this.orthogonalStartDragHandleDisposables))};this.orthogonalStartSashDisposables.add(C.onDidEnablementChange.event(f,this)),f(C.state)}this._orthogonalStartSash=C}}set orthogonalEndSash(C){if(this._orthogonalEndSash!==C){if(this.orthogonalEndDragHandleDisposables.clear(),this.orthogonalEndSashDisposables.clear(),C){const f=h=>{this.orthogonalEndDragHandleDisposables.clear(),h!==0&&(this._orthogonalEndDragHandle=(0,d.append)(this.el,(0,d.$)(".orthogonal-drag-handle.end")),this.orthogonalEndDragHandleDisposables.add((0,_.toDisposable)(()=>this._orthogonalEndDragHandle.remove())),this.orthogonalEndDragHandleDisposables.add(new k.DomEmitter(this._orthogonalEndDragHandle,"mouseenter")).event(()=>r.onMouseEnter(C),void 0,this.orthogonalEndDragHandleDisposables),this.orthogonalEndDragHandleDisposables.add(new k.DomEmitter(this._orthogonalEndDragHandle,"mouseleave")).event(()=>r.onMouseLeave(C),void 0,this.orthogonalEndDragHandleDisposables))};this.orthogonalEndSashDisposables.add(C.onDidEnablementChange.event(f,this)),f(C.state)}this._orthogonalEndSash=C}}constructor(C,f,h){super(),this.hoverDelay=i,this.hoverDelayer=this._register(new E.Delayer(this.hoverDelay)),this._state=3,this.onDidEnablementChange=this._register(new m.Emitter),this._onDidStart=this._register(new m.Emitter),this._onDidChange=this._register(new m.Emitter),this._onDidReset=this._register(new m.Emitter),this._onDidEnd=this._register(new m.Emitter),this.orthogonalStartSashDisposables=this._register(new _.DisposableStore),this.orthogonalStartDragHandleDisposables=this._register(new _.DisposableStore),this.orthogonalEndSashDisposables=this._register(new _.DisposableStore),this.orthogonalEndDragHandleDisposables=this._register(new _.DisposableStore),this.onDidStart=this._onDidStart.event,this.onDidChange=this._onDidChange.event,this.onDidReset=this._onDidReset.event,this.onDidEnd=this._onDidEnd.event,this.linkedSash=void 0,this.el=(0,d.append)(C,(0,d.$)(".monaco-sash")),h.orthogonalEdge&&this.el.classList.add(`orthogonal-edge-${h.orthogonalEdge}`),b.isMacintosh&&this.el.classList.add("mac");const v=this._register(new k.DomEmitter(this.el,"mousedown")).event;this._register(v(A=>this.onPointerStart(A,new g(C)),this));const w=this._register(new k.DomEmitter(this.el,"dblclick")).event;this._register(w(this.onPointerDoublePress,this));const S=this._register(new k.DomEmitter(this.el,"mouseenter")).event;this._register(S(()=>r.onMouseEnter(this)));const L=this._register(new k.DomEmitter(this.el,"mouseleave")).event;this._register(L(()=>r.onMouseLeave(this))),this._register(I.Gesture.addTarget(this.el));const D=this._register(new k.DomEmitter(this.el,I.EventType.Start)).event;this._register(D(A=>this.onPointerStart(A,new c(this.el)),this));const T=this._register(new k.DomEmitter(this.el,I.EventType.Tap)).event;let M;this._register(T(A=>{if(M){clearTimeout(M),M=void 0,this.onPointerDoublePress(A);return}clearTimeout(M),M=setTimeout(()=>M=void 0,250)},this)),typeof h.size=="number"?(this.size=h.size,h.orientation===0?this.el.style.width=`${this.size}px`:this.el.style.height=`${this.size}px`):(this.size=o,this._register(t.event(A=>{this.size=A,this.layout()}))),this._register(s.event(A=>this.hoverDelay=A)),this.layoutProvider=f,this.orthogonalStartSash=h.orthogonalStartSash,this.orthogonalEndSash=h.orthogonalEndSash,this.orientation=h.orientation||0,this.orientation===1?(this.el.classList.add("horizontal"),this.el.classList.remove("vertical")):(this.el.classList.remove("horizontal"),this.el.classList.add("vertical")),this.el.classList.toggle("debug",p),this.layout()}onPointerStart(C,f){d.EventHelper.stop(C);let h=!1;if(!C.__orthogonalSashEvent){const O=this.getOrthogonalSash(C);O&&(h=!0,C.__orthogonalSashEvent=!0,O.onPointerStart(C,new l(f)))}if(this.linkedSash&&!C.__linkedSashEvent&&(C.__linkedSashEvent=!0,this.linkedSash.onPointerStart(C,new l(f))),!this.state)return;const v=this.el.ownerDocument.getElementsByTagName("iframe");for(const O of v)O.classList.add(a);const w=C.pageX,S=C.pageY,L=C.altKey,D={startX:w,currentX:w,startY:S,currentY:S,altKey:L};this.el.classList.add("active"),this._onDidStart.fire(D);const T=(0,d.createStyleSheet)(this.el),M=()=>{let O="";h?O="all-scroll":this.orientation===1?this.state===1?O="s-resize":this.state===2?O="n-resize":O=b.isMacintosh?"row-resize":"ns-resize":this.state===1?O="e-resize":this.state===2?O="w-resize":O=b.isMacintosh?"col-resize":"ew-resize",T.textContent=`* { cursor: ${O} !important; }`},A=new _.DisposableStore;M(),h||this.onDidEnablementChange.event(M,null,A);const P=O=>{d.EventHelper.stop(O,!1);const F={startX:w,currentX:O.pageX,startY:S,currentY:O.pageY,altKey:L};this._onDidChange.fire(F)},N=O=>{d.EventHelper.stop(O,!1),T.remove(),this.el.classList.remove("active"),this._onDidEnd.fire(),A.dispose();for(const F of v)F.classList.remove(a)};f.onPointerMove(P,null,A),f.onPointerUp(N,null,A),A.add(f)}onPointerDoublePress(C){const f=this.getOrthogonalSash(C);f&&f._onDidReset.fire(),this.linkedSash&&this.linkedSash._onDidReset.fire(),this._onDidReset.fire()}static onMouseEnter(C,f=!1){C.el.classList.contains("active")?(C.hoverDelayer.cancel(),C.el.classList.add("hover")):C.hoverDelayer.trigger(()=>C.el.classList.add("hover"),C.hoverDelay).then(void 0,()=>{}),!f&&C.linkedSash&&r.onMouseEnter(C.linkedSash,!0)}static onMouseLeave(C,f=!1){C.hoverDelayer.cancel(),C.el.classList.remove("hover"),!f&&C.linkedSash&&r.onMouseLeave(C.linkedSash,!0)}clearSashHoverState(){r.onMouseLeave(this)}layout(){if(this.orientation===0){const C=this.layoutProvider;this.el.style.left=C.getVerticalSashLeft(this)-this.size/2+"px",C.getVerticalSashTop&&(this.el.style.top=C.getVerticalSashTop(this)+"px"),C.getVerticalSashHeight&&(this.el.style.height=C.getVerticalSashHeight(this)+"px")}else{const C=this.layoutProvider;this.el.style.top=C.getHorizontalSashTop(this)-this.size/2+"px",C.getHorizontalSashLeft&&(this.el.style.left=C.getHorizontalSashLeft(this)+"px"),C.getHorizontalSashWidth&&(this.el.style.width=C.getHorizontalSashWidth(this)+"px")}}getOrthogonalSash(C){const f=C.initialTarget??C.target;if(!(!f||!(0,d.isHTMLElement)(f))&&f.classList.contains("orthogonal-drag-handle"))return f.classList.contains("start")?this.orthogonalStartSash:this.orthogonalEndSash}dispose(){super.dispose(),this.el.remove()}}e.Sash=r}),define(ne[255],se([1,0,5,173,6,2]),function(oe,e,d,k,I,E){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ResizableHTMLElement=void 0;class y{constructor(){this._onDidWillResize=new I.Emitter,this.onDidWillResize=this._onDidWillResize.event,this._onDidResize=new I.Emitter,this.onDidResize=this._onDidResize.event,this._sashListener=new E.DisposableStore,this._size=new d.Dimension(0,0),this._minSize=new d.Dimension(0,0),this._maxSize=new d.Dimension(Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER),this.domNode=document.createElement("div"),this._eastSash=new k.Sash(this.domNode,{getVerticalSashLeft:()=>this._size.width},{orientation:0}),this._westSash=new k.Sash(this.domNode,{getVerticalSashLeft:()=>0},{orientation:0}),this._northSash=new k.Sash(this.domNode,{getHorizontalSashTop:()=>0},{orientation:1,orthogonalEdge:k.OrthogonalEdge.North}),this._southSash=new k.Sash(this.domNode,{getHorizontalSashTop:()=>this._size.height},{orientation:1,orthogonalEdge:k.OrthogonalEdge.South}),this._northSash.orthogonalStartSash=this._westSash,this._northSash.orthogonalEndSash=this._eastSash,this._southSash.orthogonalStartSash=this._westSash,this._southSash.orthogonalEndSash=this._eastSash;let _,b=0,p=0;this._sashListener.add(I.Event.any(this._northSash.onDidStart,this._eastSash.onDidStart,this._southSash.onDidStart,this._westSash.onDidStart)(()=>{_===void 0&&(this._onDidWillResize.fire(),_=this._size,b=0,p=0)})),this._sashListener.add(I.Event.any(this._northSash.onDidEnd,this._eastSash.onDidEnd,this._southSash.onDidEnd,this._westSash.onDidEnd)(()=>{_!==void 0&&(_=void 0,b=0,p=0,this._onDidResize.fire({dimension:this._size,done:!0}))})),this._sashListener.add(this._eastSash.onDidChange(n=>{_&&(p=n.currentX-n.startX,this.layout(_.height+b,_.width+p),this._onDidResize.fire({dimension:this._size,done:!1,east:!0}))})),this._sashListener.add(this._westSash.onDidChange(n=>{_&&(p=-(n.currentX-n.startX),this.layout(_.height+b,_.width+p),this._onDidResize.fire({dimension:this._size,done:!1,west:!0}))})),this._sashListener.add(this._northSash.onDidChange(n=>{_&&(b=-(n.currentY-n.startY),this.layout(_.height+b,_.width+p),this._onDidResize.fire({dimension:this._size,done:!1,north:!0}))})),this._sashListener.add(this._southSash.onDidChange(n=>{_&&(b=n.currentY-n.startY,this.layout(_.height+b,_.width+p),this._onDidResize.fire({dimension:this._size,done:!1,south:!0}))})),this._sashListener.add(I.Event.any(this._eastSash.onDidReset,this._westSash.onDidReset)(n=>{this._preferredSize&&(this.layout(this._size.height,this._preferredSize.width),this._onDidResize.fire({dimension:this._size,done:!0}))})),this._sashListener.add(I.Event.any(this._northSash.onDidReset,this._southSash.onDidReset)(n=>{this._preferredSize&&(this.layout(this._preferredSize.height,this._size.width),this._onDidResize.fire({dimension:this._size,done:!0}))}))}dispose(){this._northSash.dispose(),this._southSash.dispose(),this._eastSash.dispose(),this._westSash.dispose(),this._sashListener.dispose(),this._onDidResize.dispose(),this._onDidWillResize.dispose(),this.domNode.remove()}enableSashes(_,b,p,n){this._northSash.state=_?3:0,this._eastSash.state=b?3:0,this._southSash.state=p?3:0,this._westSash.state=n?3:0}layout(_=this.size.height,b=this.size.width){const{height:p,width:n}=this._minSize,{height:o,width:t}=this._maxSize;_=Math.max(p,Math.min(o,_)),b=Math.max(n,Math.min(t,b));const i=new d.Dimension(b,_);d.Dimension.equals(i,this._size)||(this.domNode.style.height=_+"px",this.domNode.style.width=b+"px",this._size=i,this._northSash.layout(),this._eastSash.layout(),this._southSash.layout(),this._westSash.layout())}clearSashHoverState(){this._eastSash.clearSashHoverState(),this._westSash.clearSashHoverState(),this._northSash.clearSashHoverState(),this._southSash.clearSashHoverState()}get size(){return this._size}set maxSize(_){this._maxSize=_}get maxSize(){return this._maxSize}set minSize(_){this._minSize=_}get minSize(){return this._minSize}set preferredSize(_){this._preferredSize=_}get preferredSize(){return this._preferredSize}}e.ResizableHTMLElement=y}),define(ne[634],se([1,0,5,69,13,6,2,16]),function(oe,e,d,k,I,E,y,m){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SelectBoxNative=void 0;class _ extends y.Disposable{constructor(p,n,o,t){super(),this.selected=0,this.selectBoxOptions=t||Object.create(null),this.options=[],this.selectElement=document.createElement("select"),this.selectElement.className="monaco-select-box",typeof this.selectBoxOptions.ariaLabel=="string"&&this.selectElement.setAttribute("aria-label",this.selectBoxOptions.ariaLabel),typeof this.selectBoxOptions.ariaDescription=="string"&&this.selectElement.setAttribute("aria-description",this.selectBoxOptions.ariaDescription),this._onDidSelect=this._register(new E.Emitter),this.styles=o,this.registerListeners(),this.setOptions(p,n)}registerListeners(){this._register(k.Gesture.addTarget(this.selectElement)),[k.EventType.Tap].forEach(p=>{this._register(d.addDisposableListener(this.selectElement,p,n=>{this.selectElement.focus()}))}),this._register(d.addStandardDisposableListener(this.selectElement,"click",p=>{d.EventHelper.stop(p,!0)})),this._register(d.addStandardDisposableListener(this.selectElement,"change",p=>{this.selectElement.title=p.target.value,this._onDidSelect.fire({index:p.target.selectedIndex,selected:p.target.value})})),this._register(d.addStandardDisposableListener(this.selectElement,"keydown",p=>{let n=!1;m.isMacintosh?(p.keyCode===18||p.keyCode===16||p.keyCode===10)&&(n=!0):(p.keyCode===18&&p.altKey||p.keyCode===10||p.keyCode===3)&&(n=!0),n&&p.stopPropagation()}))}get onDidSelect(){return this._onDidSelect.event}setOptions(p,n){(!this.options||!I.equals(this.options,p))&&(this.options=p,this.selectElement.options.length=0,this.options.forEach((o,t)=>{this.selectElement.add(this.createOption(o.text,t,o.isDisabled))})),n!==void 0&&this.select(n)}select(p){this.options.length===0?this.selected=0:p>=0&&pthis.options.length-1?this.select(this.options.length-1):this.selected<0&&(this.selected=0),this.selectElement.selectedIndex=this.selected,this.selectedp(new I.StandardMouseEvent(d.getWindow(b),n))))}onmousedown(b,p){this._register(d.addDisposableListener(b,d.EventType.MOUSE_DOWN,n=>p(new I.StandardMouseEvent(d.getWindow(b),n))))}onmouseover(b,p){this._register(d.addDisposableListener(b,d.EventType.MOUSE_OVER,n=>p(new I.StandardMouseEvent(d.getWindow(b),n))))}onmouseleave(b,p){this._register(d.addDisposableListener(b,d.EventType.MOUSE_LEAVE,n=>p(new I.StandardMouseEvent(d.getWindow(b),n))))}onkeydown(b,p){this._register(d.addDisposableListener(b,d.EventType.KEY_DOWN,n=>p(new k.StandardKeyboardEvent(n))))}onkeyup(b,p){this._register(d.addDisposableListener(b,d.EventType.KEY_UP,n=>p(new k.StandardKeyboardEvent(n))))}oninput(b,p){this._register(d.addDisposableListener(b,d.EventType.INPUT,p))}onblur(b,p){this._register(d.addDisposableListener(b,d.EventType.BLUR,p))}onfocus(b,p){this._register(d.addDisposableListener(b,d.EventType.FOCUS,p))}ignoreGesture(b){return E.Gesture.ignoreTarget(b)}}e.Widget=m}),define(ne[256],se([1,0,172,85,14,30,5]),function(oe,e,d,k,I,E,y){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ScrollbarArrow=e.ARROW_IMG_SIZE=void 0,e.ARROW_IMG_SIZE=11;class m extends k.Widget{constructor(b){super(),this._onActivate=b.onActivate,this.bgDomNode=document.createElement("div"),this.bgDomNode.className="arrow-background",this.bgDomNode.style.position="absolute",this.bgDomNode.style.width=b.bgWidth+"px",this.bgDomNode.style.height=b.bgHeight+"px",typeof b.top<"u"&&(this.bgDomNode.style.top="0px"),typeof b.left<"u"&&(this.bgDomNode.style.left="0px"),typeof b.bottom<"u"&&(this.bgDomNode.style.bottom="0px"),typeof b.right<"u"&&(this.bgDomNode.style.right="0px"),this.domNode=document.createElement("div"),this.domNode.className=b.className,this.domNode.classList.add(...E.ThemeIcon.asClassNameArray(b.icon)),this.domNode.style.position="absolute",this.domNode.style.width=e.ARROW_IMG_SIZE+"px",this.domNode.style.height=e.ARROW_IMG_SIZE+"px",typeof b.top<"u"&&(this.domNode.style.top=b.top+"px"),typeof b.left<"u"&&(this.domNode.style.left=b.left+"px"),typeof b.bottom<"u"&&(this.domNode.style.bottom=b.bottom+"px"),typeof b.right<"u"&&(this.domNode.style.right=b.right+"px"),this._pointerMoveMonitor=this._register(new d.GlobalPointerMoveMonitor),this._register(y.addStandardDisposableListener(this.bgDomNode,y.EventType.POINTER_DOWN,p=>this._arrowPointerDown(p))),this._register(y.addStandardDisposableListener(this.domNode,y.EventType.POINTER_DOWN,p=>this._arrowPointerDown(p))),this._pointerdownRepeatTimer=this._register(new y.WindowIntervalTimer),this._pointerdownScheduleRepeatTimer=this._register(new I.TimeoutTimer)}_arrowPointerDown(b){if(!b.target||!(b.target instanceof Element))return;const p=()=>{this._pointerdownRepeatTimer.cancelAndSet(()=>this._onActivate(),1e3/24,y.getWindow(b))};this._onActivate(),this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancelAndSet(p,200),this._pointerMoveMonitor.startMonitoring(b.target,b.pointerId,b.buttons,n=>{},()=>{this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancel()}),b.preventDefault()}}e.ScrollbarArrow=m}),define(ne[356],se([1,0,5,39,172,256,626,85,16]),function(oe,e,d,k,I,E,y,m,_){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractScrollbar=void 0;const b=140;class p extends m.Widget{constructor(o){super(),this._lazyRender=o.lazyRender,this._host=o.host,this._scrollable=o.scrollable,this._scrollByPage=o.scrollByPage,this._scrollbarState=o.scrollbarState,this._visibilityController=this._register(new y.ScrollbarVisibilityController(o.visibility,"visible scrollbar "+o.extraScrollbarClassName,"invisible scrollbar "+o.extraScrollbarClassName)),this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._pointerMoveMonitor=this._register(new I.GlobalPointerMoveMonitor),this._shouldRender=!0,this.domNode=(0,k.createFastDomNode)(document.createElement("div")),this.domNode.setAttribute("role","presentation"),this.domNode.setAttribute("aria-hidden","true"),this._visibilityController.setDomNode(this.domNode),this.domNode.setPosition("absolute"),this._register(d.addDisposableListener(this.domNode.domNode,d.EventType.POINTER_DOWN,t=>this._domNodePointerDown(t)))}_createArrow(o){const t=this._register(new E.ScrollbarArrow(o));this.domNode.domNode.appendChild(t.bgDomNode),this.domNode.domNode.appendChild(t.domNode)}_createSlider(o,t,i,s){this.slider=(0,k.createFastDomNode)(document.createElement("div")),this.slider.setClassName("slider"),this.slider.setPosition("absolute"),this.slider.setTop(o),this.slider.setLeft(t),typeof i=="number"&&this.slider.setWidth(i),typeof s=="number"&&this.slider.setHeight(s),this.slider.setLayerHinting(!0),this.slider.setContain("strict"),this.domNode.domNode.appendChild(this.slider.domNode),this._register(d.addDisposableListener(this.slider.domNode,d.EventType.POINTER_DOWN,g=>{g.button===0&&(g.preventDefault(),this._sliderPointerDown(g))})),this.onclick(this.slider.domNode,g=>{g.leftButton&&g.stopPropagation()})}_onElementSize(o){return this._scrollbarState.setVisibleSize(o)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollSize(o){return this._scrollbarState.setScrollSize(o)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollPosition(o){return this._scrollbarState.setScrollPosition(o)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}beginReveal(){this._visibilityController.setShouldBeVisible(!0)}beginHide(){this._visibilityController.setShouldBeVisible(!1)}render(){this._shouldRender&&(this._shouldRender=!1,this._renderDomNode(this._scrollbarState.getRectangleLargeSize(),this._scrollbarState.getRectangleSmallSize()),this._updateSlider(this._scrollbarState.getSliderSize(),this._scrollbarState.getArrowSize()+this._scrollbarState.getSliderPosition()))}_domNodePointerDown(o){o.target===this.domNode.domNode&&this._onPointerDown(o)}delegatePointerDown(o){const t=this.domNode.domNode.getClientRects()[0].top,i=t+this._scrollbarState.getSliderPosition(),s=t+this._scrollbarState.getSliderPosition()+this._scrollbarState.getSliderSize(),g=this._sliderPointerPosition(o);i<=g&&g<=s?o.button===0&&(o.preventDefault(),this._sliderPointerDown(o)):this._onPointerDown(o)}_onPointerDown(o){let t,i;if(o.target===this.domNode.domNode&&typeof o.offsetX=="number"&&typeof o.offsetY=="number")t=o.offsetX,i=o.offsetY;else{const g=d.getDomNodePagePosition(this.domNode.domNode);t=o.pageX-g.left,i=o.pageY-g.top}const s=this._pointerDownRelativePosition(t,i);this._setDesiredScrollPositionNow(this._scrollByPage?this._scrollbarState.getDesiredScrollPositionFromOffsetPaged(s):this._scrollbarState.getDesiredScrollPositionFromOffset(s)),o.button===0&&(o.preventDefault(),this._sliderPointerDown(o))}_sliderPointerDown(o){if(!o.target||!(o.target instanceof Element))return;const t=this._sliderPointerPosition(o),i=this._sliderOrthogonalPointerPosition(o),s=this._scrollbarState.clone();this.slider.toggleClassName("active",!0),this._pointerMoveMonitor.startMonitoring(o.target,o.pointerId,o.buttons,g=>{const c=this._sliderOrthogonalPointerPosition(g),l=Math.abs(c-i);if(_.isWindows&&l>b){this._setDesiredScrollPositionNow(s.getScrollPosition());return}const r=this._sliderPointerPosition(g)-t;this._setDesiredScrollPositionNow(s.getDesiredScrollPositionFromDelta(r))},()=>{this.slider.toggleClassName("active",!1),this._host.onDragEnd()}),this._host.onDragStart()}_setDesiredScrollPositionNow(o){const t={};this.writeScrollPosition(t,o),this._scrollable.setScrollPositionNow(t)}updateScrollbarSize(o){this._updateScrollbarSize(o),this._scrollbarState.setScrollbarSize(o),this._shouldRender=!0,this._lazyRender||this.render()}isNeeded(){return this._scrollbarState.isNeeded()}}e.AbstractScrollbar=p}),define(ne[635],se([1,0,77,356,256,223,26]),function(oe,e,d,k,I,E,y){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.HorizontalScrollbar=void 0;class m extends k.AbstractScrollbar{constructor(b,p,n){const o=b.getScrollDimensions(),t=b.getCurrentScrollPosition();if(super({lazyRender:p.lazyRender,host:n,scrollbarState:new E.ScrollbarState(p.horizontalHasArrows?p.arrowSize:0,p.horizontal===2?0:p.horizontalScrollbarSize,p.vertical===2?0:p.verticalScrollbarSize,o.width,o.scrollWidth,t.scrollLeft),visibility:p.horizontal,extraScrollbarClassName:"horizontal",scrollable:b,scrollByPage:p.scrollByPage}),p.horizontalHasArrows){const i=(p.arrowSize-I.ARROW_IMG_SIZE)/2,s=(p.horizontalScrollbarSize-I.ARROW_IMG_SIZE)/2;this._createArrow({className:"scra",icon:y.Codicon.scrollbarButtonLeft,top:s,left:i,bottom:void 0,right:void 0,bgWidth:p.arrowSize,bgHeight:p.horizontalScrollbarSize,onActivate:()=>this._host.onMouseWheel(new d.StandardWheelEvent(null,1,0))}),this._createArrow({className:"scra",icon:y.Codicon.scrollbarButtonRight,top:s,left:void 0,bottom:void 0,right:i,bgWidth:p.arrowSize,bgHeight:p.horizontalScrollbarSize,onActivate:()=>this._host.onMouseWheel(new d.StandardWheelEvent(null,-1,0))})}this._createSlider(Math.floor((p.horizontalScrollbarSize-p.horizontalSliderSize)/2),0,void 0,p.horizontalSliderSize)}_updateSlider(b,p){this.slider.setWidth(b),this.slider.setLeft(p)}_renderDomNode(b,p){this.domNode.setWidth(b),this.domNode.setHeight(p),this.domNode.setLeft(0),this.domNode.setBottom(0)}onDidScroll(b){return this._shouldRender=this._onElementScrollSize(b.scrollWidth)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(b.scrollLeft)||this._shouldRender,this._shouldRender=this._onElementSize(b.width)||this._shouldRender,this._shouldRender}_pointerDownRelativePosition(b,p){return b}_sliderPointerPosition(b){return b.pageX}_sliderOrthogonalPointerPosition(b){return b.pageY}_updateScrollbarSize(b){this.slider.setHeight(b)}writeScrollPosition(b,p){b.scrollLeft=p}updateOptions(b){this.updateScrollbarSize(b.horizontal===2?0:b.horizontalScrollbarSize),this._scrollbarState.setOppositeScrollbarSize(b.vertical===2?0:b.verticalScrollbarSize),this._visibilityController.setVisibility(b.horizontal),this._scrollByPage=b.scrollByPage}}e.HorizontalScrollbar=m}),define(ne[636],se([1,0,77,356,256,223,26]),function(oe,e,d,k,I,E,y){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.VerticalScrollbar=void 0;class m extends k.AbstractScrollbar{constructor(b,p,n){const o=b.getScrollDimensions(),t=b.getCurrentScrollPosition();if(super({lazyRender:p.lazyRender,host:n,scrollbarState:new E.ScrollbarState(p.verticalHasArrows?p.arrowSize:0,p.vertical===2?0:p.verticalScrollbarSize,0,o.height,o.scrollHeight,t.scrollTop),visibility:p.vertical,extraScrollbarClassName:"vertical",scrollable:b,scrollByPage:p.scrollByPage}),p.verticalHasArrows){const i=(p.arrowSize-I.ARROW_IMG_SIZE)/2,s=(p.verticalScrollbarSize-I.ARROW_IMG_SIZE)/2;this._createArrow({className:"scra",icon:y.Codicon.scrollbarButtonUp,top:i,left:s,bottom:void 0,right:void 0,bgWidth:p.verticalScrollbarSize,bgHeight:p.arrowSize,onActivate:()=>this._host.onMouseWheel(new d.StandardWheelEvent(null,0,1))}),this._createArrow({className:"scra",icon:y.Codicon.scrollbarButtonDown,top:void 0,left:s,bottom:i,right:void 0,bgWidth:p.verticalScrollbarSize,bgHeight:p.arrowSize,onActivate:()=>this._host.onMouseWheel(new d.StandardWheelEvent(null,0,-1))})}this._createSlider(0,Math.floor((p.verticalScrollbarSize-p.verticalSliderSize)/2),p.verticalSliderSize,void 0)}_updateSlider(b,p){this.slider.setHeight(b),this.slider.setTop(p)}_renderDomNode(b,p){this.domNode.setWidth(p),this.domNode.setHeight(b),this.domNode.setRight(0),this.domNode.setTop(0)}onDidScroll(b){return this._shouldRender=this._onElementScrollSize(b.scrollHeight)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(b.scrollTop)||this._shouldRender,this._shouldRender=this._onElementSize(b.height)||this._shouldRender,this._shouldRender}_pointerDownRelativePosition(b,p){return p}_sliderPointerPosition(b){return b.pageY}_sliderOrthogonalPointerPosition(b){return b.pageX}_updateScrollbarSize(b){this.slider.setWidth(b)}writeScrollPosition(b,p){b.scrollTop=p}updateOptions(b){this.updateScrollbarSize(b.vertical===2?0:b.verticalScrollbarSize),this._scrollbarState.setOppositeScrollbarSize(0),this._visibilityController.setVisibility(b.vertical),this._scrollByPage=b.scrollByPage}}e.VerticalScrollbar=m}),define(ne[86],se([1,0,64,5,39,77,635,636,85,14,6,2,16,163,471]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DomScrollableElement=e.SmoothScrollableElement=e.ScrollableElement=e.AbstractScrollableElement=e.MouseWheelClassifier=void 0;const i=500,s=50,g=!0;class c{constructor(v,w,S){this.timestamp=v,this.deltaX=w,this.deltaY=S,this.score=0}}class l{static{this.INSTANCE=new l}constructor(){this._capacity=5,this._memory=[],this._front=-1,this._rear=-1}isPhysicalMouseWheel(){if(this._front===-1&&this._rear===-1)return!1;let v=1,w=0,S=1,L=this._rear;do{const D=L===this._front?v:Math.pow(2,-S);if(v-=D,w+=this._memory[L].score*D,L===this._front)break;L=(this._capacity+L-1)%this._capacity,S++}while(!0);return w<=.5}acceptStandardWheelEvent(v){if(d.isChrome){const w=k.getWindow(v.browserEvent),S=(0,d.getZoomFactor)(w);this.accept(Date.now(),v.deltaX*S,v.deltaY*S)}else this.accept(Date.now(),v.deltaX,v.deltaY)}accept(v,w,S){let L=null;const D=new c(v,w,S);this._front===-1&&this._rear===-1?(this._memory[0]=D,this._front=0,this._rear=0):(L=this._memory[this._rear],this._rear=(this._rear+1)%this._capacity,this._rear===this._front&&(this._front=(this._front+1)%this._capacity),this._memory[this._rear]=D),D.score=this._computeScore(D,L)}_computeScore(v,w){if(Math.abs(v.deltaX)>0&&Math.abs(v.deltaY)>0)return 1;let S=.5;if((!this._isAlmostInt(v.deltaX)||!this._isAlmostInt(v.deltaY))&&(S+=.25),w){const L=Math.abs(v.deltaX),D=Math.abs(v.deltaY),T=Math.abs(w.deltaX),M=Math.abs(w.deltaY),A=Math.max(Math.min(L,T),1),P=Math.max(Math.min(D,M),1),N=Math.max(L,T),O=Math.max(D,M);N%A===0&&O%P===0&&(S-=.5)}return Math.min(Math.max(S,0),1)}_isAlmostInt(v){return Math.abs(Math.round(v)-v)<.01}}e.MouseWheelClassifier=l;class a extends _.Widget{get options(){return this._options}constructor(v,w,S){super(),this._onScroll=this._register(new p.Emitter),this.onScroll=this._onScroll.event,this._onWillScroll=this._register(new p.Emitter),v.style.overflow="hidden",this._options=f(w),this._scrollable=S,this._register(this._scrollable.onScroll(D=>{this._onWillScroll.fire(D),this._onDidScroll(D),this._onScroll.fire(D)}));const L={onMouseWheel:D=>this._onMouseWheel(D),onDragStart:()=>this._onDragStart(),onDragEnd:()=>this._onDragEnd()};this._verticalScrollbar=this._register(new m.VerticalScrollbar(this._scrollable,this._options,L)),this._horizontalScrollbar=this._register(new y.HorizontalScrollbar(this._scrollable,this._options,L)),this._domNode=document.createElement("div"),this._domNode.className="monaco-scrollable-element "+this._options.className,this._domNode.setAttribute("role","presentation"),this._domNode.style.position="relative",this._domNode.style.overflow="hidden",this._domNode.appendChild(v),this._domNode.appendChild(this._horizontalScrollbar.domNode.domNode),this._domNode.appendChild(this._verticalScrollbar.domNode.domNode),this._options.useShadows?(this._leftShadowDomNode=(0,I.createFastDomNode)(document.createElement("div")),this._leftShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._leftShadowDomNode.domNode),this._topShadowDomNode=(0,I.createFastDomNode)(document.createElement("div")),this._topShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._topShadowDomNode.domNode),this._topLeftShadowDomNode=(0,I.createFastDomNode)(document.createElement("div")),this._topLeftShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._topLeftShadowDomNode.domNode)):(this._leftShadowDomNode=null,this._topShadowDomNode=null,this._topLeftShadowDomNode=null),this._listenOnDomNode=this._options.listenOnDomNode||this._domNode,this._mouseWheelToDispose=[],this._setListeningToMouseWheel(this._options.handleMouseWheel),this.onmouseover(this._listenOnDomNode,D=>this._onMouseOver(D)),this.onmouseleave(this._listenOnDomNode,D=>this._onMouseLeave(D)),this._hideTimeout=this._register(new b.TimeoutTimer),this._isDragging=!1,this._mouseIsOver=!1,this._shouldRender=!0,this._revealOnScroll=!0}dispose(){this._mouseWheelToDispose=(0,n.dispose)(this._mouseWheelToDispose),super.dispose()}getDomNode(){return this._domNode}getOverviewRulerLayoutInfo(){return{parent:this._domNode,insertBefore:this._verticalScrollbar.domNode.domNode}}delegateVerticalScrollbarPointerDown(v){this._verticalScrollbar.delegatePointerDown(v)}getScrollDimensions(){return this._scrollable.getScrollDimensions()}setScrollDimensions(v){this._scrollable.setScrollDimensions(v,!1)}updateClassName(v){this._options.className=v,o.isMacintosh&&(this._options.className+=" mac"),this._domNode.className="monaco-scrollable-element "+this._options.className}updateOptions(v){typeof v.handleMouseWheel<"u"&&(this._options.handleMouseWheel=v.handleMouseWheel,this._setListeningToMouseWheel(this._options.handleMouseWheel)),typeof v.mouseWheelScrollSensitivity<"u"&&(this._options.mouseWheelScrollSensitivity=v.mouseWheelScrollSensitivity),typeof v.fastScrollSensitivity<"u"&&(this._options.fastScrollSensitivity=v.fastScrollSensitivity),typeof v.scrollPredominantAxis<"u"&&(this._options.scrollPredominantAxis=v.scrollPredominantAxis),typeof v.horizontal<"u"&&(this._options.horizontal=v.horizontal),typeof v.vertical<"u"&&(this._options.vertical=v.vertical),typeof v.horizontalScrollbarSize<"u"&&(this._options.horizontalScrollbarSize=v.horizontalScrollbarSize),typeof v.verticalScrollbarSize<"u"&&(this._options.verticalScrollbarSize=v.verticalScrollbarSize),typeof v.scrollByPage<"u"&&(this._options.scrollByPage=v.scrollByPage),this._horizontalScrollbar.updateOptions(this._options),this._verticalScrollbar.updateOptions(this._options),this._options.lazyRender||this._render()}delegateScrollFromMouseWheelEvent(v){this._onMouseWheel(new E.StandardWheelEvent(v))}_setListeningToMouseWheel(v){if(this._mouseWheelToDispose.length>0!==v&&(this._mouseWheelToDispose=(0,n.dispose)(this._mouseWheelToDispose),v)){const S=L=>{this._onMouseWheel(new E.StandardWheelEvent(L))};this._mouseWheelToDispose.push(k.addDisposableListener(this._listenOnDomNode,k.EventType.MOUSE_WHEEL,S,{passive:!1}))}}_onMouseWheel(v){if(v.browserEvent?.defaultPrevented)return;const w=l.INSTANCE;g&&w.acceptStandardWheelEvent(v);let S=!1;if(v.deltaY||v.deltaX){let D=v.deltaY*this._options.mouseWheelScrollSensitivity,T=v.deltaX*this._options.mouseWheelScrollSensitivity;this._options.scrollPredominantAxis&&(this._options.scrollYToX&&T+D===0?T=D=0:Math.abs(D)>=Math.abs(T)?T=0:D=0),this._options.flipAxes&&([D,T]=[T,D]);const M=!o.isMacintosh&&v.browserEvent&&v.browserEvent.shiftKey;(this._options.scrollYToX||M)&&!T&&(T=D,D=0),v.browserEvent&&v.browserEvent.altKey&&(T=T*this._options.fastScrollSensitivity,D=D*this._options.fastScrollSensitivity);const A=this._scrollable.getFutureScrollPosition();let P={};if(D){const N=s*D,O=A.scrollTop-(N<0?Math.floor(N):Math.ceil(N));this._verticalScrollbar.writeScrollPosition(P,O)}if(T){const N=s*T,O=A.scrollLeft-(N<0?Math.floor(N):Math.ceil(N));this._horizontalScrollbar.writeScrollPosition(P,O)}P=this._scrollable.validateScrollPosition(P),(A.scrollLeft!==P.scrollLeft||A.scrollTop!==P.scrollTop)&&(g&&this._options.mouseWheelSmoothScroll&&w.isPhysicalMouseWheel()?this._scrollable.setScrollPositionSmooth(P):this._scrollable.setScrollPositionNow(P),S=!0)}let L=S;!L&&this._options.alwaysConsumeMouseWheel&&(L=!0),!L&&this._options.consumeMouseWheelIfScrollbarIsNeeded&&(this._verticalScrollbar.isNeeded()||this._horizontalScrollbar.isNeeded())&&(L=!0),L&&(v.preventDefault(),v.stopPropagation())}_onDidScroll(v){this._shouldRender=this._horizontalScrollbar.onDidScroll(v)||this._shouldRender,this._shouldRender=this._verticalScrollbar.onDidScroll(v)||this._shouldRender,this._options.useShadows&&(this._shouldRender=!0),this._revealOnScroll&&this._reveal(),this._options.lazyRender||this._render()}renderNow(){if(!this._options.lazyRender)throw new Error("Please use `lazyRender` together with `renderNow`!");this._render()}_render(){if(this._shouldRender&&(this._shouldRender=!1,this._horizontalScrollbar.render(),this._verticalScrollbar.render(),this._options.useShadows)){const v=this._scrollable.getCurrentScrollPosition(),w=v.scrollTop>0,S=v.scrollLeft>0,L=S?" left":"",D=w?" top":"",T=S||w?" top-left-corner":"";this._leftShadowDomNode.setClassName(`shadow${L}`),this._topShadowDomNode.setClassName(`shadow${D}`),this._topLeftShadowDomNode.setClassName(`shadow${T}${D}${L}`)}}_onDragStart(){this._isDragging=!0,this._reveal()}_onDragEnd(){this._isDragging=!1,this._hide()}_onMouseLeave(v){this._mouseIsOver=!1,this._hide()}_onMouseOver(v){this._mouseIsOver=!0,this._reveal()}_reveal(){this._verticalScrollbar.beginReveal(),this._horizontalScrollbar.beginReveal(),this._scheduleHide()}_hide(){!this._mouseIsOver&&!this._isDragging&&(this._verticalScrollbar.beginHide(),this._horizontalScrollbar.beginHide())}_scheduleHide(){!this._mouseIsOver&&!this._isDragging&&this._hideTimeout.cancelAndSet(()=>this._hide(),i)}}e.AbstractScrollableElement=a;class r extends a{constructor(v,w){w=w||{},w.mouseWheelSmoothScroll=!1;const S=new t.Scrollable({forceIntegerValues:!0,smoothScrollDuration:0,scheduleAtNextAnimationFrame:L=>k.scheduleAtNextAnimationFrame(k.getWindow(v),L)});super(v,w,S),this._register(S)}setScrollPosition(v){this._scrollable.setScrollPositionNow(v)}}e.ScrollableElement=r;class u extends a{constructor(v,w,S){super(v,w,S)}setScrollPosition(v){v.reuseAnimation?this._scrollable.setScrollPositionSmooth(v,v.reuseAnimation):this._scrollable.setScrollPositionNow(v)}getScrollPosition(){return this._scrollable.getCurrentScrollPosition()}}e.SmoothScrollableElement=u;class C extends a{constructor(v,w){w=w||{},w.mouseWheelSmoothScroll=!1;const S=new t.Scrollable({forceIntegerValues:!1,smoothScrollDuration:0,scheduleAtNextAnimationFrame:L=>k.scheduleAtNextAnimationFrame(k.getWindow(v),L)});super(v,w,S),this._register(S),this._element=v,this._register(this.onScroll(L=>{L.scrollTopChanged&&(this._element.scrollTop=L.scrollTop),L.scrollLeftChanged&&(this._element.scrollLeft=L.scrollLeft)})),this.scanDomNode()}setScrollPosition(v){this._scrollable.setScrollPositionNow(v)}getScrollPosition(){return this._scrollable.getCurrentScrollPosition()}scanDomNode(){this.setScrollDimensions({width:this._element.clientWidth,scrollWidth:this._element.scrollWidth,height:this._element.clientHeight,scrollHeight:this._element.scrollHeight}),this.setScrollPosition({scrollLeft:this._element.scrollLeft,scrollTop:this._element.scrollTop})}}e.DomScrollableElement=C;function f(h){const v={lazyRender:typeof h.lazyRender<"u"?h.lazyRender:!1,className:typeof h.className<"u"?h.className:"",useShadows:typeof h.useShadows<"u"?h.useShadows:!0,handleMouseWheel:typeof h.handleMouseWheel<"u"?h.handleMouseWheel:!0,flipAxes:typeof h.flipAxes<"u"?h.flipAxes:!1,consumeMouseWheelIfScrollbarIsNeeded:typeof h.consumeMouseWheelIfScrollbarIsNeeded<"u"?h.consumeMouseWheelIfScrollbarIsNeeded:!1,alwaysConsumeMouseWheel:typeof h.alwaysConsumeMouseWheel<"u"?h.alwaysConsumeMouseWheel:!1,scrollYToX:typeof h.scrollYToX<"u"?h.scrollYToX:!1,mouseWheelScrollSensitivity:typeof h.mouseWheelScrollSensitivity<"u"?h.mouseWheelScrollSensitivity:1,fastScrollSensitivity:typeof h.fastScrollSensitivity<"u"?h.fastScrollSensitivity:5,scrollPredominantAxis:typeof h.scrollPredominantAxis<"u"?h.scrollPredominantAxis:!0,mouseWheelSmoothScroll:typeof h.mouseWheelSmoothScroll<"u"?h.mouseWheelSmoothScroll:!0,arrowSize:typeof h.arrowSize<"u"?h.arrowSize:11,listenOnDomNode:typeof h.listenOnDomNode<"u"?h.listenOnDomNode:null,horizontal:typeof h.horizontal<"u"?h.horizontal:1,horizontalScrollbarSize:typeof h.horizontalScrollbarSize<"u"?h.horizontalScrollbarSize:10,horizontalSliderSize:typeof h.horizontalSliderSize<"u"?h.horizontalSliderSize:0,horizontalHasArrows:typeof h.horizontalHasArrows<"u"?h.horizontalHasArrows:!1,vertical:typeof h.vertical<"u"?h.vertical:1,verticalScrollbarSize:typeof h.verticalScrollbarSize<"u"?h.verticalScrollbarSize:10,verticalHasArrows:typeof h.verticalHasArrows<"u"?h.verticalHasArrows:!1,verticalSliderSize:typeof h.verticalSliderSize<"u"?h.verticalSliderSize:0,scrollByPage:typeof h.scrollByPage<"u"?h.scrollByPage:!1};return v.horizontalSliderSize=typeof h.horizontalSliderSize<"u"?h.horizontalSliderSize:v.horizontalScrollbarSize,v.verticalSliderSize=typeof h.verticalSliderSize<"u"?h.verticalSliderSize:v.verticalScrollbarSize,o.isMacintosh&&(v.className+=" mac"),v}}),define(ne[174],se([1,0,5,47,86,2,3,464]),function(oe,e,d,k,I,E,y){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.KeyDownAction=e.ClickAction=e.HoverAction=e.HoverWidget=void 0,e.getHoverAccessibleViewHint=p;const m=d.$;class _ extends E.Disposable{constructor(){super(),this.containerDomNode=document.createElement("div"),this.containerDomNode.className="monaco-hover",this.containerDomNode.tabIndex=0,this.containerDomNode.setAttribute("role","tooltip"),this.contentsDomNode=document.createElement("div"),this.contentsDomNode.className="monaco-hover-content",this.scrollbar=this._register(new I.DomScrollableElement(this.contentsDomNode,{consumeMouseWheelIfScrollbarIsNeeded:!0})),this.containerDomNode.appendChild(this.scrollbar.getDomNode())}onContentsChanged(){this.scrollbar.scanDomNode()}}e.HoverWidget=_;class b extends E.Disposable{static render(i,s,g){return new b(i,s,g)}constructor(i,s,g){super(),this.actionLabel=s.label,this.actionKeybindingLabel=g,this.actionContainer=d.append(i,m("div.action-container")),this.actionContainer.setAttribute("tabindex","0"),this.action=d.append(this.actionContainer,m("a.action")),this.action.setAttribute("role","button"),s.iconClass&&d.append(this.action,m(`span.icon.${s.iconClass}`));const c=d.append(this.action,m("span"));c.textContent=g?`${s.label} (${g})`:s.label,this._store.add(new n(this.actionContainer,s.run)),this._store.add(new o(this.actionContainer,s.run,[3,10])),this.setEnabled(!0)}setEnabled(i){i?(this.actionContainer.classList.remove("disabled"),this.actionContainer.removeAttribute("aria-disabled")):(this.actionContainer.classList.add("disabled"),this.actionContainer.setAttribute("aria-disabled","true"))}}e.HoverAction=b;function p(t,i){return t&&i?(0,y.localize)(7,"Inspect this in the accessible view with {0}.",i):t?(0,y.localize)(8,"Inspect this in the accessible view via the command Open Accessible View which is currently not triggerable via keybinding."):""}class n extends E.Disposable{constructor(i,s){super(),this._register(d.addDisposableListener(i,d.EventType.CLICK,g=>{g.stopPropagation(),g.preventDefault(),s(i)}))}}e.ClickAction=n;class o extends E.Disposable{constructor(i,s,g){super(),this._register(d.addDisposableListener(i,d.EventType.KEY_DOWN,c=>{const l=new k.StandardKeyboardEvent(c);g.some(a=>l.equals(a))&&(c.stopPropagation(),c.preventDefault(),s(i))}))}}e.KeyDownAction=o}),define(ne[257],se([1,0,224,5,93,69,86,13,14,126,6,2,188,163,454,632,8,141]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ListView=e.NativeDragAndDropData=e.ExternalElementsDragAndDropData=e.ElementsDragAndDropData=void 0;const l={CurrentDragAndDropData:void 0},a={useShadows:!0,verticalScrollMode:1,setRowLineHeight:!0,setRowHeight:!0,supportDynamicHeights:!1,dnd:{getDragElements(w){return[w]},getDragURI(){return null},onDragStart(){},onDragOver(){return!1},drop(){},dispose(){}},horizontalScrolling:!1,transformOptimization:!0,alwaysConsumeMouseWheel:!0};class r{constructor(S){this.elements=S}update(){}getData(){return this.elements}}e.ElementsDragAndDropData=r;class u{constructor(S){this.elements=S}update(){}getData(){return this.elements}}e.ExternalElementsDragAndDropData=u;class C{constructor(){this.types=[],this.files=[]}update(S){if(S.types&&this.types.splice(0,this.types.length,...S.types),S.files){this.files.splice(0,this.files.length);for(let L=0;LT,S?.getPosInSet?this.getPosInSet=S.getPosInSet.bind(S):this.getPosInSet=(L,D)=>D+1,S?.getRole?this.getRole=S.getRole.bind(S):this.getRole=L=>"listitem",S?.isChecked?this.isChecked=S.isChecked.bind(S):this.isChecked=L=>{}}}class v{static{this.InstanceCount=0}get contentHeight(){return this.rangeMap.size}get onDidScroll(){return this.scrollableElement.onScroll}get scrollableElementDomNode(){return this.scrollableElement.getDomNode()}get horizontalScrolling(){return this._horizontalScrolling}set horizontalScrolling(S){if(S!==this._horizontalScrolling){if(S&&this.supportDynamicHeights)throw new Error("Horizontal scrolling and dynamic heights not supported simultaneously");if(this._horizontalScrolling=S,this.domNode.classList.toggle("horizontal-scrolling",this._horizontalScrolling),this._horizontalScrolling){for(const L of this.items)this.measureItemWidth(L);this.updateScrollWidth(),this.scrollableElement.setScrollDimensions({width:(0,k.getContentWidth)(this.domNode)}),this.rowsContainer.style.width=`${Math.max(this.scrollWidth||0,this.renderWidth)}px`}else this.scrollableElementWidthDelayer.cancel(),this.scrollableElement.setScrollDimensions({width:this.renderWidth,scrollWidth:this.renderWidth}),this.rowsContainer.style.width=""}}constructor(S,L,D,T=a){if(this.virtualDelegate=L,this.domId=`list_id_${++v.InstanceCount}`,this.renderers=new Map,this.renderWidth=0,this._scrollHeight=0,this.scrollableElementUpdateDisposable=null,this.scrollableElementWidthDelayer=new _.Delayer(50),this.splicing=!1,this.dragOverAnimationStopDisposable=n.Disposable.None,this.dragOverMouseY=0,this.canDrop=!1,this.currentDragFeedbackDisposable=n.Disposable.None,this.onDragLeaveTimeout=n.Disposable.None,this.disposables=new n.DisposableStore,this._onDidChangeContentHeight=new p.Emitter,this._onDidChangeContentWidth=new p.Emitter,this.onDidChangeContentHeight=p.Event.latch(this._onDidChangeContentHeight.event,void 0,this.disposables),this._horizontalScrolling=!1,T.horizontalScrolling&&T.supportDynamicHeights)throw new Error("Horizontal scrolling and dynamic heights not supported simultaneously");this.items=[],this.itemId=0,this.rangeMap=this.createRangeMap(T.paddingTop??0);for(const A of D)this.renderers.set(A.templateId,A);this.cache=this.disposables.add(new s.RowCache(this.renderers)),this.lastRenderTop=0,this.lastRenderHeight=0,this.domNode=document.createElement("div"),this.domNode.className="monaco-list",this.domNode.classList.add(this.domId),this.domNode.tabIndex=0,this.domNode.classList.toggle("mouse-support",typeof T.mouseSupport=="boolean"?T.mouseSupport:!0),this._horizontalScrolling=T.horizontalScrolling??a.horizontalScrolling,this.domNode.classList.toggle("horizontal-scrolling",this._horizontalScrolling),this.paddingBottom=typeof T.paddingBottom>"u"?0:T.paddingBottom,this.accessibilityProvider=new h(T.accessibilityProvider),this.rowsContainer=document.createElement("div"),this.rowsContainer.className="monaco-list-rows",(T.transformOptimization??a.transformOptimization)&&(this.rowsContainer.style.transform="translate3d(0px, 0px, 0px)",this.rowsContainer.style.overflow="hidden",this.rowsContainer.style.contain="strict"),this.disposables.add(E.Gesture.addTarget(this.rowsContainer)),this.scrollable=this.disposables.add(new t.Scrollable({forceIntegerValues:!0,smoothScrollDuration:T.smoothScrolling??!1?125:0,scheduleAtNextAnimationFrame:A=>(0,k.scheduleAtNextAnimationFrame)((0,k.getWindow)(this.domNode),A)})),this.scrollableElement=this.disposables.add(new y.SmoothScrollableElement(this.rowsContainer,{alwaysConsumeMouseWheel:T.alwaysConsumeMouseWheel??a.alwaysConsumeMouseWheel,horizontal:1,vertical:T.verticalScrollMode??a.verticalScrollMode,useShadows:T.useShadows??a.useShadows,mouseWheelScrollSensitivity:T.mouseWheelScrollSensitivity,fastScrollSensitivity:T.fastScrollSensitivity,scrollByPage:T.scrollByPage},this.scrollable)),this.domNode.appendChild(this.scrollableElement.getDomNode()),S.appendChild(this.domNode),this.scrollableElement.onScroll(this.onScroll,this,this.disposables),this.disposables.add((0,k.addDisposableListener)(this.rowsContainer,E.EventType.Change,A=>this.onTouchChange(A))),this.disposables.add((0,k.addDisposableListener)(this.scrollableElement.getDomNode(),"scroll",A=>A.target.scrollTop=0)),this.disposables.add((0,k.addDisposableListener)(this.domNode,"dragover",A=>this.onDragOver(this.toDragEvent(A)))),this.disposables.add((0,k.addDisposableListener)(this.domNode,"drop",A=>this.onDrop(this.toDragEvent(A)))),this.disposables.add((0,k.addDisposableListener)(this.domNode,"dragleave",A=>this.onDragLeave(this.toDragEvent(A)))),this.disposables.add((0,k.addDisposableListener)(this.domNode,"dragend",A=>this.onDragEnd(A))),this.setRowLineHeight=T.setRowLineHeight??a.setRowLineHeight,this.setRowHeight=T.setRowHeight??a.setRowHeight,this.supportDynamicHeights=T.supportDynamicHeights??a.supportDynamicHeights,this.dnd=T.dnd??this.disposables.add(a.dnd),this.layout(T.initialSize?.height,T.initialSize?.width)}updateOptions(S){S.paddingBottom!==void 0&&(this.paddingBottom=S.paddingBottom,this.scrollableElement.setScrollDimensions({scrollHeight:this.scrollHeight})),S.smoothScrolling!==void 0&&this.scrollable.setSmoothScrollDuration(S.smoothScrolling?125:0),S.horizontalScrolling!==void 0&&(this.horizontalScrolling=S.horizontalScrolling);let L;if(S.scrollByPage!==void 0&&(L={...L??{},scrollByPage:S.scrollByPage}),S.mouseWheelScrollSensitivity!==void 0&&(L={...L??{},mouseWheelScrollSensitivity:S.mouseWheelScrollSensitivity}),S.fastScrollSensitivity!==void 0&&(L={...L??{},fastScrollSensitivity:S.fastScrollSensitivity}),L&&this.scrollableElement.updateOptions(L),S.paddingTop!==void 0&&S.paddingTop!==this.rangeMap.paddingTop){const D=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight),T=S.paddingTop-this.rangeMap.paddingTop;this.rangeMap.paddingTop=S.paddingTop,this.render(D,Math.max(0,this.lastRenderTop+T),this.lastRenderHeight,void 0,void 0,!0),this.setScrollTop(this.lastRenderTop),this.eventuallyUpdateScrollDimensions(),this.supportDynamicHeights&&this._rerender(this.lastRenderTop,this.lastRenderHeight)}}createRangeMap(S){return new i.RangeMap(S)}splice(S,L,D=[]){if(this.splicing)throw new Error("Can't run recursive splices.");this.splicing=!0;try{return this._splice(S,L,D)}finally{this.splicing=!1,this._onDidChangeContentHeight.fire(this.contentHeight)}}_splice(S,L,D=[]){const T=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight),M={start:S,end:S+L},A=o.Range.intersect(T,M),P=new Map;for(let K=A.end-1;K>=A.start;K--){const R=this.items[K];if(R.dragStartDisposable.dispose(),R.checkedDisposable.dispose(),R.row){let J=P.get(R.templateId);J||(J=[],P.set(R.templateId,J));const ie=this.renderers.get(R.templateId);ie&&ie.disposeElement&&ie.disposeElement(R.element,K,R.row.templateData,R.size),J.unshift(R.row)}R.row=null,R.stale=!0}const N={start:S+L,end:this.items.length},O=o.Range.intersect(N,T),F=o.Range.relativeComplement(N,T),x=D.map(K=>({id:String(this.itemId++),element:K,templateId:this.virtualDelegate.getTemplateId(K),size:this.virtualDelegate.getHeight(K),width:void 0,hasDynamicHeight:!!this.virtualDelegate.hasDynamicHeight&&this.virtualDelegate.hasDynamicHeight(K),lastDynamicHeightWidth:void 0,row:null,uri:void 0,dropTarget:!1,dragStartDisposable:n.Disposable.None,checkedDisposable:n.Disposable.None,stale:!1}));let W;S===0&&L>=this.items.length?(this.rangeMap=this.createRangeMap(this.rangeMap.paddingTop),this.rangeMap.splice(0,0,x),W=this.items,this.items=x):(this.rangeMap.splice(S,L,x),W=this.items.splice(S,L,...x));const V=D.length-L,q=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight),H=(0,i.shift)(O,V),z=o.Range.intersect(q,H);for(let K=z.start;K(0,i.shift)(K,V)),G=[{start:S,end:S+D.length},...j].map(K=>o.Range.intersect(q,K)).reverse();for(const K of G)for(let R=K.end-1;R>=K.start;R--){const J=this.items[R],ue=P.get(J.templateId)?.pop();this.insertItemInDOM(R,ue)}for(const K of P.values())for(const R of K)this.cache.release(R);return this.eventuallyUpdateScrollDimensions(),this.supportDynamicHeights&&this._rerender(this.scrollTop,this.renderHeight),W.map(K=>K.element)}eventuallyUpdateScrollDimensions(){this._scrollHeight=this.contentHeight,this.rowsContainer.style.height=`${this._scrollHeight}px`,this.scrollableElementUpdateDisposable||(this.scrollableElementUpdateDisposable=(0,k.scheduleAtNextAnimationFrame)((0,k.getWindow)(this.domNode),()=>{this.scrollableElement.setScrollDimensions({scrollHeight:this.scrollHeight}),this.updateScrollWidth(),this.scrollableElementUpdateDisposable=null}))}eventuallyUpdateScrollWidth(){if(!this.horizontalScrolling){this.scrollableElementWidthDelayer.cancel();return}this.scrollableElementWidthDelayer.trigger(()=>this.updateScrollWidth())}updateScrollWidth(){if(!this.horizontalScrolling)return;let S=0;for(const L of this.items)typeof L.width<"u"&&(S=Math.max(S,L.width));this.scrollWidth=S,this.scrollableElement.setScrollDimensions({scrollWidth:S===0?0:S+10}),this._onDidChangeContentWidth.fire(this.scrollWidth)}rerender(){if(this.supportDynamicHeights){for(const S of this.items)S.lastDynamicHeightWidth=void 0;this._rerender(this.lastRenderTop,this.lastRenderHeight)}}get length(){return this.items.length}get renderHeight(){return this.scrollableElement.getScrollDimensions().height}get firstVisibleIndex(){return this.getRenderRange(this.lastRenderTop,this.lastRenderHeight).start}element(S){return this.items[S].element}indexOf(S){return this.items.findIndex(L=>L.element===S)}domElement(S){const L=this.items[S].row;return L&&L.domNode}elementHeight(S){return this.items[S].size}elementTop(S){return this.rangeMap.positionAt(S)}indexAt(S){return this.rangeMap.indexAt(S)}indexAfter(S){return this.rangeMap.indexAfter(S)}layout(S,L){const D={height:typeof S=="number"?S:(0,k.getContentHeight)(this.domNode)};this.scrollableElementUpdateDisposable&&(this.scrollableElementUpdateDisposable.dispose(),this.scrollableElementUpdateDisposable=null,D.scrollHeight=this.scrollHeight),this.scrollableElement.setScrollDimensions(D),typeof L<"u"&&(this.renderWidth=L,this.supportDynamicHeights&&this._rerender(this.scrollTop,this.renderHeight)),this.horizontalScrolling&&this.scrollableElement.setScrollDimensions({width:typeof L=="number"?L:(0,k.getContentWidth)(this.domNode)})}render(S,L,D,T,M,A=!1){const P=this.getRenderRange(L,D),N=o.Range.relativeComplement(P,S).reverse(),O=o.Range.relativeComplement(S,P);if(A){const F=o.Range.intersect(S,P);for(let x=F.start;x{for(const F of O)for(let x=F.start;x=F.start;x--)this.insertItemInDOM(x)}),T!==void 0&&(this.rowsContainer.style.left=`-${T}px`),this.rowsContainer.style.top=`-${L}px`,this.horizontalScrolling&&M!==void 0&&(this.rowsContainer.style.width=`${Math.max(M,this.renderWidth)}px`),this.lastRenderTop=L,this.lastRenderHeight=D}insertItemInDOM(S,L){const D=this.items[S];if(!D.row)if(L)D.row=L,D.stale=!0;else{const N=this.cache.alloc(D.templateId);D.row=N.row,D.stale||=N.isReusingConnectedDomNode}const T=this.accessibilityProvider.getRole(D.element)||"listitem";D.row.domNode.setAttribute("role",T);const M=this.accessibilityProvider.isChecked(D.element);if(typeof M=="boolean")D.row.domNode.setAttribute("aria-checked",String(!!M));else if(M){const N=O=>D.row.domNode.setAttribute("aria-checked",String(!!O));N(M.value),D.checkedDisposable=M.onDidChange(()=>N(M.value))}if(D.stale||!D.row.domNode.parentElement){const N=this.items.at(S+1)?.row?.domNode??null;(D.row.domNode.parentElement!==this.rowsContainer||D.row.domNode.nextElementSibling!==N)&&this.rowsContainer.insertBefore(D.row.domNode,N),D.stale=!1}this.updateItemInDOM(D,S);const A=this.renderers.get(D.templateId);if(!A)throw new Error(`No renderer found for template id ${D.templateId}`);A?.renderElement(D.element,S,D.row.templateData,D.size);const P=this.dnd.getDragURI(D.element);D.dragStartDisposable.dispose(),D.row.domNode.draggable=!!P,P&&(D.dragStartDisposable=(0,k.addDisposableListener)(D.row.domNode,"dragstart",N=>this.onDragStart(D.element,P,N))),this.horizontalScrolling&&(this.measureItemWidth(D),this.eventuallyUpdateScrollWidth())}measureItemWidth(S){if(!S.row||!S.row.domNode)return;S.row.domNode.style.width="fit-content",S.width=(0,k.getContentWidth)(S.row.domNode);const L=(0,k.getWindow)(S.row.domNode).getComputedStyle(S.row.domNode);L.paddingLeft&&(S.width+=parseFloat(L.paddingLeft)),L.paddingRight&&(S.width+=parseFloat(L.paddingRight)),S.row.domNode.style.width=""}updateItemInDOM(S,L){S.row.domNode.style.top=`${this.elementTop(L)}px`,this.setRowHeight&&(S.row.domNode.style.height=`${S.size}px`),this.setRowLineHeight&&(S.row.domNode.style.lineHeight=`${S.size}px`),S.row.domNode.setAttribute("data-index",`${L}`),S.row.domNode.setAttribute("data-last-element",L===this.length-1?"true":"false"),S.row.domNode.setAttribute("data-parity",L%2===0?"even":"odd"),S.row.domNode.setAttribute("aria-setsize",String(this.accessibilityProvider.getSetSize(S.element,L,this.length))),S.row.domNode.setAttribute("aria-posinset",String(this.accessibilityProvider.getPosInSet(S.element,L))),S.row.domNode.setAttribute("id",this.getElementDomId(L)),S.row.domNode.classList.toggle("drop-target",S.dropTarget)}removeItemFromDOM(S){const L=this.items[S];if(L.dragStartDisposable.dispose(),L.checkedDisposable.dispose(),L.row){const D=this.renderers.get(L.templateId);D&&D.disposeElement&&D.disposeElement(L.element,S,L.row.templateData,L.size),this.cache.release(L.row),L.row=null}this.horizontalScrolling&&this.eventuallyUpdateScrollWidth()}getScrollTop(){return this.scrollableElement.getScrollPosition().scrollTop}setScrollTop(S,L){this.scrollableElementUpdateDisposable&&(this.scrollableElementUpdateDisposable.dispose(),this.scrollableElementUpdateDisposable=null,this.scrollableElement.setScrollDimensions({scrollHeight:this.scrollHeight})),this.scrollableElement.setScrollPosition({scrollTop:S,reuseAnimation:L})}get scrollTop(){return this.getScrollTop()}set scrollTop(S){this.setScrollTop(S)}get scrollHeight(){return this._scrollHeight+(this.horizontalScrolling?10:0)+this.paddingBottom}get onMouseClick(){return p.Event.map(this.disposables.add(new I.DomEmitter(this.domNode,"click")).event,S=>this.toMouseEvent(S),this.disposables)}get onMouseDblClick(){return p.Event.map(this.disposables.add(new I.DomEmitter(this.domNode,"dblclick")).event,S=>this.toMouseEvent(S),this.disposables)}get onMouseMiddleClick(){return p.Event.filter(p.Event.map(this.disposables.add(new I.DomEmitter(this.domNode,"auxclick")).event,S=>this.toMouseEvent(S),this.disposables),S=>S.browserEvent.button===1,this.disposables)}get onMouseDown(){return p.Event.map(this.disposables.add(new I.DomEmitter(this.domNode,"mousedown")).event,S=>this.toMouseEvent(S),this.disposables)}get onMouseOver(){return p.Event.map(this.disposables.add(new I.DomEmitter(this.domNode,"mouseover")).event,S=>this.toMouseEvent(S),this.disposables)}get onMouseOut(){return p.Event.map(this.disposables.add(new I.DomEmitter(this.domNode,"mouseout")).event,S=>this.toMouseEvent(S),this.disposables)}get onContextMenu(){return p.Event.any(p.Event.map(this.disposables.add(new I.DomEmitter(this.domNode,"contextmenu")).event,S=>this.toMouseEvent(S),this.disposables),p.Event.map(this.disposables.add(new I.DomEmitter(this.domNode,E.EventType.Contextmenu)).event,S=>this.toGestureEvent(S),this.disposables))}get onTouchStart(){return p.Event.map(this.disposables.add(new I.DomEmitter(this.domNode,"touchstart")).event,S=>this.toTouchEvent(S),this.disposables)}get onTap(){return p.Event.map(this.disposables.add(new I.DomEmitter(this.rowsContainer,E.EventType.Tap)).event,S=>this.toGestureEvent(S),this.disposables)}toMouseEvent(S){const L=this.getItemIndexFromEventTarget(S.target||null),D=typeof L>"u"?void 0:this.items[L],T=D&&D.element;return{browserEvent:S,index:L,element:T}}toTouchEvent(S){const L=this.getItemIndexFromEventTarget(S.target||null),D=typeof L>"u"?void 0:this.items[L],T=D&&D.element;return{browserEvent:S,index:L,element:T}}toGestureEvent(S){const L=this.getItemIndexFromEventTarget(S.initialTarget||null),D=typeof L>"u"?void 0:this.items[L],T=D&&D.element;return{browserEvent:S,index:L,element:T}}toDragEvent(S){const L=this.getItemIndexFromEventTarget(S.target||null),D=typeof L>"u"?void 0:this.items[L],T=D&&D.element,M=this.getTargetSector(S,L);return{browserEvent:S,index:L,element:T,sector:M}}onScroll(S){try{const L=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight);this.render(L,S.scrollTop,S.height,S.scrollLeft,S.scrollWidth),this.supportDynamicHeights&&this._rerender(S.scrollTop,S.height,S.inSmoothScrolling)}catch(L){throw console.error("Got bad scroll event:",S),L}}onTouchChange(S){S.preventDefault(),S.stopPropagation(),this.scrollTop-=S.translationY}onDragStart(S,L,D){if(!D.dataTransfer)return;const T=this.dnd.getDragElements(S);if(D.dataTransfer.effectAllowed="copyMove",D.dataTransfer.setData(d.DataTransfers.TEXT,L),D.dataTransfer.setDragImage){let M;this.dnd.getDragLabel&&(M=this.dnd.getDragLabel(T,D)),typeof M>"u"&&(M=String(T.length));const A=(0,k.$)(".monaco-drag-image");A.textContent=M,(O=>{for(;O&&!O.classList.contains("monaco-workbench");)O=O.parentElement;return O||this.domNode.ownerDocument})(this.domNode).appendChild(A),D.dataTransfer.setDragImage(A,-10,-10),setTimeout(()=>A.remove(),0)}this.domNode.classList.add("dragging"),this.currentDragData=new r(T),l.CurrentDragAndDropData=new u(T),this.dnd.onDragStart?.(this.currentDragData,D)}onDragOver(S){if(S.browserEvent.preventDefault(),this.onDragLeaveTimeout.dispose(),l.CurrentDragAndDropData&&l.CurrentDragAndDropData.getData()==="vscode-ui"||(this.setupDragAndDropScrollTopAnimation(S.browserEvent),!S.browserEvent.dataTransfer))return!1;if(!this.currentDragData)if(l.CurrentDragAndDropData)this.currentDragData=l.CurrentDragAndDropData;else{if(!S.browserEvent.dataTransfer.types)return!1;this.currentDragData=new C}const L=this.dnd.onDragOver(this.currentDragData,S.element,S.index,S.sector,S.browserEvent);if(this.canDrop=typeof L=="boolean"?L:L.accept,!this.canDrop)return this.currentDragFeedback=void 0,this.currentDragFeedbackDisposable.dispose(),!1;S.browserEvent.dataTransfer.dropEffect=typeof L!="boolean"&&L.effect?.type===0?"copy":"move";let D;typeof L!="boolean"&&L.feedback?D=L.feedback:typeof S.index>"u"?D=[-1]:D=[S.index],D=(0,m.distinct)(D).filter(M=>M>=-1&&MM-A),D=D[0]===-1?[-1]:D;let T=typeof L!="boolean"&&L.effect&&L.effect.position?L.effect.position:"drop-target";if(f(this.currentDragFeedback,D)&&this.currentDragFeedbackPosition===T)return!0;if(this.currentDragFeedback=D,this.currentDragFeedbackPosition=T,this.currentDragFeedbackDisposable.dispose(),D[0]===-1)this.domNode.classList.add(T),this.rowsContainer.classList.add(T),this.currentDragFeedbackDisposable=(0,n.toDisposable)(()=>{this.domNode.classList.remove(T),this.rowsContainer.classList.remove(T)});else{if(D.length>1&&T!=="drop-target")throw new Error("Can't use multiple feedbacks with position different than 'over'");T==="drop-target-after"&&D[0]{for(const M of D){const A=this.items[M];A.dropTarget=!1,A.row?.domNode.classList.remove(T)}})}return!0}onDragLeave(S){this.onDragLeaveTimeout.dispose(),this.onDragLeaveTimeout=(0,_.disposableTimeout)(()=>this.clearDragOverFeedback(),100,this.disposables),this.currentDragData&&this.dnd.onDragLeave?.(this.currentDragData,S.element,S.index,S.browserEvent)}onDrop(S){if(!this.canDrop)return;const L=this.currentDragData;this.teardownDragAndDropScrollTopAnimation(),this.clearDragOverFeedback(),this.domNode.classList.remove("dragging"),this.currentDragData=void 0,l.CurrentDragAndDropData=void 0,!(!L||!S.browserEvent.dataTransfer)&&(S.browserEvent.preventDefault(),L.update(S.browserEvent.dataTransfer),this.dnd.drop(L,S.element,S.index,S.sector,S.browserEvent))}onDragEnd(S){this.canDrop=!1,this.teardownDragAndDropScrollTopAnimation(),this.clearDragOverFeedback(),this.domNode.classList.remove("dragging"),this.currentDragData=void 0,l.CurrentDragAndDropData=void 0,this.dnd.onDragEnd?.(S)}clearDragOverFeedback(){this.currentDragFeedback=void 0,this.currentDragFeedbackPosition=void 0,this.currentDragFeedbackDisposable.dispose(),this.currentDragFeedbackDisposable=n.Disposable.None}setupDragAndDropScrollTopAnimation(S){if(!this.dragOverAnimationDisposable){const L=(0,k.getTopLeftOffset)(this.domNode).top;this.dragOverAnimationDisposable=(0,k.animate)((0,k.getWindow)(this.domNode),this.animateDragAndDropScrollTop.bind(this,L))}this.dragOverAnimationStopDisposable.dispose(),this.dragOverAnimationStopDisposable=(0,_.disposableTimeout)(()=>{this.dragOverAnimationDisposable&&(this.dragOverAnimationDisposable.dispose(),this.dragOverAnimationDisposable=void 0)},1e3,this.disposables),this.dragOverMouseY=S.pageY}animateDragAndDropScrollTop(S){if(this.dragOverMouseY===void 0)return;const L=this.dragOverMouseY-S,D=this.renderHeight-35;L<35?this.scrollTop+=Math.max(-14,Math.floor(.3*(L-35))):L>D&&(this.scrollTop+=Math.min(14,Math.floor(.3*(L-D))))}teardownDragAndDropScrollTopAnimation(){this.dragOverAnimationStopDisposable.dispose(),this.dragOverAnimationDisposable&&(this.dragOverAnimationDisposable.dispose(),this.dragOverAnimationDisposable=void 0)}getTargetSector(S,L){if(L===void 0)return;const D=S.offsetY/this.items[L].size,T=Math.floor(D/.25);return(0,c.clamp)(T,0,3)}getItemIndexFromEventTarget(S){const L=this.scrollableElement.getDomNode();let D=S;for(;((0,k.isHTMLElement)(D)||(0,k.isSVGElement)(D))&&D!==this.rowsContainer&&L.contains(D);){const T=D.getAttribute("data-index");if(T){const M=Number(T);if(!isNaN(M))return M}D=D.parentElement}}getRenderRange(S,L){return{start:this.rangeMap.indexAt(S),end:this.rangeMap.indexAfter(S+L-1)}}_rerender(S,L,D){const T=this.getRenderRange(S,L);let M,A;S===this.elementTop(T.start)?(M=T.start,A=0):T.end-T.start>1&&(M=T.start+1,A=this.elementTop(M)-S);let P=0;for(;;){const N=this.getRenderRange(S,L);let O=!1;for(let F=N.start;F=W.start;V--)this.insertItemInDOM(V);for(let W=N.start;WB.templateData===ge);if(X>=0){const B=this.renderedElements[X];this.trait.unrender(ge),B.index=de}else{const B={index:de,templateData:ge};this.renderedElements.push(B)}this.trait.renderIndex(de,ge)}splice(ee,de,ge){const X=[];for(const B of this.renderedElements)B.index=ee+de&&X.push({index:B.index+ge-de,templateData:B.templateData});this.renderedElements=X}renderIndexes(ee){for(const{index:de,templateData:ge}of this.renderedElements)ee.indexOf(de)>-1&&this.trait.renderIndex(de,ge)}disposeTemplate(ee){const de=this.renderedElements.findIndex(ge=>ge.templateData===ee);de<0||this.renderedElements.splice(de,1)}}class f{get name(){return this._trait}get renderer(){return new C(this)}constructor(ee){this._trait=ee,this.indexes=[],this.sortedIndexes=[],this._onChange=new o.Emitter,this.onChange=this._onChange.event}splice(ee,de,ge){const X=ge.length-de,B=ee+de,$=[];let Y=0;for(;Y=B;)$.push(this.sortedIndexes[Y++]+X);this.renderer.splice(ee,de,ge.length),this._set($,$)}renderIndex(ee,de){de.classList.toggle(this._trait,this.contains(ee))}unrender(ee){ee.classList.remove(this._trait)}set(ee,de){return this._set(ee,[...ee].sort(J),de)}_set(ee,de,ge){const X=this.indexes,B=this.sortedIndexes;this.indexes=ee,this.sortedIndexes=de;const $=K(B,ee);return this.renderer.renderIndexes($),this._onChange.fire({indexes:ee,browserEvent:ge}),X}get(){return this.indexes}contains(ee){return(0,_.binarySearch)(this.sortedIndexes,ee,J)>=0}dispose(){(0,i.dispose)(this._onChange)}}ke([n.memoize],f.prototype,"renderer",null);class h extends f{constructor(ee){super("selected"),this.setAriaSelected=ee}renderIndex(ee,de){super.renderIndex(ee,de),this.setAriaSelected&&(this.contains(ee)?de.setAttribute("aria-selected","true"):de.setAttribute("aria-selected","false"))}}class v{constructor(ee,de,ge){this.trait=ee,this.view=de,this.identityProvider=ge}splice(ee,de,ge){if(!this.identityProvider)return this.trait.splice(ee,de,new Array(ge.length).fill(!1));const X=this.trait.get().map(Y=>this.identityProvider.getId(this.view.element(Y)).toString());if(X.length===0)return this.trait.splice(ee,de,new Array(ge.length).fill(!1));const B=new Set(X),$=ge.map(Y=>B.has(this.identityProvider.getId(Y).toString()));this.trait.splice(ee,de,$)}}function w(ae){return ae.tagName==="INPUT"||ae.tagName==="TEXTAREA"}function S(ae,ee){return ae.classList.contains(ee)?!0:ae.classList.contains("monaco-list")||!ae.parentElement?!1:S(ae.parentElement,ee)}function L(ae){return S(ae,"monaco-editor")}function D(ae){return S(ae,"monaco-custom-toggle")}function T(ae){return S(ae,"action-item")}function M(ae){return S(ae,"monaco-tree-sticky-row")}function A(ae){return ae.classList.contains("monaco-tree-sticky-container")}function P(ae){return ae.tagName==="A"&&ae.classList.contains("monaco-button")||ae.tagName==="DIV"&&ae.classList.contains("monaco-button-dropdown")?!0:ae.classList.contains("monaco-list")||!ae.parentElement?!1:P(ae.parentElement)}class N{get onKeyDown(){return o.Event.chain(this.disposables.add(new k.DomEmitter(this.view.domNode,"keydown")).event,ee=>ee.filter(de=>!w(de.target)).map(de=>new I.StandardKeyboardEvent(de)))}constructor(ee,de,ge){this.list=ee,this.view=de,this.disposables=new i.DisposableStore,this.multipleSelectionDisposables=new i.DisposableStore,this.multipleSelectionSupport=ge.multipleSelectionSupport,this.disposables.add(this.onKeyDown(X=>{switch(X.keyCode){case 3:return this.onEnter(X);case 16:return this.onUpArrow(X);case 18:return this.onDownArrow(X);case 11:return this.onPageUpArrow(X);case 12:return this.onPageDownArrow(X);case 9:return this.onEscape(X);case 31:this.multipleSelectionSupport&&(g.isMacintosh?X.metaKey:X.ctrlKey)&&this.onCtrlA(X)}}))}updateOptions(ee){ee.multipleSelectionSupport!==void 0&&(this.multipleSelectionSupport=ee.multipleSelectionSupport)}onEnter(ee){ee.preventDefault(),ee.stopPropagation(),this.list.setSelection(this.list.getFocus(),ee.browserEvent)}onUpArrow(ee){ee.preventDefault(),ee.stopPropagation(),this.list.focusPrevious(1,!1,ee.browserEvent);const de=this.list.getFocus()[0];this.list.setAnchor(de),this.list.reveal(de),this.view.domNode.focus()}onDownArrow(ee){ee.preventDefault(),ee.stopPropagation(),this.list.focusNext(1,!1,ee.browserEvent);const de=this.list.getFocus()[0];this.list.setAnchor(de),this.list.reveal(de),this.view.domNode.focus()}onPageUpArrow(ee){ee.preventDefault(),ee.stopPropagation(),this.list.focusPreviousPage(ee.browserEvent);const de=this.list.getFocus()[0];this.list.setAnchor(de),this.list.reveal(de),this.view.domNode.focus()}onPageDownArrow(ee){ee.preventDefault(),ee.stopPropagation(),this.list.focusNextPage(ee.browserEvent);const de=this.list.getFocus()[0];this.list.setAnchor(de),this.list.reveal(de),this.view.domNode.focus()}onCtrlA(ee){ee.preventDefault(),ee.stopPropagation(),this.list.setSelection((0,_.range)(this.list.length),ee.browserEvent),this.list.setAnchor(void 0),this.view.domNode.focus()}onEscape(ee){this.list.getSelection().length&&(ee.preventDefault(),ee.stopPropagation(),this.list.setSelection([],ee.browserEvent),this.list.setAnchor(void 0),this.view.domNode.focus())}dispose(){this.disposables.dispose(),this.multipleSelectionDisposables.dispose()}}ke([n.memoize],N.prototype,"onKeyDown",null);var O;(function(ae){ae[ae.Automatic=0]="Automatic",ae[ae.Trigger=1]="Trigger"})(O||(e.TypeNavigationMode=O={}));var F;(function(ae){ae[ae.Idle=0]="Idle",ae[ae.Typing=1]="Typing"})(F||(F={})),e.DefaultKeyboardNavigationDelegate=new class{mightProducePrintableCharacter(ae){return ae.ctrlKey||ae.metaKey||ae.altKey?!1:ae.keyCode>=31&&ae.keyCode<=56||ae.keyCode>=21&&ae.keyCode<=30||ae.keyCode>=98&&ae.keyCode<=107||ae.keyCode>=85&&ae.keyCode<=95}};class x{constructor(ee,de,ge,X,B){this.list=ee,this.view=de,this.keyboardNavigationLabelProvider=ge,this.keyboardNavigationEventFilter=X,this.delegate=B,this.enabled=!1,this.state=F.Idle,this.mode=O.Automatic,this.triggered=!1,this.previouslyFocused=-1,this.enabledDisposables=new i.DisposableStore,this.disposables=new i.DisposableStore,this.updateOptions(ee.options)}updateOptions(ee){ee.typeNavigationEnabled??!0?this.enable():this.disable(),this.mode=ee.typeNavigationMode??O.Automatic}enable(){if(this.enabled)return;let ee=!1;const de=o.Event.chain(this.enabledDisposables.add(new k.DomEmitter(this.view.domNode,"keydown")).event,B=>B.filter($=>!w($.target)).filter(()=>this.mode===O.Automatic||this.triggered).map($=>new I.StandardKeyboardEvent($)).filter($=>ee||this.keyboardNavigationEventFilter($)).filter($=>this.delegate.mightProducePrintableCharacter($)).forEach($=>d.EventHelper.stop($,!0)).map($=>$.browserEvent.key)),ge=o.Event.debounce(de,()=>null,800,void 0,void 0,void 0,this.enabledDisposables);o.Event.reduce(o.Event.any(de,ge),(B,$)=>$===null?null:(B||"")+$,void 0,this.enabledDisposables)(this.onInput,this,this.enabledDisposables),ge(this.onClear,this,this.enabledDisposables),de(()=>ee=!0,void 0,this.enabledDisposables),ge(()=>ee=!1,void 0,this.enabledDisposables),this.enabled=!0,this.triggered=!1}disable(){this.enabled&&(this.enabledDisposables.clear(),this.enabled=!1,this.triggered=!1)}onClear(){const ee=this.list.getFocus();if(ee.length>0&&ee[0]===this.previouslyFocused){const de=this.list.options.accessibilityProvider?.getAriaLabel(this.list.element(ee[0]));typeof de=="string"?(0,y.alert)(de):de&&(0,y.alert)(de.get())}this.previouslyFocused=-1}onInput(ee){if(!ee){this.state=F.Idle,this.triggered=!1;return}const de=this.list.getFocus(),ge=de.length>0?de[0]:0,X=this.state===F.Idle?1:0;this.state=F.Typing;for(let B=0;B1&&te.length===1){this.previouslyFocused=ge,this.list.setFocus([$]),this.list.reveal($);return}}}else if(typeof Z>"u"||(0,t.matchesPrefix)(ee,Z)){this.previouslyFocused=ge,this.list.setFocus([$]),this.list.reveal($);return}}}dispose(){this.disable(),this.enabledDisposables.dispose(),this.disposables.dispose()}}class W{constructor(ee,de){this.list=ee,this.view=de,this.disposables=new i.DisposableStore;const ge=o.Event.chain(this.disposables.add(new k.DomEmitter(de.domNode,"keydown")).event,B=>B.filter($=>!w($.target)).map($=>new I.StandardKeyboardEvent($)));o.Event.chain(ge,B=>B.filter($=>$.keyCode===2&&!$.ctrlKey&&!$.metaKey&&!$.shiftKey&&!$.altKey))(this.onTab,this,this.disposables)}onTab(ee){if(ee.target!==this.view.domNode)return;const de=this.list.getFocus();if(de.length===0)return;const ge=this.view.domElement(de[0]);if(!ge)return;const X=ge.querySelector("[tabIndex]");if(!X||!(0,d.isHTMLElement)(X)||X.tabIndex===-1)return;const B=(0,d.getWindow)(X).getComputedStyle(X);B.visibility==="hidden"||B.display==="none"||(ee.preventDefault(),ee.stopPropagation(),X.focus())}dispose(){this.disposables.dispose()}}function V(ae){return g.isMacintosh?ae.browserEvent.metaKey:ae.browserEvent.ctrlKey}function q(ae){return ae.browserEvent.shiftKey}function H(ae){return(0,d.isMouseEvent)(ae)&&ae.button===2}const z={isSelectionSingleChangeEvent:V,isSelectionRangeChangeEvent:q};class U{constructor(ee){this.list=ee,this.disposables=new i.DisposableStore,this._onPointer=new o.Emitter,this.onPointer=this._onPointer.event,ee.options.multipleSelectionSupport!==!1&&(this.multipleSelectionController=this.list.options.multipleSelectionController||z),this.mouseSupport=typeof ee.options.mouseSupport>"u"||!!ee.options.mouseSupport,this.mouseSupport&&(ee.onMouseDown(this.onMouseDown,this,this.disposables),ee.onContextMenu(this.onContextMenu,this,this.disposables),ee.onMouseDblClick(this.onDoubleClick,this,this.disposables),ee.onTouchStart(this.onMouseDown,this,this.disposables),this.disposables.add(E.Gesture.addTarget(ee.getHTMLElement()))),o.Event.any(ee.onMouseClick,ee.onMouseMiddleClick,ee.onTap)(this.onViewPointer,this,this.disposables)}updateOptions(ee){ee.multipleSelectionSupport!==void 0&&(this.multipleSelectionController=void 0,ee.multipleSelectionSupport&&(this.multipleSelectionController=this.list.options.multipleSelectionController||z))}isSelectionSingleChangeEvent(ee){return this.multipleSelectionController?this.multipleSelectionController.isSelectionSingleChangeEvent(ee):!1}isSelectionRangeChangeEvent(ee){return this.multipleSelectionController?this.multipleSelectionController.isSelectionRangeChangeEvent(ee):!1}isSelectionChangeEvent(ee){return this.isSelectionSingleChangeEvent(ee)||this.isSelectionRangeChangeEvent(ee)}onMouseDown(ee){L(ee.browserEvent.target)||(0,d.getActiveElement)()!==ee.browserEvent.target&&this.list.domFocus()}onContextMenu(ee){if(w(ee.browserEvent.target)||L(ee.browserEvent.target))return;const de=typeof ee.index>"u"?[]:[ee.index];this.list.setFocus(de,ee.browserEvent)}onViewPointer(ee){if(!this.mouseSupport||w(ee.browserEvent.target)||L(ee.browserEvent.target)||ee.browserEvent.isHandledByList)return;ee.browserEvent.isHandledByList=!0;const de=ee.index;if(typeof de>"u"){this.list.setFocus([],ee.browserEvent),this.list.setSelection([],ee.browserEvent),this.list.setAnchor(void 0);return}if(this.isSelectionChangeEvent(ee))return this.changeSelection(ee);this.list.setFocus([de],ee.browserEvent),this.list.setAnchor(de),H(ee.browserEvent)||this.list.setSelection([de],ee.browserEvent),this._onPointer.fire(ee)}onDoubleClick(ee){if(w(ee.browserEvent.target)||L(ee.browserEvent.target)||this.isSelectionChangeEvent(ee)||ee.browserEvent.isHandledByList)return;ee.browserEvent.isHandledByList=!0;const de=this.list.getFocus();this.list.setSelection(de,ee.browserEvent)}changeSelection(ee){const de=ee.index;let ge=this.list.getAnchor();if(this.isSelectionRangeChangeEvent(ee)){typeof ge>"u"&&(ge=this.list.getFocus()[0]??de,this.list.setAnchor(ge));const X=Math.min(ge,de),B=Math.max(ge,de),$=(0,_.range)(X,B+1),Y=this.list.getSelection(),Z=G(K(Y,[ge]),ge);if(Z.length===0)return;const te=K($,R(Y,Z));this.list.setSelection(te,ee.browserEvent),this.list.setFocus([de],ee.browserEvent)}else if(this.isSelectionSingleChangeEvent(ee)){const X=this.list.getSelection(),B=X.filter($=>$!==de);this.list.setFocus([de]),this.list.setAnchor(de),X.length===B.length?this.list.setSelection([...B,de],ee.browserEvent):this.list.setSelection(B,ee.browserEvent)}}dispose(){this.disposables.dispose()}}e.MouseController=U;class j{constructor(ee,de){this.styleElement=ee,this.selectorSuffix=de}style(ee){const de=this.selectorSuffix&&`.${this.selectorSuffix}`,ge=[];ee.listBackground&&ge.push(`.monaco-list${de} .monaco-list-rows { background: ${ee.listBackground}; }`),ee.listFocusBackground&&(ge.push(`.monaco-list${de}:focus .monaco-list-row.focused { background-color: ${ee.listFocusBackground}; }`),ge.push(`.monaco-list${de}:focus .monaco-list-row.focused:hover { background-color: ${ee.listFocusBackground}; }`)),ee.listFocusForeground&&ge.push(`.monaco-list${de}:focus .monaco-list-row.focused { color: ${ee.listFocusForeground}; }`),ee.listActiveSelectionBackground&&(ge.push(`.monaco-list${de}:focus .monaco-list-row.selected { background-color: ${ee.listActiveSelectionBackground}; }`),ge.push(`.monaco-list${de}:focus .monaco-list-row.selected:hover { background-color: ${ee.listActiveSelectionBackground}; }`)),ee.listActiveSelectionForeground&&ge.push(`.monaco-list${de}:focus .monaco-list-row.selected { color: ${ee.listActiveSelectionForeground}; }`),ee.listActiveSelectionIconForeground&&ge.push(`.monaco-list${de}:focus .monaco-list-row.selected .codicon { color: ${ee.listActiveSelectionIconForeground}; }`),ee.listFocusAndSelectionBackground&&ge.push(` + .monaco-drag-image, + .monaco-list${de}:focus .monaco-list-row.selected.focused { background-color: ${ee.listFocusAndSelectionBackground}; } + `),ee.listFocusAndSelectionForeground&&ge.push(` + .monaco-drag-image, + .monaco-list${de}:focus .monaco-list-row.selected.focused { color: ${ee.listFocusAndSelectionForeground}; } + `),ee.listInactiveFocusForeground&&(ge.push(`.monaco-list${de} .monaco-list-row.focused { color: ${ee.listInactiveFocusForeground}; }`),ge.push(`.monaco-list${de} .monaco-list-row.focused:hover { color: ${ee.listInactiveFocusForeground}; }`)),ee.listInactiveSelectionIconForeground&&ge.push(`.monaco-list${de} .monaco-list-row.focused .codicon { color: ${ee.listInactiveSelectionIconForeground}; }`),ee.listInactiveFocusBackground&&(ge.push(`.monaco-list${de} .monaco-list-row.focused { background-color: ${ee.listInactiveFocusBackground}; }`),ge.push(`.monaco-list${de} .monaco-list-row.focused:hover { background-color: ${ee.listInactiveFocusBackground}; }`)),ee.listInactiveSelectionBackground&&(ge.push(`.monaco-list${de} .monaco-list-row.selected { background-color: ${ee.listInactiveSelectionBackground}; }`),ge.push(`.monaco-list${de} .monaco-list-row.selected:hover { background-color: ${ee.listInactiveSelectionBackground}; }`)),ee.listInactiveSelectionForeground&&ge.push(`.monaco-list${de} .monaco-list-row.selected { color: ${ee.listInactiveSelectionForeground}; }`),ee.listHoverBackground&&ge.push(`.monaco-list${de}:not(.drop-target):not(.dragging) .monaco-list-row:hover:not(.selected):not(.focused) { background-color: ${ee.listHoverBackground}; }`),ee.listHoverForeground&&ge.push(`.monaco-list${de}:not(.drop-target):not(.dragging) .monaco-list-row:hover:not(.selected):not(.focused) { color: ${ee.listHoverForeground}; }`);const X=(0,d.asCssValueWithDefault)(ee.listFocusAndSelectionOutline,(0,d.asCssValueWithDefault)(ee.listSelectionOutline,ee.listFocusOutline??""));X&&ge.push(`.monaco-list${de}:focus .monaco-list-row.focused.selected { outline: 1px solid ${X}; outline-offset: -1px;}`),ee.listFocusOutline&&ge.push(` + .monaco-drag-image, + .monaco-list${de}:focus .monaco-list-row.focused { outline: 1px solid ${ee.listFocusOutline}; outline-offset: -1px; } + .monaco-workbench.context-menu-visible .monaco-list${de}.last-focused .monaco-list-row.focused { outline: 1px solid ${ee.listFocusOutline}; outline-offset: -1px; } + `);const B=(0,d.asCssValueWithDefault)(ee.listSelectionOutline,ee.listInactiveFocusOutline??"");B&&ge.push(`.monaco-list${de} .monaco-list-row.focused.selected { outline: 1px dotted ${B}; outline-offset: -1px; }`),ee.listSelectionOutline&&ge.push(`.monaco-list${de} .monaco-list-row.selected { outline: 1px dotted ${ee.listSelectionOutline}; outline-offset: -1px; }`),ee.listInactiveFocusOutline&&ge.push(`.monaco-list${de} .monaco-list-row.focused { outline: 1px dotted ${ee.listInactiveFocusOutline}; outline-offset: -1px; }`),ee.listHoverOutline&&ge.push(`.monaco-list${de} .monaco-list-row:hover { outline: 1px dashed ${ee.listHoverOutline}; outline-offset: -1px; }`),ee.listDropOverBackground&&ge.push(` + .monaco-list${de}.drop-target, + .monaco-list${de} .monaco-list-rows.drop-target, + .monaco-list${de} .monaco-list-row.drop-target { background-color: ${ee.listDropOverBackground} !important; color: inherit !important; } + `),ee.listDropBetweenBackground&&(ge.push(` + .monaco-list${de} .monaco-list-rows.drop-target-before .monaco-list-row:first-child::before, + .monaco-list${de} .monaco-list-row.drop-target-before::before { + content: ""; position: absolute; top: 0px; left: 0px; width: 100%; height: 1px; + background-color: ${ee.listDropBetweenBackground}; + }`),ge.push(` + .monaco-list${de} .monaco-list-rows.drop-target-after .monaco-list-row:last-child::after, + .monaco-list${de} .monaco-list-row.drop-target-after::after { + content: ""; position: absolute; bottom: 0px; left: 0px; width: 100%; height: 1px; + background-color: ${ee.listDropBetweenBackground}; + }`)),ee.tableColumnsBorder&&ge.push(` + .monaco-table > .monaco-split-view2, + .monaco-table > .monaco-split-view2 .monaco-sash.vertical::before, + .monaco-workbench:not(.reduce-motion) .monaco-table:hover > .monaco-split-view2, + .monaco-workbench:not(.reduce-motion) .monaco-table:hover > .monaco-split-view2 .monaco-sash.vertical::before { + border-color: ${ee.tableColumnsBorder}; + } + + .monaco-workbench:not(.reduce-motion) .monaco-table > .monaco-split-view2, + .monaco-workbench:not(.reduce-motion) .monaco-table > .monaco-split-view2 .monaco-sash.vertical::before { + border-color: transparent; + } + `),ee.tableOddRowsBackgroundColor&&ge.push(` + .monaco-table .monaco-list-row[data-parity=odd]:not(.focused):not(.selected):not(:hover) .monaco-table-tr, + .monaco-table .monaco-list:not(:focus) .monaco-list-row[data-parity=odd].focused:not(.selected):not(:hover) .monaco-table-tr, + .monaco-table .monaco-list:not(.focused) .monaco-list-row[data-parity=odd].focused:not(.selected):not(:hover) .monaco-table-tr { + background-color: ${ee.tableOddRowsBackgroundColor}; + } + `),this.styleElement.textContent=ge.join(` +`)}}e.DefaultStyleController=j,e.unthemedListStyles={listFocusBackground:"#7FB0D0",listActiveSelectionBackground:"#0E639C",listActiveSelectionForeground:"#FFFFFF",listActiveSelectionIconForeground:"#FFFFFF",listFocusAndSelectionOutline:"#90C2F9",listFocusAndSelectionBackground:"#094771",listFocusAndSelectionForeground:"#FFFFFF",listInactiveSelectionBackground:"#3F3F46",listInactiveSelectionIconForeground:"#FFFFFF",listHoverBackground:"#2A2D2E",listDropOverBackground:"#383B3D",listDropBetweenBackground:"#EEEEEE",treeIndentGuidesStroke:"#a9a9a9",treeInactiveIndentGuidesStroke:p.Color.fromHex("#a9a9a9").transparent(.4).toString(),tableColumnsBorder:p.Color.fromHex("#cccccc").transparent(.2).toString(),tableOddRowsBackgroundColor:p.Color.fromHex("#cccccc").transparent(.04).toString(),listBackground:void 0,listFocusForeground:void 0,listInactiveSelectionForeground:void 0,listInactiveFocusForeground:void 0,listInactiveFocusBackground:void 0,listHoverForeground:void 0,listFocusOutline:void 0,listInactiveFocusOutline:void 0,listSelectionOutline:void 0,listHoverOutline:void 0,treeStickyScrollBackground:void 0,treeStickyScrollBorder:void 0,treeStickyScrollShadow:void 0};const Q={keyboardSupport:!0,mouseSupport:!0,multipleSelectionSupport:!0,dnd:{getDragURI(){return null},onDragStart(){},onDragOver(){return!1},drop(){},dispose(){}}};function G(ae,ee){const de=ae.indexOf(ee);if(de===-1)return[];const ge=[];let X=de-1;for(;X>=0&&ae[X]===ee-(de-X);)ge.push(ae[X--]);for(ge.reverse(),X=de;X=ae.length)de.push(ee[X++]);else if(X>=ee.length)de.push(ae[ge++]);else if(ae[ge]===ee[X]){de.push(ae[ge]),ge++,X++;continue}else ae[ge]=ae.length)de.push(ee[X++]);else if(X>=ee.length)de.push(ae[ge++]);else if(ae[ge]===ee[X]){ge++,X++;continue}else ae[ge]ae-ee;class ie{constructor(ee,de){this._templateId=ee,this.renderers=de}get templateId(){return this._templateId}renderTemplate(ee){return this.renderers.map(de=>de.renderTemplate(ee))}renderElement(ee,de,ge,X){let B=0;for(const $ of this.renderers)$.renderElement(ee,de,ge[B++],X)}disposeElement(ee,de,ge,X){let B=0;for(const $ of this.renderers)$.disposeElement?.(ee,de,ge[B],X),B+=1}disposeTemplate(ee){let de=0;for(const ge of this.renderers)ge.disposeTemplate(ee[de++])}}class ue{constructor(ee){this.accessibilityProvider=ee,this.templateId="a18n"}renderTemplate(ee){return{container:ee,disposables:new i.DisposableStore}}renderElement(ee,de,ge){const X=this.accessibilityProvider.getAriaLabel(ee),B=X&&typeof X!="string"?X:(0,u.constObservable)(X);ge.disposables.add((0,u.autorun)(Y=>{this.setAriaLabel(Y.readObservable(B),ge.container)}));const $=this.accessibilityProvider.getAriaLevel&&this.accessibilityProvider.getAriaLevel(ee);typeof $=="number"?ge.container.setAttribute("aria-level",`${$}`):ge.container.removeAttribute("aria-level")}setAriaLabel(ee,de){ee?de.setAttribute("aria-label",ee):de.removeAttribute("aria-label")}disposeElement(ee,de,ge,X){ge.disposables.clear()}disposeTemplate(ee){ee.disposables.dispose()}}class he{constructor(ee,de){this.list=ee,this.dnd=de}getDragElements(ee){const de=this.list.getSelectedElements();return de.indexOf(ee)>-1?de:[ee]}getDragURI(ee){return this.dnd.getDragURI(ee)}getDragLabel(ee,de){if(this.dnd.getDragLabel)return this.dnd.getDragLabel(ee,de)}onDragStart(ee,de){this.dnd.onDragStart?.(ee,de)}onDragOver(ee,de,ge,X,B){return this.dnd.onDragOver(ee,de,ge,X,B)}onDragLeave(ee,de,ge,X){this.dnd.onDragLeave?.(ee,de,ge,X)}onDragEnd(ee){this.dnd.onDragEnd?.(ee)}drop(ee,de,ge,X,B){this.dnd.drop(ee,de,ge,X,B)}dispose(){this.dnd.dispose()}}class pe{get onDidChangeFocus(){return o.Event.map(this.eventBufferer.wrapEvent(this.focus.onChange),ee=>this.toListEvent(ee),this.disposables)}get onDidChangeSelection(){return o.Event.map(this.eventBufferer.wrapEvent(this.selection.onChange),ee=>this.toListEvent(ee),this.disposables)}get domId(){return this.view.domId}get onDidScroll(){return this.view.onDidScroll}get onMouseClick(){return this.view.onMouseClick}get onMouseDblClick(){return this.view.onMouseDblClick}get onMouseMiddleClick(){return this.view.onMouseMiddleClick}get onPointer(){return this.mouseController.onPointer}get onMouseDown(){return this.view.onMouseDown}get onMouseOver(){return this.view.onMouseOver}get onMouseOut(){return this.view.onMouseOut}get onTouchStart(){return this.view.onTouchStart}get onTap(){return this.view.onTap}get onContextMenu(){let ee=!1;const de=o.Event.chain(this.disposables.add(new k.DomEmitter(this.view.domNode,"keydown")).event,B=>B.map($=>new I.StandardKeyboardEvent($)).filter($=>ee=$.keyCode===58||$.shiftKey&&$.keyCode===68).map($=>d.EventHelper.stop($,!0)).filter(()=>!1)),ge=o.Event.chain(this.disposables.add(new k.DomEmitter(this.view.domNode,"keyup")).event,B=>B.forEach(()=>ee=!1).map($=>new I.StandardKeyboardEvent($)).filter($=>$.keyCode===58||$.shiftKey&&$.keyCode===68).map($=>d.EventHelper.stop($,!0)).map(({browserEvent:$})=>{const Y=this.getFocus(),Z=Y.length?Y[0]:void 0,te=typeof Z<"u"?this.view.element(Z):void 0,re=typeof Z<"u"?this.view.domElement(Z):this.view.domNode;return{index:Z,element:te,anchor:re,browserEvent:$}})),X=o.Event.chain(this.view.onContextMenu,B=>B.filter($=>!ee).map(({element:$,index:Y,browserEvent:Z})=>({element:$,index:Y,anchor:new r.StandardMouseEvent((0,d.getWindow)(this.view.domNode),Z),browserEvent:Z})));return o.Event.any(de,ge,X)}get onKeyDown(){return this.disposables.add(new k.DomEmitter(this.view.domNode,"keydown")).event}get onDidFocus(){return o.Event.signal(this.disposables.add(new k.DomEmitter(this.view.domNode,"focus",!0)).event)}get onDidBlur(){return o.Event.signal(this.disposables.add(new k.DomEmitter(this.view.domNode,"blur",!0)).event)}constructor(ee,de,ge,X,B=Q){this.user=ee,this._options=B,this.focus=new f("focused"),this.anchor=new f("anchor"),this.eventBufferer=new o.EventBufferer,this._ariaLabel="",this.disposables=new i.DisposableStore,this._onDidDispose=new o.Emitter,this.onDidDispose=this._onDidDispose.event;const $=this._options.accessibilityProvider&&this._options.accessibilityProvider.getWidgetRole?this._options.accessibilityProvider?.getWidgetRole():"list";this.selection=new h($!=="listbox");const Y=[this.focus.renderer,this.selection.renderer];this.accessibilityProvider=B.accessibilityProvider,this.accessibilityProvider&&(Y.push(new ue(this.accessibilityProvider)),this.accessibilityProvider.onDidChangeActiveDescendant?.(this.onDidChangeActiveDescendant,this,this.disposables)),X=X.map(te=>new ie(te.templateId,[...Y,te]));const Z={...B,dnd:B.dnd&&new he(this,B.dnd)};if(this.view=this.createListView(de,ge,X,Z),this.view.domNode.setAttribute("role",$),B.styleController)this.styleController=B.styleController(this.view.domId);else{const te=(0,d.createStyleSheet)(this.view.domNode);this.styleController=new j(te,this.view.domId)}if(this.spliceable=new m.CombinedSpliceable([new v(this.focus,this.view,B.identityProvider),new v(this.selection,this.view,B.identityProvider),new v(this.anchor,this.view,B.identityProvider),this.view]),this.disposables.add(this.focus),this.disposables.add(this.selection),this.disposables.add(this.anchor),this.disposables.add(this.view),this.disposables.add(this._onDidDispose),this.disposables.add(new W(this,this.view)),(typeof B.keyboardSupport!="boolean"||B.keyboardSupport)&&(this.keyboardController=new N(this,this.view,B),this.disposables.add(this.keyboardController)),B.keyboardNavigationLabelProvider){const te=B.keyboardNavigationDelegate||e.DefaultKeyboardNavigationDelegate;this.typeNavigationController=new x(this,this.view,B.keyboardNavigationLabelProvider,B.keyboardNavigationEventFilter??(()=>!0),te),this.disposables.add(this.typeNavigationController)}this.mouseController=this.createMouseController(B),this.disposables.add(this.mouseController),this.onDidChangeFocus(this._onFocusChange,this,this.disposables),this.onDidChangeSelection(this._onSelectionChange,this,this.disposables),this.accessibilityProvider&&(this.ariaLabel=this.accessibilityProvider.getWidgetAriaLabel()),this._options.multipleSelectionSupport!==!1&&this.view.domNode.setAttribute("aria-multiselectable","true")}createListView(ee,de,ge,X){return new a.ListView(ee,de,ge,X)}createMouseController(ee){return new U(this)}updateOptions(ee={}){this._options={...this._options,...ee},this.typeNavigationController?.updateOptions(this._options),this._options.multipleSelectionController!==void 0&&(this._options.multipleSelectionSupport?this.view.domNode.setAttribute("aria-multiselectable","true"):this.view.domNode.removeAttribute("aria-multiselectable")),this.mouseController.updateOptions(ee),this.keyboardController?.updateOptions(ee),this.view.updateOptions(ee)}get options(){return this._options}splice(ee,de,ge=[]){if(ee<0||ee>this.view.length)throw new l.ListError(this.user,`Invalid start index: ${ee}`);if(de<0)throw new l.ListError(this.user,`Invalid delete count: ${de}`);de===0&&ge.length===0||this.eventBufferer.bufferEvents(()=>this.spliceable.splice(ee,de,ge))}rerender(){this.view.rerender()}element(ee){return this.view.element(ee)}indexOf(ee){return this.view.indexOf(ee)}indexAt(ee){return this.view.indexAt(ee)}get length(){return this.view.length}get contentHeight(){return this.view.contentHeight}get onDidChangeContentHeight(){return this.view.onDidChangeContentHeight}get scrollTop(){return this.view.getScrollTop()}set scrollTop(ee){this.view.setScrollTop(ee)}get scrollHeight(){return this.view.scrollHeight}get renderHeight(){return this.view.renderHeight}get firstVisibleIndex(){return this.view.firstVisibleIndex}get ariaLabel(){return this._ariaLabel}set ariaLabel(ee){this._ariaLabel=ee,this.view.domNode.setAttribute("aria-label",ee)}domFocus(){this.view.domNode.focus({preventScroll:!0})}layout(ee,de){this.view.layout(ee,de)}setSelection(ee,de){for(const ge of ee)if(ge<0||ge>=this.length)throw new l.ListError(this.user,`Invalid index ${ge}`);this.selection.set(ee,de)}getSelection(){return this.selection.get()}getSelectedElements(){return this.getSelection().map(ee=>this.view.element(ee))}setAnchor(ee){if(typeof ee>"u"){this.anchor.set([]);return}if(ee<0||ee>=this.length)throw new l.ListError(this.user,`Invalid index ${ee}`);this.anchor.set([ee])}getAnchor(){return(0,_.firstOrDefault)(this.anchor.get(),void 0)}getAnchorElement(){const ee=this.getAnchor();return typeof ee>"u"?void 0:this.element(ee)}setFocus(ee,de){for(const ge of ee)if(ge<0||ge>=this.length)throw new l.ListError(this.user,`Invalid index ${ge}`);this.focus.set(ee,de)}focusNext(ee=1,de=!1,ge,X){if(this.length===0)return;const B=this.focus.get(),$=this.findNextIndex(B.length>0?B[0]+ee:0,de,X);$>-1&&this.setFocus([$],ge)}focusPrevious(ee=1,de=!1,ge,X){if(this.length===0)return;const B=this.focus.get(),$=this.findPreviousIndex(B.length>0?B[0]-ee:0,de,X);$>-1&&this.setFocus([$],ge)}async focusNextPage(ee,de){let ge=this.view.indexAt(this.view.getScrollTop()+this.view.renderHeight);ge=ge===0?0:ge-1;const X=this.getFocus()[0];if(X!==ge&&(X===void 0||ge>X)){const B=this.findPreviousIndex(ge,!1,de);B>-1&&X!==B?this.setFocus([B],ee):this.setFocus([ge],ee)}else{const B=this.view.getScrollTop();let $=B+this.view.renderHeight;ge>X&&($-=this.view.elementHeight(ge)),this.view.setScrollTop($),this.view.getScrollTop()!==B&&(this.setFocus([]),await(0,b.timeout)(0),await this.focusNextPage(ee,de))}}async focusPreviousPage(ee,de,ge=()=>0){let X;const B=ge(),$=this.view.getScrollTop()+B;$===0?X=this.view.indexAt($):X=this.view.indexAfter($-1);const Y=this.getFocus()[0];if(Y!==X&&(Y===void 0||Y>=X)){const Z=this.findNextIndex(X,!1,de);Z>-1&&Y!==Z?this.setFocus([Z],ee):this.setFocus([X],ee)}else{const Z=$;this.view.setScrollTop($-this.view.renderHeight-B),this.view.getScrollTop()+ge()!==Z&&(this.setFocus([]),await(0,b.timeout)(0),await this.focusPreviousPage(ee,de,ge))}}focusLast(ee,de){if(this.length===0)return;const ge=this.findPreviousIndex(this.length-1,!1,de);ge>-1&&this.setFocus([ge],ee)}focusFirst(ee,de){this.focusNth(0,ee,de)}focusNth(ee,de,ge){if(this.length===0)return;const X=this.findNextIndex(ee,!1,ge);X>-1&&this.setFocus([X],de)}findNextIndex(ee,de=!1,ge){for(let X=0;X=this.length&&!de)return-1;if(ee=ee%this.length,!ge||ge(this.element(ee)))return ee;ee++}return-1}findPreviousIndex(ee,de=!1,ge){for(let X=0;Xthis.view.element(ee))}reveal(ee,de,ge=0){if(ee<0||ee>=this.length)throw new l.ListError(this.user,`Invalid index ${ee}`);const X=this.view.getScrollTop(),B=this.view.elementTop(ee),$=this.view.elementHeight(ee);if((0,c.isNumber)(de)){const Y=$-this.view.renderHeight+ge;this.view.setScrollTop(Y*(0,s.clamp)(de,0,1)+B-ge)}else{const Y=B+$,Z=X+this.view.renderHeight;B=Z||(B=Z&&$>=this.view.renderHeight?this.view.setScrollTop(B-ge):Y>=Z&&this.view.setScrollTop(Y-this.view.renderHeight))}}getRelativeTop(ee,de=0){if(ee<0||ee>=this.length)throw new l.ListError(this.user,`Invalid index ${ee}`);const ge=this.view.getScrollTop(),X=this.view.elementTop(ee),B=this.view.elementHeight(ee);if(Xge+this.view.renderHeight)return null;const $=B-this.view.renderHeight+de;return Math.abs((ge+de-X)/$)}getHTMLElement(){return this.view.domNode}getScrollableElement(){return this.view.scrollableElementDomNode}getElementID(ee){return this.view.getElementDomId(ee)}getElementTop(ee){return this.view.elementTop(ee)}style(ee){this.styleController.style(ee)}toListEvent({indexes:ee,browserEvent:de}){return{indexes:ee,elements:ee.map(ge=>this.view.element(ge)),browserEvent:de}}_onFocusChange(){const ee=this.focus.get();this.view.domNode.classList.toggle("element-focused",ee.length>0),this.onDidChangeActiveDescendant()}onDidChangeActiveDescendant(){const ee=this.focus.get();if(ee.length>0){let de;this.accessibilityProvider?.getActiveDescendantId&&(de=this.accessibilityProvider.getActiveDescendantId(this.view.element(ee[0]))),this.view.domNode.setAttribute("aria-activedescendant",de||this.view.getElementDomId(ee[0]))}else this.view.domNode.removeAttribute("aria-activedescendant")}_onSelectionChange(){const ee=this.selection.get();this.view.domNode.classList.toggle("selection-none",ee.length===0),this.view.domNode.classList.toggle("selection-single",ee.length===1),this.view.domNode.classList.toggle("selection-multiple",ee.length>1)}dispose(){this._onDidDispose.fire(),this.disposables.dispose(),this._onDidDispose.dispose()}}e.List=pe,ke([n.memoize],pe.prototype,"onDidChangeFocus",null),ke([n.memoize],pe.prototype,"onDidChangeSelection",null),ke([n.memoize],pe.prototype,"onContextMenu",null),ke([n.memoize],pe.prototype,"onKeyDown",null),ke([n.memoize],pe.prototype,"onDidFocus",null),ke([n.memoize],pe.prototype,"onDidBlur",null)}),define(ne[637],se([1,0,13,18,6,2,115,305]),function(oe,e,d,k,I,E,y){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.PagedList=void 0;class m{get templateId(){return this.renderer.templateId}constructor(o,t){this.renderer=o,this.modelProvider=t}renderTemplate(o){return{data:this.renderer.renderTemplate(o),disposable:E.Disposable.None}}renderElement(o,t,i,s){if(i.disposable?.dispose(),!i.data)return;const g=this.modelProvider();if(g.isResolved(o))return this.renderer.renderElement(g.get(o),o,i.data,s);const c=new k.CancellationTokenSource,l=g.resolve(o,c.token);i.disposable={dispose:()=>c.cancel()},this.renderer.renderPlaceholder(o,i.data),l.then(a=>this.renderer.renderElement(a,o,i.data,s))}disposeTemplate(o){o.disposable&&(o.disposable.dispose(),o.disposable=void 0),o.data&&(this.renderer.disposeTemplate(o.data),o.data=void 0)}}class _{constructor(o,t){this.modelProvider=o,this.accessibilityProvider=t}getWidgetAriaLabel(){return this.accessibilityProvider.getWidgetAriaLabel()}getAriaLabel(o){const t=this.modelProvider();return t.isResolved(o)?this.accessibilityProvider.getAriaLabel(t.get(o)):null}}function b(n,o){return{...o,accessibilityProvider:o.accessibilityProvider&&new _(n,o.accessibilityProvider)}}class p{constructor(o,t,i,s,g={}){const c=()=>this.model,l=s.map(a=>new m(a,c));this.list=new y.List(o,t,i,l,b(c,g))}updateOptions(o){this.list.updateOptions(o)}getHTMLElement(){return this.list.getHTMLElement()}get onDidFocus(){return this.list.onDidFocus}get widget(){return this.list}get onDidDispose(){return this.list.onDidDispose}get onMouseDblClick(){return I.Event.map(this.list.onMouseDblClick,({element:o,index:t,browserEvent:i})=>({element:o===void 0?void 0:this._model.get(o),index:t,browserEvent:i}))}get onPointer(){return I.Event.map(this.list.onPointer,({element:o,index:t,browserEvent:i})=>({element:o===void 0?void 0:this._model.get(o),index:t,browserEvent:i}))}get onDidChangeSelection(){return I.Event.map(this.list.onDidChangeSelection,({elements:o,indexes:t,browserEvent:i})=>({elements:o.map(s=>this._model.get(s)),indexes:t,browserEvent:i}))}get model(){return this._model}set model(o){this._model=o,this.list.splice(0,this.list.length,(0,d.range)(o.length))}getFocus(){return this.list.getFocus()}getSelection(){return this.list.getSelection()}getSelectedElements(){return this.getSelection().map(o=>this.model.get(o))}style(o){this.list.style(o)}dispose(){this.list.dispose()}}e.PagedList=p}),define(ne[357],se([1,0,5,93,173,86,13,33,6,2,141,163,19,474]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SplitView=e.Sizing=void 0;const t={separatorBorder:m.Color.transparent};class i{set size(u){this._size=u}get size(){return this._size}get visible(){return typeof this._cachedVisibleSize>"u"}setVisible(u,C){if(u!==this.visible){u?(this.size=(0,p.clamp)(this._cachedVisibleSize,this.viewMinimumSize,this.viewMaximumSize),this._cachedVisibleSize=void 0):(this._cachedVisibleSize=typeof C=="number"?C:this.size,this.size=0),this.container.classList.toggle("visible",u);try{this.view.setVisible?.(u)}catch(f){console.error("Splitview: Failed to set visible view"),console.error(f)}}}get minimumSize(){return this.visible?this.view.minimumSize:0}get viewMinimumSize(){return this.view.minimumSize}get maximumSize(){return this.visible?this.view.maximumSize:0}get viewMaximumSize(){return this.view.maximumSize}get priority(){return this.view.priority}get proportionalLayout(){return this.view.proportionalLayout??!0}get snap(){return!!this.view.snap}set enabled(u){this.container.style.pointerEvents=u?"":"none"}constructor(u,C,f,h){this.container=u,this.view=C,this.disposable=h,this._cachedVisibleSize=void 0,typeof f=="number"?(this._size=f,this._cachedVisibleSize=void 0,u.classList.add("visible")):(this._size=0,this._cachedVisibleSize=f.cachedVisibleSize)}layout(u,C){this.layoutContainer(u);try{this.view.layout(this.size,u,C)}catch(f){console.error("Splitview: Failed to layout view"),console.error(f)}}dispose(){this.disposable.dispose()}}class s extends i{layoutContainer(u){this.container.style.top=`${u}px`,this.container.style.height=`${this.size}px`}}class g extends i{layoutContainer(u){this.container.style.left=`${u}px`,this.container.style.width=`${this.size}px`}}var c;(function(r){r[r.Idle=0]="Idle",r[r.Busy=1]="Busy"})(c||(c={}));var l;(function(r){r.Distribute={type:"distribute"};function u(h){return{type:"split",index:h}}r.Split=u;function C(h){return{type:"auto",index:h}}r.Auto=C;function f(h){return{type:"invisible",cachedVisibleSize:h}}r.Invisible=f})(l||(e.Sizing=l={}));class a extends b.Disposable{get orthogonalStartSash(){return this._orthogonalStartSash}get orthogonalEndSash(){return this._orthogonalEndSash}get startSnappingEnabled(){return this._startSnappingEnabled}get endSnappingEnabled(){return this._endSnappingEnabled}set orthogonalStartSash(u){for(const C of this.sashItems)C.sash.orthogonalStartSash=u;this._orthogonalStartSash=u}set orthogonalEndSash(u){for(const C of this.sashItems)C.sash.orthogonalEndSash=u;this._orthogonalEndSash=u}set startSnappingEnabled(u){this._startSnappingEnabled!==u&&(this._startSnappingEnabled=u,this.updateSashEnablement())}set endSnappingEnabled(u){this._endSnappingEnabled!==u&&(this._endSnappingEnabled=u,this.updateSashEnablement())}constructor(u,C={}){super(),this.size=0,this._contentSize=0,this.proportions=void 0,this.viewItems=[],this.sashItems=[],this.state=c.Idle,this._onDidSashChange=this._register(new _.Emitter),this._onDidSashReset=this._register(new _.Emitter),this._startSnappingEnabled=!0,this._endSnappingEnabled=!0,this.onDidSashChange=this._onDidSashChange.event,this.onDidSashReset=this._onDidSashReset.event,this.orientation=C.orientation??0,this.inverseAltBehavior=C.inverseAltBehavior??!1,this.proportionalLayout=C.proportionalLayout??!0,this.getSashOrthogonalSize=C.getSashOrthogonalSize,this.el=document.createElement("div"),this.el.classList.add("monaco-split-view2"),this.el.classList.add(this.orientation===0?"vertical":"horizontal"),u.appendChild(this.el),this.sashContainer=(0,d.append)(this.el,(0,d.$)(".sash-container")),this.viewContainer=(0,d.$)(".split-view-container"),this.scrollable=this._register(new n.Scrollable({forceIntegerValues:!0,smoothScrollDuration:125,scheduleAtNextAnimationFrame:h=>(0,d.scheduleAtNextAnimationFrame)((0,d.getWindow)(this.el),h)})),this.scrollableElement=this._register(new E.SmoothScrollableElement(this.viewContainer,{vertical:this.orientation===0?C.scrollbarVisibility??1:2,horizontal:this.orientation===1?C.scrollbarVisibility??1:2},this.scrollable));const f=this._register(new k.DomEmitter(this.viewContainer,"scroll")).event;this._register(f(h=>{const v=this.scrollableElement.getScrollPosition(),w=Math.abs(this.viewContainer.scrollLeft-v.scrollLeft)<=1?void 0:this.viewContainer.scrollLeft,S=Math.abs(this.viewContainer.scrollTop-v.scrollTop)<=1?void 0:this.viewContainer.scrollTop;(w!==void 0||S!==void 0)&&this.scrollableElement.setScrollPosition({scrollLeft:w,scrollTop:S})})),this.onDidScroll=this.scrollableElement.onScroll,this._register(this.onDidScroll(h=>{h.scrollTopChanged&&(this.viewContainer.scrollTop=h.scrollTop),h.scrollLeftChanged&&(this.viewContainer.scrollLeft=h.scrollLeft)})),(0,d.append)(this.el,this.scrollableElement.getDomNode()),this.style(C.styles||t),C.descriptor&&(this.size=C.descriptor.size,C.descriptor.views.forEach((h,v)=>{const w=o.isUndefined(h.visible)||h.visible?h.size:{type:"invisible",cachedVisibleSize:h.size},S=h.view;this.doAddView(S,w,v,!0)}),this._contentSize=this.viewItems.reduce((h,v)=>h+v.size,0),this.saveProportions())}style(u){u.separatorBorder.isTransparent()?(this.el.classList.remove("separator-border"),this.el.style.removeProperty("--separator-border")):(this.el.classList.add("separator-border"),this.el.style.setProperty("--separator-border",u.separatorBorder.toString()))}addView(u,C,f=this.viewItems.length,h){this.doAddView(u,C,f,h)}layout(u,C){const f=Math.max(this.size,this._contentSize);if(this.size=u,this.layoutContext=C,this.proportions){let h=0;for(let v=0;v0&&(w.size=(0,p.clamp)(Math.round(S*u/h),w.minimumSize,w.maximumSize))}}else{const h=(0,y.range)(this.viewItems.length),v=h.filter(S=>this.viewItems[S].priority===1),w=h.filter(S=>this.viewItems[S].priority===2);this.resize(this.viewItems.length-1,u-f,void 0,v,w)}this.distributeEmptySpace(),this.layoutViews()}saveProportions(){this.proportionalLayout&&this._contentSize>0&&(this.proportions=this.viewItems.map(u=>u.proportionalLayout&&u.visible?u.size/this._contentSize:void 0))}onSashStart({sash:u,start:C,alt:f}){for(const S of this.viewItems)S.enabled=!1;const h=this.sashItems.findIndex(S=>S.sash===u),v=(0,b.combinedDisposable)((0,d.addDisposableListener)(this.el.ownerDocument.body,"keydown",S=>w(this.sashDragState.current,S.altKey)),(0,d.addDisposableListener)(this.el.ownerDocument.body,"keyup",()=>w(this.sashDragState.current,!1))),w=(S,L)=>{const D=this.viewItems.map(N=>N.size);let T=Number.NEGATIVE_INFINITY,M=Number.POSITIVE_INFINITY;if(this.inverseAltBehavior&&(L=!L),L)if(h===this.sashItems.length-1){const O=this.viewItems[h];T=(O.minimumSize-O.size)/2,M=(O.maximumSize-O.size)/2}else{const O=this.viewItems[h+1];T=(O.size-O.maximumSize)/2,M=(O.size-O.minimumSize)/2}let A,P;if(!L){const N=(0,y.range)(h,-1),O=(0,y.range)(h+1,this.viewItems.length),F=N.reduce((j,Q)=>j+(this.viewItems[Q].minimumSize-D[Q]),0),x=N.reduce((j,Q)=>j+(this.viewItems[Q].viewMaximumSize-D[Q]),0),W=O.length===0?Number.POSITIVE_INFINITY:O.reduce((j,Q)=>j+(D[Q]-this.viewItems[Q].minimumSize),0),V=O.length===0?Number.NEGATIVE_INFINITY:O.reduce((j,Q)=>j+(D[Q]-this.viewItems[Q].viewMaximumSize),0),q=Math.max(F,V),H=Math.min(W,x),z=this.findFirstSnapIndex(N),U=this.findFirstSnapIndex(O);if(typeof z=="number"){const j=this.viewItems[z],Q=Math.floor(j.viewMinimumSize/2);A={index:z,limitDelta:j.visible?q-Q:q+Q,size:j.size}}if(typeof U=="number"){const j=this.viewItems[U],Q=Math.floor(j.viewMinimumSize/2);P={index:U,limitDelta:j.visible?H+Q:H-Q,size:j.size}}}this.sashDragState={start:S,current:S,index:h,sizes:D,minDelta:T,maxDelta:M,alt:L,snapBefore:A,snapAfter:P,disposable:v}};w(C,f)}onSashChange({current:u}){const{index:C,start:f,sizes:h,alt:v,minDelta:w,maxDelta:S,snapBefore:L,snapAfter:D}=this.sashDragState;this.sashDragState.current=u;const T=u-f,M=this.resize(C,T,h,void 0,void 0,w,S,L,D);if(v){const A=C===this.sashItems.length-1,P=this.viewItems.map(V=>V.size),N=A?C:C+1,O=this.viewItems[N],F=O.size-O.maximumSize,x=O.size-O.minimumSize,W=A?C-1:C+1;this.resize(W,-M,P,void 0,void 0,F,x)}this.distributeEmptySpace(),this.layoutViews()}onSashEnd(u){this._onDidSashChange.fire(u),this.sashDragState.disposable.dispose(),this.saveProportions();for(const C of this.viewItems)C.enabled=!0}onViewChange(u,C){const f=this.viewItems.indexOf(u);f<0||f>=this.viewItems.length||(C=typeof C=="number"?C:u.size,C=(0,p.clamp)(C,u.minimumSize,u.maximumSize),this.inverseAltBehavior&&f>0?(this.resize(f-1,Math.floor((u.size-C)/2)),this.distributeEmptySpace(),this.layoutViews()):(u.size=C,this.relayout([f],void 0)))}resizeView(u,C){if(!(u<0||u>=this.viewItems.length)){if(this.state!==c.Idle)throw new Error("Cant modify splitview");this.state=c.Busy;try{const f=(0,y.range)(this.viewItems.length).filter(S=>S!==u),h=[...f.filter(S=>this.viewItems[S].priority===1),u],v=f.filter(S=>this.viewItems[S].priority===2),w=this.viewItems[u];C=Math.round(C),C=(0,p.clamp)(C,w.minimumSize,Math.min(w.maximumSize,this.size)),w.size=C,this.relayout(h,v)}finally{this.state=c.Idle}}}distributeViewSizes(){const u=[];let C=0;for(const S of this.viewItems)S.maximumSize-S.minimumSize>0&&(u.push(S),C+=S.size);const f=Math.floor(C/u.length);for(const S of u)S.size=(0,p.clamp)(f,S.minimumSize,S.maximumSize);const h=(0,y.range)(this.viewItems.length),v=h.filter(S=>this.viewItems[S].priority===1),w=h.filter(S=>this.viewItems[S].priority===2);this.relayout(v,w)}getViewSize(u){return u<0||u>=this.viewItems.length?-1:this.viewItems[u].size}doAddView(u,C,f=this.viewItems.length,h){if(this.state!==c.Idle)throw new Error("Cant modify splitview");this.state=c.Busy;try{const v=(0,d.$)(".split-view-view");f===this.viewItems.length?this.viewContainer.appendChild(v):this.viewContainer.insertBefore(v,this.viewContainer.children.item(f));const w=u.onDidChange(A=>this.onViewChange(T,A)),S=(0,b.toDisposable)(()=>v.remove()),L=(0,b.combinedDisposable)(w,S);let D;typeof C=="number"?D=C:(C.type==="auto"&&(this.areViewsDistributed()?C={type:"distribute"}:C={type:"split",index:C.index}),C.type==="split"?D=this.getViewSize(C.index)/2:C.type==="invisible"?D={cachedVisibleSize:C.cachedVisibleSize}:D=u.minimumSize);const T=this.orientation===0?new s(v,u,D,L):new g(v,u,D,L);if(this.viewItems.splice(f,0,T),this.viewItems.length>1){const A={orthogonalStartSash:this.orthogonalStartSash,orthogonalEndSash:this.orthogonalEndSash},P=this.orientation===0?new I.Sash(this.sashContainer,{getHorizontalSashTop:j=>this.getSashPosition(j),getHorizontalSashWidth:this.getSashOrthogonalSize},{...A,orientation:1}):new I.Sash(this.sashContainer,{getVerticalSashLeft:j=>this.getSashPosition(j),getVerticalSashHeight:this.getSashOrthogonalSize},{...A,orientation:0}),N=this.orientation===0?j=>({sash:P,start:j.startY,current:j.currentY,alt:j.altKey}):j=>({sash:P,start:j.startX,current:j.currentX,alt:j.altKey}),F=_.Event.map(P.onDidStart,N)(this.onSashStart,this),W=_.Event.map(P.onDidChange,N)(this.onSashChange,this),q=_.Event.map(P.onDidEnd,()=>this.sashItems.findIndex(j=>j.sash===P))(this.onSashEnd,this),H=P.onDidReset(()=>{const j=this.sashItems.findIndex(J=>J.sash===P),Q=(0,y.range)(j,-1),G=(0,y.range)(j+1,this.viewItems.length),K=this.findFirstSnapIndex(Q),R=this.findFirstSnapIndex(G);typeof K=="number"&&!this.viewItems[K].visible||typeof R=="number"&&!this.viewItems[R].visible||this._onDidSashReset.fire(j)}),z=(0,b.combinedDisposable)(F,W,q,H,P),U={sash:P,disposable:z};this.sashItems.splice(f-1,0,U)}v.appendChild(u.element);let M;typeof C!="number"&&C.type==="split"&&(M=[C.index]),h||this.relayout([f],M),!h&&typeof C!="number"&&C.type==="distribute"&&this.distributeViewSizes()}finally{this.state=c.Idle}}relayout(u,C){const f=this.viewItems.reduce((h,v)=>h+v.size,0);this.resize(this.viewItems.length-1,this.size-f,void 0,u,C),this.distributeEmptySpace(),this.layoutViews(),this.saveProportions()}resize(u,C,f=this.viewItems.map(T=>T.size),h,v,w=Number.NEGATIVE_INFINITY,S=Number.POSITIVE_INFINITY,L,D){if(u<0||u>=this.viewItems.length)return 0;const T=(0,y.range)(u,-1),M=(0,y.range)(u+1,this.viewItems.length);if(v)for(const U of v)(0,y.pushToStart)(T,U),(0,y.pushToStart)(M,U);if(h)for(const U of h)(0,y.pushToEnd)(T,U),(0,y.pushToEnd)(M,U);const A=T.map(U=>this.viewItems[U]),P=T.map(U=>f[U]),N=M.map(U=>this.viewItems[U]),O=M.map(U=>f[U]),F=T.reduce((U,j)=>U+(this.viewItems[j].minimumSize-f[j]),0),x=T.reduce((U,j)=>U+(this.viewItems[j].maximumSize-f[j]),0),W=M.length===0?Number.POSITIVE_INFINITY:M.reduce((U,j)=>U+(f[j]-this.viewItems[j].minimumSize),0),V=M.length===0?Number.NEGATIVE_INFINITY:M.reduce((U,j)=>U+(f[j]-this.viewItems[j].maximumSize),0),q=Math.max(F,V,w),H=Math.min(W,x,S);let z=!1;if(L){const U=this.viewItems[L.index],j=C>=L.limitDelta;z=j!==U.visible,U.setVisible(j,L.size)}if(!z&&D){const U=this.viewItems[D.index],j=CS+L.size,0);let f=this.size-C;const h=(0,y.range)(this.viewItems.length-1,-1),v=h.filter(S=>this.viewItems[S].priority===1),w=h.filter(S=>this.viewItems[S].priority===2);for(const S of w)(0,y.pushToStart)(h,S);for(const S of v)(0,y.pushToEnd)(h,S);typeof u=="number"&&(0,y.pushToEnd)(h,u);for(let S=0;f!==0&&SC+f.size,0);let u=0;for(const C of this.viewItems)C.layout(u,this.layoutContext),u+=C.size;this.sashItems.forEach(C=>C.sash.layout()),this.updateSashEnablement(),this.updateScrollableElement()}updateScrollableElement(){this.orientation===0?this.scrollableElement.setScrollDimensions({height:this.size,scrollHeight:this._contentSize}):this.scrollableElement.setScrollDimensions({width:this.size,scrollWidth:this._contentSize})}updateSashEnablement(){let u=!1;const C=this.viewItems.map(L=>u=L.size-L.minimumSize>0||u);u=!1;const f=this.viewItems.map(L=>u=L.maximumSize-L.size>0||u),h=[...this.viewItems].reverse();u=!1;const v=h.map(L=>u=L.size-L.minimumSize>0||u).reverse();u=!1;const w=h.map(L=>u=L.maximumSize-L.size>0||u).reverse();let S=0;for(let L=0;L0||this.startSnappingEnabled)?D.state=1:W&&C[L]&&(S0)return;if(!f.visible&&f.snap)return C}}areViewsDistributed(){let u,C;for(const f of this.viewItems)if(u=u===void 0?f.size:Math.min(u,f.size),C=C===void 0?f.size:Math.max(C,f.size),C-u>2)return!1;return!0}dispose(){this.sashDragState?.disposable.dispose(),(0,b.dispose)(this.viewItems),this.viewItems=[],this.sashItems.forEach(u=>u.disposable.dispose()),this.sashItems=[],super.dispose()}}e.SplitView=a}),define(ne[638],se([1,0,5,81,44,115,357,6,2,475]),function(oe,e,d,k,I,E,y,m,_){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Table=void 0;class b{static{this.TemplateId="row"}constructor(i,s,g){this.columns=i,this.getColumnSize=g,this.templateId=b.TemplateId,this.renderedTemplates=new Set;const c=new Map(s.map(l=>[l.templateId,l]));this.renderers=[];for(const l of i){const a=c.get(l.templateId);if(!a)throw new Error(`Table cell renderer for template id ${l.templateId} not found.`);this.renderers.push(a)}}renderTemplate(i){const s=(0,d.append)(i,(0,d.$)(".monaco-table-tr")),g=[],c=[];for(let a=0;athis.disposables.add(new n(f,h))),u={size:r.reduce((f,h)=>f+h.column.weight,0),views:r.map(f=>({size:f.column.weight,view:f}))};this.splitview=this.disposables.add(new y.SplitView(this.domNode,{orientation:1,scrollbarVisibility:2,getSashOrthogonalSize:()=>this.cachedHeight,descriptor:u})),this.splitview.el.style.height=`${g.headerRowHeight}px`,this.splitview.el.style.lineHeight=`${g.headerRowHeight}px`;const C=new b(c,l,f=>this.splitview.getViewSize(f));this.list=this.disposables.add(new E.List(i,this.domNode,p(g),[C],a)),m.Event.any(...r.map(f=>f.onDidLayout))(([f,h])=>C.layoutColumn(f,h),null,this.disposables),this.splitview.onDidSashReset(f=>{const h=c.reduce((w,S)=>w+S.weight,0),v=c[f].weight/h*this.cachedWidth;this.splitview.resizeView(f,v)},null,this.disposables),this.styleElement=(0,d.createStyleSheet)(this.domNode),this.style(E.unthemedListStyles)}updateOptions(i){this.list.updateOptions(i)}splice(i,s,g=[]){this.list.splice(i,s,g)}getHTMLElement(){return this.domNode}style(i){const s=[];s.push(`.monaco-table.${this.domId} > .monaco-split-view2 .monaco-sash.vertical::before { + top: ${this.virtualDelegate.headerRowHeight+1}px; + height: calc(100% - ${this.virtualDelegate.headerRowHeight}px); + }`),this.styleElement.textContent=s.join(` +`),this.list.style(i)}getSelectedElements(){return this.list.getSelectedElements()}getSelection(){return this.list.getSelection()}getFocus(){return this.list.getFocus()}dispose(){this.disposables.dispose()}}e.Table=o}),define(ne[175],se([1,0,85,30,6,44,81,476]),function(oe,e,d,k,I,E,y){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Toggle=e.unthemedToggleStyles=void 0,e.unthemedToggleStyles={inputActiveOptionBorder:"#007ACC00",inputActiveOptionForeground:"#FFFFFF",inputActiveOptionBackground:"#0E639C50"};class m extends d.Widget{constructor(b){super(),this._onChange=this._register(new I.Emitter),this.onChange=this._onChange.event,this._onKeyDown=this._register(new I.Emitter),this.onKeyDown=this._onKeyDown.event,this._opts=b,this._checked=this._opts.isChecked;const p=["monaco-custom-toggle"];this._opts.icon&&(this._icon=this._opts.icon,p.push(...k.ThemeIcon.asClassNameArray(this._icon))),this._opts.actionClassName&&p.push(...this._opts.actionClassName.split(" ")),this._checked&&p.push("checked"),this.domNode=document.createElement("div"),this._hover=this._register((0,y.getBaseLayerHoverDelegate)().setupManagedHover(b.hoverDelegate??(0,E.getDefaultHoverDelegate)("mouse"),this.domNode,this._opts.title)),this.domNode.classList.add(...p),this._opts.notFocusable||(this.domNode.tabIndex=0),this.domNode.setAttribute("role","checkbox"),this.domNode.setAttribute("aria-checked",String(this._checked)),this.domNode.setAttribute("aria-label",this._opts.title),this.applyStyles(),this.onclick(this.domNode,n=>{this.enabled&&(this.checked=!this._checked,this._onChange.fire(!1),n.preventDefault())}),this._register(this.ignoreGesture(this.domNode)),this.onkeydown(this.domNode,n=>{if(n.keyCode===10||n.keyCode===3){this.checked=!this._checked,this._onChange.fire(!0),n.preventDefault(),n.stopPropagation();return}this._onKeyDown.fire(n)})}get enabled(){return this.domNode.getAttribute("aria-disabled")!=="true"}focus(){this.domNode.focus()}get checked(){return this._checked}set checked(b){this._checked=b,this.domNode.setAttribute("aria-checked",String(this._checked)),this.domNode.classList.toggle("checked",this._checked),this.applyStyles()}width(){return 22}applyStyles(){this.domNode&&(this.domNode.style.borderColor=this._checked&&this._opts.inputActiveOptionBorder||"",this.domNode.style.color=this._checked&&this._opts.inputActiveOptionForeground||"inherit",this.domNode.style.backgroundColor=this._checked&&this._opts.inputActiveOptionBackground||"")}enable(){this.domNode.setAttribute("aria-disabled",String(!1))}disable(){this.domNode.setAttribute("aria-disabled",String(!0))}}e.Toggle=m}),define(ne[358],se([1,0,44,175,26,3]),function(oe,e,d,k,I,E){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.RegexToggle=e.WholeWordsToggle=e.CaseSensitiveToggle=void 0;const y=E.localize(2,"Match Case"),m=E.localize(3,"Match Whole Word"),_=E.localize(4,"Use Regular Expression");class b extends k.Toggle{constructor(t){super({icon:I.Codicon.caseSensitive,title:y+t.appendTitle,isChecked:t.isChecked,hoverDelegate:t.hoverDelegate??(0,d.getDefaultHoverDelegate)("element"),inputActiveOptionBorder:t.inputActiveOptionBorder,inputActiveOptionForeground:t.inputActiveOptionForeground,inputActiveOptionBackground:t.inputActiveOptionBackground})}}e.CaseSensitiveToggle=b;class p extends k.Toggle{constructor(t){super({icon:I.Codicon.wholeWord,title:m+t.appendTitle,isChecked:t.isChecked,hoverDelegate:t.hoverDelegate??(0,d.getDefaultHoverDelegate)("element"),inputActiveOptionBorder:t.inputActiveOptionBorder,inputActiveOptionForeground:t.inputActiveOptionForeground,inputActiveOptionBackground:t.inputActiveOptionBackground})}}e.WholeWordsToggle=p;class n extends k.Toggle{constructor(t){super({icon:I.Codicon.regex,title:_+t.appendTitle,isChecked:t.isChecked,hoverDelegate:t.hoverDelegate??(0,d.getDefaultHoverDelegate)("element"),inputActiveOptionBorder:t.inputActiveOptionBorder,inputActiveOptionForeground:t.inputActiveOptionForeground,inputActiveOptionBackground:t.inputActiveOptionBackground})}}e.RegexToggle=n}),define(ne[48],se([1,0,251,42,99,16,11,22]),function(oe,e,d,k,I,E,y,m){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DataUri=e.addTrailingPathSeparator=e.removeTrailingPathSeparator=e.hasTrailingPathSeparator=e.isEqualAuthority=e.isAbsolutePath=e.resolvePath=e.relativePath=e.normalizePath=e.joinPath=e.dirname=e.extname=e.basename=e.basenameOrAuthority=e.getComparisonKey=e.isEqualOrParent=e.isEqual=e.extUriIgnorePathCase=e.extUriBiasedIgnorePathCase=e.extUri=e.ExtUri=void 0,e.originalFSPath=_;function _(n){return(0,m.uriToFsPath)(n,!0)}class b{constructor(o){this._ignorePathCasing=o}compare(o,t,i=!1){return o===t?0:(0,y.compare)(this.getComparisonKey(o,i),this.getComparisonKey(t,i))}isEqual(o,t,i=!1){return o===t?!0:!o||!t?!1:this.getComparisonKey(o,i)===this.getComparisonKey(t,i)}getComparisonKey(o,t=!1){return o.with({path:this._ignorePathCasing(o)?o.path.toLowerCase():void 0,fragment:t?null:void 0}).toString()}isEqualOrParent(o,t,i=!1){if(o.scheme===t.scheme){if(o.scheme===k.Schemas.file)return d.isEqualOrParent(_(o),_(t),this._ignorePathCasing(o))&&o.query===t.query&&(i||o.fragment===t.fragment);if((0,e.isEqualAuthority)(o.authority,t.authority))return d.isEqualOrParent(o.path,t.path,this._ignorePathCasing(o),"/")&&o.query===t.query&&(i||o.fragment===t.fragment)}return!1}joinPath(o,...t){return m.URI.joinPath(o,...t)}basenameOrAuthority(o){return(0,e.basename)(o)||o.authority}basename(o){return I.posix.basename(o.path)}extname(o){return I.posix.extname(o.path)}dirname(o){if(o.path.length===0)return o;let t;return o.scheme===k.Schemas.file?t=m.URI.file(I.dirname(_(o))).path:(t=I.posix.dirname(o.path),o.authority&&t.length&&t.charCodeAt(0)!==47&&(console.error(`dirname("${o.toString})) resulted in a relative path`),t="/")),o.with({path:t})}normalizePath(o){if(!o.path.length)return o;let t;return o.scheme===k.Schemas.file?t=m.URI.file(I.normalize(_(o))).path:t=I.posix.normalize(o.path),o.with({path:t})}relativePath(o,t){if(o.scheme!==t.scheme||!(0,e.isEqualAuthority)(o.authority,t.authority))return;if(o.scheme===k.Schemas.file){const g=I.relative(_(o),_(t));return E.isWindows?d.toSlashes(g):g}let i=o.path||"/";const s=t.path||"/";if(this._ignorePathCasing(o)){let g=0;for(const c=Math.min(i.length,s.length);gd.getRoot(i).length&&i[i.length-1]===t}else{const i=o.path;return i.length>1&&i.charCodeAt(i.length-1)===47&&!/^[a-zA-Z]:(\/$|\\$)/.test(o.fsPath)}}removeTrailingPathSeparator(o,t=I.sep){return(0,e.hasTrailingPathSeparator)(o,t)?o.with({path:o.path.substr(0,o.path.length-1)}):o}addTrailingPathSeparator(o,t=I.sep){let i=!1;if(o.scheme===k.Schemas.file){const s=_(o);i=s!==void 0&&s.length===d.getRoot(s).length&&s[s.length-1]===t}else{t="/";const s=o.path;i=s.length===1&&s.charCodeAt(s.length-1)===47}return!i&&!(0,e.hasTrailingPathSeparator)(o,t)?o.with({path:o.path+"/"}):o}}e.ExtUri=b,e.extUri=new b(()=>!1),e.extUriBiasedIgnorePathCase=new b(n=>n.scheme===k.Schemas.file?!E.isLinux:!0),e.extUriIgnorePathCase=new b(n=>!0),e.isEqual=e.extUri.isEqual.bind(e.extUri),e.isEqualOrParent=e.extUri.isEqualOrParent.bind(e.extUri),e.getComparisonKey=e.extUri.getComparisonKey.bind(e.extUri),e.basenameOrAuthority=e.extUri.basenameOrAuthority.bind(e.extUri),e.basename=e.extUri.basename.bind(e.extUri),e.extname=e.extUri.extname.bind(e.extUri),e.dirname=e.extUri.dirname.bind(e.extUri),e.joinPath=e.extUri.joinPath.bind(e.extUri),e.normalizePath=e.extUri.normalizePath.bind(e.extUri),e.relativePath=e.extUri.relativePath.bind(e.extUri),e.resolvePath=e.extUri.resolvePath.bind(e.extUri),e.isAbsolutePath=e.extUri.isAbsolutePath.bind(e.extUri),e.isEqualAuthority=e.extUri.isEqualAuthority.bind(e.extUri),e.hasTrailingPathSeparator=e.extUri.hasTrailingPathSeparator.bind(e.extUri),e.removeTrailingPathSeparator=e.extUri.removeTrailingPathSeparator.bind(e.extUri),e.addTrailingPathSeparator=e.extUri.addTrailingPathSeparator.bind(e.extUri);var p;(function(n){n.META_DATA_LABEL="label",n.META_DATA_DESCRIPTION="description",n.META_DATA_SIZE="size",n.META_DATA_MIME="mime";function o(t){const i=new Map;t.path.substring(t.path.indexOf(";")+1,t.path.lastIndexOf(";")).split(";").forEach(c=>{const[l,a]=c.split(":");l&&a&&i.set(l,a)});const g=t.path.substring(0,t.path.indexOf(";"));return g&&i.set(n.META_DATA_MIME,g),i}n.parseMetaData=o})(p||(e.DataUri=p={}))}),define(ne[57],se([1,0,8,142,48,11,22]),function(oe,e,d,k,I,E,y){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.MarkdownString=void 0,e.isEmptyMarkdownString=_,e.isMarkdownString=b,e.markdownStringEqual=p,e.escapeMarkdownSyntaxTokens=n,e.appendEscapedMarkdownCodeBlockFence=o,e.escapeDoubleQuotes=t,e.removeMarkdownEscapes=i,e.parseHrefAndDimensions=s;class m{constructor(c="",l=!1){if(this.value=c,typeof this.value!="string")throw(0,d.illegalArgument)("value");typeof l=="boolean"?(this.isTrusted=l,this.supportThemeIcons=!1,this.supportHtml=!1):(this.isTrusted=l.isTrusted??void 0,this.supportThemeIcons=l.supportThemeIcons??!1,this.supportHtml=l.supportHtml??!1)}appendText(c,l=0){return this.value+=n(this.supportThemeIcons?(0,k.escapeIcons)(c):c).replace(/([ \t]+)/g,(a,r)=>" ".repeat(r.length)).replace(/\>/gm,"\\>").replace(/\n/g,l===1?`\\ +`:` + +`),this}appendMarkdown(c){return this.value+=c,this}appendCodeblock(c,l){return this.value+=` +${o(l,c)} +`,this}appendLink(c,l,a){return this.value+="[",this.value+=this._escape(l,"]"),this.value+="](",this.value+=this._escape(String(c),")"),a&&(this.value+=` "${this._escape(this._escape(a,'"'),")")}"`),this.value+=")",this}_escape(c,l){const a=new RegExp((0,E.escapeRegExpCharacters)(l),"g");return c.replace(a,(r,u)=>c.charAt(u-1)!=="\\"?`\\${r}`:r)}}e.MarkdownString=m;function _(g){return b(g)?!g.value:Array.isArray(g)?g.every(_):!0}function b(g){return g instanceof m?!0:g&&typeof g=="object"?typeof g.value=="string"&&(typeof g.isTrusted=="boolean"||typeof g.isTrusted=="object"||g.isTrusted===void 0)&&(typeof g.supportThemeIcons=="boolean"||g.supportThemeIcons===void 0):!1}function p(g,c){return g===c?!0:!g||!c?!1:g.value===c.value&&g.isTrusted===c.isTrusted&&g.supportThemeIcons===c.supportThemeIcons&&g.supportHtml===c.supportHtml&&(g.baseUri===c.baseUri||!!g.baseUri&&!!c.baseUri&&(0,I.isEqual)(y.URI.from(g.baseUri),y.URI.from(c.baseUri)))}function n(g){return g.replace(/[\\`*_{}[\]()#+\-!~]/g,"\\$&")}function o(g,c){const l=g.match(/^`+/gm)?.reduce((r,u)=>r.length>u.length?r:u).length??0,a=l>=3?l+1:3;return[`${"`".repeat(a)}${c}`,g,`${"`".repeat(a)}`].join(` +`)}function t(g){return g.replace(/"/g,""")}function i(g){return g&&g.replace(/\\([\\`*_{}[\]()#+\-.!~])/g,"$1")}function s(g){const c=[],l=g.split("|").map(r=>r.trim());g=l[0];const a=l[1];if(a){const r=/height=(\d+)/.exec(a),u=/width=(\d+)/.exec(a),C=r?r[1]:"",f=u?u[1]:"",h=isFinite(parseInt(f)),v=isFinite(parseInt(C));h&&c.push(`width="${f}"`),v&&c.push(`height="${C}"`)}return{href:g,dimensions:c}}}),define(ne[207],se([1,0,5,351,93,352,47,77,114,8,6,57,142,187,98,2,447,252,42,60,48,11,22]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r,u,C){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.allowedMarkdownAttr=void 0,e.renderMarkdown=h,e.renderStringAsPlaintext=T,e.renderMarkdownAsPlaintext=M,e.fillInIncompleteTokens=z;const f=Object.freeze({image:({href:ee,title:de,text:ge})=>{let X=[],B=[];return ee&&({href:ee,dimensions:X}=(0,n.parseHrefAndDimensions)(ee),B.push(`src="${(0,n.escapeDoubleQuotes)(ee)}"`)),ge&&B.push(`alt="${(0,n.escapeDoubleQuotes)(ge)}"`),de&&B.push(`title="${(0,n.escapeDoubleQuotes)(de)}"`),X.length&&(B=B.concat(X)),""},paragraph({tokens:ee}){return`

    ${this.parser.parseInline(ee)}

    `},link({href:ee,title:de,tokens:ge}){let X=this.parser.parseInline(ge);return typeof ee!="string"?"":(ee===X&&(X=(0,n.removeMarkdownEscapes)(X)),de=typeof de=="string"?(0,n.escapeDoubleQuotes)((0,n.removeMarkdownEscapes)(de)):"",ee=(0,n.removeMarkdownEscapes)(ee),ee=ee.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'"),`
    ${X}`)}});function h(ee,de={},ge={}){const X=new s.DisposableStore;let B=!1;const $=(0,E.createElement)(de),Y=function(Ie){let Ae;try{Ae=(0,c.parse)(decodeURIComponent(Ie))}catch{}return Ae?(Ae=(0,a.cloneAndChange)(Ae,Me=>{if(ee.uris&&ee.uris[Me])return C.URI.revive(ee.uris[Me])}),encodeURIComponent(JSON.stringify(Ae))):Ie},Z=function(Ie,Ae){const Me=ee.uris&&ee.uris[Ie];let Ne=C.URI.revive(Me);return Ae?Ie.startsWith(l.Schemas.data+":")?Ie:(Ne||(Ne=C.URI.parse(Ie)),l.FileAccess.uriToBrowserUri(Ne).toString(!0)):!Ne||C.URI.parse(Ie).toString()===Ne.toString()?Ie:(Ne.query&&(Ne=Ne.with({query:Y(Ne.query)})),Ne.toString())},te=new g.Renderer;te.image=f.image,te.link=f.link,te.paragraph=f.paragraph;const re=[],le=[];if(de.codeBlockRendererSync?te.code=({text:Ie,lang:Ae})=>{const Me=t.defaultGenerator.nextId(),Ne=de.codeBlockRendererSync(v(Ae),Ie);return le.push([Me,Ne]),`
    ${(0,u.escape)(Ie)}
    `}:de.codeBlockRenderer&&(te.code=({text:Ie,lang:Ae})=>{const Me=t.defaultGenerator.nextId(),Ne=de.codeBlockRenderer(v(Ae),Ie);return re.push(Ne.then(ze=>[Me,ze])),`
    ${(0,u.escape)(Ie)}
    `}),de.actionHandler){const Ie=function(Ne){let ze=Ne.target;if(!(ze.tagName!=="A"&&(ze=ze.parentElement,!ze||ze.tagName!=="A")))try{let Ve=ze.dataset.href;Ve&&(ee.baseUri&&(Ve=w(C.URI.from(ee.baseUri),Ve)),de.actionHandler.callback(Ve,Ne))}catch(Ve){(0,b.onUnexpectedError)(Ve)}finally{Ne.preventDefault()}},Ae=de.actionHandler.disposables.add(new I.DomEmitter($,"click")),Me=de.actionHandler.disposables.add(new I.DomEmitter($,"auxclick"));de.actionHandler.disposables.add(p.Event.any(Ae.event,Me.event)(Ne=>{const ze=new m.StandardMouseEvent(d.getWindow($),Ne);!ze.leftButton&&!ze.middleButton||Ie(ze)})),de.actionHandler.disposables.add(d.addDisposableListener($,"keydown",Ne=>{const ze=new y.StandardKeyboardEvent(Ne);!ze.equals(10)&&!ze.equals(3)||Ie(ze)}))}ee.supportHtml||(te.html=({text:Ie})=>de.sanitizerOptions?.replaceWithPlaintext?(0,u.escape)(Ie):(ee.isTrusted?Ie.match(/^(]+>)|(<\/\s*span>)$/):void 0)?Ie:""),ge.renderer=te;let me=ee.value??"";me.length>1e5&&(me=`${me.substr(0,1e5)}\u2026`),ee.supportThemeIcons&&(me=(0,o.markdownEscapeEscapedIcons)(me));let ve;if(de.fillInIncompleteTokens){const Ie={...g.defaults,...ge},Ae=g.lexer(me,Ie),Me=z(Ae);ve=g.parser(Me,Ie)}else ve=g.parse(me,{...ge,async:!1});ee.supportThemeIcons&&(ve=(0,_.renderLabelWithIcons)(ve).map(Ae=>typeof Ae=="string"?Ae:Ae.outerHTML).join(""));const Ee=new DOMParser().parseFromString(L({isTrusted:ee.isTrusted,...de.sanitizerOptions},ve),"text/html");if(Ee.body.querySelectorAll("img, audio, video, source").forEach(Ie=>{const Ae=Ie.getAttribute("src");if(Ae){let Me=Ae;try{ee.baseUri&&(Me=w(C.URI.from(ee.baseUri),Me))}catch{}if(Ie.setAttribute("src",Z(Me,!0)),de.remoteImageIsAllowed){const Ne=C.URI.parse(Me);Ne.scheme!==l.Schemas.file&&Ne.scheme!==l.Schemas.data&&!de.remoteImageIsAllowed(Ne)&&Ie.replaceWith(d.$("",void 0,Ie.outerHTML))}}}),Ee.body.querySelectorAll("a").forEach(Ie=>{const Ae=Ie.getAttribute("href");if(Ie.setAttribute("href",""),!Ae||/^data:|javascript:/i.test(Ae)||/^command:/i.test(Ae)&&!ee.isTrusted||/^command:(\/\/\/)?_workbench\.downloadResource/i.test(Ae))Ie.replaceWith(...Ie.childNodes);else{let Me=Z(Ae,!1);ee.baseUri&&(Me=w(C.URI.from(ee.baseUri),Ae)),Ie.dataset.href=Me}}),$.innerHTML=L({isTrusted:ee.isTrusted,...de.sanitizerOptions},Ee.body.innerHTML),re.length>0)Promise.all(re).then(Ie=>{if(B)return;const Ae=new Map(Ie),Me=$.querySelectorAll("div[data-code]");for(const Ne of Me){const ze=Ae.get(Ne.dataset.code??"");ze&&d.reset(Ne,ze)}de.asyncRenderCallback?.()});else if(le.length>0){const Ie=new Map(le),Ae=$.querySelectorAll("div[data-code]");for(const Me of Ae){const Ne=Ie.get(Me.dataset.code??"");Ne&&d.reset(Me,Ne)}}if(de.asyncRenderCallback)for(const Ie of $.getElementsByTagName("img")){const Ae=X.add(d.addDisposableListener(Ie,"load",()=>{Ae.dispose(),de.asyncRenderCallback()}))}return{element:$,dispose:()=>{B=!0,X.dispose()}}}function v(ee){if(!ee)return"";const de=ee.split(/[\s+|:|,|\{|\?]/,1);return de.length?de[0]:ee}function w(ee,de){return/^\w[\w\d+.-]*:/.test(de)?de:ee.path.endsWith("/")?(0,r.resolvePath)(ee,de).toString():(0,r.resolvePath)((0,r.dirname)(ee),de).toString()}const S=["area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"];function L(ee,de){const{config:ge,allowedSchemes:X}=D(ee),B=new s.DisposableStore;B.add(ae("uponSanitizeAttribute",($,Y)=>{if(Y.attrName==="style"||Y.attrName==="class"){if($.tagName==="SPAN"){if(Y.attrName==="style"){Y.keepAttr=/^(color\:(#[0-9a-fA-F]+|var\(--vscode(-[a-zA-Z]+)+\));)?(background-color\:(#[0-9a-fA-F]+|var\(--vscode(-[a-zA-Z]+)+\));)?(border-radius:[0-9]+px;)?$/.test(Y.attrValue);return}else if(Y.attrName==="class"){Y.keepAttr=/^codicon codicon-[a-z\-]+( codicon-modifier-[a-z\-]+)?$/.test(Y.attrValue);return}}Y.keepAttr=!1;return}else if($.tagName==="INPUT"&&$.attributes.getNamedItem("type")?.value==="checkbox"){if(Y.attrName==="type"&&Y.attrValue==="checkbox"||Y.attrName==="disabled"||Y.attrName==="checked"){Y.keepAttr=!0;return}Y.keepAttr=!1}})),B.add(ae("uponSanitizeElement",($,Y)=>{if(Y.tagName==="input"&&($.attributes.getNamedItem("type")?.value==="checkbox"?$.setAttribute("disabled",""):ee.replaceWithPlaintext||$.remove()),ee.replaceWithPlaintext&&!Y.allowedTags[Y.tagName]&&Y.tagName!=="body"&&$.parentElement){let Z,te;if(Y.tagName==="#comment")Z=``;else{const ve=S.includes(Y.tagName),Le=$.attributes.length?" "+Array.from($.attributes).map(Ee=>`${Ee.name}="${Ee.value}"`).join(" "):"";Z=`<${Y.tagName}${Le}>`,ve||(te=``)}const re=document.createDocumentFragment(),le=$.parentElement.ownerDocument.createTextNode(Z);re.appendChild(le);const me=te?$.parentElement.ownerDocument.createTextNode(te):void 0;for(;$.firstChild;)re.appendChild($.firstChild);me&&re.appendChild(me),$.parentElement.replaceChild(re,$)}})),B.add(d.hookDomPurifyHrefAndSrcSanitizer(X));try{return k.sanitize(de,{...ge,RETURN_TRUSTED_TYPE:!0})}finally{B.dispose()}}e.allowedMarkdownAttr=["align","autoplay","alt","checked","class","colspan","controls","data-code","data-href","disabled","draggable","height","href","loop","muted","playsinline","poster","rowspan","src","style","target","title","type","width","start"];function D(ee){const de=[l.Schemas.http,l.Schemas.https,l.Schemas.mailto,l.Schemas.data,l.Schemas.file,l.Schemas.vscodeFileResource,l.Schemas.vscodeRemote,l.Schemas.vscodeRemoteResource];return ee.isTrusted&&de.push(l.Schemas.command),{config:{ALLOWED_TAGS:ee.allowedTags??[...d.basicMarkupHtmlTags],ALLOWED_ATTR:e.allowedMarkdownAttr,ALLOW_UNKNOWN_PROTOCOLS:!0},allowedSchemes:de}}function T(ee){return typeof ee=="string"?ee:M(ee)}function M(ee,de){let ge=ee.value??"";ge.length>1e5&&(ge=`${ge.substr(0,1e5)}\u2026`);const X=g.parse(ge,{async:!1,renderer:de?O.value:N.value}).replace(/&(#\d+|[a-zA-Z]+);/g,B=>A.get(B)??B);return L({isTrusted:!1},X).toString()}const A=new Map([[""",'"'],[" "," "],["&","&"],["'","'"],["<","<"],[">",">"]]);function P(){const ee=new g.Renderer;return ee.code=({text:de})=>de,ee.blockquote=({text:de})=>de+` +`,ee.html=de=>"",ee.heading=function({tokens:de}){return this.parser.parseInline(de)+` +`},ee.hr=()=>"",ee.list=function({items:de}){return de.map(ge=>this.listitem(ge)).join(` +`)+` +`},ee.listitem=({text:de})=>de+` +`,ee.paragraph=function({tokens:de}){return this.parser.parseInline(de)+` +`},ee.table=function({header:de,rows:ge}){return de.map(X=>this.tablecell(X)).join(" ")+` +`+ge.map(X=>X.map(B=>this.tablecell(B)).join(" ")).join(` +`)+` +`},ee.tablerow=({text:de})=>de,ee.tablecell=function({tokens:de}){return this.parser.parseInline(de)},ee.strong=({text:de})=>de,ee.em=({text:de})=>de,ee.codespan=({text:de})=>de,ee.br=de=>` +`,ee.del=({text:de})=>de,ee.image=de=>"",ee.text=({text:de})=>de,ee.link=({text:de})=>de,ee}const N=new i.Lazy(ee=>P()),O=new i.Lazy(()=>{const ee=P();return ee.code=({text:de})=>` +\`\`\` +${de} +\`\`\` +`,ee});function F(ee){let de="";return ee.forEach(ge=>{de+=ge.raw}),de}function x(ee){if(ee.tokens)for(let de=ee.tokens.length-1;de>=0;de--){const ge=ee.tokens[de];if(ge.type==="text"){const X=ge.raw.split(` +`),B=X[X.length-1];if(B.includes("`"))return j(ee);if(B.includes("**"))return ie(ee);if(B.match(/\*\w/))return Q(ee);if(B.match(/(^|\s)__\w/))return ue(ee);if(B.match(/(^|\s)_\w/))return G(ee);if(W(B)||V(B)&&ee.tokens.slice(0,de).some($=>$.type==="text"&&$.raw.match(/\[[^\]]*$/))){const $=ee.tokens.slice(de+1);return $[0]?.type==="link"&&$[1]?.type==="text"&&$[1].raw.match(/^ *"[^"]*$/)||B.match(/^[^"]* +"[^"]*$/)?R(ee):K(ee)}else if(B.match(/(^|\s)\[\w*/))return J(ee)}}}function W(ee){return!!ee.match(/(^|\s)\[.*\]\(\w*/)}function V(ee){return!!ee.match(/^[^\[]*\]\([^\)]*$/)}function q(ee){const de=ee.items[ee.items.length-1],ge=de.tokens?de.tokens[de.tokens.length-1]:void 0;let X;if(ge?.type==="text"&&!("inRawBlock"in de)&&(X=x(ge)),!X||X.type!=="paragraph")return;const B=F(ee.items.slice(0,-1)),$=de.raw.match(/^(\s*(-|\d+\.|\*) +)/)?.[0];if(!$)return;const Y=$+F(de.tokens.slice(0,-1))+X.raw,Z=g.lexer(B+Y)[0];if(Z.type==="list")return Z}const H=3;function z(ee){for(let de=0;de"u"&&Y.match(/^\s*\|/)){const Z=Y.match(/(\|[^\|]+)(?=\||$)/g);Z&&(X=Z.length)}else if(typeof X=="number")if(Y.match(/^\s*\|/)){if($!==ge.length-1)return;B=!0}else return}if(typeof X=="number"&&X>0){const $=B?ge.slice(0,-1).join(` +`):de,Y=!!$.match(/\|\s*$/),Z=$+(Y?"":"|")+` +|${" --- |".repeat(X)}`;return g.lexer(Z)}}function ae(ee,de){return k.addHook(ee,de),(0,s.toDisposable)(()=>k.removeHook(ee))}}),define(ne[258],se([1,0,5,351,47,207,69,44,114,33,6,57,2,30,81,459]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Button=e.unthemedButtonStyles=void 0,e.unthemedButtonStyles={buttonBackground:"#0E639C",buttonHoverBackground:"#006BB3",buttonSeparator:b.Color.white.toString(),buttonForeground:b.Color.white.toString(),buttonBorder:void 0,buttonSecondaryBackground:void 0,buttonSecondaryForeground:void 0,buttonSecondaryHoverBackground:void 0};class s extends o.Disposable{get onDidClick(){return this._onDidClick.event}constructor(c,l){super(),this._label="",this._onDidClick=this._register(new p.Emitter),this._onDidEscape=this._register(new p.Emitter),this.options=l,this._element=document.createElement("a"),this._element.classList.add("monaco-button"),this._element.tabIndex=0,this._element.setAttribute("role","button"),this._element.classList.toggle("secondary",!!l.secondary);const a=l.secondary?l.buttonSecondaryBackground:l.buttonBackground,r=l.secondary?l.buttonSecondaryForeground:l.buttonForeground;this._element.style.color=r||"",this._element.style.backgroundColor=a||"",l.supportShortLabel&&(this._labelShortElement=document.createElement("div"),this._labelShortElement.classList.add("monaco-button-label-short"),this._element.appendChild(this._labelShortElement),this._labelElement=document.createElement("div"),this._labelElement.classList.add("monaco-button-label"),this._element.appendChild(this._labelElement),this._element.classList.add("monaco-text-button-with-short-label")),typeof l.title=="string"&&this.setTitle(l.title),typeof l.ariaLabel=="string"&&this._element.setAttribute("aria-label",l.ariaLabel),c.appendChild(this._element),this._register(y.Gesture.addTarget(this._element)),[d.EventType.CLICK,y.EventType.Tap].forEach(u=>{this._register((0,d.addDisposableListener)(this._element,u,C=>{if(!this.enabled){d.EventHelper.stop(C);return}this._onDidClick.fire(C)}))}),this._register((0,d.addDisposableListener)(this._element,d.EventType.KEY_DOWN,u=>{const C=new I.StandardKeyboardEvent(u);let f=!1;this.enabled&&(C.equals(3)||C.equals(10))?(this._onDidClick.fire(u),f=!0):C.equals(9)&&(this._onDidEscape.fire(u),this._element.blur(),f=!0),f&&d.EventHelper.stop(C,!0)})),this._register((0,d.addDisposableListener)(this._element,d.EventType.MOUSE_OVER,u=>{this._element.classList.contains("disabled")||this.updateBackground(!0)})),this._register((0,d.addDisposableListener)(this._element,d.EventType.MOUSE_OUT,u=>{this.updateBackground(!1)})),this.focusTracker=this._register((0,d.trackFocus)(this._element)),this._register(this.focusTracker.onDidFocus(()=>{this.enabled&&this.updateBackground(!0)})),this._register(this.focusTracker.onDidBlur(()=>{this.enabled&&this.updateBackground(!1)}))}dispose(){super.dispose(),this._element.remove()}getContentElements(c){const l=[];for(let a of(0,_.renderLabelWithIcons)(c))if(typeof a=="string"){if(a=a.trim(),a==="")continue;const r=document.createElement("span");r.textContent=a,l.push(r)}else l.push(a);return l}updateBackground(c){let l;this.options.secondary?l=c?this.options.buttonSecondaryHoverBackground:this.options.buttonSecondaryBackground:l=c?this.options.buttonHoverBackground:this.options.buttonBackground,l&&(this._element.style.backgroundColor=l)}get element(){return this._element}set label(c){if(this._label===c||(0,n.isMarkdownString)(this._label)&&(0,n.isMarkdownString)(c)&&(0,n.markdownStringEqual)(this._label,c))return;this._element.classList.add("monaco-text-button");const l=this.options.supportShortLabel?this._labelElement:this._element;if((0,n.isMarkdownString)(c)){const r=(0,E.renderMarkdown)(c,{inline:!0});r.dispose();const u=r.element.querySelector("p")?.innerHTML;if(u){const C=(0,k.sanitize)(u,{ADD_TAGS:["b","i","u","code","span"],ALLOWED_ATTR:["class"],RETURN_TRUSTED_TYPE:!0});l.innerHTML=C}else(0,d.reset)(l)}else this.options.supportIcons?(0,d.reset)(l,...this.getContentElements(c)):l.textContent=c;let a="";typeof this.options.title=="string"?a=this.options.title:this.options.title&&(a=(0,E.renderStringAsPlaintext)(c)),this.setTitle(a),typeof this.options.ariaLabel=="string"?this._element.setAttribute("aria-label",this.options.ariaLabel):this.options.ariaLabel&&this._element.setAttribute("aria-label",a),this._label=c}get label(){return this._label}set icon(c){this._element.classList.add(...t.ThemeIcon.asClassNameArray(c))}set enabled(c){c?(this._element.classList.remove("disabled"),this._element.setAttribute("aria-disabled",String(!1)),this._element.tabIndex=0):(this._element.classList.add("disabled"),this._element.setAttribute("aria-disabled",String(!0)))}get enabled(){return!this._element.classList.contains("disabled")}setTitle(c){!this._hover&&c!==""?this._hover=this._register((0,i.getBaseLayerHoverDelegate)().setupManagedHover(this.options.hoverDelegate??(0,m.getDefaultHoverDelegate)("mouse"),this._element,c)):this._hover&&this._hover.update(c)}}e.Button=s}),define(ne[639],se([1,0,5,93,47,207,81,44,115,13,6,72,2,16,3,473]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SelectBoxList=void 0;const s=d.$,g="selectOption.entry.template";class c{get templateId(){return g}renderTemplate(r){const u=Object.create(null);return u.root=r,u.text=d.append(r,s(".option-text")),u.detail=d.append(r,s(".option-detail")),u.decoratorRight=d.append(r,s(".option-decorator-right")),u}renderElement(r,u,C){const f=C,h=r.text,v=r.detail,w=r.decoratorRight,S=r.isDisabled;f.text.textContent=h,f.detail.textContent=v||"",f.decoratorRight.innerText=w||"",S?f.root.classList.add("option-disabled"):f.root.classList.remove("option-disabled")}disposeTemplate(r){}}class l extends o.Disposable{static{this.DEFAULT_DROPDOWN_MINIMUM_BOTTOM_MARGIN=32}static{this.DEFAULT_DROPDOWN_MINIMUM_TOP_MARGIN=2}static{this.DEFAULT_MINIMUM_VISIBLE_OPTIONS=3}constructor(r,u,C,f,h){super(),this.options=[],this._currentSelection=0,this._hasDetails=!1,this._skipLayout=!1,this._sticky=!1,this._isVisible=!1,this.styles=f,this.selectBoxOptions=h||Object.create(null),typeof this.selectBoxOptions.minBottomMargin!="number"?this.selectBoxOptions.minBottomMargin=l.DEFAULT_DROPDOWN_MINIMUM_BOTTOM_MARGIN:this.selectBoxOptions.minBottomMargin<0&&(this.selectBoxOptions.minBottomMargin=0),this.selectElement=document.createElement("select"),this.selectElement.className="monaco-select-box monaco-select-box-dropdown-padding",typeof this.selectBoxOptions.ariaLabel=="string"&&this.selectElement.setAttribute("aria-label",this.selectBoxOptions.ariaLabel),typeof this.selectBoxOptions.ariaDescription=="string"&&this.selectElement.setAttribute("aria-description",this.selectBoxOptions.ariaDescription),this._onDidSelect=new p.Emitter,this._register(this._onDidSelect),this.registerListeners(),this.constructSelectDropDown(C),this.selected=u||0,r&&this.setOptions(r,u),this.initStyleSheet()}setTitle(r){!this._hover&&r?this._hover=this._register((0,y.getBaseLayerHoverDelegate)().setupManagedHover((0,m.getDefaultHoverDelegate)("mouse"),this.selectElement,r)):this._hover&&this._hover.update(r)}getHeight(){return 22}getTemplateId(){return g}constructSelectDropDown(r){this.contextViewProvider=r,this.selectDropDownContainer=d.$(".monaco-select-box-dropdown-container"),this.selectDropDownContainer.classList.add("monaco-select-box-dropdown-padding"),this.selectionDetailsPane=d.append(this.selectDropDownContainer,s(".select-box-details-pane"));const u=d.append(this.selectDropDownContainer,s(".select-box-dropdown-container-width-control")),C=d.append(u,s(".width-control-div"));this.widthControlElement=document.createElement("span"),this.widthControlElement.className="option-text-width-control",d.append(C,this.widthControlElement),this._dropDownPosition=0,this.styleElement=d.createStyleSheet(this.selectDropDownContainer),this.selectDropDownContainer.setAttribute("draggable","true"),this._register(d.addDisposableListener(this.selectDropDownContainer,d.EventType.DRAG_START,f=>{d.EventHelper.stop(f,!0)}))}registerListeners(){this._register(d.addStandardDisposableListener(this.selectElement,"change",u=>{this.selected=u.target.selectedIndex,this._onDidSelect.fire({index:u.target.selectedIndex,selected:u.target.value}),this.options[this.selected]&&this.options[this.selected].text&&this.setTitle(this.options[this.selected].text)})),this._register(d.addDisposableListener(this.selectElement,d.EventType.CLICK,u=>{d.EventHelper.stop(u),this._isVisible?this.hideSelectDropDown(!0):this.showSelectDropDown()})),this._register(d.addDisposableListener(this.selectElement,d.EventType.MOUSE_DOWN,u=>{d.EventHelper.stop(u)}));let r;this._register(d.addDisposableListener(this.selectElement,"touchstart",u=>{r=this._isVisible})),this._register(d.addDisposableListener(this.selectElement,"touchend",u=>{d.EventHelper.stop(u),r?this.hideSelectDropDown(!0):this.showSelectDropDown()})),this._register(d.addDisposableListener(this.selectElement,d.EventType.KEY_DOWN,u=>{const C=new I.StandardKeyboardEvent(u);let f=!1;t.isMacintosh?(C.keyCode===18||C.keyCode===16||C.keyCode===10||C.keyCode===3)&&(f=!0):(C.keyCode===18&&C.altKey||C.keyCode===16&&C.altKey||C.keyCode===10||C.keyCode===3)&&(f=!0),f&&(this.showSelectDropDown(),d.EventHelper.stop(u,!0))}))}get onDidSelect(){return this._onDidSelect.event}setOptions(r,u){b.equals(this.options,r)||(this.options=r,this.selectElement.options.length=0,this._hasDetails=!1,this._cachedMaxDetailsHeight=void 0,this.options.forEach((C,f)=>{this.selectElement.add(this.createOption(C.text,f,C.isDisabled)),typeof C.description=="string"&&(this._hasDetails=!0)})),u!==void 0&&(this.select(u),this._currentSelection=this.selected)}setOptionsList(){this.selectList?.splice(0,this.selectList.length,this.options)}select(r){r>=0&&rthis.options.length-1?this.select(this.options.length-1):this.selected<0&&(this.selected=0),this.selectElement.selectedIndex=this.selected,this.options[this.selected]&&this.options[this.selected].text&&this.setTitle(this.options[this.selected].text)}focus(){this.selectElement&&(this.selectElement.tabIndex=0,this.selectElement.focus())}blur(){this.selectElement&&(this.selectElement.tabIndex=-1,this.selectElement.blur())}setFocusable(r){this.selectElement.tabIndex=r?0:-1}render(r){this.container=r,r.classList.add("select-container"),r.appendChild(this.selectElement),this.styleSelectElement()}initStyleSheet(){const r=[];this.styles.listFocusBackground&&r.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.focused { background-color: ${this.styles.listFocusBackground} !important; }`),this.styles.listFocusForeground&&r.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.focused { color: ${this.styles.listFocusForeground} !important; }`),this.styles.decoratorRightForeground&&r.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row:not(.focused) .option-decorator-right { color: ${this.styles.decoratorRightForeground}; }`),this.styles.selectBackground&&this.styles.selectBorder&&this.styles.selectBorder!==this.styles.selectBackground?(r.push(`.monaco-select-box-dropdown-container { border: 1px solid ${this.styles.selectBorder} } `),r.push(`.monaco-select-box-dropdown-container > .select-box-details-pane.border-top { border-top: 1px solid ${this.styles.selectBorder} } `),r.push(`.monaco-select-box-dropdown-container > .select-box-details-pane.border-bottom { border-bottom: 1px solid ${this.styles.selectBorder} } `)):this.styles.selectListBorder&&(r.push(`.monaco-select-box-dropdown-container > .select-box-details-pane.border-top { border-top: 1px solid ${this.styles.selectListBorder} } `),r.push(`.monaco-select-box-dropdown-container > .select-box-details-pane.border-bottom { border-bottom: 1px solid ${this.styles.selectListBorder} } `)),this.styles.listHoverForeground&&r.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row:not(.option-disabled):not(.focused):hover { color: ${this.styles.listHoverForeground} !important; }`),this.styles.listHoverBackground&&r.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row:not(.option-disabled):not(.focused):hover { background-color: ${this.styles.listHoverBackground} !important; }`),this.styles.listFocusOutline&&r.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.focused { outline: 1.6px dotted ${this.styles.listFocusOutline} !important; outline-offset: -1.6px !important; }`),this.styles.listHoverOutline&&r.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row:not(.option-disabled):not(.focused):hover { outline: 1.6px dashed ${this.styles.listHoverOutline} !important; outline-offset: -1.6px !important; }`),r.push(".monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.option-disabled.focused { background-color: transparent !important; color: inherit !important; outline: none !important; }"),r.push(".monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.option-disabled:hover { background-color: transparent !important; color: inherit !important; outline: none !important; }"),this.styleElement.textContent=r.join(` +`)}styleSelectElement(){const r=this.styles.selectBackground??"",u=this.styles.selectForeground??"",C=this.styles.selectBorder??"";this.selectElement.style.backgroundColor=r,this.selectElement.style.color=u,this.selectElement.style.borderColor=C}styleList(){const r=this.styles.selectBackground??"",u=d.asCssValueWithDefault(this.styles.selectListBackground,r);this.selectDropDownListContainer.style.backgroundColor=u,this.selectionDetailsPane.style.backgroundColor=u;const C=this.styles.focusBorder??"";this.selectDropDownContainer.style.outlineColor=C,this.selectDropDownContainer.style.outlineOffset="-1px",this.selectList.style(this.styles)}createOption(r,u,C){const f=document.createElement("option");return f.value=r,f.text=r,f.disabled=!!C,f}showSelectDropDown(){this.selectionDetailsPane.innerText="",!(!this.contextViewProvider||this._isVisible)&&(this.createSelectList(this.selectDropDownContainer),this.setOptionsList(),this.contextViewProvider.showContextView({getAnchor:()=>this.selectElement,render:r=>this.renderSelectDropDown(r,!0),layout:()=>{this.layoutSelectDropDown()},onHide:()=>{this.selectDropDownContainer.classList.remove("visible"),this.selectElement.classList.remove("synthetic-focus")},anchorPosition:this._dropDownPosition},this.selectBoxOptions.optionsAsChildren?this.container:void 0),this._isVisible=!0,this.hideSelectDropDown(!1),this.contextViewProvider.showContextView({getAnchor:()=>this.selectElement,render:r=>this.renderSelectDropDown(r),layout:()=>this.layoutSelectDropDown(),onHide:()=>{this.selectDropDownContainer.classList.remove("visible"),this.selectElement.classList.remove("synthetic-focus")},anchorPosition:this._dropDownPosition},this.selectBoxOptions.optionsAsChildren?this.container:void 0),this._currentSelection=this.selected,this._isVisible=!0,this.selectElement.setAttribute("aria-expanded","true"))}hideSelectDropDown(r){!this.contextViewProvider||!this._isVisible||(this._isVisible=!1,this.selectElement.setAttribute("aria-expanded","false"),r&&this.selectElement.focus(),this.contextViewProvider.hideContextView())}renderSelectDropDown(r,u){return r.appendChild(this.selectDropDownContainer),this.layoutSelectDropDown(u),{dispose:()=>{this.selectDropDownContainer.remove()}}}measureMaxDetailsHeight(){let r=0;return this.options.forEach((u,C)=>{this.updateDetail(C),this.selectionDetailsPane.offsetHeight>r&&(r=this.selectionDetailsPane.offsetHeight)}),r}layoutSelectDropDown(r){if(this._skipLayout)return!1;if(this.selectList){this.selectDropDownContainer.classList.add("visible");const u=d.getWindow(this.selectElement),C=d.getDomNodePagePosition(this.selectElement),f=d.getWindow(this.selectElement).getComputedStyle(this.selectElement),h=parseFloat(f.getPropertyValue("--dropdown-padding-top"))+parseFloat(f.getPropertyValue("--dropdown-padding-bottom")),v=u.innerHeight-C.top-C.height-(this.selectBoxOptions.minBottomMargin||0),w=C.top-l.DEFAULT_DROPDOWN_MINIMUM_TOP_MARGIN,S=this.selectElement.offsetWidth,L=this.setWidthControlElement(this.widthControlElement),D=Math.max(L,Math.round(S)).toString()+"px";this.selectDropDownContainer.style.width=D,this.selectList.getHTMLElement().style.height="",this.selectList.layout();let T=this.selectList.contentHeight;this._hasDetails&&this._cachedMaxDetailsHeight===void 0&&(this._cachedMaxDetailsHeight=this.measureMaxDetailsHeight());const M=this._hasDetails?this._cachedMaxDetailsHeight:0,A=T+h+M,P=Math.floor((v-h-M)/this.getHeight()),N=Math.floor((w-h-M)/this.getHeight());if(r)return C.top+C.height>u.innerHeight-22||C.topP&&this.options.length>P?(this._dropDownPosition=1,this.selectDropDownListContainer.remove(),this.selectionDetailsPane.remove(),this.selectDropDownContainer.appendChild(this.selectionDetailsPane),this.selectDropDownContainer.appendChild(this.selectDropDownListContainer),this.selectionDetailsPane.classList.remove("border-top"),this.selectionDetailsPane.classList.add("border-bottom")):(this._dropDownPosition=0,this.selectDropDownListContainer.remove(),this.selectionDetailsPane.remove(),this.selectDropDownContainer.appendChild(this.selectDropDownListContainer),this.selectDropDownContainer.appendChild(this.selectionDetailsPane),this.selectionDetailsPane.classList.remove("border-bottom"),this.selectionDetailsPane.classList.add("border-top")),!0);if(C.top+C.height>u.innerHeight-22||C.topv&&(T=P*this.getHeight())}else A>w&&(T=N*this.getHeight());return this.selectList.layout(T),this.selectList.domFocus(),this.selectList.length>0&&(this.selectList.setFocus([this.selected||0]),this.selectList.reveal(this.selectList.getFocus()[0]||0)),this._hasDetails?(this.selectList.getHTMLElement().style.height=T+h+"px",this.selectDropDownContainer.style.height=""):this.selectDropDownContainer.style.height=T+h+"px",this.updateDetail(this.selected),this.selectDropDownContainer.style.width=D,this.selectDropDownListContainer.setAttribute("tabindex","0"),this.selectElement.classList.add("synthetic-focus"),this.selectDropDownContainer.classList.add("synthetic-focus"),!0}else return!1}setWidthControlElement(r){let u=0;if(r){let C=0,f=0;this.options.forEach((h,v)=>{const w=h.detail?h.detail.length:0,S=h.decoratorRight?h.decoratorRight.length:0,L=h.text.length+w+S;L>f&&(C=v,f=L)}),r.textContent=this.options[C].text+(this.options[C].decoratorRight?this.options[C].decoratorRight+" ":""),u=d.getTotalWidth(r)}return u}createSelectList(r){if(this.selectList)return;this.selectDropDownListContainer=d.append(r,s(".select-box-dropdown-list-container")),this.listRenderer=new c,this.selectList=this._register(new _.List("SelectBoxCustom",this.selectDropDownListContainer,this,[this.listRenderer],{useShadows:!1,verticalScrollMode:3,keyboardSupport:!1,mouseSupport:!1,accessibilityProvider:{getAriaLabel:f=>{let h=f.text;return f.detail&&(h+=`. ${f.detail}`),f.decoratorRight&&(h+=`. ${f.decoratorRight}`),f.description&&(h+=`. ${f.description}`),h},getWidgetAriaLabel:()=>(0,i.localize)(16,"Select Box"),getRole:()=>t.isMacintosh?"":"option",getWidgetRole:()=>"listbox"}})),this.selectBoxOptions.ariaLabel&&(this.selectList.ariaLabel=this.selectBoxOptions.ariaLabel);const u=this._register(new k.DomEmitter(this.selectDropDownListContainer,"keydown")),C=p.Event.chain(u.event,f=>f.filter(()=>this.selectList.length>0).map(h=>new I.StandardKeyboardEvent(h)));this._register(p.Event.chain(C,f=>f.filter(h=>h.keyCode===3))(this.onEnter,this)),this._register(p.Event.chain(C,f=>f.filter(h=>h.keyCode===2))(this.onEnter,this)),this._register(p.Event.chain(C,f=>f.filter(h=>h.keyCode===9))(this.onEscape,this)),this._register(p.Event.chain(C,f=>f.filter(h=>h.keyCode===16))(this.onUpArrow,this)),this._register(p.Event.chain(C,f=>f.filter(h=>h.keyCode===18))(this.onDownArrow,this)),this._register(p.Event.chain(C,f=>f.filter(h=>h.keyCode===12))(this.onPageDown,this)),this._register(p.Event.chain(C,f=>f.filter(h=>h.keyCode===11))(this.onPageUp,this)),this._register(p.Event.chain(C,f=>f.filter(h=>h.keyCode===14))(this.onHome,this)),this._register(p.Event.chain(C,f=>f.filter(h=>h.keyCode===13))(this.onEnd,this)),this._register(p.Event.chain(C,f=>f.filter(h=>h.keyCode>=21&&h.keyCode<=56||h.keyCode>=85&&h.keyCode<=113))(this.onCharacter,this)),this._register(d.addDisposableListener(this.selectList.getHTMLElement(),d.EventType.POINTER_UP,f=>this.onPointerUp(f))),this._register(this.selectList.onMouseOver(f=>typeof f.index<"u"&&this.selectList.setFocus([f.index]))),this._register(this.selectList.onDidChangeFocus(f=>this.onListFocus(f))),this._register(d.addDisposableListener(this.selectDropDownContainer,d.EventType.FOCUS_OUT,f=>{!this._isVisible||d.isAncestor(f.relatedTarget,this.selectDropDownContainer)||this.onListBlur()})),this.selectList.getHTMLElement().setAttribute("aria-label",this.selectBoxOptions.ariaLabel||""),this.selectList.getHTMLElement().setAttribute("aria-expanded","true"),this.styleList()}onPointerUp(r){if(!this.selectList.length)return;d.EventHelper.stop(r);const u=r.target;if(!u||u.classList.contains("slider"))return;const C=u.closest(".monaco-list-row");if(!C)return;const f=Number(C.getAttribute("data-index")),h=C.classList.contains("option-disabled");f>=0&&f{for(let v=0;vthis.selected+2)this.selected+=2;else{if(u)return;this.selected++}this.select(this.selected),this.selectList.setFocus([this.selected]),this.selectList.reveal(this.selectList.getFocus()[0])}}onUpArrow(r){this.selected>0&&(d.EventHelper.stop(r,!0),this.options[this.selected-1].isDisabled&&this.selected>1?this.selected-=2:this.selected--,this.select(this.selected),this.selectList.setFocus([this.selected]),this.selectList.reveal(this.selectList.getFocus()[0]))}onPageUp(r){d.EventHelper.stop(r),this.selectList.focusPreviousPage(),setTimeout(()=>{this.selected=this.selectList.getFocus()[0],this.options[this.selected].isDisabled&&this.selected{this.selected=this.selectList.getFocus()[0],this.options[this.selected].isDisabled&&this.selected>0&&(this.selected--,this.selectList.setFocus([this.selected])),this.selectList.reveal(this.selected),this.select(this.selected)},1)}onHome(r){d.EventHelper.stop(r),!(this.options.length<2)&&(this.selected=0,this.options[this.selected].isDisabled&&this.selected>1&&this.selected++,this.selectList.setFocus([this.selected]),this.selectList.reveal(this.selected),this.select(this.selected))}onEnd(r){d.EventHelper.stop(r),!(this.options.length<2)&&(this.selected=this.options.length-1,this.options[this.selected].isDisabled&&this.selected>1&&this.selected--,this.selectList.setFocus([this.selected]),this.selectList.reveal(this.selected),this.select(this.selected))}onCharacter(r){const u=n.KeyCodeUtils.toString(r.keyCode);let C=-1;for(let f=0;f{this.element&&this.handleActionChangeEvent(u)}))}handleActionChangeEvent(l){l.enabled!==void 0&&this.updateEnabled(),l.checked!==void 0&&this.updateChecked(),l.class!==void 0&&this.updateClass(),l.label!==void 0&&(this.updateLabel(),this.updateTooltip()),l.tooltip!==void 0&&this.updateTooltip()}get actionRunner(){return this._actionRunner||(this._actionRunner=this._register(new _.ActionRunner)),this._actionRunner}set actionRunner(l){this._actionRunner=l}isEnabled(){return this._action.enabled}setActionContext(l){this._context=l}render(l){const a=this.element=l;this._register(E.Gesture.addTarget(l));const r=this.options&&this.options.draggable;r&&(l.draggable=!0,d.isFirefox&&this._register((0,I.addDisposableListener)(l,I.EventType.DRAG_START,u=>u.dataTransfer?.setData(k.DataTransfers.TEXT,this._action.label)))),this._register((0,I.addDisposableListener)(a,E.EventType.Tap,u=>this.onClick(u,!0))),this._register((0,I.addDisposableListener)(a,I.EventType.MOUSE_DOWN,u=>{r||I.EventHelper.stop(u,!0),this._action.enabled&&u.button===0&&a.classList.add("active")})),p.isMacintosh&&this._register((0,I.addDisposableListener)(a,I.EventType.CONTEXT_MENU,u=>{u.button===0&&u.ctrlKey===!0&&this.onClick(u)})),this._register((0,I.addDisposableListener)(a,I.EventType.CLICK,u=>{I.EventHelper.stop(u,!0),this.options&&this.options.isMenu||this.onClick(u)})),this._register((0,I.addDisposableListener)(a,I.EventType.DBLCLICK,u=>{I.EventHelper.stop(u,!0)})),[I.EventType.MOUSE_UP,I.EventType.MOUSE_OUT].forEach(u=>{this._register((0,I.addDisposableListener)(a,u,C=>{I.EventHelper.stop(C),a.classList.remove("active")}))})}onClick(l,a=!1){I.EventHelper.stop(l,!0);const r=n.isUndefinedOrNull(this._context)?this.options?.useEventAsContext?l:{preserveFocus:a}:this._context;this.actionRunner.run(this._action,r)}focus(){this.element&&(this.element.tabIndex=0,this.element.focus(),this.element.classList.add("focused"))}blur(){this.element&&(this.element.blur(),this.element.tabIndex=-1,this.element.classList.remove("focused"))}setFocusable(l){this.element&&(this.element.tabIndex=l?0:-1)}get trapsArrowNavigation(){return!1}updateEnabled(){}updateLabel(){}getClass(){return this.action.class}getTooltip(){return this.action.tooltip}updateTooltip(){if(!this.element)return;const l=this.getTooltip()??"";if(this.updateAriaLabel(),this.options.hoverDelegate?.showNativeHover)this.element.title=l;else if(!this.customHover&&l!==""){const a=this.options.hoverDelegate??(0,y.getDefaultHoverDelegate)("element");this.customHover=this._store.add((0,t.getBaseLayerHoverDelegate)().setupManagedHover(a,this.element,l))}else this.customHover&&this.customHover.update(l)}updateAriaLabel(){if(this.element){const l=this.getTooltip()??"";this.element.setAttribute("aria-label",l)}}updateClass(){}updateChecked(){}dispose(){this.element&&(this.element.remove(),this.element=void 0),this._context=void 0,super.dispose()}}e.BaseActionViewItem=i;class s extends i{constructor(l,a,r){super(l,a,r),this.options=r,this.options.icon=r.icon!==void 0?r.icon:!1,this.options.label=r.label!==void 0?r.label:!0,this.cssClass=""}render(l){super.render(l),n.assertType(this.element);const a=document.createElement("a");if(a.classList.add("action-label"),a.setAttribute("role",this.getDefaultAriaRole()),this.label=a,this.element.appendChild(a),this.options.label&&this.options.keybinding){const r=document.createElement("span");r.classList.add("keybinding"),r.textContent=this.options.keybinding,this.element.appendChild(r)}this.updateClass(),this.updateLabel(),this.updateTooltip(),this.updateEnabled(),this.updateChecked()}getDefaultAriaRole(){return this._action.id===_.Separator.ID?"presentation":this.options.isMenu?"menuitem":this.options.isTabList?"tab":"button"}focus(){this.label&&(this.label.tabIndex=0,this.label.focus())}blur(){this.label&&(this.label.tabIndex=-1)}setFocusable(l){this.label&&(this.label.tabIndex=l?0:-1)}updateLabel(){this.options.label&&this.label&&(this.label.textContent=this.action.label)}getTooltip(){let l=null;return this.action.tooltip?l=this.action.tooltip:!this.options.label&&this.action.label&&this.options.icon&&(l=this.action.label,this.options.keybinding&&(l=o.localize(0,"{0} ({1})",l,this.options.keybinding))),l??void 0}updateClass(){this.cssClass&&this.label&&this.label.classList.remove(...this.cssClass.split(" ")),this.options.icon?(this.cssClass=this.getClass(),this.label&&(this.label.classList.add("codicon"),this.cssClass&&this.label.classList.add(...this.cssClass.split(" "))),this.updateEnabled()):this.label?.classList.remove("codicon")}updateEnabled(){this.action.enabled?(this.label&&(this.label.removeAttribute("aria-disabled"),this.label.classList.remove("disabled")),this.element?.classList.remove("disabled")):(this.label&&(this.label.setAttribute("aria-disabled","true"),this.label.classList.add("disabled")),this.element?.classList.add("disabled"))}updateAriaLabel(){if(this.label){const l=this.getTooltip()??"";this.label.setAttribute("aria-label",l)}}updateChecked(){this.label&&(this.action.checked!==void 0?(this.label.classList.toggle("checked",this.action.checked),this.options.isTabList?this.label.setAttribute("aria-selected",this.action.checked?"true":"false"):(this.label.setAttribute("aria-checked",this.action.checked?"true":"false"),this.label.setAttribute("role","checkbox"))):(this.label.classList.remove("checked"),this.label.removeAttribute(this.options.isTabList?"aria-selected":"aria-checked"),this.label.setAttribute("role",this.getDefaultAriaRole())))}}e.ActionViewItem=s;class g extends i{constructor(l,a,r,u,C,f,h){super(l,a),this.selectBox=new m.SelectBox(r,u,C,f,h),this.selectBox.setFocusable(!1),this._register(this.selectBox),this.registerListeners()}select(l){this.selectBox.select(l)}registerListeners(){this._register(this.selectBox.onDidSelect(l=>this.runAction(l.selected,l.index)))}runAction(l,a){this.actionRunner.run(this._action,this.getActionContext(l,a))}getActionContext(l,a){return l}setFocusable(l){this.selectBox.setFocusable(l)}focus(){this.selectBox?.focus()}blur(){this.selectBox?.blur()}render(l){this.selectBox.render(l)}}e.SelectActionViewItem=g}),define(ne[87],se([1,0,5,47,151,44,41,6,2,19,302]),function(oe,e,d,k,I,E,y,m,_,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ActionBar=void 0;class p extends _.Disposable{constructor(o,t={}){super(),this._actionRunnerDisposables=this._register(new _.DisposableStore),this.viewItemDisposables=this._register(new _.DisposableMap),this.triggerKeyDown=!1,this.focusable=!0,this._onDidBlur=this._register(new m.Emitter),this.onDidBlur=this._onDidBlur.event,this._onDidCancel=this._register(new m.Emitter({onWillAddFirstListener:()=>this.cancelHasListener=!0})),this.onDidCancel=this._onDidCancel.event,this.cancelHasListener=!1,this._onDidRun=this._register(new m.Emitter),this.onDidRun=this._onDidRun.event,this._onWillRun=this._register(new m.Emitter),this.onWillRun=this._onWillRun.event,this.options=t,this._context=t.context??null,this._orientation=this.options.orientation??0,this._triggerKeys={keyDown:this.options.triggerKeys?.keyDown??!1,keys:this.options.triggerKeys?.keys??[3,10]},this._hoverDelegate=t.hoverDelegate??this._register((0,E.createInstantHoverDelegate)()),this.options.actionRunner?this._actionRunner=this.options.actionRunner:(this._actionRunner=new y.ActionRunner,this._actionRunnerDisposables.add(this._actionRunner)),this._actionRunnerDisposables.add(this._actionRunner.onDidRun(g=>this._onDidRun.fire(g))),this._actionRunnerDisposables.add(this._actionRunner.onWillRun(g=>this._onWillRun.fire(g))),this.viewItems=[],this.focusedItem=void 0,this.domNode=document.createElement("div"),this.domNode.className="monaco-action-bar";let i,s;switch(this._orientation){case 0:i=[15],s=[17];break;case 1:i=[16],s=[18],this.domNode.className+=" vertical";break}this._register(d.addDisposableListener(this.domNode,d.EventType.KEY_DOWN,g=>{const c=new k.StandardKeyboardEvent(g);let l=!0;const a=typeof this.focusedItem=="number"?this.viewItems[this.focusedItem]:void 0;i&&(c.equals(i[0])||c.equals(i[1]))?l=this.focusPrevious():s&&(c.equals(s[0])||c.equals(s[1]))?l=this.focusNext():c.equals(9)&&this.cancelHasListener?this._onDidCancel.fire():c.equals(14)?l=this.focusFirst():c.equals(13)?l=this.focusLast():c.equals(2)&&a instanceof I.BaseActionViewItem&&a.trapsArrowNavigation?l=this.focusNext(void 0,!0):this.isTriggerKeyEvent(c)?this._triggerKeys.keyDown?this.doTrigger(c):this.triggerKeyDown=!0:l=!1,l&&(c.preventDefault(),c.stopPropagation())})),this._register(d.addDisposableListener(this.domNode,d.EventType.KEY_UP,g=>{const c=new k.StandardKeyboardEvent(g);this.isTriggerKeyEvent(c)?(!this._triggerKeys.keyDown&&this.triggerKeyDown&&(this.triggerKeyDown=!1,this.doTrigger(c)),c.preventDefault(),c.stopPropagation()):(c.equals(2)||c.equals(1026)||c.equals(16)||c.equals(18)||c.equals(15)||c.equals(17))&&this.updateFocusedItem()})),this.focusTracker=this._register(d.trackFocus(this.domNode)),this._register(this.focusTracker.onDidBlur(()=>{(d.getActiveElement()===this.domNode||!d.isAncestor(d.getActiveElement(),this.domNode))&&(this._onDidBlur.fire(),this.previouslyFocusedItem=this.focusedItem,this.focusedItem=void 0,this.triggerKeyDown=!1)})),this._register(this.focusTracker.onDidFocus(()=>this.updateFocusedItem())),this.actionsList=document.createElement("ul"),this.actionsList.className="actions-container",this.options.highlightToggledItems&&this.actionsList.classList.add("highlight-toggled"),this.actionsList.setAttribute("role",this.options.ariaRole||"toolbar"),this.options.ariaLabel&&this.actionsList.setAttribute("aria-label",this.options.ariaLabel),this.domNode.appendChild(this.actionsList),o.appendChild(this.domNode)}refreshRole(){this.length()>=1?this.actionsList.setAttribute("role",this.options.ariaRole||"toolbar"):this.actionsList.setAttribute("role","presentation")}setFocusable(o){if(this.focusable=o,this.focusable){const t=this.viewItems.find(i=>i instanceof I.BaseActionViewItem&&i.isEnabled());t instanceof I.BaseActionViewItem&&t.setFocusable(!0)}else this.viewItems.forEach(t=>{t instanceof I.BaseActionViewItem&&t.setFocusable(!1)})}isTriggerKeyEvent(o){let t=!1;return this._triggerKeys.keys.forEach(i=>{t=t||o.equals(i)}),t}updateFocusedItem(){for(let o=0;ot.setActionContext(o))}get actionRunner(){return this._actionRunner}set actionRunner(o){this._actionRunner=o,this._actionRunnerDisposables.clear(),this._actionRunnerDisposables.add(this._actionRunner.onDidRun(t=>this._onDidRun.fire(t))),this._actionRunnerDisposables.add(this._actionRunner.onWillRun(t=>this._onWillRun.fire(t))),this.viewItems.forEach(t=>t.actionRunner=o)}getContainer(){return this.domNode}getAction(o){if(typeof o=="number")return this.viewItems[o]?.action;if(d.isHTMLElement(o)){for(;o.parentElement!==this.actionsList;){if(!o.parentElement)return;o=o.parentElement}for(let t=0;t{const c=document.createElement("li");c.className="action-item",c.setAttribute("role","presentation");let l;const a={hoverDelegate:this._hoverDelegate,...t,isTabList:this.options.ariaRole==="tablist"};this.options.actionViewItemProvider&&(l=this.options.actionViewItemProvider(g,a)),l||(l=new I.ActionViewItem(this.context,g,a)),this.options.allowContextMenu||this.viewItemDisposables.set(l,d.addDisposableListener(c,d.EventType.CONTEXT_MENU,r=>{d.EventHelper.stop(r,!0)})),l.actionRunner=this._actionRunner,l.setActionContext(this.context),l.render(c),this.focusable&&l instanceof I.BaseActionViewItem&&this.viewItems.length===0&&l.setFocusable(!0),s===null||s<0||s>=this.actionsList.children.length?(this.actionsList.appendChild(c),this.viewItems.push(l)):(this.actionsList.insertBefore(c,this.actionsList.children[s]),this.viewItems.splice(s,0,l),s++)}),typeof this.focusedItem=="number"&&this.focus(this.focusedItem),this.refreshRole()}clear(){this.isEmpty()||(this.viewItems=(0,_.dispose)(this.viewItems),this.viewItemDisposables.clearAndDisposeAll(),d.clearNode(this.actionsList),this.refreshRole())}length(){return this.viewItems.length}isEmpty(){return this.viewItems.length===0}focus(o){let t=!1,i;if(o===void 0?t=!0:typeof o=="number"?i=o:typeof o=="boolean"&&(t=o),t&&typeof this.focusedItem>"u"){const s=this.viewItems.findIndex(g=>g.isEnabled());this.focusedItem=s===-1?void 0:s,this.updateFocus(void 0,void 0,!0)}else i!==void 0&&(this.focusedItem=i),this.updateFocus(void 0,void 0,!0)}focusFirst(){return this.focusedItem=this.length()-1,this.focusNext(!0)}focusLast(){return this.focusedItem=0,this.focusPrevious(!0)}focusNext(o,t){if(typeof this.focusedItem>"u")this.focusedItem=this.viewItems.length-1;else if(this.viewItems.length<=1)return!1;const i=this.focusedItem;let s;do{if(!o&&this.options.preventLoopNavigation&&this.focusedItem+1>=this.viewItems.length)return this.focusedItem=i,!1;this.focusedItem=(this.focusedItem+1)%this.viewItems.length,s=this.viewItems[this.focusedItem]}while(this.focusedItem!==i&&(this.options.focusOnlyEnabledItems&&!s.isEnabled()||s.action.id===y.Separator.ID));return this.updateFocus(void 0,void 0,t),!0}focusPrevious(o){if(typeof this.focusedItem>"u")this.focusedItem=0;else if(this.viewItems.length<=1)return!1;const t=this.focusedItem;let i;do{if(this.focusedItem=this.focusedItem-1,this.focusedItem<0){if(!o&&this.options.preventLoopNavigation)return this.focusedItem=t,!1;this.focusedItem=this.viewItems.length-1}i=this.viewItems[this.focusedItem]}while(this.focusedItem!==t&&(this.options.focusOnlyEnabledItems&&!i.isEnabled()||i.action.id===y.Separator.ID));return this.updateFocus(!0),!0}updateFocus(o,t,i=!1){typeof this.focusedItem>"u"&&this.actionsList.focus({preventScroll:t}),this.previouslyFocusedItem!==void 0&&this.previouslyFocusedItem!==this.focusedItem&&this.viewItems[this.previouslyFocusedItem]?.blur();const s=this.focusedItem!==void 0?this.viewItems[this.focusedItem]:void 0;if(s){let g=!0;b.isFunction(s.focus)||(g=!1),this.options.focusOnlyEnabledItems&&b.isFunction(s.isEnabled)&&!s.isEnabled()&&(g=!1),s.action.id===y.Separator.ID&&(g=!1),g?(i||this.previouslyFocusedItem!==this.focusedItem)&&(s.focus(o),this.previouslyFocusedItem=this.focusedItem):(this.actionsList.focus({preventScroll:t}),this.previouslyFocusedItem=void 0),g&&s.showHover?.()}}doTrigger(o){if(typeof this.focusedItem>"u")return;const t=this.viewItems[this.focusedItem];if(t instanceof I.BaseActionViewItem){const i=t._context===null||t._context===void 0?o:t._context;this.run(t._action,i)}}async run(o,t){await this._actionRunner.run(o,t)}dispose(){this._context=void 0,this.viewItems=(0,_.dispose)(this.viewItems),this.getContainer().remove(),super.dispose()}}e.ActionBar=p}),define(ne[359],se([1,0,5,151,631,6,44,81,303]),function(oe,e,d,k,I,E,y,m){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DropdownMenuActionViewItem=void 0;class _ extends k.BaseActionViewItem{constructor(p,n,o,t=Object.create(null)){super(null,p,t),this.actionItem=null,this._onDidChangeVisibility=this._register(new E.Emitter),this.onDidChangeVisibility=this._onDidChangeVisibility.event,this.menuActionsOrProvider=n,this.contextMenuProvider=o,this.options=t,this.options.actionRunner&&(this.actionRunner=this.options.actionRunner)}render(p){this.actionItem=p;const n=i=>{this.element=(0,d.append)(i,(0,d.$)("a.action-label"));let s=[];return typeof this.options.classNames=="string"?s=this.options.classNames.split(/\s+/g).filter(g=>!!g):this.options.classNames&&(s=this.options.classNames),s.find(g=>g==="icon")||s.push("codicon"),this.element.classList.add(...s),this.element.setAttribute("role","button"),this.element.setAttribute("aria-haspopup","true"),this.element.setAttribute("aria-expanded","false"),this._action.label&&this._register((0,m.getBaseLayerHoverDelegate)().setupManagedHover(this.options.hoverDelegate??(0,y.getDefaultHoverDelegate)("mouse"),this.element,this._action.label)),this.element.ariaLabel=this._action.label||"",null},o=Array.isArray(this.menuActionsOrProvider),t={contextMenuProvider:this.contextMenuProvider,labelRenderer:n,menuAsChild:this.options.menuAsChild,actions:o?this.menuActionsOrProvider:void 0,actionProvider:o?void 0:this.menuActionsOrProvider,skipTelemetry:this.options.skipTelemetry};if(this.dropdownMenu=this._register(new I.DropdownMenu(p,t)),this._register(this.dropdownMenu.onDidChangeVisibility(i=>{this.element?.setAttribute("aria-expanded",`${i}`),this._onDidChangeVisibility.fire(i)})),this.dropdownMenu.menuOptions={actionViewItemProvider:this.options.actionViewItemProvider,actionRunner:this.actionRunner,getKeyBinding:this.options.keybindingProvider,context:this._context},this.options.anchorAlignmentProvider){const i=this;this.dropdownMenu.menuOptions={...this.dropdownMenu.menuOptions,get anchorAlignment(){return i.options.anchorAlignmentProvider()}}}this.updateTooltip(),this.updateEnabled()}getTooltip(){let p=null;return this.action.tooltip?p=this.action.tooltip:this.action.label&&(p=this.action.label),p??void 0}setActionContext(p){super.setActionContext(p),this.dropdownMenu&&(this.dropdownMenu.menuOptions?this.dropdownMenu.menuOptions.context=p:this.dropdownMenu.menuOptions={context:p})}show(){this.dropdownMenu?.show()}updateEnabled(){const p=!this.action.enabled;this.actionItem?.classList.toggle("disabled",p),this.element?.classList.toggle("disabled",p)}}e.DropdownMenuActionViewItem=_}),define(ne[259],se([1,0,5,93,352,87,46,81,44,86,85,6,450,60,3,466]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.HistoryInputBox=e.InputBox=e.unthemedInboxStyles=void 0;const s=d.$;e.unthemedInboxStyles={inputBackground:"#3C3C3C",inputForeground:"#CCCCCC",inputValidationInfoBorder:"#55AAFF",inputValidationInfoBackground:"#063B49",inputValidationWarningBorder:"#B89500",inputValidationWarningBackground:"#352A05",inputValidationErrorBorder:"#BE1100",inputValidationErrorBackground:"#5A1D1D",inputBorder:void 0,inputValidationErrorForeground:void 0,inputValidationInfoForeground:void 0,inputValidationWarningForeground:void 0};class g extends p.Widget{constructor(a,r,u){super(),this.state="idle",this.maxHeight=Number.POSITIVE_INFINITY,this._onDidChange=this._register(new n.Emitter),this.onDidChange=this._onDidChange.event,this._onDidHeightChange=this._register(new n.Emitter),this.onDidHeightChange=this._onDidHeightChange.event,this.contextViewProvider=r,this.options=u,this.message=null,this.placeholder=this.options.placeholder||"",this.tooltip=this.options.tooltip??(this.placeholder||""),this.ariaLabel=this.options.ariaLabel||"",this.options.validationOptions&&(this.validation=this.options.validationOptions.validation),this.element=d.append(a,s(".monaco-inputbox.idle"));const C=this.options.flexibleHeight?"textarea":"input",f=d.append(this.element,s(".ibwrapper"));if(this.input=d.append(f,s(C+".input.empty")),this.input.setAttribute("autocorrect","off"),this.input.setAttribute("autocapitalize","off"),this.input.setAttribute("spellcheck","false"),this.onfocus(this.input,()=>this.element.classList.add("synthetic-focus")),this.onblur(this.input,()=>this.element.classList.remove("synthetic-focus")),this.options.flexibleHeight){this.maxHeight=typeof this.options.flexibleMaxHeight=="number"?this.options.flexibleMaxHeight:Number.POSITIVE_INFINITY,this.mirror=d.append(f,s("div.mirror")),this.mirror.innerText="\xA0",this.scrollableElement=new b.ScrollableElement(this.element,{vertical:1}),this.options.flexibleWidth&&(this.input.setAttribute("wrap","off"),this.mirror.style.whiteSpace="pre",this.mirror.style.wordWrap="initial"),d.append(a,this.scrollableElement.getDomNode()),this._register(this.scrollableElement),this._register(this.scrollableElement.onScroll(w=>this.input.scrollTop=w.scrollTop));const h=this._register(new k.DomEmitter(a.ownerDocument,"selectionchange")),v=n.Event.filter(h.event,()=>a.ownerDocument.getSelection()?.anchorNode===f);this._register(v(this.updateScrollDimensions,this)),this._register(this.onDidHeightChange(this.updateScrollDimensions,this))}else this.input.type=this.options.type||"text",this.input.setAttribute("wrap","off");this.ariaLabel&&this.input.setAttribute("aria-label",this.ariaLabel),this.placeholder&&!this.options.showPlaceholderOnFocus&&this.setPlaceHolder(this.placeholder),this.tooltip&&this.setTooltip(this.tooltip),this.oninput(this.input,()=>this.onValueChange()),this.onblur(this.input,()=>this.onBlur()),this.onfocus(this.input,()=>this.onFocus()),this._register(this.ignoreGesture(this.input)),setTimeout(()=>this.updateMirror(),0),this.options.actions&&(this.actionbar=this._register(new E.ActionBar(this.element)),this.actionbar.push(this.options.actions,{icon:!0,label:!1})),this.applyStyles()}onBlur(){this._hideMessage(),this.options.showPlaceholderOnFocus&&this.input.setAttribute("placeholder","")}onFocus(){this._showMessage(),this.options.showPlaceholderOnFocus&&this.input.setAttribute("placeholder",this.placeholder||"")}setPlaceHolder(a){this.placeholder=a,this.input.setAttribute("placeholder",a)}setTooltip(a){this.tooltip=a,this.hover?this.hover.update(a):this.hover=this._register((0,m.getBaseLayerHoverDelegate)().setupManagedHover((0,_.getDefaultHoverDelegate)("mouse"),this.input,a))}get inputElement(){return this.input}get value(){return this.input.value}set value(a){this.input.value!==a&&(this.input.value=a,this.onValueChange())}get height(){return typeof this.cachedHeight=="number"?this.cachedHeight:d.getTotalHeight(this.element)}focus(){this.input.focus()}blur(){this.input.blur()}hasFocus(){return d.isActiveElement(this.input)}select(a=null){this.input.select(),a&&(this.input.setSelectionRange(a.start,a.end),a.end===this.input.value.length&&(this.input.scrollLeft=this.input.scrollWidth))}isSelectionAtEnd(){return this.input.selectionEnd===this.input.value.length&&this.input.selectionStart===this.input.selectionEnd}getSelection(){const a=this.input.selectionStart;if(a===null)return null;const r=this.input.selectionEnd??a;return{start:a,end:r}}enable(){this.input.removeAttribute("disabled")}disable(){this.blur(),this.input.disabled=!0,this._hideMessage()}set paddingRight(a){this.input.style.width=`calc(100% - ${a}px)`,this.mirror&&(this.mirror.style.paddingRight=a+"px")}updateScrollDimensions(){if(typeof this.cachedContentHeight!="number"||typeof this.cachedHeight!="number"||!this.scrollableElement)return;const a=this.cachedContentHeight,r=this.cachedHeight,u=this.input.scrollTop;this.scrollableElement.setScrollDimensions({scrollHeight:a,height:r}),this.scrollableElement.setScrollPosition({scrollTop:u})}showMessage(a,r){if(this.state==="open"&&(0,t.equals)(this.message,a))return;this.message=a,this.element.classList.remove("idle"),this.element.classList.remove("info"),this.element.classList.remove("warning"),this.element.classList.remove("error"),this.element.classList.add(this.classForType(a.type));const u=this.stylesForType(this.message.type);this.element.style.border=`1px solid ${d.asCssValueWithDefault(u.border,"transparent")}`,this.message.content&&(this.hasFocus()||r)&&this._showMessage()}hideMessage(){this.message=null,this.element.classList.remove("info"),this.element.classList.remove("warning"),this.element.classList.remove("error"),this.element.classList.add("idle"),this._hideMessage(),this.applyStyles()}validate(){let a=null;return this.validation&&(a=this.validation(this.value),a?(this.inputElement.setAttribute("aria-invalid","true"),this.showMessage(a)):this.inputElement.hasAttribute("aria-invalid")&&(this.inputElement.removeAttribute("aria-invalid"),this.hideMessage())),a?.type}stylesForType(a){const r=this.options.inputBoxStyles;switch(a){case 1:return{border:r.inputValidationInfoBorder,background:r.inputValidationInfoBackground,foreground:r.inputValidationInfoForeground};case 2:return{border:r.inputValidationWarningBorder,background:r.inputValidationWarningBackground,foreground:r.inputValidationWarningForeground};default:return{border:r.inputValidationErrorBorder,background:r.inputValidationErrorBackground,foreground:r.inputValidationErrorForeground}}}classForType(a){switch(a){case 1:return"info";case 2:return"warning";default:return"error"}}_showMessage(){if(!this.contextViewProvider||!this.message)return;let a;const r=()=>a.style.width=d.getTotalWidth(this.element)+"px";this.contextViewProvider.showContextView({getAnchor:()=>this.element,anchorAlignment:1,render:C=>{if(!this.message)return null;a=d.append(C,s(".monaco-inputbox-container")),r();const f={inline:!0,className:"monaco-inputbox-message"},h=this.message.formatContent?(0,I.renderFormattedText)(this.message.content,f):(0,I.renderText)(this.message.content,f);h.classList.add(this.classForType(this.message.type));const v=this.stylesForType(this.message.type);return h.style.backgroundColor=v.background??"",h.style.color=v.foreground??"",h.style.border=v.border?`1px solid ${v.border}`:"",d.append(a,h),null},onHide:()=>{this.state="closed"},layout:r});let u;this.message.type===3?u=i.localize(9,"Error: {0}",this.message.content):this.message.type===2?u=i.localize(10,"Warning: {0}",this.message.content):u=i.localize(11,"Info: {0}",this.message.content),y.alert(u),this.state="open"}_hideMessage(){this.contextViewProvider&&(this.state==="open"&&this.contextViewProvider.hideContextView(),this.state="idle")}onValueChange(){this._onDidChange.fire(this.value),this.validate(),this.updateMirror(),this.input.classList.toggle("empty",!this.value),this.state==="open"&&this.contextViewProvider&&this.contextViewProvider.layout()}updateMirror(){if(!this.mirror)return;const a=this.value,u=a.charCodeAt(a.length-1)===10?" ":"";(a+u).replace(/\u000c/g,"")?this.mirror.textContent=a+u:this.mirror.innerText="\xA0",this.layout()}applyStyles(){const a=this.options.inputBoxStyles,r=a.inputBackground??"",u=a.inputForeground??"",C=a.inputBorder??"";this.element.style.backgroundColor=r,this.element.style.color=u,this.input.style.backgroundColor="inherit",this.input.style.color=u,this.element.style.border=`1px solid ${d.asCssValueWithDefault(C,"transparent")}`}layout(){if(!this.mirror)return;const a=this.cachedContentHeight;this.cachedContentHeight=d.getTotalHeight(this.mirror),a!==this.cachedContentHeight&&(this.cachedHeight=Math.min(this.cachedContentHeight,this.maxHeight),this.input.style.height=this.cachedHeight+"px",this._onDidHeightChange.fire(this.cachedContentHeight))}insertAtCursor(a){const r=this.inputElement,u=r.selectionStart,C=r.selectionEnd,f=r.value;u!==null&&C!==null&&(this.value=f.substr(0,u)+a+f.substr(C),r.setSelectionRange(u+1,u+1),this.layout())}dispose(){this._hideMessage(),this.message=null,this.actionbar?.dispose(),super.dispose()}}e.InputBox=g;class c extends g{constructor(a,r,u){const C=i.localize(12," or {0} for history","\u21C5"),f=i.localize(13," ({0} for history)","\u21C5");super(a,r,u),this._onDidFocus=this._register(new n.Emitter),this.onDidFocus=this._onDidFocus.event,this._onDidBlur=this._register(new n.Emitter),this.onDidBlur=this._onDidBlur.event,this.history=new o.HistoryNavigator(u.history,100);const h=()=>{if(u.showHistoryHint&&u.showHistoryHint()&&!this.placeholder.endsWith(C)&&!this.placeholder.endsWith(f)&&this.history.getHistory().length){const v=this.placeholder.endsWith(")")?C:f,w=this.placeholder+v;u.showPlaceholderOnFocus&&!d.isActiveElement(this.input)?this.placeholder=w:this.setPlaceHolder(w)}};this.observer=new MutationObserver((v,w)=>{v.forEach(S=>{S.target.textContent||h()})}),this.observer.observe(this.input,{attributeFilter:["class"]}),this.onfocus(this.input,()=>h()),this.onblur(this.input,()=>{const v=w=>{if(this.placeholder.endsWith(w)){const S=this.placeholder.slice(0,this.placeholder.length-w.length);return u.showPlaceholderOnFocus?this.placeholder=S:this.setPlaceHolder(S),!0}else return!1};v(f)||v(C)})}dispose(){super.dispose(),this.observer&&(this.observer.disconnect(),this.observer=void 0)}addToHistory(a){this.value&&(a||this.value!==this.getCurrentValue())&&this.history.add(this.value)}isAtLastInHistory(){return this.history.isLast()}isNowhereInHistory(){return this.history.isNowhere()}showNextValue(){this.history.has(this.value)||this.addToHistory();let a=this.getNextValue();a&&(a=a===this.value?this.getNextValue():a),this.value=a??"",y.status(this.value?this.value:i.localize(14,"Cleared Input"))}showPreviousValue(){this.history.has(this.value)||this.addToHistory();let a=this.getPreviousValue();a&&(a=a===this.value?this.getPreviousValue():a),a&&(this.value=a,y.status(this.value))}setPlaceHolder(a){super.setPlaceHolder(a),this.setTooltip(a)}onBlur(){super.onBlur(),this._onDidBlur.fire()}onFocus(){super.onFocus(),this._onDidFocus.fire()}getCurrentValue(){let a=this.history.current();return a||(a=this.history.last(),this.history.next()),a}getPreviousValue(){return this.history.previous()||this.history.first()}getNextValue(){return this.history.next()}}e.HistoryInputBox=c}),define(ne[260],se([1,0,5,358,259,85,6,3,2,44,304]),function(oe,e,d,k,I,E,y,m,_,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.FindInput=void 0;const p=m.localize(1,"input");class n extends E.Widget{constructor(t,i,s){super(),this.fixFocusOnOptionClickEnabled=!0,this.imeSessionInProgress=!1,this.additionalTogglesDisposables=this._register(new _.MutableDisposable),this.additionalToggles=[],this._onDidOptionChange=this._register(new y.Emitter),this.onDidOptionChange=this._onDidOptionChange.event,this._onKeyDown=this._register(new y.Emitter),this.onKeyDown=this._onKeyDown.event,this._onMouseDown=this._register(new y.Emitter),this.onMouseDown=this._onMouseDown.event,this._onInput=this._register(new y.Emitter),this._onKeyUp=this._register(new y.Emitter),this._onCaseSensitiveKeyDown=this._register(new y.Emitter),this.onCaseSensitiveKeyDown=this._onCaseSensitiveKeyDown.event,this._onRegexKeyDown=this._register(new y.Emitter),this.onRegexKeyDown=this._onRegexKeyDown.event,this._lastHighlightFindOptions=0,this.placeholder=s.placeholder||"",this.validation=s.validation,this.label=s.label||p,this.showCommonFindToggles=!!s.showCommonFindToggles;const g=s.appendCaseSensitiveLabel||"",c=s.appendWholeWordsLabel||"",l=s.appendRegexLabel||"",a=s.history||[],r=!!s.flexibleHeight,u=!!s.flexibleWidth,C=s.flexibleMaxHeight;this.domNode=document.createElement("div"),this.domNode.classList.add("monaco-findInput"),this.inputBox=this._register(new I.HistoryInputBox(this.domNode,i,{placeholder:this.placeholder||"",ariaLabel:this.label||"",validationOptions:{validation:this.validation},history:a,showHistoryHint:s.showHistoryHint,flexibleHeight:r,flexibleWidth:u,flexibleMaxHeight:C,inputBoxStyles:s.inputBoxStyles}));const f=this._register((0,b.createInstantHoverDelegate)());if(this.showCommonFindToggles){this.regex=this._register(new k.RegexToggle({appendTitle:l,isChecked:!1,hoverDelegate:f,...s.toggleStyles})),this._register(this.regex.onChange(v=>{this._onDidOptionChange.fire(v),!v&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()})),this._register(this.regex.onKeyDown(v=>{this._onRegexKeyDown.fire(v)})),this.wholeWords=this._register(new k.WholeWordsToggle({appendTitle:c,isChecked:!1,hoverDelegate:f,...s.toggleStyles})),this._register(this.wholeWords.onChange(v=>{this._onDidOptionChange.fire(v),!v&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()})),this.caseSensitive=this._register(new k.CaseSensitiveToggle({appendTitle:g,isChecked:!1,hoverDelegate:f,...s.toggleStyles})),this._register(this.caseSensitive.onChange(v=>{this._onDidOptionChange.fire(v),!v&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()})),this._register(this.caseSensitive.onKeyDown(v=>{this._onCaseSensitiveKeyDown.fire(v)}));const h=[this.caseSensitive.domNode,this.wholeWords.domNode,this.regex.domNode];this.onkeydown(this.domNode,v=>{if(v.equals(15)||v.equals(17)||v.equals(9)){const w=h.indexOf(this.domNode.ownerDocument.activeElement);if(w>=0){let S=-1;v.equals(17)?S=(w+1)%h.length:v.equals(15)&&(w===0?S=h.length-1:S=w-1),v.equals(9)?(h[w].blur(),this.inputBox.focus()):S>=0&&h[S].focus(),d.EventHelper.stop(v,!0)}}})}this.controls=document.createElement("div"),this.controls.className="controls",this.controls.style.display=this.showCommonFindToggles?"":"none",this.caseSensitive&&this.controls.append(this.caseSensitive.domNode),this.wholeWords&&this.controls.appendChild(this.wholeWords.domNode),this.regex&&this.controls.appendChild(this.regex.domNode),this.setAdditionalToggles(s?.additionalToggles),this.controls&&this.domNode.appendChild(this.controls),t?.appendChild(this.domNode),this._register(d.addDisposableListener(this.inputBox.inputElement,"compositionstart",h=>{this.imeSessionInProgress=!0})),this._register(d.addDisposableListener(this.inputBox.inputElement,"compositionend",h=>{this.imeSessionInProgress=!1,this._onInput.fire()})),this.onkeydown(this.inputBox.inputElement,h=>this._onKeyDown.fire(h)),this.onkeyup(this.inputBox.inputElement,h=>this._onKeyUp.fire(h)),this.oninput(this.inputBox.inputElement,h=>this._onInput.fire()),this.onmousedown(this.inputBox.inputElement,h=>this._onMouseDown.fire(h))}get onDidChange(){return this.inputBox.onDidChange}layout(t){this.inputBox.layout(),this.updateInputBoxPadding(t.collapsedFindWidget)}enable(){this.domNode.classList.remove("disabled"),this.inputBox.enable(),this.regex?.enable(),this.wholeWords?.enable(),this.caseSensitive?.enable();for(const t of this.additionalToggles)t.enable()}disable(){this.domNode.classList.add("disabled"),this.inputBox.disable(),this.regex?.disable(),this.wholeWords?.disable(),this.caseSensitive?.disable();for(const t of this.additionalToggles)t.disable()}setFocusInputOnOptionClick(t){this.fixFocusOnOptionClickEnabled=t}setEnabled(t){t?this.enable():this.disable()}setAdditionalToggles(t){for(const i of this.additionalToggles)i.domNode.remove();this.additionalToggles=[],this.additionalTogglesDisposables.value=new _.DisposableStore;for(const i of t??[])this.additionalTogglesDisposables.value.add(i),this.controls.appendChild(i.domNode),this.additionalTogglesDisposables.value.add(i.onChange(s=>{this._onDidOptionChange.fire(s),!s&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus()})),this.additionalToggles.push(i);this.additionalToggles.length>0&&(this.controls.style.display=""),this.updateInputBoxPadding()}updateInputBoxPadding(t=!1){t?this.inputBox.paddingRight=0:this.inputBox.paddingRight=(this.caseSensitive?.width()??0)+(this.wholeWords?.width()??0)+(this.regex?.width()??0)+this.additionalToggles.reduce((i,s)=>i+s.width(),0)}getValue(){return this.inputBox.value}setValue(t){this.inputBox.value!==t&&(this.inputBox.value=t)}select(){this.inputBox.select()}focus(){this.inputBox.focus()}getCaseSensitive(){return this.caseSensitive?.checked??!1}setCaseSensitive(t){this.caseSensitive&&(this.caseSensitive.checked=t)}getWholeWords(){return this.wholeWords?.checked??!1}setWholeWords(t){this.wholeWords&&(this.wholeWords.checked=t)}getRegex(){return this.regex?.checked??!1}setRegex(t){this.regex&&(this.regex.checked=t,this.validate())}focusOnCaseSensitive(){this.caseSensitive?.focus()}highlightFindOptions(){this.domNode.classList.remove("highlight-"+this._lastHighlightFindOptions),this._lastHighlightFindOptions=1-this._lastHighlightFindOptions,this.domNode.classList.add("highlight-"+this._lastHighlightFindOptions)}validate(){this.inputBox.validate()}showMessage(t){this.inputBox.showMessage(t)}clearMessage(){this.inputBox.hideMessage()}}e.FindInput=n}),define(ne[641],se([1,0,5,175,259,85,26,6,3,44,304]),function(oe,e,d,k,I,E,y,m,_,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ReplaceInput=void 0;const p=_.localize(5,"input"),n=_.localize(6,"Preserve Case");class o extends k.Toggle{constructor(s){super({icon:y.Codicon.preserveCase,title:n+s.appendTitle,isChecked:s.isChecked,hoverDelegate:s.hoverDelegate??(0,b.getDefaultHoverDelegate)("element"),inputActiveOptionBorder:s.inputActiveOptionBorder,inputActiveOptionForeground:s.inputActiveOptionForeground,inputActiveOptionBackground:s.inputActiveOptionBackground})}}class t extends E.Widget{constructor(s,g,c,l){super(),this._showOptionButtons=c,this.fixFocusOnOptionClickEnabled=!0,this.cachedOptionsWidth=0,this._onDidOptionChange=this._register(new m.Emitter),this.onDidOptionChange=this._onDidOptionChange.event,this._onKeyDown=this._register(new m.Emitter),this.onKeyDown=this._onKeyDown.event,this._onMouseDown=this._register(new m.Emitter),this._onInput=this._register(new m.Emitter),this._onKeyUp=this._register(new m.Emitter),this._onPreserveCaseKeyDown=this._register(new m.Emitter),this.onPreserveCaseKeyDown=this._onPreserveCaseKeyDown.event,this.contextViewProvider=g,this.placeholder=l.placeholder||"",this.validation=l.validation,this.label=l.label||p;const a=l.appendPreserveCaseLabel||"",r=l.history||[],u=!!l.flexibleHeight,C=!!l.flexibleWidth,f=l.flexibleMaxHeight;this.domNode=document.createElement("div"),this.domNode.classList.add("monaco-findInput"),this.inputBox=this._register(new I.HistoryInputBox(this.domNode,this.contextViewProvider,{ariaLabel:this.label||"",placeholder:this.placeholder||"",validationOptions:{validation:this.validation},history:r,showHistoryHint:l.showHistoryHint,flexibleHeight:u,flexibleWidth:C,flexibleMaxHeight:f,inputBoxStyles:l.inputBoxStyles})),this.preserveCase=this._register(new o({appendTitle:a,isChecked:!1,...l.toggleStyles})),this._register(this.preserveCase.onChange(w=>{this._onDidOptionChange.fire(w),!w&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()})),this._register(this.preserveCase.onKeyDown(w=>{this._onPreserveCaseKeyDown.fire(w)})),this._showOptionButtons?this.cachedOptionsWidth=this.preserveCase.width():this.cachedOptionsWidth=0;const h=[this.preserveCase.domNode];this.onkeydown(this.domNode,w=>{if(w.equals(15)||w.equals(17)||w.equals(9)){const S=h.indexOf(this.domNode.ownerDocument.activeElement);if(S>=0){let L=-1;w.equals(17)?L=(S+1)%h.length:w.equals(15)&&(S===0?L=h.length-1:L=S-1),w.equals(9)?(h[S].blur(),this.inputBox.focus()):L>=0&&h[L].focus(),d.EventHelper.stop(w,!0)}}});const v=document.createElement("div");v.className="controls",v.style.display=this._showOptionButtons?"block":"none",v.appendChild(this.preserveCase.domNode),this.domNode.appendChild(v),s?.appendChild(this.domNode),this.onkeydown(this.inputBox.inputElement,w=>this._onKeyDown.fire(w)),this.onkeyup(this.inputBox.inputElement,w=>this._onKeyUp.fire(w)),this.oninput(this.inputBox.inputElement,w=>this._onInput.fire()),this.onmousedown(this.inputBox.inputElement,w=>this._onMouseDown.fire(w))}enable(){this.domNode.classList.remove("disabled"),this.inputBox.enable(),this.preserveCase.enable()}disable(){this.domNode.classList.add("disabled"),this.inputBox.disable(),this.preserveCase.disable()}setEnabled(s){s?this.enable():this.disable()}select(){this.inputBox.select()}focus(){this.inputBox.focus()}getPreserveCase(){return this.preserveCase.checked}setPreserveCase(s){this.preserveCase.checked=s}focusOnPreserve(){this.preserveCase.focus()}validate(){this.inputBox?.validate()}set width(s){this.inputBox.paddingRight=this.cachedOptionsWidth,this.domNode.style.width=s+"px"}dispose(){super.dispose()}}e.ReplaceInput=t}),define(ne[642],se([1,0,64,69,5,47,77,87,151,353,86,41,14,26,191,30,142,2,16,11]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Menu=e.VerticalDirection=e.HorizontalDirection=e.MENU_ESCAPED_MNEMONIC_REGEX=e.MENU_MNEMONIC_REGEX=void 0,e.cleanMnemonic=w,e.formatRule=S,e.MENU_MNEMONIC_REGEX=/\(&([^\s&])\)|(^|[^&])&([^\s&])/,e.MENU_ESCAPED_MNEMONIC_REGEX=/(&)?(&)([^\s&])/g;var r;(function(D){D[D.Right=0]="Right",D[D.Left=1]="Left"})(r||(e.HorizontalDirection=r={}));var u;(function(D){D[D.Above=0]="Above",D[D.Below=1]="Below"})(u||(e.VerticalDirection=u={}));class C extends m.ActionBar{constructor(T,M,A,P){T.classList.add("monaco-menu-container"),T.setAttribute("role","presentation");const N=document.createElement("div");N.classList.add("monaco-menu"),N.setAttribute("role","presentation"),super(N,{orientation:1,actionViewItemProvider:W=>this.doGetActionViewItem(W,A,O),context:A.context,actionRunner:A.actionRunner,ariaLabel:A.ariaLabel,ariaRole:"menu",focusOnlyEnabledItems:!0,triggerKeys:{keys:[3,...l.isMacintosh||l.isLinux?[10]:[]],keyDown:!0}}),this.menuStyles=P,this.menuElement=N,this.actionsList.tabIndex=0,this.initializeOrUpdateStyleSheet(T,P),this._register(k.Gesture.addTarget(N)),this._register((0,I.addDisposableListener)(N,I.EventType.KEY_DOWN,W=>{new E.StandardKeyboardEvent(W).equals(2)&&W.preventDefault()})),A.enableMnemonics&&this._register((0,I.addDisposableListener)(N,I.EventType.KEY_DOWN,W=>{const V=W.key.toLocaleLowerCase();if(this.mnemonics.has(V)){I.EventHelper.stop(W,!0);const q=this.mnemonics.get(V);if(q.length===1&&(q[0]instanceof h&&q[0].container&&this.focusItemByElement(q[0].container),q[0].onClick(W)),q.length>1){const H=q.shift();H&&H.container&&(this.focusItemByElement(H.container),q.push(H)),this.mnemonics.set(V,q)}}})),l.isLinux&&this._register((0,I.addDisposableListener)(N,I.EventType.KEY_DOWN,W=>{const V=new E.StandardKeyboardEvent(W);V.equals(14)||V.equals(11)?(this.focusedItem=this.viewItems.length-1,this.focusNext(),I.EventHelper.stop(W,!0)):(V.equals(13)||V.equals(12))&&(this.focusedItem=0,this.focusPrevious(),I.EventHelper.stop(W,!0))})),this._register((0,I.addDisposableListener)(this.domNode,I.EventType.MOUSE_OUT,W=>{const V=W.relatedTarget;(0,I.isAncestor)(V,this.domNode)||(this.focusedItem=void 0,this.updateFocus(),W.stopPropagation())})),this._register((0,I.addDisposableListener)(this.actionsList,I.EventType.MOUSE_OVER,W=>{let V=W.target;if(!(!V||!(0,I.isAncestor)(V,this.actionsList)||V===this.actionsList)){for(;V.parentElement!==this.actionsList&&V.parentElement!==null;)V=V.parentElement;if(V.classList.contains("action-item")){const q=this.focusedItem;this.setFocusedItem(V),q!==this.focusedItem&&this.updateFocus()}}})),this._register(k.Gesture.addTarget(this.actionsList)),this._register((0,I.addDisposableListener)(this.actionsList,k.EventType.Tap,W=>{let V=W.initialTarget;if(!(!V||!(0,I.isAncestor)(V,this.actionsList)||V===this.actionsList)){for(;V.parentElement!==this.actionsList&&V.parentElement!==null;)V=V.parentElement;if(V.classList.contains("action-item")){const q=this.focusedItem;this.setFocusedItem(V),q!==this.focusedItem&&this.updateFocus()}}}));const O={parent:this};this.mnemonics=new Map,this.scrollableElement=this._register(new p.DomScrollableElement(N,{alwaysConsumeMouseWheel:!0,horizontal:2,vertical:3,verticalScrollbarSize:7,handleMouseWheel:!0,useShadows:!0}));const F=this.scrollableElement.getDomNode();F.style.position="",this.styleScrollElement(F,P),this._register((0,I.addDisposableListener)(N,k.EventType.Change,W=>{I.EventHelper.stop(W,!0);const V=this.scrollableElement.getScrollPosition().scrollTop;this.scrollableElement.setScrollPosition({scrollTop:V-W.translationY})})),this._register((0,I.addDisposableListener)(F,I.EventType.MOUSE_UP,W=>{W.preventDefault()}));const x=(0,I.getWindow)(T);N.style.maxHeight=`${Math.max(10,x.innerHeight-T.getBoundingClientRect().top-35)}px`,M=M.filter((W,V)=>A.submenuIds?.has(W.id)?(console.warn(`Found submenu cycle: ${W.id}`),!1):!(W instanceof n.Separator&&(V===M.length-1||V===0||M[V-1]instanceof n.Separator))),this.push(M,{icon:!0,label:!0,isMenu:!0}),T.appendChild(this.scrollableElement.getDomNode()),this.scrollableElement.scanDomNode(),this.viewItems.filter(W=>!(W instanceof v)).forEach((W,V,q)=>{W.updatePositionInSet(V+1,q.length)})}initializeOrUpdateStyleSheet(T,M){this.styleSheet||((0,I.isInShadowDOM)(T)?this.styleSheet=(0,I.createStyleSheet)(T):(C.globalStyleSheet||(C.globalStyleSheet=(0,I.createStyleSheet)()),this.styleSheet=C.globalStyleSheet)),this.styleSheet.textContent=L(M,(0,I.isInShadowDOM)(T))}styleScrollElement(T,M){const A=M.foregroundColor??"",P=M.backgroundColor??"",N=M.borderColor?`1px solid ${M.borderColor}`:"",O="5px",F=M.shadowColor?`0 2px 8px ${M.shadowColor}`:"";T.style.outline=N,T.style.borderRadius=O,T.style.color=A,T.style.backgroundColor=P,T.style.boxShadow=F}getContainer(){return this.scrollableElement.getDomNode()}get onScroll(){return this.scrollableElement.onScroll}focusItemByElement(T){const M=this.focusedItem;this.setFocusedItem(T),M!==this.focusedItem&&this.updateFocus()}setFocusedItem(T){for(let M=0;M{this.element&&(this._register((0,I.addDisposableListener)(this.element,I.EventType.MOUSE_UP,N=>{if(I.EventHelper.stop(N,!0),d.isFirefox){if(new y.StandardMouseEvent((0,I.getWindow)(this.element),N).rightButton)return;this.onClick(N)}else setTimeout(()=>{this.onClick(N)},0)})),this._register((0,I.addDisposableListener)(this.element,I.EventType.CONTEXT_MENU,N=>{I.EventHelper.stop(N,!0)})))},100),this._register(this.runOnceToEnableMouseUp)}render(T){super.render(T),this.element&&(this.container=T,this.item=(0,I.append)(this.element,(0,I.$)("a.action-menu-item")),this._action.id===n.Separator.ID?this.item.setAttribute("role","presentation"):(this.item.setAttribute("role","menuitem"),this.mnemonic&&this.item.setAttribute("aria-keyshortcuts",`${this.mnemonic}`)),this.check=(0,I.append)(this.item,(0,I.$)("span.menu-item-check"+s.ThemeIcon.asCSSSelector(t.Codicon.menuSelection))),this.check.setAttribute("role","none"),this.label=(0,I.append)(this.item,(0,I.$)("span.action-label")),this.options.label&&this.options.keybinding&&((0,I.append)(this.item,(0,I.$)("span.keybinding")).textContent=this.options.keybinding),this.runOnceToEnableMouseUp.schedule(),this.updateClass(),this.updateLabel(),this.updateTooltip(),this.updateEnabled(),this.updateChecked(),this.applyStyle())}blur(){super.blur(),this.applyStyle()}focus(){super.focus(),this.item?.focus(),this.applyStyle()}updatePositionInSet(T,M){this.item&&(this.item.setAttribute("aria-posinset",`${T}`),this.item.setAttribute("aria-setsize",`${M}`))}updateLabel(){if(this.label&&this.options.label){(0,I.clearNode)(this.label);let T=(0,g.stripIcons)(this.action.label);if(T){const M=w(T);this.options.enableMnemonics||(T=M),this.label.setAttribute("aria-label",M.replace(/&&/g,"&"));const A=e.MENU_MNEMONIC_REGEX.exec(T);if(A){T=a.escape(T),e.MENU_ESCAPED_MNEMONIC_REGEX.lastIndex=0;let P=e.MENU_ESCAPED_MNEMONIC_REGEX.exec(T);for(;P&&P[1];)P=e.MENU_ESCAPED_MNEMONIC_REGEX.exec(T);const N=O=>O.replace(/&&/g,"&");P?this.label.append(a.ltrim(N(T.substr(0,P.index))," "),(0,I.$)("u",{"aria-hidden":"true"},P[3]),a.rtrim(N(T.substr(P.index+P[0].length))," ")):this.label.innerText=N(T).trim(),this.item?.setAttribute("aria-keyshortcuts",(A[1]?A[1]:A[3]).toLocaleLowerCase())}else this.label.innerText=T.replace(/&&/g,"&").trim()}}}updateTooltip(){}updateClass(){this.cssClass&&this.item&&this.item.classList.remove(...this.cssClass.split(" ")),this.options.icon&&this.label?(this.cssClass=this.action.class||"",this.label.classList.add("icon"),this.cssClass&&this.label.classList.add(...this.cssClass.split(" ")),this.updateEnabled()):this.label&&this.label.classList.remove("icon")}updateEnabled(){this.action.enabled?(this.element&&(this.element.classList.remove("disabled"),this.element.removeAttribute("aria-disabled")),this.item&&(this.item.classList.remove("disabled"),this.item.removeAttribute("aria-disabled"),this.item.tabIndex=0)):(this.element&&(this.element.classList.add("disabled"),this.element.setAttribute("aria-disabled","true")),this.item&&(this.item.classList.add("disabled"),this.item.setAttribute("aria-disabled","true")))}updateChecked(){if(!this.item)return;const T=this.action.checked;this.item.classList.toggle("checked",!!T),T!==void 0?(this.item.setAttribute("role","menuitemcheckbox"),this.item.setAttribute("aria-checked",T?"true":"false")):(this.item.setAttribute("role","menuitem"),this.item.setAttribute("aria-checked",""))}getMnemonic(){return this.mnemonic}applyStyle(){const T=this.element&&this.element.classList.contains("focused"),M=T&&this.menuStyle.selectionForegroundColor?this.menuStyle.selectionForegroundColor:this.menuStyle.foregroundColor,A=T&&this.menuStyle.selectionBackgroundColor?this.menuStyle.selectionBackgroundColor:void 0,P=T&&this.menuStyle.selectionBorderColor?`1px solid ${this.menuStyle.selectionBorderColor}`:"",N=T&&this.menuStyle.selectionBorderColor?"-1px":"";this.item&&(this.item.style.color=M??"",this.item.style.backgroundColor=A??"",this.item.style.outline=P,this.item.style.outlineOffset=N),this.check&&(this.check.style.color=M??"")}}class h extends f{constructor(T,M,A,P,N){super(T,T,P,N),this.submenuActions=M,this.parentData=A,this.submenuOptions=P,this.mysubmenu=null,this.submenuDisposables=this._register(new c.DisposableStore),this.mouseOver=!1,this.expandDirection=P&&P.expandDirection!==void 0?P.expandDirection:{horizontal:r.Right,vertical:u.Below},this.showScheduler=new o.RunOnceScheduler(()=>{this.mouseOver&&(this.cleanupExistingSubmenu(!1),this.createSubmenu(!1))},250),this.hideScheduler=new o.RunOnceScheduler(()=>{this.element&&!(0,I.isAncestor)((0,I.getActiveElement)(),this.element)&&this.parentData.submenu===this.mysubmenu&&(this.parentData.parent.focus(!1),this.cleanupExistingSubmenu(!0))},750)}render(T){super.render(T),this.element&&(this.item&&(this.item.classList.add("monaco-submenu-item"),this.item.tabIndex=0,this.item.setAttribute("aria-haspopup","true"),this.updateAriaExpanded("false"),this.submenuIndicator=(0,I.append)(this.item,(0,I.$)("span.submenu-indicator"+s.ThemeIcon.asCSSSelector(t.Codicon.menuSubmenu))),this.submenuIndicator.setAttribute("aria-hidden","true")),this._register((0,I.addDisposableListener)(this.element,I.EventType.KEY_UP,M=>{const A=new E.StandardKeyboardEvent(M);(A.equals(17)||A.equals(3))&&(I.EventHelper.stop(M,!0),this.createSubmenu(!0))})),this._register((0,I.addDisposableListener)(this.element,I.EventType.KEY_DOWN,M=>{const A=new E.StandardKeyboardEvent(M);(0,I.getActiveElement)()===this.item&&(A.equals(17)||A.equals(3))&&I.EventHelper.stop(M,!0)})),this._register((0,I.addDisposableListener)(this.element,I.EventType.MOUSE_OVER,M=>{this.mouseOver||(this.mouseOver=!0,this.showScheduler.schedule())})),this._register((0,I.addDisposableListener)(this.element,I.EventType.MOUSE_LEAVE,M=>{this.mouseOver=!1})),this._register((0,I.addDisposableListener)(this.element,I.EventType.FOCUS_OUT,M=>{this.element&&!(0,I.isAncestor)((0,I.getActiveElement)(),this.element)&&this.hideScheduler.schedule()})),this._register(this.parentData.parent.onScroll(()=>{this.parentData.submenu===this.mysubmenu&&(this.parentData.parent.focus(!1),this.cleanupExistingSubmenu(!0))})))}updateEnabled(){}onClick(T){I.EventHelper.stop(T,!0),this.cleanupExistingSubmenu(!1),this.createSubmenu(!0)}cleanupExistingSubmenu(T){if(this.parentData.submenu&&(T||this.parentData.submenu!==this.mysubmenu)){try{this.parentData.submenu.dispose()}catch{}this.parentData.submenu=void 0,this.updateAriaExpanded("false"),this.submenuContainer&&(this.submenuDisposables.clear(),this.submenuContainer=void 0)}}calculateSubmenuMenuLayout(T,M,A,P){const N={top:0,left:0};return N.left=(0,b.layout)(T.width,M.width,{position:P.horizontal===r.Right?0:1,offset:A.left,size:A.width}),N.left>=A.left&&N.left{new E.StandardKeyboardEvent(V).equals(15)&&(I.EventHelper.stop(V,!0),this.parentData.parent.focus(),this.cleanupExistingSubmenu(!0))})),this.submenuDisposables.add((0,I.addDisposableListener)(this.submenuContainer,I.EventType.KEY_DOWN,V=>{new E.StandardKeyboardEvent(V).equals(15)&&I.EventHelper.stop(V,!0)})),this.submenuDisposables.add(this.parentData.submenu.onDidCancel(()=>{this.parentData.parent.focus(),this.cleanupExistingSubmenu(!0)})),this.parentData.submenu.focus(T),this.mysubmenu=this.parentData.submenu}}updateAriaExpanded(T){this.item&&this.item?.setAttribute("aria-expanded",T)}applyStyle(){super.applyStyle();const M=this.element&&this.element.classList.contains("focused")&&this.menuStyle.selectionForegroundColor?this.menuStyle.selectionForegroundColor:this.menuStyle.foregroundColor;this.submenuIndicator&&(this.submenuIndicator.style.color=M??"")}dispose(){super.dispose(),this.hideScheduler.dispose(),this.mysubmenu&&(this.mysubmenu.dispose(),this.mysubmenu=null),this.submenuContainer&&(this.submenuContainer=void 0)}}class v extends _.ActionViewItem{constructor(T,M,A,P){super(T,M,A),this.menuStyles=P}render(T){super.render(T),this.label&&(this.label.style.borderBottomColor=this.menuStyles.separatorColor?`${this.menuStyles.separatorColor}`:"")}}function w(D){const T=e.MENU_MNEMONIC_REGEX,M=T.exec(D);if(!M)return D;const A=!M[1];return D.replace(T,A?"$2$3":"").trim()}function S(D){const T=(0,i.getCodiconFontCharacters)()[D.id];return`.codicon-${D.id}:before { content: '\\${T.toString(16)}'; }`}function L(D,T){let M=` +.monaco-menu { + font-size: 13px; + border-radius: 5px; + min-width: 160px; +} + +${S(t.Codicon.menuSelection)} +${S(t.Codicon.menuSubmenu)} + +.monaco-menu .monaco-action-bar { + text-align: right; + overflow: hidden; + white-space: nowrap; +} + +.monaco-menu .monaco-action-bar .actions-container { + display: flex; + margin: 0 auto; + padding: 0; + width: 100%; + justify-content: flex-end; +} + +.monaco-menu .monaco-action-bar.vertical .actions-container { + display: inline-block; +} + +.monaco-menu .monaco-action-bar.reverse .actions-container { + flex-direction: row-reverse; +} + +.monaco-menu .monaco-action-bar .action-item { + cursor: pointer; + display: inline-block; + transition: transform 50ms ease; + position: relative; /* DO NOT REMOVE - this is the key to preventing the ghosting icon bug in Chrome 42 */ +} + +.monaco-menu .monaco-action-bar .action-item.disabled { + cursor: default; +} + +.monaco-menu .monaco-action-bar .action-item .icon, +.monaco-menu .monaco-action-bar .action-item .codicon { + display: inline-block; +} + +.monaco-menu .monaco-action-bar .action-item .codicon { + display: flex; + align-items: center; +} + +.monaco-menu .monaco-action-bar .action-label { + font-size: 11px; + margin-right: 4px; +} + +.monaco-menu .monaco-action-bar .action-item.disabled .action-label, +.monaco-menu .monaco-action-bar .action-item.disabled .action-label:hover { + color: var(--vscode-disabledForeground); +} + +/* Vertical actions */ + +.monaco-menu .monaco-action-bar.vertical { + text-align: left; +} + +.monaco-menu .monaco-action-bar.vertical .action-item { + display: block; +} + +.monaco-menu .monaco-action-bar.vertical .action-label.separator { + display: block; + border-bottom: 1px solid var(--vscode-menu-separatorBackground); + padding-top: 1px; + padding: 30px; +} + +.monaco-menu .secondary-actions .monaco-action-bar .action-label { + margin-left: 6px; +} + +/* Action Items */ +.monaco-menu .monaco-action-bar .action-item.select-container { + overflow: hidden; /* somehow the dropdown overflows its container, we prevent it here to not push */ + flex: 1; + max-width: 170px; + min-width: 60px; + display: flex; + align-items: center; + justify-content: center; + margin-right: 10px; +} + +.monaco-menu .monaco-action-bar.vertical { + margin-left: 0; + overflow: visible; +} + +.monaco-menu .monaco-action-bar.vertical .actions-container { + display: block; +} + +.monaco-menu .monaco-action-bar.vertical .action-item { + padding: 0; + transform: none; + display: flex; +} + +.monaco-menu .monaco-action-bar.vertical .action-item.active { + transform: none; +} + +.monaco-menu .monaco-action-bar.vertical .action-menu-item { + flex: 1 1 auto; + display: flex; + height: 2em; + align-items: center; + position: relative; + margin: 0 4px; + border-radius: 4px; +} + +.monaco-menu .monaco-action-bar.vertical .action-menu-item:hover .keybinding, +.monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .keybinding { + opacity: unset; +} + +.monaco-menu .monaco-action-bar.vertical .action-label { + flex: 1 1 auto; + text-decoration: none; + padding: 0 1em; + background: none; + font-size: 12px; + line-height: 1; +} + +.monaco-menu .monaco-action-bar.vertical .keybinding, +.monaco-menu .monaco-action-bar.vertical .submenu-indicator { + display: inline-block; + flex: 2 1 auto; + padding: 0 1em; + text-align: right; + font-size: 12px; + line-height: 1; +} + +.monaco-menu .monaco-action-bar.vertical .submenu-indicator { + height: 100%; +} + +.monaco-menu .monaco-action-bar.vertical .submenu-indicator.codicon { + font-size: 16px !important; + display: flex; + align-items: center; +} + +.monaco-menu .monaco-action-bar.vertical .submenu-indicator.codicon::before { + margin-left: auto; + margin-right: -20px; +} + +.monaco-menu .monaco-action-bar.vertical .action-item.disabled .keybinding, +.monaco-menu .monaco-action-bar.vertical .action-item.disabled .submenu-indicator { + opacity: 0.4; +} + +.monaco-menu .monaco-action-bar.vertical .action-label:not(.separator) { + display: inline-block; + box-sizing: border-box; + margin: 0; +} + +.monaco-menu .monaco-action-bar.vertical .action-item { + position: static; + overflow: visible; +} + +.monaco-menu .monaco-action-bar.vertical .action-item .monaco-submenu { + position: absolute; +} + +.monaco-menu .monaco-action-bar.vertical .action-label.separator { + width: 100%; + height: 0px !important; + opacity: 1; +} + +.monaco-menu .monaco-action-bar.vertical .action-label.separator.text { + padding: 0.7em 1em 0.1em 1em; + font-weight: bold; + opacity: 1; +} + +.monaco-menu .monaco-action-bar.vertical .action-label:hover { + color: inherit; +} + +.monaco-menu .monaco-action-bar.vertical .menu-item-check { + position: absolute; + visibility: hidden; + width: 1em; + height: 100%; +} + +.monaco-menu .monaco-action-bar.vertical .action-menu-item.checked .menu-item-check { + visibility: visible; + display: flex; + align-items: center; + justify-content: center; +} + +/* Context Menu */ + +.context-view.monaco-menu-container { + outline: 0; + border: none; + animation: fadeIn 0.083s linear; + -webkit-app-region: no-drag; +} + +.context-view.monaco-menu-container :focus, +.context-view.monaco-menu-container .monaco-action-bar.vertical:focus, +.context-view.monaco-menu-container .monaco-action-bar.vertical :focus { + outline: 0; +} + +.hc-black .context-view.monaco-menu-container, +.hc-light .context-view.monaco-menu-container, +:host-context(.hc-black) .context-view.monaco-menu-container, +:host-context(.hc-light) .context-view.monaco-menu-container { + box-shadow: none; +} + +.hc-black .monaco-menu .monaco-action-bar.vertical .action-item.focused, +.hc-light .monaco-menu .monaco-action-bar.vertical .action-item.focused, +:host-context(.hc-black) .monaco-menu .monaco-action-bar.vertical .action-item.focused, +:host-context(.hc-light) .monaco-menu .monaco-action-bar.vertical .action-item.focused { + background: none; +} + +/* Vertical Action Bar Styles */ + +.monaco-menu .monaco-action-bar.vertical { + padding: 4px 0; +} + +.monaco-menu .monaco-action-bar.vertical .action-menu-item { + height: 2em; +} + +.monaco-menu .monaco-action-bar.vertical .action-label:not(.separator), +.monaco-menu .monaco-action-bar.vertical .keybinding { + font-size: inherit; + padding: 0 2em; + max-height: 100%; +} + +.monaco-menu .monaco-action-bar.vertical .menu-item-check { + font-size: inherit; + width: 2em; +} + +.monaco-menu .monaco-action-bar.vertical .action-label.separator { + font-size: inherit; + margin: 5px 0 !important; + padding: 0; + border-radius: 0; +} + +.linux .monaco-menu .monaco-action-bar.vertical .action-label.separator, +:host-context(.linux) .monaco-menu .monaco-action-bar.vertical .action-label.separator { + margin-left: 0; + margin-right: 0; +} + +.monaco-menu .monaco-action-bar.vertical .submenu-indicator { + font-size: 60%; + padding: 0 1.8em; +} + +.linux .monaco-menu .monaco-action-bar.vertical .submenu-indicator, +:host-context(.linux) .monaco-menu .monaco-action-bar.vertical .submenu-indicator { + height: 100%; + mask-size: 10px 10px; + -webkit-mask-size: 10px 10px; +} + +.monaco-menu .action-item { + cursor: default; +}`;if(T){M+=` + /* Arrows */ + .monaco-scrollable-element > .scrollbar > .scra { + cursor: pointer; + font-size: 11px !important; + } + + .monaco-scrollable-element > .visible { + opacity: 1; + + /* Background rule added for IE9 - to allow clicks on dom node */ + background:rgba(0,0,0,0); + + transition: opacity 100ms linear; + } + .monaco-scrollable-element > .invisible { + opacity: 0; + pointer-events: none; + } + .monaco-scrollable-element > .invisible.fade { + transition: opacity 800ms linear; + } + + /* Scrollable Content Inset Shadow */ + .monaco-scrollable-element > .shadow { + position: absolute; + display: none; + } + .monaco-scrollable-element > .shadow.top { + display: block; + top: 0; + left: 3px; + height: 3px; + width: 100%; + } + .monaco-scrollable-element > .shadow.left { + display: block; + top: 3px; + left: 0; + height: 100%; + width: 3px; + } + .monaco-scrollable-element > .shadow.top-left-corner { + display: block; + top: 0; + left: 0; + height: 3px; + width: 3px; + } + `;const A=D.scrollbarShadow;A&&(M+=` + .monaco-scrollable-element > .shadow.top { + box-shadow: ${A} 0 6px 6px -6px inset; + } + + .monaco-scrollable-element > .shadow.left { + box-shadow: ${A} 6px 0 6px -6px inset; + } + + .monaco-scrollable-element > .shadow.top.left { + box-shadow: ${A} 6px 6px 6px -6px inset; + } + `);const P=D.scrollbarSliderBackground;P&&(M+=` + .monaco-scrollable-element > .scrollbar > .slider { + background: ${P}; + } + `);const N=D.scrollbarSliderHoverBackground;N&&(M+=` + .monaco-scrollable-element > .scrollbar > .slider:hover { + background: ${N}; + } + `);const O=D.scrollbarSliderActiveBackground;O&&(M+=` + .monaco-scrollable-element > .scrollbar > .slider.active { + background: ${O}; + } + `)}return M}}),define(ne[643],se([1,0,87,359,41,26,30,6,2,3,44,477]),function(oe,e,d,k,I,E,y,m,_,b,p){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ToggleMenuAction=e.ToolBar=void 0;class n extends _.Disposable{constructor(i,s,g={orientation:0}){super(),this.submenuActionViewItems=[],this.hasSecondaryActions=!1,this._onDidChangeDropdownVisibility=this._register(new m.EventMultiplexer),this.onDidChangeDropdownVisibility=this._onDidChangeDropdownVisibility.event,this.disposables=this._register(new _.DisposableStore),g.hoverDelegate=g.hoverDelegate??this._register((0,p.createInstantHoverDelegate)()),this.options=g,this.toggleMenuAction=this._register(new o(()=>this.toggleMenuActionViewItem?.show(),g.toggleMenuTitle)),this.element=document.createElement("div"),this.element.className="monaco-toolbar",i.appendChild(this.element),this.actionBar=this._register(new d.ActionBar(this.element,{orientation:g.orientation,ariaLabel:g.ariaLabel,actionRunner:g.actionRunner,allowContextMenu:g.allowContextMenu,highlightToggledItems:g.highlightToggledItems,hoverDelegate:g.hoverDelegate,actionViewItemProvider:(c,l)=>{if(c.id===o.ID)return this.toggleMenuActionViewItem=new k.DropdownMenuActionViewItem(c,c.menuActions,s,{actionViewItemProvider:this.options.actionViewItemProvider,actionRunner:this.actionRunner,keybindingProvider:this.options.getKeyBinding,classNames:y.ThemeIcon.asClassNameArray(g.moreIcon??E.Codicon.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(g.actionViewItemProvider){const a=g.actionViewItemProvider(c,l);if(a)return a}if(c instanceof I.SubmenuAction){const a=new k.DropdownMenuActionViewItem(c,c.actions,s,{actionViewItemProvider:this.options.actionViewItemProvider,actionRunner:this.actionRunner,keybindingProvider:this.options.getKeyBinding,classNames:c.class,anchorAlignmentProvider:this.options.anchorAlignmentProvider,menuAsChild:!!this.options.renderDropdownAsChildElement,skipTelemetry:this.options.skipTelemetry,hoverDelegate:this.options.hoverDelegate});return a.setActionContext(this.actionBar.context),this.submenuActionViewItems.push(a),this.disposables.add(this._onDidChangeDropdownVisibility.add(a.onDidChangeVisibility)),a}}}))}set actionRunner(i){this.actionBar.actionRunner=i}get actionRunner(){return this.actionBar.actionRunner}getElement(){return this.element}getItemAction(i){return this.actionBar.getAction(i)}setActions(i,s){this.clear();const g=i?i.slice(0):[];this.hasSecondaryActions=!!(s&&s.length>0),this.hasSecondaryActions&&s&&(this.toggleMenuAction.menuActions=s.slice(0),g.push(this.toggleMenuAction)),g.forEach(c=>{this.actionBar.push(c,{icon:this.options.icon??!0,label:this.options.label??!1,keybinding:this.getKeybindingLabel(c)})})}getKeybindingLabel(i){return this.options.getKeyBinding?.(i)?.getLabel()??void 0}clear(){this.submenuActionViewItems=[],this.disposables.clear(),this.actionBar.clear()}dispose(){this.clear(),this.disposables.dispose(),super.dispose()}}e.ToolBar=n;class o extends I.Action{static{this.ID="toolbar.toggle.more"}constructor(i,s){s=s||b.localize(17,"More Actions..."),super(o.ID,s,void 0,!0),this._menuActions=[],this.toggleDropdownMenu=i}async run(){this.toggleDropdownMenu()}get menuActions(){return this._menuActions}set menuActions(i){this._menuActions=i}}e.ToggleMenuAction=o}),define(ne[176],se([1,0,5,93,47,87,260,259,257,115,175,249,159,41,13,14,26,30,45,6,82,2,141,19,3,44,21,46,478]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r,u,C,f,h,v,w,S){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractTree=e.TreeFindMatchType=e.TreeFindMode=e.FuzzyToggle=e.ModeToggle=e.TreeRenderer=e.RenderIndentGuides=e.ComposedTreeDelegate=void 0;class L extends _.ElementsDragAndDropData{constructor(B){super(B.elements.map($=>$.element)),this.data=B}}function D(X){return X instanceof _.ElementsDragAndDropData?new L(X):X}class T{constructor(B,$){this.modelProvider=B,this.dnd=$,this.autoExpandDisposable=u.Disposable.None,this.disposables=new u.DisposableStore}getDragURI(B){return this.dnd.getDragURI(B.element)}getDragLabel(B,$){if(this.dnd.getDragLabel)return this.dnd.getDragLabel(B.map(Y=>Y.element),$)}onDragStart(B,$){this.dnd.onDragStart?.(D(B),$)}onDragOver(B,$,Y,Z,te,re=!0){const le=this.dnd.onDragOver(D(B),$&&$.element,Y,Z,te),me=this.autoExpandNode!==$;if(me&&(this.autoExpandDisposable.dispose(),this.autoExpandNode=$),typeof $>"u")return le;if(me&&typeof le!="boolean"&&le.autoExpand&&(this.autoExpandDisposable=(0,s.disposableTimeout)(()=>{const Ae=this.modelProvider(),Me=Ae.getNodeLocation($);Ae.isCollapsed(Me)&&Ae.setCollapsed(Me,!1),this.autoExpandNode=void 0},500,this.disposables)),typeof le=="boolean"||!le.accept||typeof le.bubble>"u"||le.feedback){if(!re){const Ae=typeof le=="boolean"?le:le.accept,Me=typeof le=="boolean"?void 0:le.effect;return{accept:Ae,effect:Me,feedback:[Y]}}return le}if(le.bubble===1){const Ae=this.modelProvider(),Me=Ae.getNodeLocation($),Ne=Ae.getParentNodeLocation(Me),ze=Ae.getNode(Ne),Ve=Ne&&Ae.getListIndex(Ne);return this.onDragOver(B,ze,Ve,Z,te,!1)}const ve=this.modelProvider(),Le=ve.getNodeLocation($),Ee=ve.getListIndex(Le),Ie=ve.getListRenderCount(Le);return{...le,feedback:(0,i.range)(Ee,Ee+Ie)}}drop(B,$,Y,Z,te){this.autoExpandDisposable.dispose(),this.autoExpandNode=void 0,this.dnd.drop(D(B),$&&$.element,Y,Z,te)}onDragEnd(B){this.dnd.onDragEnd?.(B)}dispose(){this.disposables.dispose(),this.dnd.dispose()}}function M(X,B){return B&&{...B,identityProvider:B.identityProvider&&{getId($){return B.identityProvider.getId($.element)}},dnd:B.dnd&&new T(X,B.dnd),multipleSelectionController:B.multipleSelectionController&&{isSelectionSingleChangeEvent($){return B.multipleSelectionController.isSelectionSingleChangeEvent({...$,element:$.element})},isSelectionRangeChangeEvent($){return B.multipleSelectionController.isSelectionRangeChangeEvent({...$,element:$.element})}},accessibilityProvider:B.accessibilityProvider&&{...B.accessibilityProvider,getSetSize($){const Y=X(),Z=Y.getNodeLocation($),te=Y.getParentNodeLocation(Z);return Y.getNode(te).visibleChildrenCount},getPosInSet($){return $.visibleChildIndex+1},isChecked:B.accessibilityProvider&&B.accessibilityProvider.isChecked?$=>B.accessibilityProvider.isChecked($.element):void 0,getRole:B.accessibilityProvider&&B.accessibilityProvider.getRole?$=>B.accessibilityProvider.getRole($.element):()=>"treeitem",getAriaLabel($){return B.accessibilityProvider.getAriaLabel($.element)},getWidgetAriaLabel(){return B.accessibilityProvider.getWidgetAriaLabel()},getWidgetRole:B.accessibilityProvider&&B.accessibilityProvider.getWidgetRole?()=>B.accessibilityProvider.getWidgetRole():()=>"tree",getAriaLevel:B.accessibilityProvider&&B.accessibilityProvider.getAriaLevel?$=>B.accessibilityProvider.getAriaLevel($.element):$=>$.depth,getActiveDescendantId:B.accessibilityProvider.getActiveDescendantId&&($=>B.accessibilityProvider.getActiveDescendantId($.element))},keyboardNavigationLabelProvider:B.keyboardNavigationLabelProvider&&{...B.keyboardNavigationLabelProvider,getKeyboardNavigationLabel($){return B.keyboardNavigationLabelProvider.getKeyboardNavigationLabel($.element)}}}}class A{constructor(B){this.delegate=B}getHeight(B){return this.delegate.getHeight(B.element)}getTemplateId(B){return this.delegate.getTemplateId(B.element)}hasDynamicHeight(B){return!!this.delegate.hasDynamicHeight&&this.delegate.hasDynamicHeight(B.element)}setDynamicHeight(B,$){this.delegate.setDynamicHeight?.(B.element,$)}}e.ComposedTreeDelegate=A;var P;(function(X){X.None="none",X.OnHover="onHover",X.Always="always"})(P||(e.RenderIndentGuides=P={}));class N{get elements(){return this._elements}constructor(B,$=[]){this._elements=$,this.disposables=new u.DisposableStore,this.onDidChange=a.Event.forEach(B,Y=>this._elements=Y,this.disposables)}dispose(){this.disposables.dispose()}}class O{static{this.DefaultIndent=8}constructor(B,$,Y,Z,te,re={}){this.renderer=B,this.modelProvider=$,this.activeNodes=Z,this.renderedIndentGuides=te,this.renderedElements=new Map,this.renderedNodes=new Map,this.indent=O.DefaultIndent,this.hideTwistiesOfChildlessElements=!1,this.shouldRenderIndentGuides=!1,this.activeIndentNodes=new Set,this.indentGuidesDisposable=u.Disposable.None,this.disposables=new u.DisposableStore,this.templateId=B.templateId,this.updateOptions(re),a.Event.map(Y,le=>le.node)(this.onDidChangeNodeTwistieState,this,this.disposables),B.onDidChangeTwistieState?.(this.onDidChangeTwistieState,this,this.disposables)}updateOptions(B={}){if(typeof B.indent<"u"){const $=(0,C.clamp)(B.indent,0,40);if($!==this.indent){this.indent=$;for(const[Y,Z]of this.renderedNodes)this.renderTreeElement(Y,Z)}}if(typeof B.renderIndentGuides<"u"){const $=B.renderIndentGuides!==P.None;if($!==this.shouldRenderIndentGuides){this.shouldRenderIndentGuides=$;for(const[Y,Z]of this.renderedNodes)this._renderIndentGuides(Y,Z);if(this.indentGuidesDisposable.dispose(),$){const Y=new u.DisposableStore;this.activeNodes.onDidChange(this._onDidChangeActiveNodes,this,Y),this.indentGuidesDisposable=Y,this._onDidChangeActiveNodes(this.activeNodes.elements)}}}typeof B.hideTwistiesOfChildlessElements<"u"&&(this.hideTwistiesOfChildlessElements=B.hideTwistiesOfChildlessElements)}renderTemplate(B){const $=(0,d.append)(B,(0,d.$)(".monaco-tl-row")),Y=(0,d.append)($,(0,d.$)(".monaco-tl-indent")),Z=(0,d.append)($,(0,d.$)(".monaco-tl-twistie")),te=(0,d.append)($,(0,d.$)(".monaco-tl-contents")),re=this.renderer.renderTemplate(te);return{container:B,indent:Y,twistie:Z,indentGuidesDisposable:u.Disposable.None,templateData:re}}renderElement(B,$,Y,Z){this.renderedNodes.set(B,Y),this.renderedElements.set(B.element,B),this.renderTreeElement(B,Y),this.renderer.renderElement(B,$,Y.templateData,Z)}disposeElement(B,$,Y,Z){Y.indentGuidesDisposable.dispose(),this.renderer.disposeElement?.(B,$,Y.templateData,Z),typeof Z=="number"&&(this.renderedNodes.delete(B),this.renderedElements.delete(B.element))}disposeTemplate(B){this.renderer.disposeTemplate(B.templateData)}onDidChangeTwistieState(B){const $=this.renderedElements.get(B);$&&this.onDidChangeNodeTwistieState($)}onDidChangeNodeTwistieState(B){const $=this.renderedNodes.get(B);$&&(this._onDidChangeActiveNodes(this.activeNodes.elements),this.renderTreeElement(B,$))}renderTreeElement(B,$){const Y=O.DefaultIndent+(B.depth-1)*this.indent;$.twistie.style.paddingLeft=`${Y}px`,$.indent.style.width=`${Y+this.indent-16}px`,B.collapsible?$.container.setAttribute("aria-expanded",String(!B.collapsed)):$.container.removeAttribute("aria-expanded"),$.twistie.classList.remove(...c.ThemeIcon.asClassNameArray(g.Codicon.treeItemExpanded));let Z=!1;this.renderer.renderTwistie&&(Z=this.renderer.renderTwistie(B.element,$.twistie)),B.collapsible&&(!this.hideTwistiesOfChildlessElements||B.visibleChildrenCount>0)?(Z||$.twistie.classList.add(...c.ThemeIcon.asClassNameArray(g.Codicon.treeItemExpanded)),$.twistie.classList.add("collapsible"),$.twistie.classList.toggle("collapsed",B.collapsed)):$.twistie.classList.remove("collapsible","collapsed"),this._renderIndentGuides(B,$)}_renderIndentGuides(B,$){if((0,d.clearNode)($.indent),$.indentGuidesDisposable.dispose(),!this.shouldRenderIndentGuides)return;const Y=new u.DisposableStore,Z=this.modelProvider();for(;;){const te=Z.getNodeLocation(B),re=Z.getParentNodeLocation(te);if(!re)break;const le=Z.getNode(re),me=(0,d.$)(".indent-guide",{style:`width: ${this.indent}px`});this.activeIndentNodes.has(le)&&me.classList.add("active"),$.indent.childElementCount===0?$.indent.appendChild(me):$.indent.insertBefore(me,$.indent.firstElementChild),this.renderedIndentGuides.add(le,me),Y.add((0,u.toDisposable)(()=>this.renderedIndentGuides.delete(le,me))),B=le}$.indentGuidesDisposable=Y}_onDidChangeActiveNodes(B){if(!this.shouldRenderIndentGuides)return;const $=new Set,Y=this.modelProvider();B.forEach(Z=>{const te=Y.getNodeLocation(Z);try{const re=Y.getParentNodeLocation(te);Z.collapsible&&Z.children.length>0&&!Z.collapsed?$.add(Z):re&&$.add(Y.getNode(re))}catch{}}),this.activeIndentNodes.forEach(Z=>{$.has(Z)||this.renderedIndentGuides.forEach(Z,te=>te.classList.remove("active"))}),$.forEach(Z=>{this.activeIndentNodes.has(Z)||this.renderedIndentGuides.forEach(Z,te=>te.classList.add("active"))}),this.activeIndentNodes=$}dispose(){this.renderedNodes.clear(),this.renderedElements.clear(),this.indentGuidesDisposable.dispose(),(0,u.dispose)(this.disposables)}}e.TreeRenderer=O;class F{get totalCount(){return this._totalCount}get matchCount(){return this._matchCount}constructor(B,$,Y){this.tree=B,this.keyboardNavigationLabelProvider=$,this._filter=Y,this._totalCount=0,this._matchCount=0,this._pattern="",this._lowercasePattern="",this.disposables=new u.DisposableStore,B.onWillRefilter(this.reset,this,this.disposables)}filter(B,$){let Y=1;if(this._filter){const re=this._filter.filter(B,$);if(typeof re=="boolean"?Y=re?1:0:(0,n.isFilterResult)(re)?Y=(0,n.getVisibleState)(re.visibility):Y=re,Y===0)return!1}if(this._totalCount++,!this._pattern)return this._matchCount++,{data:r.FuzzyScore.Default,visibility:Y};const Z=this.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(B),te=Array.isArray(Z)?Z:[Z];for(const re of te){const le=re&&re.toString();if(typeof le>"u")return{data:r.FuzzyScore.Default,visibility:Y};let me;if(this.tree.findMatchType===H.Contiguous){const ve=le.toLowerCase().indexOf(this._lowercasePattern);if(ve>-1){me=[Number.MAX_SAFE_INTEGER,0];for(let Le=this._lowercasePattern.length;Le>0;Le--)me.push(ve+Le-1)}}else me=(0,r.fuzzyScore)(this._pattern,this._lowercasePattern,0,le,le.toLowerCase(),0,{firstMatchCanBeWeak:!0,boostFullMatch:!0});if(me)return this._matchCount++,te.length===1?{data:me,visibility:Y}:{data:{label:le,score:me},visibility:Y}}return this.tree.findMode===q.Filter?typeof this.tree.options.defaultFindVisibility=="number"?this.tree.options.defaultFindVisibility:this.tree.options.defaultFindVisibility?this.tree.options.defaultFindVisibility(B):2:{data:r.FuzzyScore.Default,visibility:Y}}reset(){this._totalCount=0,this._matchCount=0}dispose(){(0,u.dispose)(this.disposables)}}class x extends p.Toggle{constructor(B){super({icon:g.Codicon.listFilter,title:(0,h.localize)(18,"Filter"),isChecked:B.isChecked??!1,hoverDelegate:B.hoverDelegate??(0,v.getDefaultHoverDelegate)("element"),inputActiveOptionBorder:B.inputActiveOptionBorder,inputActiveOptionForeground:B.inputActiveOptionForeground,inputActiveOptionBackground:B.inputActiveOptionBackground})}}e.ModeToggle=x;class W extends p.Toggle{constructor(B){super({icon:g.Codicon.searchFuzzy,title:(0,h.localize)(19,"Fuzzy Match"),isChecked:B.isChecked??!1,hoverDelegate:B.hoverDelegate??(0,v.getDefaultHoverDelegate)("element"),inputActiveOptionBorder:B.inputActiveOptionBorder,inputActiveOptionForeground:B.inputActiveOptionForeground,inputActiveOptionBackground:B.inputActiveOptionBackground})}}e.FuzzyToggle=W;const V={inputBoxStyles:m.unthemedInboxStyles,toggleStyles:p.unthemedToggleStyles,listFilterWidgetBackground:void 0,listFilterWidgetNoMatchesOutline:void 0,listFilterWidgetOutline:void 0,listFilterWidgetShadow:void 0};var q;(function(X){X[X.Highlight=0]="Highlight",X[X.Filter=1]="Filter"})(q||(e.TreeFindMode=q={}));var H;(function(X){X[X.Fuzzy=0]="Fuzzy",X[X.Contiguous=1]="Contiguous"})(H||(e.TreeFindMatchType=H={}));class z extends u.Disposable{set mode(B){this.modeToggle.checked=B===q.Filter,this.findInput.inputBox.setPlaceHolder(B===q.Filter?(0,h.localize)(20,"Type to filter"):(0,h.localize)(21,"Type to search"))}set matchType(B){this.matchTypeToggle.checked=B===H.Fuzzy}constructor(B,$,Y,Z,te,re){super(),this.tree=$,this.elements=(0,d.h)(".monaco-tree-type-filter",[(0,d.h)(".monaco-tree-type-filter-grab.codicon.codicon-debug-gripper@grab",{tabIndex:0}),(0,d.h)(".monaco-tree-type-filter-input@findInput"),(0,d.h)(".monaco-tree-type-filter-actionbar@actionbar")]),this.width=0,this.right=0,this.top=0,this._onDidDisable=new a.Emitter,B.appendChild(this.elements.root),this._register((0,u.toDisposable)(()=>this.elements.root.remove()));const le=re?.styles??V;le.listFilterWidgetBackground&&(this.elements.root.style.backgroundColor=le.listFilterWidgetBackground),le.listFilterWidgetShadow&&(this.elements.root.style.boxShadow=`0 0 8px 2px ${le.listFilterWidgetShadow}`);const me=this._register((0,v.createInstantHoverDelegate)());this.modeToggle=this._register(new x({...le.toggleStyles,isChecked:Z===q.Filter,hoverDelegate:me})),this.matchTypeToggle=this._register(new W({...le.toggleStyles,isChecked:te===H.Fuzzy,hoverDelegate:me})),this.onDidChangeMode=a.Event.map(this.modeToggle.onChange,()=>this.modeToggle.checked?q.Filter:q.Highlight,this._store),this.onDidChangeMatchType=a.Event.map(this.matchTypeToggle.onChange,()=>this.matchTypeToggle.checked?H.Fuzzy:H.Contiguous,this._store),this.findInput=this._register(new y.FindInput(this.elements.findInput,Y,{label:(0,h.localize)(22,"Type to search"),additionalToggles:[this.modeToggle,this.matchTypeToggle],showCommonFindToggles:!1,inputBoxStyles:le.inputBoxStyles,toggleStyles:le.toggleStyles,history:re?.history})),this.actionbar=this._register(new E.ActionBar(this.elements.actionbar)),this.mode=Z;const ve=this._register(new k.DomEmitter(this.findInput.inputBox.inputElement,"keydown")),Le=a.Event.chain(ve.event,Me=>Me.map(Ne=>new I.StandardKeyboardEvent(Ne)));this._register(Le(Me=>{if(Me.equals(3)){Me.preventDefault(),Me.stopPropagation(),this.findInput.inputBox.addToHistory(),this.tree.domFocus();return}if(Me.equals(18)){Me.preventDefault(),Me.stopPropagation(),this.findInput.inputBox.isAtLastInHistory()||this.findInput.inputBox.isNowhereInHistory()?(this.findInput.inputBox.addToHistory(),this.tree.domFocus()):this.findInput.inputBox.showNextValue();return}if(Me.equals(16)){Me.preventDefault(),Me.stopPropagation(),this.findInput.inputBox.showPreviousValue();return}}));const Ee=this._register(new t.Action("close",(0,h.localize)(23,"Close"),"codicon codicon-close",!0,()=>this.dispose()));this.actionbar.push(Ee,{icon:!0,label:!1});const Ie=this._register(new k.DomEmitter(this.elements.grab,"mousedown"));this._register(Ie.event(Me=>{const Ne=new u.DisposableStore,ze=Ne.add(new k.DomEmitter((0,d.getWindow)(Me),"mousemove")),Ve=Ne.add(new k.DomEmitter((0,d.getWindow)(Me),"mouseup")),$e=this.right,it=Me.pageX,Oe=this.top,Pe=Me.pageY;this.elements.grab.classList.add("grabbing");const fe=this.elements.root.style.transition;this.elements.root.style.transition="unset";const we=Fe=>{const Ce=Fe.pageX-it;this.right=$e-Ce;const Se=Fe.pageY-Pe;this.top=Oe+Se,this.layout()};Ne.add(ze.event(we)),Ne.add(Ve.event(Fe=>{we(Fe),this.elements.grab.classList.remove("grabbing"),this.elements.root.style.transition=fe,Ne.dispose()}))}));const Ae=a.Event.chain(this._register(new k.DomEmitter(this.elements.grab,"keydown")).event,Me=>Me.map(Ne=>new I.StandardKeyboardEvent(Ne)));this._register(Ae(Me=>{let Ne,ze;if(Me.keyCode===15?Ne=Number.POSITIVE_INFINITY:Me.keyCode===17?Ne=0:Me.keyCode===10&&(Ne=this.right===0?Number.POSITIVE_INFINITY:0),Me.keyCode===16?ze=0:Me.keyCode===18&&(ze=Number.POSITIVE_INFINITY),Ne!==void 0&&(Me.preventDefault(),Me.stopPropagation(),this.right=Ne,this.layout()),ze!==void 0){Me.preventDefault(),Me.stopPropagation(),this.top=ze;const Ve=this.elements.root.style.transition;this.elements.root.style.transition="unset",this.layout(),setTimeout(()=>{this.elements.root.style.transition=Ve},0)}})),this.onDidChangeValue=this.findInput.onDidChange}layout(B=this.width){this.width=B,this.right=(0,C.clamp)(this.right,0,Math.max(0,B-212)),this.elements.root.style.right=`${this.right}px`,this.top=(0,C.clamp)(this.top,0,24),this.elements.root.style.top=`${this.top}px`}showMessage(B){this.findInput.showMessage(B)}clearMessage(){this.findInput.clearMessage()}async dispose(){this._onDidDisable.fire(),this.elements.root.classList.add("disabled"),await(0,s.timeout)(300),super.dispose()}}class U{get pattern(){return this._pattern}get mode(){return this._mode}set mode(B){B!==this._mode&&(this._mode=B,this.widget&&(this.widget.mode=this._mode),this.tree.refilter(),this.render(),this._onDidChangeMode.fire(B))}get matchType(){return this._matchType}set matchType(B){B!==this._matchType&&(this._matchType=B,this.widget&&(this.widget.matchType=this._matchType),this.tree.refilter(),this.render(),this._onDidChangeMatchType.fire(B))}constructor(B,$,Y,Z,te,re={}){this.tree=B,this.view=Y,this.filter=Z,this.contextViewProvider=te,this.options=re,this._pattern="",this.width=0,this._onDidChangeMode=new a.Emitter,this.onDidChangeMode=this._onDidChangeMode.event,this._onDidChangeMatchType=new a.Emitter,this.onDidChangeMatchType=this._onDidChangeMatchType.event,this._onDidChangePattern=new a.Emitter,this._onDidChangeOpenState=new a.Emitter,this.onDidChangeOpenState=this._onDidChangeOpenState.event,this.enabledDisposables=new u.DisposableStore,this.disposables=new u.DisposableStore,this._mode=B.options.defaultFindMode??q.Highlight,this._matchType=B.options.defaultFindMatchType??H.Fuzzy,$.onDidSplice(this.onDidSpliceModel,this,this.disposables)}updateOptions(B={}){B.defaultFindMode!==void 0&&(this.mode=B.defaultFindMode),B.defaultFindMatchType!==void 0&&(this.matchType=B.defaultFindMatchType)}onDidSpliceModel(){!this.widget||this.pattern.length===0||(this.tree.refilter(),this.render())}render(){const B=this.filter.totalCount>0&&this.filter.matchCount===0;this.pattern&&B?((0,S.alert)((0,h.localize)(24,"No results")),this.tree.options.showNotFoundMessage??!0?this.widget?.showMessage({type:2,content:(0,h.localize)(25,"No elements found.")}):this.widget?.showMessage({type:2})):(this.widget?.clearMessage(),this.pattern&&(0,S.alert)((0,h.localize)(26,"{0} results",this.filter.matchCount)))}shouldAllowFocus(B){return!this.widget||!this.pattern||this.filter.totalCount>0&&this.filter.matchCount<=1?!0:!r.FuzzyScore.isDefault(B.filterData)}layout(B){this.width=B,this.widget?.layout(B)}dispose(){this._history=void 0,this._onDidChangePattern.dispose(),this.enabledDisposables.dispose(),this.disposables.dispose()}}function j(X,B){return X.position===B.position&&Q(X,B)}function Q(X,B){return X.node.element===B.node.element&&X.startIndex===B.startIndex&&X.height===B.height&&X.endIndex===B.endIndex}class G{constructor(B=[]){this.stickyNodes=B}get count(){return this.stickyNodes.length}equal(B){return(0,i.equals)(this.stickyNodes,B.stickyNodes,j)}lastNodePartiallyVisible(){if(this.count===0)return!1;const B=this.stickyNodes[this.count-1];if(this.count===1)return B.position!==0;const $=this.stickyNodes[this.count-2];return $.position+$.height!==B.position}animationStateChanged(B){if(!(0,i.equals)(this.stickyNodes,B.stickyNodes,Q)||this.count===0)return!1;const $=this.stickyNodes[this.count-1],Y=B.stickyNodes[B.count-1];return $.position!==Y.position}}class K{constrainStickyScrollNodes(B,$,Y){for(let Z=0;ZY||Z>=$)return B.slice(0,Z)}return B}}class R extends u.Disposable{constructor(B,$,Y,Z,te,re={}){super(),this.tree=B,this.model=$,this.view=Y,this.treeDelegate=te,this.maxWidgetViewRatio=.4;const le=this.validateStickySettings(re);this.stickyScrollMaxItemCount=le.stickyScrollMaxItemCount,this.stickyScrollDelegate=re.stickyScrollDelegate??new K,this._widget=this._register(new J(Y.getScrollableElement(),Y,B,Z,te,re.accessibilityProvider)),this.onDidChangeHasFocus=this._widget.onDidChangeHasFocus,this.onContextMenu=this._widget.onContextMenu,this._register(Y.onDidScroll(()=>this.update())),this._register(Y.onDidChangeContentHeight(()=>this.update())),this._register(B.onDidChangeCollapseState(()=>this.update())),this.update()}get height(){return this._widget.height}getNodeAtHeight(B){let $;if(B===0?$=this.view.firstVisibleIndex:$=this.view.indexAt(B+this.view.scrollTop),!($<0||$>=this.view.length))return this.view.element($)}update(){const B=this.getNodeAtHeight(0);if(!B||this.tree.scrollTop===0){this._widget.setState(void 0);return}const $=this.findStickyState(B);this._widget.setState($)}findStickyState(B){const $=[];let Y=B,Z=0,te=this.getNextStickyNode(Y,void 0,Z);for(;te&&($.push(te),Z+=te.height,!($.length<=this.stickyScrollMaxItemCount&&(Y=this.getNextVisibleNode(te),!Y)));)te=this.getNextStickyNode(Y,te.node,Z);const re=this.constrainStickyNodes($);return re.length?new G(re):void 0}getNextVisibleNode(B){return this.getNodeAtHeight(B.position+B.height)}getNextStickyNode(B,$,Y){const Z=this.getAncestorUnderPrevious(B,$);if(Z&&!(Z===B&&(!this.nodeIsUncollapsedParent(B)||this.nodeTopAlignsWithStickyNodesBottom(B,Y))))return this.createStickyScrollNode(Z,Y)}nodeTopAlignsWithStickyNodesBottom(B,$){const Y=this.getNodeIndex(B),Z=this.view.getElementTop(Y),te=$;return this.view.scrollTop===Z-te}createStickyScrollNode(B,$){const Y=this.treeDelegate.getHeight(B),{startIndex:Z,endIndex:te}=this.getNodeRange(B),re=this.calculateStickyNodePosition(te,$,Y);return{node:B,position:re,height:Y,startIndex:Z,endIndex:te}}getAncestorUnderPrevious(B,$=void 0){let Y=B,Z=this.getParentNode(Y);for(;Z;){if(Z===$)return Y;Y=Z,Z=this.getParentNode(Y)}if($===void 0)return Y}calculateStickyNodePosition(B,$,Y){let Z=this.view.getRelativeTop(B);if(Z===null&&this.view.firstVisibleIndex===B&&B+1me&&$<=me?me-Y:$}constrainStickyNodes(B){if(B.length===0)return[];const $=this.view.renderHeight*this.maxWidgetViewRatio,Y=B[B.length-1];if(B.length<=this.stickyScrollMaxItemCount&&Y.position+Y.height<=$)return B;const Z=this.stickyScrollDelegate.constrainStickyScrollNodes(B,this.stickyScrollMaxItemCount,$);if(!Z.length)return[];const te=Z[Z.length-1];if(Z.length>this.stickyScrollMaxItemCount||te.position+te.height>$)throw new Error("stickyScrollDelegate violates constraints");return Z}getParentNode(B){const $=this.model.getNodeLocation(B),Y=this.model.getParentNodeLocation($);return Y?this.model.getNode(Y):void 0}nodeIsUncollapsedParent(B){const $=this.model.getNodeLocation(B);return this.model.getListRenderCount($)>1}getNodeIndex(B){const $=this.model.getNodeLocation(B);return this.model.getListIndex($)}getNodeRange(B){const $=this.model.getNodeLocation(B),Y=this.model.getListIndex($);if(Y<0)throw new Error("Node not found in tree");const Z=this.model.getListRenderCount($),te=Y+Z-1;return{startIndex:Y,endIndex:te}}nodePositionTopBelowWidget(B){const $=[];let Y=this.getParentNode(B);for(;Y;)$.push(Y),Y=this.getParentNode(Y);let Z=0;for(let te=0;te<$.length&&te0,Y=!!B&&B.count>0;if(!$&&!Y||$&&Y&&this._previousState.equal(B))return;if($!==Y&&this.setVisible(Y),!Y){this._previousState=void 0,this._previousElements=[],this._previousStateDisposables.clear();return}const Z=B.stickyNodes[B.count-1];if(this._previousState&&B.animationStateChanged(this._previousState))this._previousElements[this._previousState.count-1].style.top=`${Z.position}px`;else{this._previousStateDisposables.clear();const te=Array(B.count);for(let re=B.count-1;re>=0;re--){const le=B.stickyNodes[re],{element:me,disposable:ve}=this.createElement(le,re,B.count);te[re]=me,this._rootDomNode.appendChild(me),this._previousStateDisposables.add(ve)}this.stickyScrollFocus.updateElements(te,B),this._previousElements=te}this._previousState=B,this._rootDomNode.style.height=`${Z.position+Z.height}px`}createElement(B,$,Y){const Z=B.startIndex,te=document.createElement("div");te.style.top=`${B.position}px`,this.tree.options.setRowHeight!==!1&&(te.style.height=`${B.height}px`),this.tree.options.setRowLineHeight!==!1&&(te.style.lineHeight=`${B.height}px`),te.classList.add("monaco-tree-sticky-row"),te.classList.add("monaco-list-row"),te.setAttribute("data-index",`${Z}`),te.setAttribute("data-parity",Z%2===0?"even":"odd"),te.setAttribute("id",this.view.getElementID(Z));const re=this.setAccessibilityAttributes(te,B.node.element,$,Y),le=this.treeDelegate.getTemplateId(B.node),me=this.treeRenderers.find(Ie=>Ie.templateId===le);if(!me)throw new Error(`No renderer found for template id ${le}`);let ve=B.node;ve===this.tree.getNode(this.tree.getNodeLocation(B.node))&&(ve=new Proxy(B.node,{}));const Le=me.renderTemplate(te);me.renderElement(ve,B.startIndex,Le,B.height);const Ee=(0,u.toDisposable)(()=>{re.dispose(),me.disposeElement(ve,B.startIndex,Le,B.height),me.disposeTemplate(Le),te.remove()});return{element:te,disposable:Ee}}setAccessibilityAttributes(B,$,Y,Z){if(!this.accessibilityProvider)return u.Disposable.None;this.accessibilityProvider.getSetSize&&B.setAttribute("aria-setsize",String(this.accessibilityProvider.getSetSize($,Y,Z))),this.accessibilityProvider.getPosInSet&&B.setAttribute("aria-posinset",String(this.accessibilityProvider.getPosInSet($,Y))),this.accessibilityProvider.getRole&&B.setAttribute("role",this.accessibilityProvider.getRole($)??"treeitem");const te=this.accessibilityProvider.getAriaLabel($),re=te&&typeof te!="string"?te:(0,w.constObservable)(te),le=(0,w.autorun)(ve=>{const Le=ve.readObservable(re);Le?B.setAttribute("aria-label",Le):B.removeAttribute("aria-label")});typeof te=="string"||te&&B.setAttribute("aria-label",te.get());const me=this.accessibilityProvider.getAriaLevel&&this.accessibilityProvider.getAriaLevel($);return typeof me=="number"&&B.setAttribute("aria-level",`${me}`),B.setAttribute("aria-selected",String(!1)),le}setVisible(B){this._rootDomNode.classList.toggle("empty",!B),B||this.stickyScrollFocus.updateElements([],void 0)}domFocus(){this.stickyScrollFocus.domFocus()}focusedLast(){return this.stickyScrollFocus.focusedLast()}dispose(){this.stickyScrollFocus.dispose(),this._previousStateDisposables.dispose(),this._rootDomNode.remove()}}class ie extends u.Disposable{get domHasFocus(){return this._domHasFocus}set domHasFocus(B){B!==this._domHasFocus&&(this._onDidChangeHasFocus.fire(B),this._domHasFocus=B)}constructor(B,$){super(),this.container=B,this.view=$,this.focusedIndex=-1,this.elements=[],this._onDidChangeHasFocus=new a.Emitter,this.onDidChangeHasFocus=this._onDidChangeHasFocus.event,this._onContextMenu=new a.Emitter,this.onContextMenu=this._onContextMenu.event,this._domHasFocus=!1,this._register((0,d.addDisposableListener)(this.container,"focus",()=>this.onFocus())),this._register((0,d.addDisposableListener)(this.container,"blur",()=>this.onBlur())),this._register(this.view.onDidFocus(()=>this.toggleStickyScrollFocused(!1))),this._register(this.view.onKeyDown(Y=>this.onKeyDown(Y))),this._register(this.view.onMouseDown(Y=>this.onMouseDown(Y))),this._register(this.view.onContextMenu(Y=>this.handleContextMenu(Y)))}handleContextMenu(B){const $=B.browserEvent.target;if(!(0,b.isStickyScrollContainer)($)&&!(0,b.isStickyScrollElement)($)){this.focusedLast()&&this.view.domFocus();return}if(!(0,d.isKeyboardEvent)(B.browserEvent)){if(!this.state)throw new Error("Context menu should not be triggered when state is undefined");const re=this.state.stickyNodes.findIndex(le=>le.node.element===B.element?.element);if(re===-1)throw new Error("Context menu should not be triggered when element is not in sticky scroll widget");this.container.focus(),this.setFocus(re);return}if(!this.state||this.focusedIndex<0)throw new Error("Context menu key should not be triggered when focus is not in sticky scroll widget");const Z=this.state.stickyNodes[this.focusedIndex].node.element,te=this.elements[this.focusedIndex];this._onContextMenu.fire({element:Z,anchor:te,browserEvent:B.browserEvent,isStickyScroll:!0})}onKeyDown(B){if(this.domHasFocus&&this.state){if(B.key==="ArrowUp")this.setFocusedElement(Math.max(0,this.focusedIndex-1)),B.preventDefault(),B.stopPropagation();else if(B.key==="ArrowDown"||B.key==="ArrowRight"){if(this.focusedIndex>=this.state.count-1){const $=this.state.stickyNodes[this.state.count-1].startIndex+1;this.view.domFocus(),this.view.setFocus([$]),this.scrollNodeUnderWidget($,this.state)}else this.setFocusedElement(this.focusedIndex+1);B.preventDefault(),B.stopPropagation()}}}onMouseDown(B){const $=B.browserEvent.target;!(0,b.isStickyScrollContainer)($)&&!(0,b.isStickyScrollElement)($)||(B.browserEvent.preventDefault(),B.browserEvent.stopPropagation())}updateElements(B,$){if($&&$.count===0)throw new Error("Sticky scroll state must be undefined when there are no sticky nodes");if($&&$.count!==B.length)throw new Error("Sticky scroll focus received illigel state");const Y=this.focusedIndex;if(this.removeFocus(),this.elements=B,this.state=$,$){const Z=(0,C.clamp)(Y,0,$.count-1);this.setFocus(Z)}else this.domHasFocus&&this.view.domFocus();this.container.tabIndex=$?0:-1}setFocusedElement(B){const $=this.state;if(!$)throw new Error("Cannot set focus when state is undefined");if(this.setFocus(B),!(B<$.count-1)&&$.lastNodePartiallyVisible()){const Y=$.stickyNodes[B];this.scrollNodeUnderWidget(Y.endIndex+1,$)}}scrollNodeUnderWidget(B,$){const Y=$.stickyNodes[$.count-1],Z=$.count>1?$.stickyNodes[$.count-2]:void 0,te=this.view.getElementTop(B),re=Z?Z.position+Z.height+Y.height:Y.height;this.view.scrollTop=te-re}domFocus(){if(!this.state)throw new Error("Cannot focus when state is undefined");this.container.focus()}focusedLast(){return this.state?this.view.getHTMLElement().classList.contains("sticky-scroll-focused"):!1}removeFocus(){this.focusedIndex!==-1&&(this.toggleElementFocus(this.elements[this.focusedIndex],!1),this.focusedIndex=-1)}setFocus(B){if(0>B)throw new Error("addFocus() can not remove focus");if(!this.state&&B>=0)throw new Error("Cannot set focus index when state is undefined");if(this.state&&B>=this.state.count)throw new Error("Cannot set focus index to an index that does not exist");const $=this.focusedIndex;$>=0&&this.toggleElementFocus(this.elements[$],!1),B>=0&&this.toggleElementFocus(this.elements[B],!0),this.focusedIndex=B}toggleElementFocus(B,$){this.toggleElementActiveFocus(B,$&&this.domHasFocus),this.toggleElementPassiveFocus(B,$)}toggleCurrentElementActiveFocus(B){this.focusedIndex!==-1&&this.toggleElementActiveFocus(this.elements[this.focusedIndex],B)}toggleElementActiveFocus(B,$){B.classList.toggle("focused",$)}toggleElementPassiveFocus(B,$){B.classList.toggle("passive-focused",$)}toggleStickyScrollFocused(B){this.view.getHTMLElement().classList.toggle("sticky-scroll-focused",B)}onFocus(){if(!this.state||this.elements.length===0)throw new Error("Cannot focus when state is undefined or elements are empty");this.domHasFocus=!0,this.toggleStickyScrollFocused(!0),this.toggleCurrentElementActiveFocus(!0),this.focusedIndex===-1&&this.setFocus(0)}onBlur(){this.domHasFocus=!1,this.toggleCurrentElementActiveFocus(!1)}dispose(){this.toggleStickyScrollFocused(!1),this._onDidChangeHasFocus.fire(!1),super.dispose()}}function ue(X){let B=o.TreeMouseEventTarget.Unknown;return(0,d.hasParentWithClass)(X.browserEvent.target,"monaco-tl-twistie","monaco-tl-row")?B=o.TreeMouseEventTarget.Twistie:(0,d.hasParentWithClass)(X.browserEvent.target,"monaco-tl-contents","monaco-tl-row")?B=o.TreeMouseEventTarget.Element:(0,d.hasParentWithClass)(X.browserEvent.target,"monaco-tree-type-filter","monaco-list")&&(B=o.TreeMouseEventTarget.Filter),{browserEvent:X.browserEvent,element:X.element?X.element.element:null,target:B}}function he(X){const B=(0,b.isStickyScrollContainer)(X.browserEvent.target);return{element:X.element?X.element.element:null,browserEvent:X.browserEvent,anchor:X.anchor,isStickyScroll:B}}function pe(X,B){B(X),X.children.forEach($=>pe($,B))}class ae{get nodeSet(){return this._nodeSet||(this._nodeSet=this.createNodeSet()),this._nodeSet}constructor(B,$){this.getFirstViewElementWithTrait=B,this.identityProvider=$,this.nodes=[],this._onDidChange=new a.Emitter,this.onDidChange=this._onDidChange.event}set(B,$){!$?.__forceEvent&&(0,i.equals)(this.nodes,B)||this._set(B,!1,$)}_set(B,$,Y){if(this.nodes=[...B],this.elements=void 0,this._nodeSet=void 0,!$){const Z=this;this._onDidChange.fire({get elements(){return Z.get()},browserEvent:Y})}}get(){return this.elements||(this.elements=this.nodes.map(B=>B.element)),[...this.elements]}getNodes(){return this.nodes}has(B){return this.nodeSet.has(B)}onDidModelSplice({insertedNodes:B,deletedNodes:$}){if(!this.identityProvider){const me=this.createNodeSet(),ve=Le=>me.delete(Le);$.forEach(Le=>pe(Le,ve)),this.set([...me.values()]);return}const Y=new Set,Z=me=>Y.add(this.identityProvider.getId(me.element).toString());$.forEach(me=>pe(me,Z));const te=new Map,re=me=>te.set(this.identityProvider.getId(me.element).toString(),me);B.forEach(me=>pe(me,re));const le=[];for(const me of this.nodes){const ve=this.identityProvider.getId(me.element).toString();if(!Y.has(ve))le.push(me);else{const Ee=te.get(ve);Ee&&Ee.visible&&le.push(Ee)}}if(this.nodes.length>0&&le.length===0){const me=this.getFirstViewElementWithTrait();me&&le.push(me)}this._set(le,!0)}createNodeSet(){const B=new Set;for(const $ of this.nodes)B.add($);return B}}class ee extends b.MouseController{constructor(B,$,Y){super(B),this.tree=$,this.stickyScrollProvider=Y}onViewPointer(B){if((0,b.isButton)(B.browserEvent.target)||(0,b.isInputElement)(B.browserEvent.target)||(0,b.isMonacoEditor)(B.browserEvent.target)||B.browserEvent.isHandledByList)return;const $=B.element;if(!$)return super.onViewPointer(B);if(this.isSelectionRangeChangeEvent(B)||this.isSelectionSingleChangeEvent(B))return super.onViewPointer(B);const Y=B.browserEvent.target,Z=Y.classList.contains("monaco-tl-twistie")||Y.classList.contains("monaco-icon-label")&&Y.classList.contains("folder-icon")&&B.browserEvent.offsetX<16,te=(0,b.isStickyScrollElement)(B.browserEvent.target);let re=!1;if(te?re=!0:typeof this.tree.expandOnlyOnTwistieClick=="function"?re=this.tree.expandOnlyOnTwistieClick($.element):re=!!this.tree.expandOnlyOnTwistieClick,te)this.handleStickyScrollMouseEvent(B,$);else{if(re&&!Z&&B.browserEvent.detail!==2)return super.onViewPointer(B);if(!this.tree.expandOnDoubleClick&&B.browserEvent.detail===2)return super.onViewPointer(B)}if($.collapsible&&(!te||Z)){const le=this.tree.getNodeLocation($),me=B.browserEvent.altKey;if(this.tree.setFocus([le]),this.tree.toggleCollapsed(le,me),Z){B.browserEvent.isHandledByList=!0;return}}te||super.onViewPointer(B)}handleStickyScrollMouseEvent(B,$){if((0,b.isMonacoCustomToggle)(B.browserEvent.target)||(0,b.isActionItem)(B.browserEvent.target))return;const Y=this.stickyScrollProvider();if(!Y)throw new Error("Sticky scroll controller not found");const Z=this.list.indexOf($),te=this.list.getElementTop(Z),re=Y.nodePositionTopBelowWidget($);this.tree.scrollTop=te-re,this.list.domFocus(),this.list.setFocus([Z]),this.list.setSelection([Z])}onDoubleClick(B){B.browserEvent.target.classList.contains("monaco-tl-twistie")||!this.tree.expandOnDoubleClick||B.browserEvent.isHandledByList||super.onDoubleClick(B)}onMouseDown(B){const $=B.browserEvent.target;if(!(0,b.isStickyScrollContainer)($)&&!(0,b.isStickyScrollElement)($)){super.onMouseDown(B);return}}onContextMenu(B){const $=B.browserEvent.target;if(!(0,b.isStickyScrollContainer)($)&&!(0,b.isStickyScrollElement)($)){super.onContextMenu(B);return}}}class de extends b.List{constructor(B,$,Y,Z,te,re,le,me){super(B,$,Y,Z,me),this.focusTrait=te,this.selectionTrait=re,this.anchorTrait=le}createMouseController(B){return new ee(this,B.tree,B.stickyScrollProvider)}splice(B,$,Y=[]){if(super.splice(B,$,Y),Y.length===0)return;const Z=[],te=[];let re;Y.forEach((le,me)=>{this.focusTrait.has(le)&&Z.push(B+me),this.selectionTrait.has(le)&&te.push(B+me),this.anchorTrait.has(le)&&(re=B+me)}),Z.length>0&&super.setFocus((0,i.distinct)([...super.getFocus(),...Z])),te.length>0&&super.setSelection((0,i.distinct)([...super.getSelection(),...te])),typeof re=="number"&&super.setAnchor(re)}setFocus(B,$,Y=!1){super.setFocus(B,$),Y||this.focusTrait.set(B.map(Z=>this.element(Z)),$)}setSelection(B,$,Y=!1){super.setSelection(B,$),Y||this.selectionTrait.set(B.map(Z=>this.element(Z)),$)}setAnchor(B,$=!1){super.setAnchor(B),$||(typeof B>"u"?this.anchorTrait.set([]):this.anchorTrait.set([this.element(B)]))}}class ge{get onDidScroll(){return this.view.onDidScroll}get onDidChangeFocus(){return this.eventBufferer.wrapEvent(this.focus.onDidChange)}get onDidChangeSelection(){return this.eventBufferer.wrapEvent(this.selection.onDidChange)}get onMouseDblClick(){return a.Event.filter(a.Event.map(this.view.onMouseDblClick,ue),B=>B.target!==o.TreeMouseEventTarget.Filter)}get onMouseOver(){return a.Event.map(this.view.onMouseOver,ue)}get onMouseOut(){return a.Event.map(this.view.onMouseOut,ue)}get onContextMenu(){return a.Event.any(a.Event.filter(a.Event.map(this.view.onContextMenu,he),B=>!B.isStickyScroll),this.stickyScrollController?.onContextMenu??a.Event.None)}get onPointer(){return a.Event.map(this.view.onPointer,ue)}get onKeyDown(){return this.view.onKeyDown}get onDidFocus(){return this.view.onDidFocus}get onDidChangeModel(){return a.Event.signal(this.model.onDidSplice)}get onDidChangeCollapseState(){return this.model.onDidChangeCollapseState}get findMode(){return this.findController?.mode??q.Highlight}set findMode(B){this.findController&&(this.findController.mode=B)}get findMatchType(){return this.findController?.matchType??H.Fuzzy}set findMatchType(B){this.findController&&(this.findController.matchType=B)}get expandOnDoubleClick(){return typeof this._options.expandOnDoubleClick>"u"?!0:this._options.expandOnDoubleClick}get expandOnlyOnTwistieClick(){return typeof this._options.expandOnlyOnTwistieClick>"u"?!0:this._options.expandOnlyOnTwistieClick}get onDidDispose(){return this.view.onDidDispose}constructor(B,$,Y,Z,te={}){this._user=B,this._options=te,this.eventBufferer=new a.EventBufferer,this.onDidChangeFindOpenState=a.Event.None,this.onDidChangeStickyScrollFocused=a.Event.None,this.disposables=new u.DisposableStore,this._onWillRefilter=new a.Emitter,this.onWillRefilter=this._onWillRefilter.event,this._onDidUpdateOptions=new a.Emitter,this.treeDelegate=new A(Y);const re=new a.Relay,le=new a.Relay,me=this.disposables.add(new N(le.event)),ve=new l.SetMap;this.renderers=Z.map(Me=>new O(Me,()=>this.model,re.event,me,ve,te));for(const Me of this.renderers)this.disposables.add(Me);let Le;te.keyboardNavigationLabelProvider&&(Le=new F(this,te.keyboardNavigationLabelProvider,te.filter),te={...te,filter:Le},this.disposables.add(Le)),this.focus=new ae(()=>this.view.getFocusedElements()[0],te.identityProvider),this.selection=new ae(()=>this.view.getSelectedElements()[0],te.identityProvider),this.anchor=new ae(()=>this.view.getAnchorElement(),te.identityProvider),this.view=new de(B,$,this.treeDelegate,this.renderers,this.focus,this.selection,this.anchor,{...M(()=>this.model,te),tree:this,stickyScrollProvider:()=>this.stickyScrollController}),this.model=this.createModel(B,this.view,te),re.input=this.model.onDidChangeCollapseState;const Ee=a.Event.forEach(this.model.onDidSplice,Me=>{this.eventBufferer.bufferEvents(()=>{this.focus.onDidModelSplice(Me),this.selection.onDidModelSplice(Me)})},this.disposables);Ee(()=>null,null,this.disposables);const Ie=this.disposables.add(new a.Emitter),Ae=this.disposables.add(new s.Delayer(0));if(this.disposables.add(a.Event.any(Ee,this.focus.onDidChange,this.selection.onDidChange)(()=>{Ae.trigger(()=>{const Me=new Set;for(const Ne of this.focus.getNodes())Me.add(Ne);for(const Ne of this.selection.getNodes())Me.add(Ne);Ie.fire([...Me.values()])})})),le.input=Ie.event,te.keyboardSupport!==!1){const Me=a.Event.chain(this.view.onKeyDown,Ne=>Ne.filter(ze=>!(0,b.isInputElement)(ze.target)).map(ze=>new I.StandardKeyboardEvent(ze)));a.Event.chain(Me,Ne=>Ne.filter(ze=>ze.keyCode===15))(this.onLeftArrow,this,this.disposables),a.Event.chain(Me,Ne=>Ne.filter(ze=>ze.keyCode===17))(this.onRightArrow,this,this.disposables),a.Event.chain(Me,Ne=>Ne.filter(ze=>ze.keyCode===10))(this.onSpace,this,this.disposables)}if((te.findWidgetEnabled??!0)&&te.keyboardNavigationLabelProvider&&te.contextViewProvider){const Me=this.options.findWidgetStyles?{styles:this.options.findWidgetStyles}:void 0;this.findController=new U(this,this.model,this.view,Le,te.contextViewProvider,Me),this.focusNavigationFilter=Ne=>this.findController.shouldAllowFocus(Ne),this.onDidChangeFindOpenState=this.findController.onDidChangeOpenState,this.disposables.add(this.findController),this.onDidChangeFindMode=this.findController.onDidChangeMode,this.onDidChangeFindMatchType=this.findController.onDidChangeMatchType}else this.onDidChangeFindMode=a.Event.None,this.onDidChangeFindMatchType=a.Event.None;te.enableStickyScroll&&(this.stickyScrollController=new R(this,this.model,this.view,this.renderers,this.treeDelegate,te),this.onDidChangeStickyScrollFocused=this.stickyScrollController.onDidChangeHasFocus),this.styleElement=(0,d.createStyleSheet)(this.view.getHTMLElement()),this.getHTMLElement().classList.toggle("always",this._options.renderIndentGuides===P.Always)}updateOptions(B={}){this._options={...this._options,...B};for(const $ of this.renderers)$.updateOptions(B);this.view.updateOptions(this._options),this.findController?.updateOptions(B),this.updateStickyScroll(B),this._onDidUpdateOptions.fire(this._options),this.getHTMLElement().classList.toggle("always",this._options.renderIndentGuides===P.Always)}get options(){return this._options}updateStickyScroll(B){!this.stickyScrollController&&this._options.enableStickyScroll?(this.stickyScrollController=new R(this,this.model,this.view,this.renderers,this.treeDelegate,this._options),this.onDidChangeStickyScrollFocused=this.stickyScrollController.onDidChangeHasFocus):this.stickyScrollController&&!this._options.enableStickyScroll&&(this.onDidChangeStickyScrollFocused=a.Event.None,this.stickyScrollController.dispose(),this.stickyScrollController=void 0),this.stickyScrollController?.updateOptions(B)}getHTMLElement(){return this.view.getHTMLElement()}get scrollTop(){return this.view.scrollTop}set scrollTop(B){this.view.scrollTop=B}get scrollHeight(){return this.view.scrollHeight}get renderHeight(){return this.view.renderHeight}get ariaLabel(){return this.view.ariaLabel}set ariaLabel(B){this.view.ariaLabel=B}domFocus(){this.stickyScrollController?.focusedLast()?this.stickyScrollController.domFocus():this.view.domFocus()}layout(B,$){this.view.layout(B,$),(0,f.isNumber)($)&&this.findController?.layout($)}style(B){const $=`.${this.view.domId}`,Y=[];B.treeIndentGuidesStroke&&(Y.push(`.monaco-list${$}:hover .monaco-tl-indent > .indent-guide, .monaco-list${$}.always .monaco-tl-indent > .indent-guide { border-color: ${B.treeInactiveIndentGuidesStroke}; }`),Y.push(`.monaco-list${$} .monaco-tl-indent > .indent-guide.active { border-color: ${B.treeIndentGuidesStroke}; }`));const Z=B.treeStickyScrollBackground??B.listBackground;Z&&(Y.push(`.monaco-list${$} .monaco-scrollable-element .monaco-tree-sticky-container { background-color: ${Z}; }`),Y.push(`.monaco-list${$} .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-row { background-color: ${Z}; }`)),B.treeStickyScrollBorder&&Y.push(`.monaco-list${$} .monaco-scrollable-element .monaco-tree-sticky-container { border-bottom: 1px solid ${B.treeStickyScrollBorder}; }`),B.treeStickyScrollShadow&&Y.push(`.monaco-list${$} .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-container-shadow { box-shadow: ${B.treeStickyScrollShadow} 0 6px 6px -6px inset; height: 3px; }`),B.listFocusForeground&&(Y.push(`.monaco-list${$}.sticky-scroll-focused .monaco-scrollable-element .monaco-tree-sticky-container:focus .monaco-list-row.focused { color: ${B.listFocusForeground}; }`),Y.push(`.monaco-list${$}:not(.sticky-scroll-focused) .monaco-scrollable-element .monaco-tree-sticky-container .monaco-list-row.focused { color: inherit; }`));const te=(0,d.asCssValueWithDefault)(B.listFocusAndSelectionOutline,(0,d.asCssValueWithDefault)(B.listSelectionOutline,B.listFocusOutline??""));te&&(Y.push(`.monaco-list${$}.sticky-scroll-focused .monaco-scrollable-element .monaco-tree-sticky-container:focus .monaco-list-row.focused.selected { outline: 1px solid ${te}; outline-offset: -1px;}`),Y.push(`.monaco-list${$}:not(.sticky-scroll-focused) .monaco-scrollable-element .monaco-tree-sticky-container .monaco-list-row.focused.selected { outline: inherit;}`)),B.listFocusOutline&&(Y.push(`.monaco-list${$}.sticky-scroll-focused .monaco-scrollable-element .monaco-tree-sticky-container:focus .monaco-list-row.focused { outline: 1px solid ${B.listFocusOutline}; outline-offset: -1px; }`),Y.push(`.monaco-list${$}:not(.sticky-scroll-focused) .monaco-scrollable-element .monaco-tree-sticky-container .monaco-list-row.focused { outline: inherit; }`),Y.push(`.monaco-workbench.context-menu-visible .monaco-list${$}.last-focused.sticky-scroll-focused .monaco-scrollable-element .monaco-tree-sticky-container .monaco-list-row.passive-focused { outline: 1px solid ${B.listFocusOutline}; outline-offset: -1px; }`),Y.push(`.monaco-workbench.context-menu-visible .monaco-list${$}.last-focused.sticky-scroll-focused .monaco-list-rows .monaco-list-row.focused { outline: inherit; }`),Y.push(`.monaco-workbench.context-menu-visible .monaco-list${$}.last-focused:not(.sticky-scroll-focused) .monaco-tree-sticky-container .monaco-list-rows .monaco-list-row.focused { outline: inherit; }`)),this.styleElement.textContent=Y.join(` +`),this.view.style(B)}getParentElement(B){const $=this.model.getParentNodeLocation(B);return this.model.getNode($).element}getFirstElementChild(B){return this.model.getFirstElementChild(B)}getNode(B){return this.model.getNode(B)}getNodeLocation(B){return this.model.getNodeLocation(B)}collapse(B,$=!1){return this.model.setCollapsed(B,!0,$)}expand(B,$=!1){return this.model.setCollapsed(B,!1,$)}toggleCollapsed(B,$=!1){return this.model.setCollapsed(B,void 0,$)}isCollapsible(B){return this.model.isCollapsible(B)}setCollapsible(B,$){return this.model.setCollapsible(B,$)}isCollapsed(B){return this.model.isCollapsed(B)}refilter(){this._onWillRefilter.fire(void 0),this.model.refilter()}setSelection(B,$){this.eventBufferer.bufferEvents(()=>{const Y=B.map(te=>this.model.getNode(te));this.selection.set(Y,$);const Z=B.map(te=>this.model.getListIndex(te)).filter(te=>te>-1);this.view.setSelection(Z,$,!0)})}getSelection(){return this.selection.get()}setFocus(B,$){this.eventBufferer.bufferEvents(()=>{const Y=B.map(te=>this.model.getNode(te));this.focus.set(Y,$);const Z=B.map(te=>this.model.getListIndex(te)).filter(te=>te>-1);this.view.setFocus(Z,$,!0)})}focusNext(B=1,$=!1,Y,Z=(0,d.isKeyboardEvent)(Y)&&Y.altKey?void 0:this.focusNavigationFilter){this.view.focusNext(B,$,Y,Z)}focusPrevious(B=1,$=!1,Y,Z=(0,d.isKeyboardEvent)(Y)&&Y.altKey?void 0:this.focusNavigationFilter){this.view.focusPrevious(B,$,Y,Z)}focusNextPage(B,$=(0,d.isKeyboardEvent)(B)&&B.altKey?void 0:this.focusNavigationFilter){return this.view.focusNextPage(B,$)}focusPreviousPage(B,$=(0,d.isKeyboardEvent)(B)&&B.altKey?void 0:this.focusNavigationFilter){return this.view.focusPreviousPage(B,$,()=>this.stickyScrollController?.height??0)}focusLast(B,$=(0,d.isKeyboardEvent)(B)&&B.altKey?void 0:this.focusNavigationFilter){this.view.focusLast(B,$)}focusFirst(B,$=(0,d.isKeyboardEvent)(B)&&B.altKey?void 0:this.focusNavigationFilter){this.view.focusFirst(B,$)}getFocus(){return this.focus.get()}reveal(B,$){this.model.expandTo(B);const Y=this.model.getListIndex(B);if(Y!==-1)if(!this.stickyScrollController)this.view.reveal(Y,$);else{const Z=this.stickyScrollController.nodePositionTopBelowWidget(this.getNode(B));this.view.reveal(Y,$,Z)}}onLeftArrow(B){B.preventDefault(),B.stopPropagation();const $=this.view.getFocusedElements();if($.length===0)return;const Y=$[0],Z=this.model.getNodeLocation(Y);if(!this.model.setCollapsed(Z,!0)){const re=this.model.getParentNodeLocation(Z);if(!re)return;const le=this.model.getListIndex(re);this.view.reveal(le),this.view.setFocus([le])}}onRightArrow(B){B.preventDefault(),B.stopPropagation();const $=this.view.getFocusedElements();if($.length===0)return;const Y=$[0],Z=this.model.getNodeLocation(Y);if(!this.model.setCollapsed(Z,!1)){if(!Y.children.some(me=>me.visible))return;const[re]=this.view.getFocus(),le=re+1;this.view.reveal(le),this.view.setFocus([le])}}onSpace(B){B.preventDefault(),B.stopPropagation();const $=this.view.getFocusedElements();if($.length===0)return;const Y=$[0],Z=this.model.getNodeLocation(Y),te=B.browserEvent.altKey;this.model.setCollapsed(Z,void 0,te)}dispose(){(0,u.dispose)(this.disposables),this.stickyScrollController?.dispose(),this.view.dispose()}}e.AbstractTree=ge}),define(ne[644],se([1,0,176,250]),function(oe,e,d,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DataTree=void 0;class I extends d.AbstractTree{constructor(y,m,_,b,p,n={}){super(y,m,_,b,n),this.user=y,this.dataSource=p,this.identityProvider=n.identityProvider}createModel(y,m,_){return new k.ObjectTreeModel(y,m,_)}}e.DataTree=I}),define(ne[360],se([1,0,176,627,250,126,53]),function(oe,e,d,k,I,E,y){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CompressibleObjectTree=e.ObjectTree=void 0;class m extends d.AbstractTree{get onDidChangeCollapseState(){return this.model.onDidChangeCollapseState}constructor(t,i,s,g,c={}){super(t,i,s,g,c),this.user=t}setChildren(t,i=y.Iterable.empty(),s){this.model.setChildren(t,i,s)}rerender(t){if(t===void 0){this.view.rerender();return}this.model.rerender(t)}hasElement(t){return this.model.has(t)}createModel(t,i,s){return new I.ObjectTreeModel(t,i,s)}}e.ObjectTree=m;class _{get compressedTreeNodeProvider(){return this._compressedTreeNodeProvider()}constructor(t,i,s){this._compressedTreeNodeProvider=t,this.stickyScrollDelegate=i,this.renderer=s,this.templateId=s.templateId,s.onDidChangeTwistieState&&(this.onDidChangeTwistieState=s.onDidChangeTwistieState)}renderTemplate(t){return{compressedTreeNode:void 0,data:this.renderer.renderTemplate(t)}}renderElement(t,i,s,g){let c=this.stickyScrollDelegate.getCompressedNode(t);c||(c=this.compressedTreeNodeProvider.getCompressedTreeNode(t.element)),c.element.elements.length===1?(s.compressedTreeNode=void 0,this.renderer.renderElement(t,i,s.data,g)):(s.compressedTreeNode=c,this.renderer.renderCompressedElements(c,i,s.data,g))}disposeElement(t,i,s,g){s.compressedTreeNode?this.renderer.disposeCompressedElements?.(s.compressedTreeNode,i,s.data,g):this.renderer.disposeElement?.(t,i,s.data,g)}disposeTemplate(t){this.renderer.disposeTemplate(t.data)}renderTwistie(t,i){return this.renderer.renderTwistie?this.renderer.renderTwistie(t,i):!1}}ke([E.memoize],_.prototype,"compressedTreeNodeProvider",null);class b{constructor(t){this.modelProvider=t,this.compressedStickyNodes=new Map}getCompressedNode(t){return this.compressedStickyNodes.get(t)}constrainStickyScrollNodes(t,i,s){if(this.compressedStickyNodes.clear(),t.length===0)return[];for(let g=0;gs||g>=i-1&&ithis,a=new b(()=>this.model),r=g.map(u=>new _(l,a,u));super(t,i,s,r,{...p(l,c),stickyScrollDelegate:a})}setChildren(t,i=y.Iterable.empty(),s){this.model.setChildren(t,i,s)}createModel(t,i,s){return new k.CompressibleObjectTreeModel(t,i,s)}updateOptions(t={}){super.updateOptions(t),typeof t.compressionEnabled<"u"&&this.model.setCompressionEnabled(t.compressionEnabled)}getCompressedTreeNode(t=null){return this.model.getCompressedTreeNode(t)}}e.CompressibleObjectTree=n}),define(ne[645],se([1,0,257,176,249,360,159,14,26,30,8,6,53,2,19]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CompressibleAsyncDataTree=e.AsyncDataTree=void 0;function s(P){return{...P,children:[],refreshPromise:void 0,stale:!0,slow:!1,forceExpanded:!1}}function g(P,N){return N.parent?N.parent===P?!0:g(P,N.parent):!1}function c(P,N){return P===N||g(P,N)||g(N,P)}class l{get element(){return this.node.element.element}get children(){return this.node.children.map(N=>new l(N))}get depth(){return this.node.depth}get visibleChildrenCount(){return this.node.visibleChildrenCount}get visibleChildIndex(){return this.node.visibleChildIndex}get collapsible(){return this.node.collapsible}get collapsed(){return this.node.collapsed}get visible(){return this.node.visible}get filterData(){return this.node.filterData}constructor(N){this.node=N}}class a{constructor(N,O,F){this.renderer=N,this.nodeMapper=O,this.onDidChangeTwistieState=F,this.renderedNodes=new Map,this.templateId=N.templateId}renderTemplate(N){return{templateData:this.renderer.renderTemplate(N)}}renderElement(N,O,F,x){this.renderer.renderElement(this.nodeMapper.map(N),O,F.templateData,x)}renderTwistie(N,O){return N.slow?(O.classList.add(...b.ThemeIcon.asClassNameArray(_.Codicon.treeItemLoading)),!0):(O.classList.remove(...b.ThemeIcon.asClassNameArray(_.Codicon.treeItemLoading)),!1)}disposeElement(N,O,F,x){this.renderer.disposeElement?.(this.nodeMapper.map(N),O,F.templateData,x)}disposeTemplate(N){this.renderer.disposeTemplate(N.templateData)}dispose(){this.renderedNodes.clear()}}function r(P){return{browserEvent:P.browserEvent,elements:P.elements.map(N=>N.element)}}function u(P){return{browserEvent:P.browserEvent,element:P.element&&P.element.element,target:P.target}}class C extends d.ElementsDragAndDropData{constructor(N){super(N.elements.map(O=>O.element)),this.data=N}}function f(P){return P instanceof d.ElementsDragAndDropData?new C(P):P}class h{constructor(N){this.dnd=N}getDragURI(N){return this.dnd.getDragURI(N.element)}getDragLabel(N,O){if(this.dnd.getDragLabel)return this.dnd.getDragLabel(N.map(F=>F.element),O)}onDragStart(N,O){this.dnd.onDragStart?.(f(N),O)}onDragOver(N,O,F,x,W,V=!0){return this.dnd.onDragOver(f(N),O&&O.element,F,x,W)}drop(N,O,F,x,W){this.dnd.drop(f(N),O&&O.element,F,x,W)}onDragEnd(N){this.dnd.onDragEnd?.(N)}dispose(){this.dnd.dispose()}}function v(P){return P&&{...P,collapseByDefault:!0,identityProvider:P.identityProvider&&{getId(N){return P.identityProvider.getId(N.element)}},dnd:P.dnd&&new h(P.dnd),multipleSelectionController:P.multipleSelectionController&&{isSelectionSingleChangeEvent(N){return P.multipleSelectionController.isSelectionSingleChangeEvent({...N,element:N.element})},isSelectionRangeChangeEvent(N){return P.multipleSelectionController.isSelectionRangeChangeEvent({...N,element:N.element})}},accessibilityProvider:P.accessibilityProvider&&{...P.accessibilityProvider,getPosInSet:void 0,getSetSize:void 0,getRole:P.accessibilityProvider.getRole?N=>P.accessibilityProvider.getRole(N.element):()=>"treeitem",isChecked:P.accessibilityProvider.isChecked?N=>!!P.accessibilityProvider?.isChecked(N.element):void 0,getAriaLabel(N){return P.accessibilityProvider.getAriaLabel(N.element)},getWidgetAriaLabel(){return P.accessibilityProvider.getWidgetAriaLabel()},getWidgetRole:P.accessibilityProvider.getWidgetRole?()=>P.accessibilityProvider.getWidgetRole():()=>"tree",getAriaLevel:P.accessibilityProvider.getAriaLevel&&(N=>P.accessibilityProvider.getAriaLevel(N.element)),getActiveDescendantId:P.accessibilityProvider.getActiveDescendantId&&(N=>P.accessibilityProvider.getActiveDescendantId(N.element))},filter:P.filter&&{filter(N,O){return P.filter.filter(N.element,O)}},keyboardNavigationLabelProvider:P.keyboardNavigationLabelProvider&&{...P.keyboardNavigationLabelProvider,getKeyboardNavigationLabel(N){return P.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(N.element)}},sorter:void 0,expandOnlyOnTwistieClick:typeof P.expandOnlyOnTwistieClick>"u"?void 0:typeof P.expandOnlyOnTwistieClick!="function"?P.expandOnlyOnTwistieClick:N=>P.expandOnlyOnTwistieClick(N.element),defaultFindVisibility:N=>N.hasChildren&&N.stale?1:typeof P.defaultFindVisibility=="number"?P.defaultFindVisibility:typeof P.defaultFindVisibility>"u"?2:P.defaultFindVisibility(N.element)}}function w(P,N){N(P),P.children.forEach(O=>w(O,N))}class S{get onDidScroll(){return this.tree.onDidScroll}get onDidChangeFocus(){return n.Event.map(this.tree.onDidChangeFocus,r)}get onDidChangeSelection(){return n.Event.map(this.tree.onDidChangeSelection,r)}get onMouseDblClick(){return n.Event.map(this.tree.onMouseDblClick,u)}get onPointer(){return n.Event.map(this.tree.onPointer,u)}get onDidFocus(){return this.tree.onDidFocus}get onDidChangeModel(){return this.tree.onDidChangeModel}get onDidChangeCollapseState(){return this.tree.onDidChangeCollapseState}get onDidChangeFindOpenState(){return this.tree.onDidChangeFindOpenState}get onDidChangeStickyScrollFocused(){return this.tree.onDidChangeStickyScrollFocused}get onDidDispose(){return this.tree.onDidDispose}constructor(N,O,F,x,W,V={}){this.user=N,this.dataSource=W,this.nodes=new Map,this.subTreeRefreshPromises=new Map,this.refreshPromises=new Map,this._onDidRender=new n.Emitter,this._onDidChangeNodeSlowState=new n.Emitter,this.nodeMapper=new y.WeakMapper(q=>new l(q)),this.disposables=new t.DisposableStore,this.identityProvider=V.identityProvider,this.autoExpandSingleChildren=typeof V.autoExpandSingleChildren>"u"?!1:V.autoExpandSingleChildren,this.sorter=V.sorter,this.getDefaultCollapseState=q=>V.collapseByDefault?V.collapseByDefault(q)?y.ObjectTreeElementCollapseState.PreserveOrCollapsed:y.ObjectTreeElementCollapseState.PreserveOrExpanded:void 0,this.tree=this.createTree(N,O,F,x,V),this.onDidChangeFindMode=this.tree.onDidChangeFindMode,this.onDidChangeFindMatchType=this.tree.onDidChangeFindMatchType,this.root=s({element:void 0,parent:null,hasChildren:!0,defaultCollapseState:void 0}),this.identityProvider&&(this.root={...this.root,id:null}),this.nodes.set(null,this.root),this.tree.onDidChangeCollapseState(this._onDidChangeCollapseState,this,this.disposables)}createTree(N,O,F,x,W){const V=new k.ComposedTreeDelegate(F),q=x.map(z=>new a(z,this.nodeMapper,this._onDidChangeNodeSlowState.event)),H=v(W)||{};return new E.ObjectTree(N,O,V,q,H)}updateOptions(N={}){this.tree.updateOptions(N)}getHTMLElement(){return this.tree.getHTMLElement()}get scrollTop(){return this.tree.scrollTop}set scrollTop(N){this.tree.scrollTop=N}get scrollHeight(){return this.tree.scrollHeight}get renderHeight(){return this.tree.renderHeight}domFocus(){this.tree.domFocus()}layout(N,O){this.tree.layout(N,O)}style(N){this.tree.style(N)}getInput(){return this.root.element}async setInput(N,O){this.refreshPromises.forEach(x=>x.cancel()),this.refreshPromises.clear(),this.root.element=N;const F=O&&{viewState:O,focus:[],selection:[]};await this._updateChildren(N,!0,!1,F),F&&(this.tree.setFocus(F.focus),this.tree.setSelection(F.selection)),O&&typeof O.scrollTop=="number"&&(this.scrollTop=O.scrollTop)}async _updateChildren(N=this.root.element,O=!0,F=!1,x,W){if(typeof this.root.element>"u")throw new y.TreeError(this.user,"Tree input not set");this.root.refreshPromise&&(await this.root.refreshPromise,await n.Event.toPromise(this._onDidRender.event));const V=this.getDataNode(N);if(await this.refreshAndRenderNode(V,O,x,W),F)try{this.tree.rerender(V)}catch{}}rerender(N){if(N===void 0||N===this.root.element){this.tree.rerender();return}const O=this.getDataNode(N);this.tree.rerender(O)}getNode(N=this.root.element){const O=this.getDataNode(N),F=this.tree.getNode(O===this.root?null:O);return this.nodeMapper.map(F)}collapse(N,O=!1){const F=this.getDataNode(N);return this.tree.collapse(F===this.root?null:F,O)}async expand(N,O=!1){if(typeof this.root.element>"u")throw new y.TreeError(this.user,"Tree input not set");this.root.refreshPromise&&(await this.root.refreshPromise,await n.Event.toPromise(this._onDidRender.event));const F=this.getDataNode(N);if(this.tree.hasElement(F)&&!this.tree.isCollapsible(F)||(F.refreshPromise&&(await this.root.refreshPromise,await n.Event.toPromise(this._onDidRender.event)),F!==this.root&&!F.refreshPromise&&!this.tree.isCollapsed(F)))return!1;const x=this.tree.expand(F===this.root?null:F,O);return F.refreshPromise&&(await this.root.refreshPromise,await n.Event.toPromise(this._onDidRender.event)),x}setSelection(N,O){const F=N.map(x=>this.getDataNode(x));this.tree.setSelection(F,O)}getSelection(){return this.tree.getSelection().map(O=>O.element)}setFocus(N,O){const F=N.map(x=>this.getDataNode(x));this.tree.setFocus(F,O)}getFocus(){return this.tree.getFocus().map(O=>O.element)}reveal(N,O){this.tree.reveal(this.getDataNode(N),O)}getParentElement(N){const O=this.tree.getParentElement(this.getDataNode(N));return O&&O.element}getFirstElementChild(N=this.root.element){const O=this.getDataNode(N),F=this.tree.getFirstElementChild(O===this.root?null:O);return F&&F.element}getDataNode(N){const O=this.nodes.get(N===this.root.element?null:N);if(!O)throw new y.TreeError(this.user,`Data tree node not found: ${N}`);return O}async refreshAndRenderNode(N,O,F,x){await this.refreshNode(N,O,F),!this.disposables.isDisposed&&this.render(N,F,x)}async refreshNode(N,O,F){let x;if(this.subTreeRefreshPromises.forEach((W,V)=>{!x&&c(V,N)&&(x=W.then(()=>this.refreshNode(N,O,F)))}),x)return x;if(N!==this.root&&this.tree.getNode(N).collapsed){N.hasChildren=!!this.dataSource.hasChildren(N.element),N.stale=!0,this.setChildren(N,[],O,F);return}return this.doRefreshSubTree(N,O,F)}async doRefreshSubTree(N,O,F){let x;N.refreshPromise=new Promise(W=>x=W),this.subTreeRefreshPromises.set(N,N.refreshPromise),N.refreshPromise.finally(()=>{N.refreshPromise=void 0,this.subTreeRefreshPromises.delete(N)});try{const W=await this.doRefreshNode(N,O,F);N.stale=!1,await m.Promises.settled(W.map(V=>this.doRefreshSubTree(V,O,F)))}finally{x()}}async doRefreshNode(N,O,F){N.hasChildren=!!this.dataSource.hasChildren(N.element);let x;if(!N.hasChildren)x=Promise.resolve(o.Iterable.empty());else{const W=this.doGetChildren(N);if((0,i.isIterable)(W))x=Promise.resolve(W);else{const V=(0,m.timeout)(800);V.then(()=>{N.slow=!0,this._onDidChangeNodeSlowState.fire(N)},q=>null),x=W.finally(()=>V.cancel())}}try{const W=await x;return this.setChildren(N,W,O,F)}catch(W){if(N!==this.root&&this.tree.hasElement(N)&&this.tree.collapse(N),(0,p.isCancellationError)(W))return[];throw W}finally{N.slow&&(N.slow=!1,this._onDidChangeNodeSlowState.fire(N))}}doGetChildren(N){let O=this.refreshPromises.get(N);if(O)return O;const F=this.dataSource.getChildren(N.element);return(0,i.isIterable)(F)?this.processChildren(F):(O=(0,m.createCancelablePromise)(async()=>this.processChildren(await F)),this.refreshPromises.set(N,O),O.finally(()=>{this.refreshPromises.delete(N)}))}_onDidChangeCollapseState({node:N,deep:O}){N.element!==null&&!N.collapsed&&N.element.stale&&(O?this.collapse(N.element.element):this.refreshAndRenderNode(N.element,!1).catch(p.onUnexpectedError))}setChildren(N,O,F,x){const W=[...O];if(N.children.length===0&&W.length===0)return[];const V=new Map,q=new Map;for(const U of N.children)V.set(U.element,U),this.identityProvider&&q.set(U.id,{node:U,collapsed:this.tree.hasElement(U)&&this.tree.isCollapsed(U)});const H=[],z=W.map(U=>{const j=!!this.dataSource.hasChildren(U);if(!this.identityProvider){const R=s({element:U,parent:N,hasChildren:j,defaultCollapseState:this.getDefaultCollapseState(U)});return j&&R.defaultCollapseState===y.ObjectTreeElementCollapseState.PreserveOrExpanded&&H.push(R),R}const Q=this.identityProvider.getId(U).toString(),G=q.get(Q);if(G){const R=G.node;return V.delete(R.element),this.nodes.delete(R.element),this.nodes.set(U,R),R.element=U,R.hasChildren=j,F?G.collapsed?(R.children.forEach(J=>w(J,ie=>this.nodes.delete(ie.element))),R.children.splice(0,R.children.length),R.stale=!0):H.push(R):j&&!G.collapsed&&H.push(R),R}const K=s({element:U,parent:N,id:Q,hasChildren:j,defaultCollapseState:this.getDefaultCollapseState(U)});return x&&x.viewState.focus&&x.viewState.focus.indexOf(Q)>-1&&x.focus.push(K),x&&x.viewState.selection&&x.viewState.selection.indexOf(Q)>-1&&x.selection.push(K),(x&&x.viewState.expanded&&x.viewState.expanded.indexOf(Q)>-1||j&&K.defaultCollapseState===y.ObjectTreeElementCollapseState.PreserveOrExpanded)&&H.push(K),K});for(const U of V.values())w(U,j=>this.nodes.delete(j.element));for(const U of z)this.nodes.set(U.element,U);return N.children.splice(0,N.children.length,...z),N!==this.root&&this.autoExpandSingleChildren&&z.length===1&&H.length===0&&(z[0].forceExpanded=!0,H.push(z[0])),H}render(N,O,F){const x=N.children.map(V=>this.asTreeElement(V,O)),W=F&&{...F,diffIdentityProvider:F.diffIdentityProvider&&{getId(V){return F.diffIdentityProvider.getId(V.element)}}};this.tree.setChildren(N===this.root?null:N,x,W),N!==this.root&&this.tree.setCollapsible(N,N.hasChildren),this._onDidRender.fire()}asTreeElement(N,O){if(N.stale)return{element:N,collapsible:N.hasChildren,collapsed:!0};let F;return O&&O.viewState.expanded&&N.id&&O.viewState.expanded.indexOf(N.id)>-1?F=!1:N.forceExpanded?(F=!1,N.forceExpanded=!1):F=N.defaultCollapseState,{element:N,children:N.hasChildren?o.Iterable.map(N.children,x=>this.asTreeElement(x,O)):[],collapsible:N.hasChildren,collapsed:F}}processChildren(N){return this.sorter&&(N=[...N].sort(this.sorter.compare.bind(this.sorter))),N}dispose(){this.disposables.dispose(),this.tree.dispose()}}e.AsyncDataTree=S;class L{get element(){return{elements:this.node.element.elements.map(N=>N.element),incompressible:this.node.element.incompressible}}get children(){return this.node.children.map(N=>new L(N))}get depth(){return this.node.depth}get visibleChildrenCount(){return this.node.visibleChildrenCount}get visibleChildIndex(){return this.node.visibleChildIndex}get collapsible(){return this.node.collapsible}get collapsed(){return this.node.collapsed}get visible(){return this.node.visible}get filterData(){return this.node.filterData}constructor(N){this.node=N}}class D{constructor(N,O,F,x){this.renderer=N,this.nodeMapper=O,this.compressibleNodeMapperProvider=F,this.onDidChangeTwistieState=x,this.renderedNodes=new Map,this.disposables=[],this.templateId=N.templateId}renderTemplate(N){return{templateData:this.renderer.renderTemplate(N)}}renderElement(N,O,F,x){this.renderer.renderElement(this.nodeMapper.map(N),O,F.templateData,x)}renderCompressedElements(N,O,F,x){this.renderer.renderCompressedElements(this.compressibleNodeMapperProvider().map(N),O,F.templateData,x)}renderTwistie(N,O){return N.slow?(O.classList.add(...b.ThemeIcon.asClassNameArray(_.Codicon.treeItemLoading)),!0):(O.classList.remove(...b.ThemeIcon.asClassNameArray(_.Codicon.treeItemLoading)),!1)}disposeElement(N,O,F,x){this.renderer.disposeElement?.(this.nodeMapper.map(N),O,F.templateData,x)}disposeCompressedElements(N,O,F,x){this.renderer.disposeCompressedElements?.(this.compressibleNodeMapperProvider().map(N),O,F.templateData,x)}disposeTemplate(N){this.renderer.disposeTemplate(N.templateData)}dispose(){this.renderedNodes.clear(),this.disposables=(0,t.dispose)(this.disposables)}}function T(P){const N=P&&v(P);return N&&{...N,keyboardNavigationLabelProvider:N.keyboardNavigationLabelProvider&&{...N.keyboardNavigationLabelProvider,getCompressedNodeKeyboardNavigationLabel(O){return P.keyboardNavigationLabelProvider.getCompressedNodeKeyboardNavigationLabel(O.map(F=>F.element))}}}}class M extends S{constructor(N,O,F,x,W,V,q={}){super(N,O,F,W,V,q),this.compressionDelegate=x,this.compressibleNodeMapper=new y.WeakMapper(H=>new L(H)),this.filter=q.filter}createTree(N,O,F,x,W){const V=new k.ComposedTreeDelegate(F),q=x.map(z=>new D(z,this.nodeMapper,()=>this.compressibleNodeMapper,this._onDidChangeNodeSlowState.event)),H=T(W)||{};return new E.CompressibleObjectTree(N,O,V,q,H)}asTreeElement(N,O){return{incompressible:this.compressionDelegate.isIncompressible(N.element),...super.asTreeElement(N,O)}}updateOptions(N={}){this.tree.updateOptions(N)}render(N,O,F){if(!this.identityProvider)return super.render(N,O);const x=G=>this.identityProvider.getId(G).toString(),W=G=>{const K=new Set;for(const R of G){const J=this.tree.getCompressedTreeNode(R===this.root?null:R);if(J.element)for(const ie of J.element.elements)K.add(x(ie.element))}return K},V=W(this.tree.getSelection()),q=W(this.tree.getFocus());super.render(N,O,F);const H=this.getSelection();let z=!1;const U=this.getFocus();let j=!1;const Q=G=>{const K=G.element;if(K)for(let R=0;R{const F=this.filter.filter(O,1),x=A(F);if(x===2)throw new Error("Recursive tree visibility not supported in async data compressed trees");return x===1})),super.processChildren(N)}}e.CompressibleAsyncDataTree=M;function A(P){return typeof P=="boolean"?P?1:0:(0,I.isFilterResult)(P)?(0,I.getVisibleState)(P.visibility):(0,I.getVisibleState)(P)}}),define(ne[361],se([1,0,8,6,2,42,16,11]),function(oe,e,d,k,I,E,y,m){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SimpleWorkerServer=e.SimpleWorkerClient=void 0,e.logOnceWebWorkerWarning=o,e.create=f;const _=!1,b="default",p="$initialize";let n=!1;function o(h){y.isWeb&&(n||(n=!0,console.warn("Could not create web worker(s). Falling back to loading web worker code in main thread, which might cause UI freezes. Please see https://github.com/microsoft/monaco-editor#faq")),console.warn(h.message))}class t{constructor(v,w,S,L,D){this.vsWorker=v,this.req=w,this.channel=S,this.method=L,this.args=D,this.type=0}}class i{constructor(v,w,S,L){this.vsWorker=v,this.seq=w,this.res=S,this.err=L,this.type=1}}class s{constructor(v,w,S,L,D){this.vsWorker=v,this.req=w,this.channel=S,this.eventName=L,this.arg=D,this.type=2}}class g{constructor(v,w,S){this.vsWorker=v,this.req=w,this.event=S,this.type=3}}class c{constructor(v,w){this.vsWorker=v,this.req=w,this.type=4}}class l{constructor(v){this._workerId=-1,this._handler=v,this._lastSentReq=0,this._pendingReplies=Object.create(null),this._pendingEmitters=new Map,this._pendingEvents=new Map}setWorkerId(v){this._workerId=v}sendMessage(v,w,S){const L=String(++this._lastSentReq);return new Promise((D,T)=>{this._pendingReplies[L]={resolve:D,reject:T},this._send(new t(this._workerId,L,v,w,S))})}listen(v,w,S){let L=null;const D=new k.Emitter({onWillAddFirstListener:()=>{L=String(++this._lastSentReq),this._pendingEmitters.set(L,D),this._send(new s(this._workerId,L,v,w,S))},onDidRemoveLastListener:()=>{this._pendingEmitters.delete(L),this._send(new c(this._workerId,L)),L=null}});return D.event}handleMessage(v){!v||!v.vsWorker||this._workerId!==-1&&v.vsWorker!==this._workerId||this._handleMessage(v)}createProxyToRemoteChannel(v,w){const S={get:(L,D)=>(typeof D=="string"&&!L[D]&&(u(D)?L[D]=T=>this.listen(v,D,T):r(D)?L[D]=this.listen(v,D,void 0):D.charCodeAt(0)===36&&(L[D]=async(...T)=>(await w?.(),this.sendMessage(v,D,T)))),L[D])};return new Proxy(Object.create(null),S)}_handleMessage(v){switch(v.type){case 1:return this._handleReplyMessage(v);case 0:return this._handleRequestMessage(v);case 2:return this._handleSubscribeEventMessage(v);case 3:return this._handleEventMessage(v);case 4:return this._handleUnsubscribeEventMessage(v)}}_handleReplyMessage(v){if(!this._pendingReplies[v.seq]){console.warn("Got reply to unknown seq");return}const w=this._pendingReplies[v.seq];if(delete this._pendingReplies[v.seq],v.err){let S=v.err;v.err.$isError&&(S=new Error,S.name=v.err.name,S.message=v.err.message,S.stack=v.err.stack),w.reject(S);return}w.resolve(v.res)}_handleRequestMessage(v){const w=v.req;this._handler.handleMessage(v.channel,v.method,v.args).then(L=>{this._send(new i(this._workerId,w,L,void 0))},L=>{L.detail instanceof Error&&(L.detail=(0,d.transformErrorForSerialization)(L.detail)),this._send(new i(this._workerId,w,void 0,(0,d.transformErrorForSerialization)(L)))})}_handleSubscribeEventMessage(v){const w=v.req,S=this._handler.handleEvent(v.channel,v.eventName,v.arg)(L=>{this._send(new g(this._workerId,w,L))});this._pendingEvents.set(w,S)}_handleEventMessage(v){if(!this._pendingEmitters.has(v.req)){console.warn("Got event for unknown req");return}this._pendingEmitters.get(v.req).fire(v.event)}_handleUnsubscribeEventMessage(v){if(!this._pendingEvents.has(v.req)){console.warn("Got unsubscribe for unknown req");return}this._pendingEvents.get(v.req).dispose(),this._pendingEvents.delete(v.req)}_send(v){const w=[];if(v.type===0)for(let S=0;S{this._protocol.handleMessage(D)},D=>{(0,d.onUnexpectedError)(D)})),this._protocol=new l({sendMessage:(D,T)=>{this._worker.postMessage(D,T)},handleMessage:(D,T,M)=>this._handleMessage(D,T,M),handleEvent:(D,T,M)=>this._handleEvent(D,T,M)}),this._protocol.setWorkerId(this._worker.getId());let S=null;const L=globalThis.require;typeof L<"u"&&typeof L.getConfig=="function"?S=L.getConfig():typeof globalThis.requirejs<"u"&&(S=globalThis.requirejs.s.contexts._.config),this._onModuleLoaded=this._protocol.sendMessage(b,p,[this._worker.getId(),JSON.parse(JSON.stringify(S)),w.amdModuleId]),this.proxy=this._protocol.createProxyToRemoteChannel(b,async()=>{await this._onModuleLoaded}),this._onModuleLoaded.catch(D=>{this._onError("Worker failed to load "+w.amdModuleId,D)})}_handleMessage(v,w,S){const L=this._localChannels.get(v);if(!L)return Promise.reject(new Error(`Missing channel ${v} on main thread`));if(typeof L[w]!="function")return Promise.reject(new Error(`Missing method ${w} on main thread channel ${v}`));try{return Promise.resolve(L[w].apply(L,S))}catch(D){return Promise.reject(D)}}_handleEvent(v,w,S){const L=this._localChannels.get(v);if(!L)throw new Error(`Missing channel ${v} on main thread`);if(u(w)){const D=L[w].call(L,S);if(typeof D!="function")throw new Error(`Missing dynamic event ${w} on main thread channel ${v}.`);return D}if(r(w)){const D=L[w];if(typeof D!="function")throw new Error(`Missing event ${w} on main thread channel ${v}.`);return D}throw new Error(`Malformed event name ${w}`)}setChannel(v,w){this._localChannels.set(v,w)}_onError(v,w){console.error(v),console.info(w)}}e.SimpleWorkerClient=a;function r(h){return h[0]==="o"&&h[1]==="n"&&m.isUpperAsciiLetter(h.charCodeAt(2))}function u(h){return/^onDynamic/.test(h)&&m.isUpperAsciiLetter(h.charCodeAt(9))}class C{constructor(v,w){this._localChannels=new Map,this._remoteChannels=new Map,this._requestHandlerFactory=w,this._requestHandler=null,this._protocol=new l({sendMessage:(S,L)=>{v(S,L)},handleMessage:(S,L,D)=>this._handleMessage(S,L,D),handleEvent:(S,L,D)=>this._handleEvent(S,L,D)})}onmessage(v){this._protocol.handleMessage(v)}_handleMessage(v,w,S){if(v===b&&w===p)return this.initialize(S[0],S[1],S[2]);const L=v===b?this._requestHandler:this._localChannels.get(v);if(!L)return Promise.reject(new Error(`Missing channel ${v} on worker thread`));if(typeof L[w]!="function")return Promise.reject(new Error(`Missing method ${w} on worker thread channel ${v}`));try{return Promise.resolve(L[w].apply(L,S))}catch(D){return Promise.reject(D)}}_handleEvent(v,w,S){const L=v===b?this._requestHandler:this._localChannels.get(v);if(!L)throw new Error(`Missing channel ${v} on worker thread`);if(u(w)){const D=L[w].call(L,S);if(typeof D!="function")throw new Error(`Missing dynamic event ${w} on request handler.`);return D}if(r(w)){const D=L[w];if(typeof D!="function")throw new Error(`Missing event ${w} on request handler.`);return D}throw new Error(`Malformed event name ${w}`)}getChannel(v){if(!this._remoteChannels.has(v)){const w=this._protocol.createProxyToRemoteChannel(v);this._remoteChannels.set(v,w)}return this._remoteChannels.get(v)}async initialize(v,w,S){if(this._protocol.setWorkerId(v),this._requestHandlerFactory){this._requestHandler=this._requestHandlerFactory(this);return}if(w&&(typeof w.baseUrl<"u"&&delete w.baseUrl,typeof w.paths<"u"&&typeof w.paths.vs<"u"&&delete w.paths.vs,typeof w.trustedTypesPolicy<"u"&&delete w.trustedTypesPolicy,w.catchError=!0,globalThis.require.config(w)),_){const L=E.FileAccess.asBrowserUri(`${S}.js`).toString(!0);return new Promise((D,T)=>{oe([`${L}`],D,T)}).then(D=>{if(this._requestHandler=D.create(this),!this._requestHandler)throw new Error("No RequestHandler!")})}return new Promise((L,D)=>{(globalThis.require||oe)([S],M=>{if(this._requestHandler=M.create(this),!this._requestHandler){D(new Error("No RequestHandler!"));return}L()},D)})}}e.SimpleWorkerServer=C;function f(h){return new C(h,null)}}),define(ne[646],se([1,0,103,8,42,361,2,13,3]),function(oe,e,d,k,I,E,y,m,_){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.WorkerDescriptor=void 0,e.createWebWorker=l;const b=!1;let p;typeof self=="object"&&self.constructor&&self.constructor.name==="DedicatedWorkerGlobalScope"&&globalThis.workerttPolicy!==void 0?p=globalThis.workerttPolicy:p=(0,d.createTrustedTypesPolicy)("defaultWorkerFactory",{createScriptURL:a=>a});function n(a,r){const u=globalThis.MonacoEnvironment;if(u){if(typeof u.getWorker=="function")return u.getWorker("workerMain.js",r);if(typeof u.getWorkerUrl=="function"){const C=u.getWorkerUrl("workerMain.js",r);return new Worker(p?p.createScriptURL(C):C,{name:r,type:b?"module":void 0})}}if(typeof oe=="function"){const C=oe.toUrl("vs/base/worker/workerMain.js"),f="vs/base/worker/defaultWorkerFactory.js",h=oe.toUrl(f).slice(0,-f.length),v=o(r,C,h);return new Worker(p?p.createScriptURL(v):v,{name:r,type:b?"module":void 0})}if(a){const C=o(r,a.toString(!0)),f=new Worker(p?p.createScriptURL(C):C,{name:r,type:b?"module":void 0});return b?t(f):f}throw new Error("You must define a function MonacoEnvironment.getWorkerUrl or MonacoEnvironment.getWorker")}function o(a,r,u){const C=/^((http:)|(https:)|(file:)|(vscode-file:))/.test(r);if(!(C&&r.substring(0,globalThis.origin.length)!==globalThis.origin)){const h=r.lastIndexOf("?"),v=r.lastIndexOf("#",h),w=h>0?new URLSearchParams(r.substring(h+1,~v?v:void 0)):new URLSearchParams;I.COI.addSearchParam(w,!0,!0),w.toString()?r=`${r}?${w.toString()}#${a}`:r=`${r}#${a}`}!b&&!C&&(r=new URL(r,globalThis.origin).toString());const f=new Blob([(0,m.coalesce)([`/*${a}*/`,u?`globalThis.MonacoEnvironment = { baseUrl: '${u}' };`:void 0,`globalThis._VSCODE_NLS_MESSAGES = ${JSON.stringify((0,_.getNLSMessages)())};`,`globalThis._VSCODE_NLS_LANGUAGE = ${JSON.stringify((0,_.getNLSLanguage)())};`,`globalThis._VSCODE_FILE_ROOT = '${globalThis._VSCODE_FILE_ROOT}';`,"const ttPolicy = globalThis.trustedTypes?.createPolicy('defaultWorkerFactory', { createScriptURL: value => value });","globalThis.workerttPolicy = ttPolicy;",b?`await import(ttPolicy?.createScriptURL('${r}') ?? '${r}');`:`importScripts(ttPolicy?.createScriptURL('${r}') ?? '${r}');`,b?"globalThis.postMessage({ type: 'vscode-worker-ready' });":void 0,`/*${a}*/`]).join("")],{type:"application/javascript"});return URL.createObjectURL(f)}function t(a){return new Promise((r,u)=>{a.onmessage=function(C){C.data.type==="vscode-worker-ready"&&(a.onmessage=null,r(a))},a.onerror=u})}function i(a){return typeof a.then=="function"}class s extends y.Disposable{constructor(r,u,C,f,h,v){super(),this.id=C,this.label=f;const w=n(r,f);i(w)?this.worker=w:this.worker=Promise.resolve(w),this.postMessage(u,[]),this.worker.then(S=>{S.onmessage=function(L){h(L.data)},S.onmessageerror=v,typeof S.addEventListener=="function"&&S.addEventListener("error",v)}),this._register((0,y.toDisposable)(()=>{this.worker?.then(S=>{S.onmessage=null,S.onmessageerror=null,S.removeEventListener("error",v),S.terminate()}),this.worker=null}))}getId(){return this.id}postMessage(r,u){this.worker?.then(C=>{try{C.postMessage(r,u)}catch(f){(0,k.onUnexpectedError)(f),(0,k.onUnexpectedError)(new Error(`FAILED to post message to '${this.label}'-worker`,{cause:f}))}})}}class g{constructor(r,u){this.amdModuleId=r,this.label=u,this.esmModuleLocation=b?I.FileAccess.asBrowserUri(`${r}.esm.js`):void 0}}e.WorkerDescriptor=g;class c{static{this.LAST_WORKER_ID=0}constructor(){this._webWorkerFailedBeforeError=!1}create(r,u,C){const f=++c.LAST_WORKER_ID;if(this._webWorkerFailedBeforeError)throw this._webWorkerFailedBeforeError;return new s(r.esmModuleLocation,r.amdModuleId,f,r.label||"anonymous"+f,u,h=>{(0,E.logOnceWebWorkerWarning)(h),this._webWorkerFailedBeforeError=h,C(h)})}}function l(a,r){const u=typeof a=="string"?new g(a,r):a;return new E.SimpleWorkerClient(new c,u)}}),define(ne[647],se([1,0,14,6,2,252,19]),function(oe,e,d,k,I,E,y){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.InMemoryStorageDatabase=e.Storage=e.StorageState=e.StorageHint=void 0;var m;(function(n){n[n.STORAGE_DOES_NOT_EXIST=0]="STORAGE_DOES_NOT_EXIST",n[n.STORAGE_IN_MEMORY=1]="STORAGE_IN_MEMORY"})(m||(e.StorageHint=m={}));var _;(function(n){n[n.None=0]="None",n[n.Initialized=1]="Initialized",n[n.Closed=2]="Closed"})(_||(e.StorageState=_={}));class b extends I.Disposable{static{this.DEFAULT_FLUSH_DELAY=100}constructor(o,t=Object.create(null)){super(),this.database=o,this.options=t,this._onDidChangeStorage=this._register(new k.PauseableEmitter),this.onDidChangeStorage=this._onDidChangeStorage.event,this.state=_.None,this.cache=new Map,this.flushDelayer=this._register(new d.ThrottledDelayer(b.DEFAULT_FLUSH_DELAY)),this.pendingDeletes=new Set,this.pendingInserts=new Map,this.whenFlushedCallbacks=[],this.registerListeners()}registerListeners(){this._register(this.database.onDidChangeItemsExternal(o=>this.onDidChangeItemsExternal(o)))}onDidChangeItemsExternal(o){this._onDidChangeStorage.pause();try{o.changed?.forEach((t,i)=>this.acceptExternal(i,t)),o.deleted?.forEach(t=>this.acceptExternal(t,void 0))}finally{this._onDidChangeStorage.resume()}}acceptExternal(o,t){if(this.state===_.Closed)return;let i=!1;(0,y.isUndefinedOrNull)(t)?i=this.cache.delete(o):this.cache.get(o)!==t&&(this.cache.set(o,t),i=!0),i&&this._onDidChangeStorage.fire({key:o,external:!0})}get(o,t){const i=this.cache.get(o);return(0,y.isUndefinedOrNull)(i)?t:i}getBoolean(o,t){const i=this.get(o);return(0,y.isUndefinedOrNull)(i)?t:i==="true"}getNumber(o,t){const i=this.get(o);return(0,y.isUndefinedOrNull)(i)?t:parseInt(i,10)}async set(o,t,i=!1){if(this.state===_.Closed)return;if((0,y.isUndefinedOrNull)(t))return this.delete(o,i);const s=(0,y.isObject)(t)||Array.isArray(t)?(0,E.stringify)(t):String(t);if(this.cache.get(o)!==s)return this.cache.set(o,s),this.pendingInserts.set(o,s),this.pendingDeletes.delete(o),this._onDidChangeStorage.fire({key:o,external:i}),this.doFlush()}async delete(o,t=!1){if(!(this.state===_.Closed||!this.cache.delete(o)))return this.pendingDeletes.has(o)||this.pendingDeletes.add(o),this.pendingInserts.delete(o),this._onDidChangeStorage.fire({key:o,external:t}),this.doFlush()}get hasPending(){return this.pendingInserts.size>0||this.pendingDeletes.size>0}async flushPending(){if(!this.hasPending)return;const o={insert:this.pendingInserts,delete:this.pendingDeletes};return this.pendingDeletes=new Set,this.pendingInserts=new Map,this.database.updateItems(o).finally(()=>{if(!this.hasPending)for(;this.whenFlushedCallbacks.length;)this.whenFlushedCallbacks.pop()?.()})}async doFlush(o){return this.options.hint===m.STORAGE_IN_MEMORY?this.flushPending():this.flushDelayer.trigger(()=>this.flushPending(),o)}}e.Storage=b;class p{constructor(){this.onDidChangeItemsExternal=k.Event.None,this.items=new Map}async updateItems(o){o.insert?.forEach((t,i)=>this.items.set(i,t)),o.delete?.forEach(t=>this.items.delete(t))}}e.InMemoryStorageDatabase=p}),define(ne[362],se([1,0,2,6,5]),function(oe,e,d,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ElementSizeObserver=void 0;class E extends d.Disposable{constructor(m,_){super(),this._onDidChange=this._register(new k.Emitter),this.onDidChange=this._onDidChange.event,this._referenceDomElement=m,this._width=-1,this._height=-1,this._resizeObserver=null,this.measureReferenceDomElement(!1,_)}dispose(){this.stopObserving(),super.dispose()}getWidth(){return this._width}getHeight(){return this._height}startObserving(){if(!this._resizeObserver&&this._referenceDomElement){let m=null;const _=()=>{m?this.observe({width:m.width,height:m.height}):this.observe()};let b=!1,p=!1;const n=()=>{if(b&&!p)try{b=!1,p=!0,_()}finally{(0,I.scheduleAtNextAnimationFrame)((0,I.getWindow)(this._referenceDomElement),()=>{p=!1,n()})}};this._resizeObserver=new ResizeObserver(o=>{o&&o[0]&&o[0].contentRect?m={width:o[0].contentRect.width,height:o[0].contentRect.height}:m=null,b=!0,n()}),this._resizeObserver.observe(this._referenceDomElement)}}stopObserving(){this._resizeObserver&&(this._resizeObserver.disconnect(),this._resizeObserver=null)}observe(m){this.measureReferenceDomElement(!0,m)}measureReferenceDomElement(m,_){let b=0,p=0;_?(b=_.width,p=_.height):this._referenceDomElement&&(b=this._referenceDomElement.clientWidth,p=this._referenceDomElement.clientHeight),b=Math.max(5,b),p=Math.max(5,p),(this._width!==b||this._height!==p)&&(this._width=b,this._height=p,m&&this._onDidChange.fire())}}e.ElementSizeObserver=E}),define(ne[648],se([1,0,5,18,57,19,3]),function(oe,e,d,k,I,E,y){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ManagedHoverWidget=void 0;class m{constructor(b,p,n){this.hoverDelegate=b,this.target=p,this.fadeInAnimation=n}async update(b,p,n){if(this._cancellationTokenSource&&(this._cancellationTokenSource.dispose(!0),this._cancellationTokenSource=void 0),this.isDisposed)return;let o;if(b===void 0||(0,E.isString)(b)||(0,d.isHTMLElement)(b))o=b;else if(!(0,E.isFunction)(b.markdown))o=b.markdown??b.markdownNotSupportedFallback;else{this._hoverWidget||this.show((0,y.localize)(69,"Loading..."),p,n),this._cancellationTokenSource=new k.CancellationTokenSource;const t=this._cancellationTokenSource.token;if(o=await b.markdown(t),o===void 0&&(o=b.markdownNotSupportedFallback),this.isDisposed||t.isCancellationRequested)return}this.show(o,p,n)}show(b,p,n){const o=this._hoverWidget;if(this.hasContent(b)){const t={content:b,target:this.target,actions:n?.actions,linkHandler:n?.linkHandler,trapFocus:n?.trapFocus,appearance:{showPointer:this.hoverDelegate.placement==="element",skipFadeInAnimation:!this.fadeInAnimation||!!o,showHoverHint:n?.appearance?.showHoverHint},position:{hoverPosition:2}};this._hoverWidget=this.hoverDelegate.showHover(t,p)}o?.dispose()}hasContent(b){return b?(0,I.isMarkdownString)(b)?!!b.value:!0:!1}get isDisposed(){return this._hoverWidget?.isDisposed}dispose(){this._hoverWidget?.dispose(),this._cancellationTokenSource?.dispose(!0),this._cancellationTokenSource=void 0}}e.ManagedHoverWidget=m}),define(ne[649],se([1,0,5,39,56]),function(oe,e,d,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ViewContentWidgets=void 0;class E extends I.ViewPart{constructor(o,t){super(o),this._viewDomNode=t,this._widgets={},this.domNode=(0,k.createFastDomNode)(document.createElement("div")),I.PartFingerprints.write(this.domNode,1),this.domNode.setClassName("contentWidgets"),this.domNode.setPosition("absolute"),this.domNode.setTop(0),this.overflowingContentWidgetsDomNode=(0,k.createFastDomNode)(document.createElement("div")),I.PartFingerprints.write(this.overflowingContentWidgetsDomNode,2),this.overflowingContentWidgetsDomNode.setClassName("overflowingContentWidgets")}dispose(){super.dispose(),this._widgets={}}onConfigurationChanged(o){const t=Object.keys(this._widgets);for(const i of t)this._widgets[i].onConfigurationChanged(o);return!0}onDecorationsChanged(o){return!0}onFlushed(o){return!0}onLineMappingChanged(o){return this._updateAnchorsViewPositions(),!0}onLinesChanged(o){return this._updateAnchorsViewPositions(),!0}onLinesDeleted(o){return this._updateAnchorsViewPositions(),!0}onLinesInserted(o){return this._updateAnchorsViewPositions(),!0}onScrollChanged(o){return!0}onZonesChanged(o){return!0}_updateAnchorsViewPositions(){const o=Object.keys(this._widgets);for(const t of o)this._widgets[t].updateAnchorViewPosition()}addWidget(o){const t=new y(this._context,this._viewDomNode,o);this._widgets[t.id]=t,t.allowEditorOverflow?this.overflowingContentWidgetsDomNode.appendChild(t.domNode):this.domNode.appendChild(t.domNode),this.setShouldRender()}setWidgetPosition(o,t,i,s,g){this._widgets[o.getId()].setPosition(t,i,s,g),this.setShouldRender()}removeWidget(o){const t=o.getId();if(this._widgets.hasOwnProperty(t)){const i=this._widgets[t];delete this._widgets[t];const s=i.domNode.domNode;s.remove(),s.removeAttribute("monaco-visible-content-widget"),this.setShouldRender()}}shouldSuppressMouseDownOnWidget(o){return this._widgets.hasOwnProperty(o)?this._widgets[o].suppressMouseDown:!1}onBeforeRender(o){const t=Object.keys(this._widgets);for(const i of t)this._widgets[i].onBeforeRender(o)}prepareRender(o){const t=Object.keys(this._widgets);for(const i of t)this._widgets[i].prepareRender(o)}render(o){const t=Object.keys(this._widgets);for(const i of t)this._widgets[i].render(o)}}e.ViewContentWidgets=E;class y{constructor(o,t,i){this._primaryAnchor=new m(null,null),this._secondaryAnchor=new m(null,null),this._context=o,this._viewDomNode=t,this._actual=i,this.domNode=(0,k.createFastDomNode)(this._actual.getDomNode()),this.id=this._actual.getId(),this.allowEditorOverflow=this._actual.allowEditorOverflow||!1,this.suppressMouseDown=this._actual.suppressMouseDown||!1;const s=this._context.configuration.options,g=s.get(146);this._fixedOverflowWidgets=s.get(42),this._contentWidth=g.contentWidth,this._contentLeft=g.contentLeft,this._lineHeight=s.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(o){const t=this._context.configuration.options;if(this._lineHeight=t.get(67),o.hasChanged(146)){const i=t.get(146);this._contentLeft=i.contentLeft,this._contentWidth=i.contentWidth,this._maxWidth=this._getMaxWidth()}}updateAnchorViewPosition(){this._setPosition(this._affinity,this._primaryAnchor.modelPosition,this._secondaryAnchor.modelPosition)}_setPosition(o,t,i){this._affinity=o,this._primaryAnchor=s(t,this._context.viewModel,this._affinity),this._secondaryAnchor=s(i,this._context.viewModel,this._affinity);function s(g,c,l){if(!g)return new m(null,null);const a=c.model.validatePosition(g);if(c.coordinatesConverter.modelPositionIsVisible(a)){const r=c.coordinatesConverter.convertModelPositionToViewPosition(a,l??void 0);return new m(g,r)}return new m(g,null)}}_getMaxWidth(){const o=this.domNode.domNode.ownerDocument,t=o.defaultView;return this.allowEditorOverflow?t?.innerWidth||o.documentElement.offsetWidth||o.body.offsetWidth:this._contentWidth}setPosition(o,t,i,s){this._setPosition(s,o,t),this._preference=i,this._primaryAnchor.viewPosition&&this._preference&&this._preference.length>0?this.domNode.setDisplay("block"):this.domNode.setDisplay("none"),this._cachedDomNodeOffsetWidth=-1,this._cachedDomNodeOffsetHeight=-1}_layoutBoxInViewport(o,t,i,s){const g=o.top,c=g,l=o.top+o.height,a=s.viewportHeight-l,r=g-i,u=c>=i,C=l,f=a>=i;let h=o.left;return h+t>s.scrollLeft+s.viewportWidth&&(h=s.scrollLeft+s.viewportWidth-t),ha){const f=C-(a-s);C-=f,i-=f}if(C=w,D=C+i<=f.height-S;return this._fixedOverflowWidgets?{fitsAbove:L,aboveTop:Math.max(u,w),fitsBelow:D,belowTop:C,left:v}:{fitsAbove:L,aboveTop:g,fitsBelow:D,belowTop:c,left:h}}_prepareRenderWidgetAtExactPositionOverflowing(o){return new _(o.top,o.left+this._contentLeft)}_getAnchorsCoordinates(o){const t=g(this._primaryAnchor.viewPosition,this._affinity,this._lineHeight),i=this._secondaryAnchor.viewPosition?.lineNumber===this._primaryAnchor.viewPosition?.lineNumber?this._secondaryAnchor.viewPosition:null,s=g(i,this._affinity,this._lineHeight);return{primary:t,secondary:s};function g(c,l,a){if(!c)return null;const r=o.visibleRangeForPosition(c);if(!r)return null;const u=c.column===1&&l===3?0:r.left,C=o.getVerticalOffsetForLineNumber(c.lineNumber)-o.scrollTop;return new b(C,u,a)}}_reduceAnchorCoordinates(o,t,i){if(!t)return o;const s=this._context.configuration.options.get(50);let g=t.left;return go.endLineNumber||this.domNode.setMaxWidth(this._maxWidth)}prepareRender(o){this._renderData=this._prepareRenderWidget(o)}render(o){if(!this._renderData||this._renderData.kind==="offViewport"){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")),typeof this._actual.afterRender=="function"&&p(this._actual.afterRender,this._actual,null);return}this.allowEditorOverflow?(this.domNode.setTop(this._renderData.coordinate.top),this.domNode.setLeft(this._renderData.coordinate.left)):(this.domNode.setTop(this._renderData.coordinate.top+o.scrollTop-o.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),typeof this._actual.afterRender=="function"&&p(this._actual.afterRender,this._actual,this._renderData.position)}}class m{constructor(o,t){this.modelPosition=o,this.viewPosition=t}}class _{constructor(o,t){this.top=o,this.left=t,this._coordinateBrand=void 0}}class b{constructor(o,t,i){this.top=o,this.left=t,this.height=i,this._anchorCoordinateBrand=void 0}}function p(n,o,...t){try{return n.call(o,...t)}catch{return null}}}),define(ne[650],se([1,0,39,56,5,492]),function(oe,e,d,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ViewOverlayWidgets=void 0;class E extends k.ViewPart{constructor(m,_){super(m),this._viewDomNode=_;const p=this._context.configuration.options.get(146);this._widgets={},this._verticalScrollbarWidth=p.verticalScrollbarWidth,this._minimapWidth=p.minimap.minimapWidth,this._horizontalScrollbarHeight=p.horizontalScrollbarHeight,this._editorHeight=p.height,this._editorWidth=p.width,this._viewDomNodeRect={top:0,left:0,width:0,height:0},this._domNode=(0,d.createFastDomNode)(document.createElement("div")),k.PartFingerprints.write(this._domNode,4),this._domNode.setClassName("overlayWidgets"),this.overflowingOverlayWidgetsDomNode=(0,d.createFastDomNode)(document.createElement("div")),k.PartFingerprints.write(this.overflowingOverlayWidgetsDomNode,5),this.overflowingOverlayWidgetsDomNode.setClassName("overflowingOverlayWidgets")}dispose(){super.dispose(),this._widgets={}}getDomNode(){return this._domNode}onConfigurationChanged(m){const b=this._context.configuration.options.get(146);return this._verticalScrollbarWidth=b.verticalScrollbarWidth,this._minimapWidth=b.minimap.minimapWidth,this._horizontalScrollbarHeight=b.horizontalScrollbarHeight,this._editorHeight=b.height,this._editorWidth=b.width,!0}addWidget(m){const _=(0,d.createFastDomNode)(m.getDomNode());this._widgets[m.getId()]={widget:m,preference:null,domNode:_},_.setPosition("absolute"),_.setAttribute("widgetId",m.getId()),m.allowEditorOverflow?this.overflowingOverlayWidgetsDomNode.appendChild(_):this._domNode.appendChild(_),this.setShouldRender(),this._updateMaxMinWidth()}setWidgetPosition(m,_){const b=this._widgets[m.getId()],p=_?_.preference:null,n=_?.stackOridinal;return b.preference===p&&b.stack===n?(this._updateMaxMinWidth(),!1):(b.preference=p,b.stack=n,this.setShouldRender(),this._updateMaxMinWidth(),!0)}removeWidget(m){const _=m.getId();if(this._widgets.hasOwnProperty(_)){const p=this._widgets[_].domNode.domNode;delete this._widgets[_],p.remove(),this.setShouldRender(),this._updateMaxMinWidth()}}_updateMaxMinWidth(){let m=0;const _=Object.keys(this._widgets);for(let b=0,p=_.length;b0);_.sort((p,n)=>(this._widgets[p].stack||0)-(this._widgets[n].stack||0));for(let p=0,n=_.length;p{this._instantiateSome(1)})),this._register((0,d.runWhenWindowIdle)((0,d.getWindow)(this._editor.getDomNode()),()=>{this._instantiateSome(2)})),this._register((0,d.runWhenWindowIdle)((0,d.getWindow)(this._editor.getDomNode()),()=>{this._instantiateSome(3)},5e3))}saveViewState(){const m={};for(const[_,b]of this._instances)typeof b.saveViewState=="function"&&(m[_]=b.saveViewState());return m}restoreViewState(m){for(const[_,b]of this._instances)typeof b.restoreViewState=="function"&&b.restoreViewState(m[_])}get(m){return this._instantiateById(m),this._instances.get(m)||null}onBeforeInteractionEvent(){this._instantiateSome(2)}onAfterModelAttached(){return(0,d.runWhenWindowIdle)((0,d.getWindow)(this._editor?.getDomNode()),()=>{this._instantiateSome(1)},50)}_instantiateSome(m){if(this._finishedInstantiation[m])return;this._finishedInstantiation[m]=!0;const _=this._findPendingContributionsByInstantiation(m);for(const b of _)this._instantiateById(b.id)}_findPendingContributionsByInstantiation(m){const _=[];for(const[,b]of this._pending)b.instantiation===m&&_.push(b);return _}_instantiateById(m){const _=this._pending.get(m);if(_){if(this._pending.delete(m),!this._instantiationService||!this._editor)throw new Error("Cannot instantiate contributions before being initialized!");try{const b=this._instantiationService.createInstance(_.ctor,this._editor);this._instances.set(_.id,b),typeof b.restoreViewState=="function"&&_.instantiation!==0&&console.warn(`Editor contribution '${_.id}' should be eager instantiated because it uses saveViewState / restoreViewState.`)}catch(b){(0,k.onUnexpectedError)(b)}}}}e.CodeEditorContributions=E}),define(ne[363],se([1,0,173,2,21,65]),function(oe,e,d,k,I,E){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DiffEditorSash=e.SashLayout=void 0;class y{resetSash(){this._sashRatio.set(void 0,void 0)}constructor(b,p){this._options=b,this.dimensions=p,this.sashLeft=(0,E.derivedWithSetter)(this,n=>{const o=this._sashRatio.read(n)??this._options.splitViewDefaultRatio.read(n);return this._computeSashLeft(o,n)},(n,o)=>{const t=this.dimensions.width.get();this._sashRatio.set(n/t,o)}),this._sashRatio=(0,I.observableValue)(this,void 0)}_computeSashLeft(b,p){const n=this.dimensions.width.read(p),o=Math.floor(this._options.splitViewDefaultRatio.read(p)*n),t=this._options.enableSplitViewResizing.read(p)?Math.floor(b*n):o,i=100;return n<=i*2?o:tn-i?n-i:t}}e.SashLayout=y;class m extends k.Disposable{constructor(b,p,n,o,t,i){super(),this._domNode=b,this._dimensions=p,this._enabled=n,this._boundarySashes=o,this.sashLeft=t,this._resetSash=i,this._sash=this._register(new d.Sash(this._domNode,{getVerticalSashTop:s=>0,getVerticalSashLeft:s=>this.sashLeft.get(),getVerticalSashHeight:s=>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(s=>{this.sashLeft.set(this._startSashPosition+(s.currentX-s.startX),void 0)})),this._register(this._sash.onDidEnd(()=>this._sash.layout())),this._register(this._sash.onDidReset(()=>this._resetSash())),this._register((0,I.autorun)(s=>{const g=this._boundarySashes.read(s);g&&(this._sash.orthogonalEndSash=g.bottom)})),this._register((0,I.autorun)(s=>{const g=this._enabled.read(s);this._sash.state=g?3:0,this.sashLeft.read(s),this._dimensions.height.read(s),this._sash.layout()}))}}e.DiffEditorSash=m}),define(ne[652],se([1,0,5,41,26,2,16,30,3]),function(oe,e,d,k,I,E,y,m,_){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.InlineDiffDeletedCodeMargin=void 0;class b extends E.Disposable{get visibility(){return this._visibility}set visibility(n){this._visibility!==n&&(this._visibility=n,this._diffActions.style.visibility=n?"visible":"hidden")}constructor(n,o,t,i,s,g,c,l,a){super(),this._getViewZoneId=n,this._marginDomNode=o,this._modifiedEditor=t,this._diff=i,this._editor=s,this._viewLineCounts=g,this._originalTextModel=c,this._contextMenuService=l,this._clipboardService=a,this._visibility=!1,this._marginDomNode.style.zIndex="10",this._diffActions=document.createElement("div"),this._diffActions.className=m.ThemeIcon.asClassName(I.Codicon.lightBulb)+" lightbulb-glyph",this._diffActions.style.position="absolute";const r=this._modifiedEditor.getOption(67);this._diffActions.style.right="0px",this._diffActions.style.visibility="hidden",this._diffActions.style.height=`${r}px`,this._diffActions.style.lineHeight=`${r}px`,this._marginDomNode.appendChild(this._diffActions);let u=0;const C=t.getOption(128)&&!y.isIOS,f=(h,v)=>{this._contextMenuService.showContextMenu({domForShadowRoot:C?t.getDomNode()??void 0:void 0,getAnchor:()=>({x:h,y:v}),getActions:()=>{const w=[],S=i.modified.isEmpty;return w.push(new k.Action("diff.clipboard.copyDeletedContent",S?i.original.length>1?(0,_.localize)(99,"Copy deleted lines"):(0,_.localize)(100,"Copy deleted line"):i.original.length>1?(0,_.localize)(101,"Copy changed lines"):(0,_.localize)(102,"Copy changed line"),void 0,!0,async()=>{const D=this._originalTextModel.getValueInRange(i.original.toExclusiveRange());await this._clipboardService.writeText(D)})),i.original.length>1&&w.push(new k.Action("diff.clipboard.copyDeletedLineContent",S?(0,_.localize)(103,"Copy deleted line ({0})",i.original.startLineNumber+u):(0,_.localize)(104,"Copy changed line ({0})",i.original.startLineNumber+u),void 0,!0,async()=>{let D=this._originalTextModel.getLineContent(i.original.startLineNumber+u);D===""&&(D=this._originalTextModel.getEndOfLineSequence()===0?` +`:`\r +`),await this._clipboardService.writeText(D)})),t.getOption(92)||w.push(new k.Action("diff.inline.revertChange",(0,_.localize)(105,"Revert this change"),void 0,!0,async()=>{this._editor.revert(this._diff)})),w},autoSelectFirstItem:!0})};this._register((0,d.addStandardDisposableListener)(this._diffActions,"mousedown",h=>{if(!h.leftButton)return;const{top:v,height:w}=(0,d.getDomNodePagePosition)(this._diffActions),S=Math.floor(r/3);h.preventDefault(),f(h.posx,v+w+S)})),this._register(t.onMouseMove(h=>{(h.target.type===8||h.target.type===5)&&h.target.detail.viewZoneId===this._getViewZoneId()?(u=this._updateLightBulbPosition(this._marginDomNode,h.event.browserEvent.y,r),this.visibility=!0):this.visibility=!1})),this._register(t.onMouseDown(h=>{h.event.leftButton&&(h.target.type===8||h.target.type===5)&&h.target.detail.viewZoneId===this._getViewZoneId()&&(h.event.preventDefault(),u=this._updateLightBulbPosition(this._marginDomNode,h.event.browserEvent.y,r),f(h.event.posx,h.event.posy+r))}))}_updateLightBulbPosition(n,o,t){const{top:i}=(0,d.getDomNodePagePosition)(n),s=o-i,g=Math.floor(s/t),c=g*t;if(this._diffActions.style.top=`${c}px`,this._viewLineCounts){let l=0;for(let a=0;a{const C=this._diffModel.read(r)?.diff.read(r);if(!C)return o;const f=this._editors.modifiedSelections.read(r);if(f.every(S=>S.isEmpty()))return o;const h=new m.LineRangeSet(f.map(S=>m.LineRange.fromRangeInclusive(S))),w=C.mappings.filter(S=>S.lineRangeMapping.innerChanges&&h.intersects(S.lineRangeMapping.modified)).map(S=>({mapping:S,rangeMappings:S.lineRangeMapping.innerChanges.filter(L=>f.some(D=>_.Range.areIntersecting(L.modifiedRange,D)))}));return w.length===0||w.every(S=>S.rangeMappings.length===0)?o:w}),this._register((0,y.autorunWithStore)((r,u)=>{if(!this._options.shouldRenderOldRevertArrows.read(r))return;const C=this._diffModel.read(r),f=C?.diff.read(r);if(!C||!f||C.movedTextToCompare.read(r))return;const h=[],v=this._selectedDiffs.read(r),w=new Set(v.map(S=>S.mapping));if(v.length>0){const S=this._editors.modifiedSelections.read(r),L=u.add(new i(S[S.length-1].positionLineNumber,this._widget,v.flatMap(D=>D.rangeMappings),!0));this._editors.modified.addGlyphMarginWidget(L),h.push(L)}for(const S of f.mappings)if(!w.has(S)&&!S.lineRangeMapping.modified.isEmpty&&S.lineRangeMapping.innerChanges){const L=u.add(new i(S.lineRangeMapping.modified.startLineNumber,this._widget,S.lineRangeMapping,!1));this._editors.modified.addGlyphMarginWidget(L),h.push(L)}u.add((0,E.toDisposable)(()=>{for(const S of h)this._editors.modified.removeGlyphMarginWidget(S)}))}))}}e.RevertButtonsFeature=t;class i extends E.Disposable{static{this.counter=0}getId(){return this._id}constructor(g,c,l,a){super(),this._lineNumber=g,this._widget=c,this._diffs=l,this._revertSelection=a,this._id=`revertButton${i.counter++}`,this._domNode=(0,d.h)("div.revertButton",{title:this._revertSelection?(0,n.localize)(122,"Revert Selected Changes"):(0,n.localize)(123,"Revert Change")},[(0,k.renderIcon)(I.Codicon.arrowRight)]).root,this._register((0,d.addDisposableListener)(this._domNode,d.EventType.MOUSE_DOWN,r=>{r.button!==2&&(r.stopPropagation(),r.preventDefault())})),this._register((0,d.addDisposableListener)(this._domNode,d.EventType.MOUSE_UP,r=>{r.stopPropagation(),r.preventDefault()})),this._register((0,d.addDisposableListener)(this._domNode,d.EventType.CLICK,r=>{this._diffs instanceof b.LineRangeMapping?this._widget.revert(this._diffs):this._widget.revertRangeMappings(this._diffs),r.stopPropagation(),r.preventDefault()}))}getDomNode(){return this._domNode}getPosition(){return{lane:p.GlyphMarginLane.Right,range:{startColumn:1,startLineNumber:this._lineNumber,endColumn:1,endLineNumber:this._lineNumber},zIndex:10001}}}e.RevertButton=i}),define(ne[88],se([1,0,67,18,2,21,362,9,4,113]),function(oe,e,d,k,I,E,y,m,_,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.RefCounted=e.DisposableCancellationTokenSource=e.ManagedOverlayWidget=e.PlaceholderViewZone=e.ViewZoneOverlayWidget=e.ObservableElementSizeObserver=void 0,e.joinCombine=p,e.applyObservableDecorations=n,e.appendRemoveOnDispose=o,e.prependRemoveOnDispose=t,e.animatedObservable=s,e.applyStyle=r,e.applyViewZones=u,e.translatePosition=f,e.filterWithPrevious=v;function p(D,T,M,A){if(D.length===0)return T;if(T.length===0)return D;const P=[];let N=0,O=0;for(;NV?(P.push(x),O++):(P.push(A(F,x)),N++,O++)}for(;N`Apply decorations from ${T.debugName}`},P=>{const N=T.read(P);A.set(N)})),M.add({dispose:()=>{A.clear()}}),M}function o(D,T){return D.appendChild(T),(0,I.toDisposable)(()=>{T.remove()})}function t(D,T){return D.prepend(T),(0,I.toDisposable)(()=>{T.remove()})}class i extends I.Disposable{get width(){return this._width}get height(){return this._height}get automaticLayout(){return this._automaticLayout}constructor(T,M){super(),this._automaticLayout=!1,this.elementSizeObserver=this._register(new y.ElementSizeObserver(T,M)),this._width=(0,E.observableValue)(this,this.elementSizeObserver.getWidth()),this._height=(0,E.observableValue)(this,this.elementSizeObserver.getHeight()),this._register(this.elementSizeObserver.onDidChange(A=>(0,E.transaction)(P=>{this._width.set(this.elementSizeObserver.getWidth(),P),this._height.set(this.elementSizeObserver.getHeight(),P)})))}observe(T){this.elementSizeObserver.observe(T)}setAutomaticLayout(T){this._automaticLayout=T,T?this.elementSizeObserver.startObserving():this.elementSizeObserver.stopObserving()}}e.ObservableElementSizeObserver=i;function s(D,T,M){let A=T.get(),P=A,N=A;const O=(0,E.observableValue)("animatedValue",A);let F=-1;const x=300;let W;M.add((0,E.autorunHandleChanges)({createEmptyChangeSummary:()=>({animate:!1}),handleChange:(q,H)=>(q.didChange(T)&&(H.animate=H.animate||q.change),!0)},(q,H)=>{W!==void 0&&(D.cancelAnimationFrame(W),W=void 0),P=N,A=T.read(q),F=Date.now()-(H.animate?0:x),V()}));function V(){const q=Date.now()-F;N=Math.floor(g(q,P,A-P,x)),q{this._actualTop.set(A,void 0)},this.onComputedHeight=A=>{this._actualHeight.set(A,void 0)}}}e.PlaceholderViewZone=l;class a{static{this._counter=0}constructor(T,M){this._editor=T,this._domElement=M,this._overlayWidgetId=`managedOverlayWidget-${a._counter++}`,this._overlayWidget={getId:()=>this._overlayWidgetId,getDomNode:()=>this._domElement,getPosition:()=>null},this._editor.addOverlayWidget(this._overlayWidget)}dispose(){this._editor.removeOverlayWidget(this._overlayWidget)}}e.ManagedOverlayWidget=a;function r(D,T){return(0,E.autorun)(M=>{for(let[A,P]of Object.entries(T))P&&typeof P=="object"&&"read"in P&&(P=P.read(M)),typeof P=="number"&&(P=`${P}px`),A=A.replace(/[A-Z]/g,N=>"-"+N.toLowerCase()),D.style[A]=P})}function u(D,T,M,A){const P=new I.DisposableStore,N=[];return P.add((0,E.autorunWithStore)((O,F)=>{const x=T.read(O),W=new Map,V=new Map;M&&M(!0),D.changeViewZones(q=>{for(const H of N)q.removeZone(H),A?.delete(H);N.length=0;for(const H of x){const z=q.addZone(H);H.setZoneId&&H.setZoneId(z),N.push(z),A?.add(z),W.set(H,z)}}),M&&M(!1),F.add((0,E.autorunHandleChanges)({createEmptyChangeSummary(){return{zoneIds:[]}},handleChange(q,H){const z=V.get(q.changedObservable);return z!==void 0&&H.zoneIds.push(z),!0}},(q,H)=>{for(const z of x)z.onChange&&(V.set(z.onChange,W.get(z)),z.onChange.read(q));M&&M(!0),D.changeViewZones(z=>{for(const U of H.zoneIds)z.layoutZone(U)}),M&&M(!1)}))})),P.add({dispose(){M&&M(!0),D.changeViewZones(O=>{for(const F of N)O.removeZone(F)}),A?.clear(),M&&M(!1)}}),P}class C extends k.CancellationTokenSource{dispose(){super.dispose(!0)}}e.DisposableCancellationTokenSource=C;function f(D,T){const M=(0,d.findLast)(T,P=>P.original.startLineNumber<=D.lineNumber);if(!M)return _.Range.fromPositions(D);if(M.original.endLineNumberExclusive<=D.lineNumber){const P=D.lineNumber-M.original.endLineNumberExclusive+M.modified.endLineNumberExclusive;return _.Range.fromPositions(new m.Position(P,D.column))}if(!M.innerChanges)return _.Range.fromPositions(new m.Position(M.modified.startLineNumber,1));const A=(0,d.findLast)(M.innerChanges,P=>P.originalRange.getStartPosition().isBeforeOrEqual(D));if(!A){const P=D.lineNumber-M.original.startLineNumber+M.modified.startLineNumber;return _.Range.fromPositions(new m.Position(P,D.column))}if(A.originalRange.containsPosition(D))return A.modifiedRange;{const P=h(A.originalRange.getEndPosition(),D);return _.Range.fromPositions(P.addToPosition(A.modifiedRange.getEndPosition()))}}function h(D,T){return D.lineNumber===T.lineNumber?new b.TextLength(0,T.column-D.column):new b.TextLength(T.lineNumber-D.lineNumber,T.column-1)}function v(D,T){let M;return D.filter(A=>{const P=T(A,M);return M=A,P})}class w{static create(T,M=void 0){return new S(T,T,M)}static createWithDisposable(T,M,A=void 0){const P=new I.DisposableStore;return P.add(M),P.add(T),new S(T,P,A)}}e.RefCounted=w;class S extends w{constructor(T,M,A){super(),this.object=T,this._disposable=M,this._debugOwner=A,this._refCount=1,this._isDisposed=!1,this._owners=[],A&&this._addOwner(A)}_addOwner(T){T&&this._owners.push(T)}createNewRef(T){return this._refCount++,T&&this._addOwner(T),new L(this,T)}dispose(){this._isDisposed||(this._isDisposed=!0,this._decreaseRefCount(this._debugOwner))}_decreaseRefCount(T){if(this._refCount--,this._refCount===0&&this._disposable.dispose(),T){const M=this._owners.indexOf(T);M!==-1&&this._owners.splice(M,1)}}}class L extends w{constructor(T,M){super(),this._base=T,this._debugOwner=M,this._isDisposed=!1}get object(){return this._base.object}createNewRef(T){return this._base.createNewRef(T)}dispose(){this._isDisposed||(this._isDisposed=!0,this._base._decreaseRefCount(this._debugOwner))}}}),define(ne[364],se([1,0,5,87,41,13,67,26,2,21,30,88,68,3]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.MovedBlocksLinesFeature=void 0;class i extends _.Disposable{static{this.movedCodeBlockPadding=4}constructor(l,a,r,u,C){super(),this._rootElement=l,this._diffModel=a,this._originalEditorLayoutInfo=r,this._modifiedEditorLayoutInfo=u,this._editors=C,this._originalScrollTop=(0,b.observableFromEvent)(this,this._editors.original.onDidScrollChange,()=>this._editors.original.getScrollTop()),this._modifiedScrollTop=(0,b.observableFromEvent)(this,this._editors.modified.onDidScrollChange,()=>this._editors.modified.getScrollTop()),this._viewZonesChanged=(0,b.observableSignalFromEvent)("onDidChangeViewZones",this._editors.modified.onDidChangeViewZones),this.width=(0,b.observableValue)(this,0),this._modifiedViewZonesChangedSignal=(0,b.observableSignalFromEvent)("modified.onDidChangeViewZones",this._editors.modified.onDidChangeViewZones),this._originalViewZonesChangedSignal=(0,b.observableSignalFromEvent)("original.onDidChangeViewZones",this._editors.original.onDidChangeViewZones),this._state=(0,b.derivedWithStore)(this,(S,L)=>{this._element.replaceChildren();const D=this._diffModel.read(S),T=D?.diff.read(S)?.movedTexts;if(!T||T.length===0){this.width.set(0,void 0);return}this._viewZonesChanged.read(S);const M=this._originalEditorLayoutInfo.read(S),A=this._modifiedEditorLayoutInfo.read(S);if(!M||!A){this.width.set(0,void 0);return}this._modifiedViewZonesChangedSignal.read(S),this._originalViewZonesChangedSignal.read(S);const P=T.map(q=>{function H(ie,ue){const he=ue.getTopForLineNumber(ie.startLineNumber,!0),pe=ue.getTopForLineNumber(ie.endLineNumberExclusive,!0);return(he+pe)/2}const z=H(q.lineRangeMapping.original,this._editors.original),U=this._originalScrollTop.read(S),j=H(q.lineRangeMapping.modified,this._editors.modified),Q=this._modifiedScrollTop.read(S),G=z-U,K=j-Q,R=Math.min(z,j),J=Math.max(z,j);return{range:new o.OffsetRange(R,J),from:G,to:K,fromWithoutScroll:z,toWithoutScroll:j,move:q}});P.sort((0,E.tieBreakComparators)((0,E.compareBy)(q=>q.fromWithoutScroll>q.toWithoutScroll,E.booleanComparator),(0,E.compareBy)(q=>q.fromWithoutScroll>q.toWithoutScroll?q.fromWithoutScroll:-q.toWithoutScroll,E.numberComparator)));const N=s.compute(P.map(q=>q.range)),O=10,F=M.verticalScrollbarWidth,x=(N.getTrackCount()-1)*10+O*2,W=F+x+(A.contentLeft-i.movedCodeBlockPadding);let V=0;for(const q of P){const H=N.getTrack(V),z=F+O+H*10,U=15,j=15,Q=W,G=A.glyphMarginWidth+A.lineNumbersWidth,K=18,R=document.createElementNS("http://www.w3.org/2000/svg","rect");R.classList.add("arrow-rectangle"),R.setAttribute("x",`${Q-G}`),R.setAttribute("y",`${q.to-K/2}`),R.setAttribute("width",`${G}`),R.setAttribute("height",`${K}`),this._element.appendChild(R);const J=document.createElementNS("http://www.w3.org/2000/svg","g"),ie=document.createElementNS("http://www.w3.org/2000/svg","path");ie.setAttribute("d",`M 0 ${q.from} L ${z} ${q.from} L ${z} ${q.to} L ${Q-j} ${q.to}`),ie.setAttribute("fill","none"),J.appendChild(ie);const ue=document.createElementNS("http://www.w3.org/2000/svg","polygon");ue.classList.add("arrow"),L.add((0,b.autorun)(he=>{ie.classList.toggle("currentMove",q.move===D.activeMovedText.read(he)),ue.classList.toggle("currentMove",q.move===D.activeMovedText.read(he))})),ue.setAttribute("points",`${Q-j},${q.to-U/2} ${Q},${q.to} ${Q-j},${q.to+U/2}`),J.appendChild(ue),this._element.appendChild(J),V++}this.width.set(x,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,_.toDisposable)(()=>this._element.remove())),this._register((0,b.autorun)(S=>{const L=this._originalEditorLayoutInfo.read(S),D=this._modifiedEditorLayoutInfo.read(S);!L||!D||(this._element.style.left=`${L.width-L.verticalScrollbarWidth}px`,this._element.style.height=`${L.height}px`,this._element.style.width=`${L.verticalScrollbarWidth+L.contentLeft-i.movedCodeBlockPadding+this.width.read(S)}px`)})),this._register((0,b.recomputeInitiallyAndOnChange)(this._state));const f=(0,b.derived)(S=>{const D=this._diffModel.read(S)?.diff.read(S);return D?D.movedTexts.map(T=>({move:T,original:new n.PlaceholderViewZone((0,b.constObservable)(T.lineRangeMapping.original.startLineNumber-1),18),modified:new n.PlaceholderViewZone((0,b.constObservable)(T.lineRangeMapping.modified.startLineNumber-1),18)})):[]});this._register((0,n.applyViewZones)(this._editors.original,f.map(S=>S.map(L=>L.original)))),this._register((0,n.applyViewZones)(this._editors.modified,f.map(S=>S.map(L=>L.modified)))),this._register((0,b.autorunWithStore)((S,L)=>{const D=f.read(S);for(const T of D)L.add(new g(this._editors.original,T.original,T.move,"original",this._diffModel.get())),L.add(new g(this._editors.modified,T.modified,T.move,"modified",this._diffModel.get()))}));const h=(0,b.observableSignalFromEvent)("original.onDidFocusEditorWidget",S=>this._editors.original.onDidFocusEditorWidget(()=>setTimeout(()=>S(void 0),0))),v=(0,b.observableSignalFromEvent)("modified.onDidFocusEditorWidget",S=>this._editors.modified.onDidFocusEditorWidget(()=>setTimeout(()=>S(void 0),0)));let w="modified";this._register((0,b.autorunHandleChanges)({createEmptyChangeSummary:()=>{},handleChange:(S,L)=>(S.didChange(h)&&(w="original"),S.didChange(v)&&(w="modified"),!0)},S=>{h.read(S),v.read(S);const L=this._diffModel.read(S);if(!L)return;const D=L.diff.read(S);let T;if(D&&w==="original"){const M=this._editors.originalCursor.read(S);M&&(T=D.movedTexts.find(A=>A.lineRangeMapping.original.contains(M.lineNumber)))}if(D&&w==="modified"){const M=this._editors.modifiedCursor.read(S);M&&(T=D.movedTexts.find(A=>A.lineRangeMapping.modified.contains(M.lineNumber)))}T!==L.movedTextToCompare.get()&&L.movedTextToCompare.set(void 0,void 0),L.setActiveMovedText(T)}))}}e.MovedBlocksLinesFeature=i;class s{static compute(l){const a=[],r=[];for(const u of l){let C=a.findIndex(f=>!f.intersectsStrict(u));C===-1&&(a.length>=6?C=(0,y.findMaxIdx)(a,(0,E.compareBy)(h=>h.intersectWithRangeLength(u),E.numberComparator)):(C=a.length,a.push(new o.OffsetRangeSet))),a[C].addRange(u),r.push(C)}return new s(a.length,r)}constructor(l,a){this._trackCount=l,this.trackPerLineIdx=a}getTrack(l){return this.trackPerLineIdx[l]}getTrackCount(){return this._trackCount}}class g extends n.ViewZoneOverlayWidget{constructor(l,a,r,u,C){const f=(0,d.h)("div.diff-hidden-lines-widget");super(l,a,f.root),this._editor=l,this._move=r,this._kind=u,this._diffModel=C,this._nodes=(0,d.h)("div.diff-moved-code-block",{style:{marginRight:"4px"}},[(0,d.h)("div.text-content@textContent"),(0,d.h)("div.action-bar@actionBar")]),f.root.appendChild(this._nodes.root);const h=(0,b.observableFromEvent)(this._editor.onDidLayoutChange,()=>this._editor.getLayoutInfo());this._register((0,n.applyStyle)(this._nodes.root,{paddingRight:h.map(D=>D.verticalScrollbarWidth)}));let v;r.changes.length>0?v=this._kind==="original"?(0,t.localize)(118,"Code moved with changes to line {0}-{1}",this._move.lineRangeMapping.modified.startLineNumber,this._move.lineRangeMapping.modified.endLineNumberExclusive-1):(0,t.localize)(119,"Code moved with changes from line {0}-{1}",this._move.lineRangeMapping.original.startLineNumber,this._move.lineRangeMapping.original.endLineNumberExclusive-1):v=this._kind==="original"?(0,t.localize)(120,"Code moved to line {0}-{1}",this._move.lineRangeMapping.modified.startLineNumber,this._move.lineRangeMapping.modified.endLineNumberExclusive-1):(0,t.localize)(121,"Code moved from line {0}-{1}",this._move.lineRangeMapping.original.startLineNumber,this._move.lineRangeMapping.original.endLineNumberExclusive-1);const w=this._register(new k.ActionBar(this._nodes.actionBar,{highlightToggledItems:!0})),S=new I.Action("",v,"",!1);w.push(S,{icon:!1,label:!0});const L=new I.Action("","Compare",p.ThemeIcon.asClassName(m.Codicon.compareChanges),!0,()=>{this._editor.focus(),this._diffModel.movedTextToCompare.set(this._diffModel.movedTextToCompare.get()===r?void 0:this._move,void 0)});this._register((0,b.autorun)(D=>{const T=this._diffModel.movedTextToCompare.read(D)===r;L.checked=T})),w.push(L,{icon:!1,label:!0})}}}),define(ne[654],se([1,0,5,2,21,55,68]),function(oe,e,d,k,I,E,y){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.EditorGutter=void 0;class m extends k.Disposable{constructor(p,n,o){super(),this._editor=p,this._domNode=n,this.itemProvider=o,this.scrollTop=(0,I.observableFromEvent)(this,this._editor.onDidScrollChange,s=>this._editor.getScrollTop()),this.isScrollTopZero=this.scrollTop.map(s=>s===0),this.modelAttached=(0,I.observableFromEvent)(this,this._editor.onDidChangeModel,s=>this._editor.hasModel()),this.editorOnDidChangeViewZones=(0,I.observableSignalFromEvent)("onDidChangeViewZones",this._editor.onDidChangeViewZones),this.editorOnDidContentSizeChange=(0,I.observableSignalFromEvent)("onDidContentSizeChange",this._editor.onDidContentSizeChange),this.domNodeSizeChanged=(0,I.observableSignal)("domNodeSizeChanged"),this.views=new Map,this._domNode.className="gutter monaco-editor";const t=this._domNode.appendChild((0,d.h)("div.scroll-decoration",{role:"presentation",ariaHidden:"true",style:{width:"100%"}}).root),i=new ResizeObserver(()=>{(0,I.transaction)(s=>{this.domNodeSizeChanged.trigger(s)})});i.observe(this._domNode),this._register((0,k.toDisposable)(()=>i.disconnect())),this._register((0,I.autorun)(s=>{t.className=this.isScrollTopZero.read(s)?"":"scroll-decoration"})),this._register((0,I.autorun)(s=>this.render(s)))}dispose(){super.dispose(),(0,d.reset)(this._domNode)}render(p){if(!this.modelAttached.read(p))return;this.domNodeSizeChanged.read(p),this.editorOnDidChangeViewZones.read(p),this.editorOnDidContentSizeChange.read(p);const n=this.scrollTop.read(p),o=this._editor.getVisibleRanges(),t=new Set(this.views.keys()),i=y.OffsetRange.ofStartAndLength(0,this._domNode.clientHeight);if(!i.isEmpty)for(const s of o){const g=new E.LineRange(s.startLineNumber,s.endLineNumber+1),c=this.itemProvider.getIntersectingGutterItems(g,p);(0,I.transaction)(l=>{for(const a of c){if(!a.range.intersect(g))continue;t.delete(a.id);let r=this.views.get(a.id);if(r)r.item.set(a,l);else{const h=document.createElement("div");this._domNode.appendChild(h);const v=(0,I.observableValue)("item",a),w=this.itemProvider.createView(v,h);r=new _(v,w,h),this.views.set(a.id,r)}const u=a.range.startLineNumber<=this._editor.getModel().getLineCount()?this._editor.getTopForLineNumber(a.range.startLineNumber,!0)-n:this._editor.getBottomForLineNumber(a.range.startLineNumber-1,!1)-n,f=(a.range.endLineNumberExclusive===1?Math.max(u,this._editor.getTopForLineNumber(a.range.startLineNumber,!1)-n):Math.max(u,this._editor.getBottomForLineNumber(a.range.endLineNumberExclusive-1,!0)-n))-u;r.domNode.style.top=`${u}px`,r.domNode.style.height=`${f}px`,r.gutterItemView.layout(y.OffsetRange.ofStartAndLength(u,f),i)}})}for(const s of t){const g=this.views.get(s);g.gutterItemView.dispose(),g.domNode.remove(),this.views.delete(s)}}}e.EditorGutter=m;class _{constructor(p,n,o){this.item=p,this.gutterItemView=n,this.domNode=o}}}),define(ne[365],se([1,0,41]),function(oe,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ActionRunnerWithContext=void 0;class k extends d.ActionRunner{constructor(E){super(),this._getContext=E}runAction(E,y){const m=this._getContext();return super.runAction(E,m)}}e.ActionRunnerWithContext=k}),define(ne[37],se([1,0,13,60,16,197,147,3]),function(oe,e,d,k,I,E,y,m){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.EditorOptions=e.editorOptionsRegistry=e.EDITOR_FONT_DEFAULTS=e.unicodeHighlightConfigKeys=e.inUntrustedWorkspace=e.ShowLightbulbIconMode=e.EditorLayoutInfoComputer=e.EditorFontVariations=e.EditorFontLigatures=e.TextEditorCursorStyle=e.ApplyUpdateResult=e.ComputeOptionsMemory=e.ConfigurationChangedEvent=e.MINIMAP_GUTTER_WIDTH=void 0,e.boolean=s,e.clampedInt=c,e.clampedFloat=a,e.stringSet=C,e.filterValidationDecorations=ge,e.MINIMAP_GUTTER_WIDTH=8;class _{constructor(fe){this._values=fe}hasChanged(fe){return this._values[fe]}}e.ConfigurationChangedEvent=_;class b{constructor(){this.stableMinimapLayoutInput=null,this.stableFitMaxMinimapScale=0,this.stableFitRemainingWidth=0}}e.ComputeOptionsMemory=b;class p{constructor(fe,we,Fe,Ce){this.id=fe,this.name=we,this.defaultValue=Fe,this.schema=Ce}applyUpdate(fe,we){return o(fe,we)}compute(fe,we,Fe){return Fe}}class n{constructor(fe,we){this.newValue=fe,this.didChange=we}}e.ApplyUpdateResult=n;function o(Pe,fe){if(typeof Pe!="object"||typeof fe!="object"||!Pe||!fe)return new n(fe,Pe!==fe);if(Array.isArray(Pe)||Array.isArray(fe)){const Fe=Array.isArray(Pe)&&Array.isArray(fe)&&d.equals(Pe,fe);return new n(fe,!Fe)}let we=!1;for(const Fe in fe)if(fe.hasOwnProperty(Fe)){const Ce=o(Pe[Fe],fe[Fe]);Ce.didChange&&(Pe[Fe]=Ce.newValue,we=!0)}return new n(Pe,we)}class t{constructor(fe){this.schema=void 0,this.id=fe,this.name="_never_",this.defaultValue=void 0}applyUpdate(fe,we){return o(fe,we)}validate(fe){return this.defaultValue}}class i{constructor(fe,we,Fe,Ce){this.id=fe,this.name=we,this.defaultValue=Fe,this.schema=Ce}applyUpdate(fe,we){return o(fe,we)}validate(fe){return typeof fe>"u"?this.defaultValue:fe}compute(fe,we,Fe){return Fe}}function s(Pe,fe){return typeof Pe>"u"?fe:Pe==="false"?!1:!!Pe}class g extends i{constructor(fe,we,Fe,Ce=void 0){typeof Ce<"u"&&(Ce.type="boolean",Ce.default=Fe),super(fe,we,Fe,Ce)}validate(fe){return s(fe,this.defaultValue)}}function c(Pe,fe,we,Fe){if(typeof Pe>"u")return fe;let Ce=parseInt(Pe,10);return isNaN(Ce)?fe:(Ce=Math.max(we,Ce),Ce=Math.min(Fe,Ce),Ce|0)}class l extends i{static clampedInt(fe,we,Fe,Ce){return c(fe,we,Fe,Ce)}constructor(fe,we,Fe,Ce,Se,ye=void 0){typeof ye<"u"&&(ye.type="integer",ye.default=Fe,ye.minimum=Ce,ye.maximum=Se),super(fe,we,Fe,ye),this.minimum=Ce,this.maximum=Se}validate(fe){return l.clampedInt(fe,this.defaultValue,this.minimum,this.maximum)}}function a(Pe,fe,we,Fe){if(typeof Pe>"u")return fe;const Ce=r.float(Pe,fe);return r.clamp(Ce,we,Fe)}class r extends i{static clamp(fe,we,Fe){return feFe?Fe:fe}static float(fe,we){if(typeof fe=="number")return fe;if(typeof fe>"u")return we;const Fe=parseFloat(fe);return isNaN(Fe)?we:Fe}constructor(fe,we,Fe,Ce,Se){typeof Se<"u"&&(Se.type="number",Se.default=Fe),super(fe,we,Fe,Se),this.validationFn=Ce}validate(fe){return this.validationFn(r.float(fe,this.defaultValue))}}class u extends i{static string(fe,we){return typeof fe!="string"?we:fe}constructor(fe,we,Fe,Ce=void 0){typeof Ce<"u"&&(Ce.type="string",Ce.default=Fe),super(fe,we,Fe,Ce)}validate(fe){return u.string(fe,this.defaultValue)}}function C(Pe,fe,we,Fe){return typeof Pe!="string"?fe:Fe&&Pe in Fe?Fe[Pe]:we.indexOf(Pe)===-1?fe:Pe}class f extends i{constructor(fe,we,Fe,Ce,Se=void 0){typeof Se<"u"&&(Se.type="string",Se.enum=Ce,Se.default=Fe),super(fe,we,Fe,Se),this._allowedValues=Ce}validate(fe){return C(fe,this.defaultValue,this._allowedValues)}}class h extends p{constructor(fe,we,Fe,Ce,Se,ye,De=void 0){typeof De<"u"&&(De.type="string",De.enum=Se,De.default=Ce),super(fe,we,Fe,De),this._allowedValues=Se,this._convert=ye}validate(fe){return typeof fe!="string"?this.defaultValue:this._allowedValues.indexOf(fe)===-1?this.defaultValue:this._convert(fe)}}function v(Pe){switch(Pe){case"none":return 0;case"keep":return 1;case"brackets":return 2;case"advanced":return 3;case"full":return 4}}class w extends p{constructor(){super(2,"accessibilitySupport",0,{type:"string",enum:["auto","on","off"],enumDescriptions:[m.localize(183,"Use platform APIs to detect when a Screen Reader is attached."),m.localize(184,"Optimize for usage with a Screen Reader."),m.localize(185,"Assume a screen reader is not attached.")],default:"auto",tags:["accessibility"],description:m.localize(186,"Controls if the UI should run in a mode where it is optimized for screen readers.")})}validate(fe){switch(fe){case"auto":return 0;case"off":return 1;case"on":return 2}return this.defaultValue}compute(fe,we,Fe){return Fe===0?fe.accessibilitySupport:Fe}}class S extends p{constructor(){const fe={insertSpace:!0,ignoreEmptyLines:!0};super(23,"comments",fe,{"editor.comments.insertSpace":{type:"boolean",default:fe.insertSpace,description:m.localize(187,"Controls whether a space character is inserted when commenting.")},"editor.comments.ignoreEmptyLines":{type:"boolean",default:fe.ignoreEmptyLines,description:m.localize(188,"Controls if empty lines should be ignored with toggle, add or remove actions for line comments.")}})}validate(fe){if(!fe||typeof fe!="object")return this.defaultValue;const we=fe;return{insertSpace:s(we.insertSpace,this.defaultValue.insertSpace),ignoreEmptyLines:s(we.ignoreEmptyLines,this.defaultValue.ignoreEmptyLines)}}}function L(Pe){switch(Pe){case"blink":return 1;case"smooth":return 2;case"phase":return 3;case"expand":return 4;case"solid":return 5}}var D;(function(Pe){Pe[Pe.Line=1]="Line",Pe[Pe.Block=2]="Block",Pe[Pe.Underline=3]="Underline",Pe[Pe.LineThin=4]="LineThin",Pe[Pe.BlockOutline=5]="BlockOutline",Pe[Pe.UnderlineThin=6]="UnderlineThin"})(D||(e.TextEditorCursorStyle=D={}));function T(Pe){switch(Pe){case"line":return D.Line;case"block":return D.Block;case"underline":return D.Underline;case"line-thin":return D.LineThin;case"block-outline":return D.BlockOutline;case"underline-thin":return D.UnderlineThin}}class M extends t{constructor(){super(143)}compute(fe,we,Fe){const Ce=["monaco-editor"];return we.get(39)&&Ce.push(we.get(39)),fe.extraEditorClassName&&Ce.push(fe.extraEditorClassName),we.get(74)==="default"?Ce.push("mouse-default"):we.get(74)==="copy"&&Ce.push("mouse-copy"),we.get(112)&&Ce.push("showUnused"),we.get(141)&&Ce.push("showDeprecated"),Ce.join(" ")}}class A extends g{constructor(){super(37,"emptySelectionClipboard",!0,{description:m.localize(189,"Controls whether copying without a selection copies the current line.")})}compute(fe,we,Fe){return Fe&&fe.emptySelectionClipboard}}class P extends p{constructor(){const fe={cursorMoveOnType:!0,seedSearchStringFromSelection:"always",autoFindInSelection:"never",globalFindClipboard:!1,addExtraSpaceOnTop:!0,loop:!0};super(41,"find",fe,{"editor.find.cursorMoveOnType":{type:"boolean",default:fe.cursorMoveOnType,description:m.localize(190,"Controls whether the cursor should jump to find matches while typing.")},"editor.find.seedSearchStringFromSelection":{type:"string",enum:["never","always","selection"],default:fe.seedSearchStringFromSelection,enumDescriptions:[m.localize(191,"Never seed search string from the editor selection."),m.localize(192,"Always seed search string from the editor selection, including word at cursor position."),m.localize(193,"Only seed search string from the editor selection.")],description:m.localize(194,"Controls whether the search string in the Find Widget is seeded from the editor selection.")},"editor.find.autoFindInSelection":{type:"string",enum:["never","always","multiline"],default:fe.autoFindInSelection,enumDescriptions:[m.localize(195,"Never turn on Find in Selection automatically (default)."),m.localize(196,"Always turn on Find in Selection automatically."),m.localize(197,"Turn on Find in Selection automatically when multiple lines of content are selected.")],description:m.localize(198,"Controls the condition for turning on Find in Selection automatically.")},"editor.find.globalFindClipboard":{type:"boolean",default:fe.globalFindClipboard,description:m.localize(199,"Controls whether the Find Widget should read or modify the shared find clipboard on macOS."),included:I.isMacintosh},"editor.find.addExtraSpaceOnTop":{type:"boolean",default:fe.addExtraSpaceOnTop,description:m.localize(200,"Controls whether the Find Widget should add extra lines on top of the editor. When true, you can scroll beyond the first line when the Find Widget is visible.")},"editor.find.loop":{type:"boolean",default:fe.loop,description:m.localize(201,"Controls whether the search automatically restarts from the beginning (or the end) when no further matches can be found.")}})}validate(fe){if(!fe||typeof fe!="object")return this.defaultValue;const we=fe;return{cursorMoveOnType:s(we.cursorMoveOnType,this.defaultValue.cursorMoveOnType),seedSearchStringFromSelection:typeof fe.seedSearchStringFromSelection=="boolean"?fe.seedSearchStringFromSelection?"always":"never":C(we.seedSearchStringFromSelection,this.defaultValue.seedSearchStringFromSelection,["never","always","selection"]),autoFindInSelection:typeof fe.autoFindInSelection=="boolean"?fe.autoFindInSelection?"always":"never":C(we.autoFindInSelection,this.defaultValue.autoFindInSelection,["never","always","multiline"]),globalFindClipboard:s(we.globalFindClipboard,this.defaultValue.globalFindClipboard),addExtraSpaceOnTop:s(we.addExtraSpaceOnTop,this.defaultValue.addExtraSpaceOnTop),loop:s(we.loop,this.defaultValue.loop)}}}class N extends p{static{this.OFF='"liga" off, "calt" off'}static{this.ON='"liga" on, "calt" on'}constructor(){super(51,"fontLigatures",N.OFF,{anyOf:[{type:"boolean",description:m.localize(202,"Enables/Disables font ligatures ('calt' and 'liga' font features). Change this to a string for fine-grained control of the 'font-feature-settings' CSS property.")},{type:"string",description:m.localize(203,"Explicit 'font-feature-settings' CSS property. A boolean can be passed instead if one only needs to turn on/off ligatures.")}],description:m.localize(204,"Configures font ligatures or font features. Can be either a boolean to enable/disable ligatures or a string for the value of the CSS 'font-feature-settings' property."),default:!1})}validate(fe){return typeof fe>"u"?this.defaultValue:typeof fe=="string"?fe==="false"||fe.length===0?N.OFF:fe==="true"?N.ON:fe:fe?N.ON:N.OFF}}e.EditorFontLigatures=N;class O extends p{static{this.OFF="normal"}static{this.TRANSLATE="translate"}constructor(){super(54,"fontVariations",O.OFF,{anyOf:[{type:"boolean",description:m.localize(205,"Enables/Disables the translation from font-weight to font-variation-settings. Change this to a string for fine-grained control of the 'font-variation-settings' CSS property.")},{type:"string",description:m.localize(206,"Explicit 'font-variation-settings' CSS property. A boolean can be passed instead if one only needs to translate font-weight to font-variation-settings.")}],description:m.localize(207,"Configures font variations. Can be either a boolean to enable/disable the translation from font-weight to font-variation-settings or a string for the value of the CSS 'font-variation-settings' property."),default:!1})}validate(fe){return typeof fe>"u"?this.defaultValue:typeof fe=="string"?fe==="false"?O.OFF:fe==="true"?O.TRANSLATE:fe:fe?O.TRANSLATE:O.OFF}compute(fe,we,Fe){return fe.fontInfo.fontVariationSettings}}e.EditorFontVariations=O;class F extends t{constructor(){super(50)}compute(fe,we,Fe){return fe.fontInfo}}class x extends i{constructor(){super(52,"fontSize",e.EDITOR_FONT_DEFAULTS.fontSize,{type:"number",minimum:6,maximum:100,default:e.EDITOR_FONT_DEFAULTS.fontSize,description:m.localize(208,"Controls the font size in pixels.")})}validate(fe){const we=r.float(fe,this.defaultValue);return we===0?e.EDITOR_FONT_DEFAULTS.fontSize:r.clamp(we,6,100)}compute(fe,we,Fe){return fe.fontInfo.fontSize}}class W extends p{static{this.SUGGESTION_VALUES=["normal","bold","100","200","300","400","500","600","700","800","900"]}static{this.MINIMUM_VALUE=1}static{this.MAXIMUM_VALUE=1e3}constructor(){super(53,"fontWeight",e.EDITOR_FONT_DEFAULTS.fontWeight,{anyOf:[{type:"number",minimum:W.MINIMUM_VALUE,maximum:W.MAXIMUM_VALUE,errorMessage:m.localize(209,'Only "normal" and "bold" keywords or numbers between 1 and 1000 are allowed.')},{type:"string",pattern:"^(normal|bold|1000|[1-9][0-9]{0,2})$"},{enum:W.SUGGESTION_VALUES}],default:e.EDITOR_FONT_DEFAULTS.fontWeight,description:m.localize(210,'Controls the font weight. Accepts "normal" and "bold" keywords or numbers between 1 and 1000.')})}validate(fe){return fe==="normal"||fe==="bold"?fe:String(l.clampedInt(fe,e.EDITOR_FONT_DEFAULTS.fontWeight,W.MINIMUM_VALUE,W.MAXIMUM_VALUE))}}class V extends p{constructor(){const fe={multiple:"peek",multipleDefinitions:"peek",multipleTypeDefinitions:"peek",multipleDeclarations:"peek",multipleImplementations:"peek",multipleReferences:"peek",multipleTests:"peek",alternativeDefinitionCommand:"editor.action.goToReferences",alternativeTypeDefinitionCommand:"editor.action.goToReferences",alternativeDeclarationCommand:"editor.action.goToReferences",alternativeImplementationCommand:"",alternativeReferenceCommand:"",alternativeTestsCommand:""},we={type:"string",enum:["peek","gotoAndPeek","goto"],default:fe.multiple,enumDescriptions:[m.localize(211,"Show Peek view of the results (default)"),m.localize(212,"Go to the primary result and show a Peek view"),m.localize(213,"Go to the primary result and enable Peek-less navigation to others")]},Fe=["","editor.action.referenceSearch.trigger","editor.action.goToReferences","editor.action.peekImplementation","editor.action.goToImplementation","editor.action.peekTypeDefinition","editor.action.goToTypeDefinition","editor.action.peekDeclaration","editor.action.revealDeclaration","editor.action.peekDefinition","editor.action.revealDefinitionAside","editor.action.revealDefinition"];super(58,"gotoLocation",fe,{"editor.gotoLocation.multiple":{deprecationMessage:m.localize(214,"This setting is deprecated, please use separate settings like 'editor.editor.gotoLocation.multipleDefinitions' or 'editor.editor.gotoLocation.multipleImplementations' instead.")},"editor.gotoLocation.multipleDefinitions":{description:m.localize(215,"Controls the behavior the 'Go to Definition'-command when multiple target locations exist."),...we},"editor.gotoLocation.multipleTypeDefinitions":{description:m.localize(216,"Controls the behavior the 'Go to Type Definition'-command when multiple target locations exist."),...we},"editor.gotoLocation.multipleDeclarations":{description:m.localize(217,"Controls the behavior the 'Go to Declaration'-command when multiple target locations exist."),...we},"editor.gotoLocation.multipleImplementations":{description:m.localize(218,"Controls the behavior the 'Go to Implementations'-command when multiple target locations exist."),...we},"editor.gotoLocation.multipleReferences":{description:m.localize(219,"Controls the behavior the 'Go to References'-command when multiple target locations exist."),...we},"editor.gotoLocation.alternativeDefinitionCommand":{type:"string",default:fe.alternativeDefinitionCommand,enum:Fe,description:m.localize(220,"Alternative command id that is being executed when the result of 'Go to Definition' is the current location.")},"editor.gotoLocation.alternativeTypeDefinitionCommand":{type:"string",default:fe.alternativeTypeDefinitionCommand,enum:Fe,description:m.localize(221,"Alternative command id that is being executed when the result of 'Go to Type Definition' is the current location.")},"editor.gotoLocation.alternativeDeclarationCommand":{type:"string",default:fe.alternativeDeclarationCommand,enum:Fe,description:m.localize(222,"Alternative command id that is being executed when the result of 'Go to Declaration' is the current location.")},"editor.gotoLocation.alternativeImplementationCommand":{type:"string",default:fe.alternativeImplementationCommand,enum:Fe,description:m.localize(223,"Alternative command id that is being executed when the result of 'Go to Implementation' is the current location.")},"editor.gotoLocation.alternativeReferenceCommand":{type:"string",default:fe.alternativeReferenceCommand,enum:Fe,description:m.localize(224,"Alternative command id that is being executed when the result of 'Go to Reference' is the current location.")}})}validate(fe){if(!fe||typeof fe!="object")return this.defaultValue;const we=fe;return{multiple:C(we.multiple,this.defaultValue.multiple,["peek","gotoAndPeek","goto"]),multipleDefinitions:we.multipleDefinitions??C(we.multipleDefinitions,"peek",["peek","gotoAndPeek","goto"]),multipleTypeDefinitions:we.multipleTypeDefinitions??C(we.multipleTypeDefinitions,"peek",["peek","gotoAndPeek","goto"]),multipleDeclarations:we.multipleDeclarations??C(we.multipleDeclarations,"peek",["peek","gotoAndPeek","goto"]),multipleImplementations:we.multipleImplementations??C(we.multipleImplementations,"peek",["peek","gotoAndPeek","goto"]),multipleReferences:we.multipleReferences??C(we.multipleReferences,"peek",["peek","gotoAndPeek","goto"]),multipleTests:we.multipleTests??C(we.multipleTests,"peek",["peek","gotoAndPeek","goto"]),alternativeDefinitionCommand:u.string(we.alternativeDefinitionCommand,this.defaultValue.alternativeDefinitionCommand),alternativeTypeDefinitionCommand:u.string(we.alternativeTypeDefinitionCommand,this.defaultValue.alternativeTypeDefinitionCommand),alternativeDeclarationCommand:u.string(we.alternativeDeclarationCommand,this.defaultValue.alternativeDeclarationCommand),alternativeImplementationCommand:u.string(we.alternativeImplementationCommand,this.defaultValue.alternativeImplementationCommand),alternativeReferenceCommand:u.string(we.alternativeReferenceCommand,this.defaultValue.alternativeReferenceCommand),alternativeTestsCommand:u.string(we.alternativeTestsCommand,this.defaultValue.alternativeTestsCommand)}}}class q extends p{constructor(){const fe={enabled:!0,delay:300,hidingDelay:300,sticky:!0,above:!0};super(60,"hover",fe,{"editor.hover.enabled":{type:"boolean",default:fe.enabled,description:m.localize(225,"Controls whether the hover is shown.")},"editor.hover.delay":{type:"number",default:fe.delay,minimum:0,maximum:1e4,description:m.localize(226,"Controls the delay in milliseconds after which the hover is shown.")},"editor.hover.sticky":{type:"boolean",default:fe.sticky,description:m.localize(227,"Controls whether the hover should remain visible when mouse is moved over it.")},"editor.hover.hidingDelay":{type:"integer",minimum:0,default:fe.hidingDelay,description:m.localize(228,"Controls the delay in milliseconds after which the hover is hidden. Requires `editor.hover.sticky` to be enabled.")},"editor.hover.above":{type:"boolean",default:fe.above,description:m.localize(229,"Prefer showing hovers above the line, if there's space.")}})}validate(fe){if(!fe||typeof fe!="object")return this.defaultValue;const we=fe;return{enabled:s(we.enabled,this.defaultValue.enabled),delay:l.clampedInt(we.delay,this.defaultValue.delay,0,1e4),sticky:s(we.sticky,this.defaultValue.sticky),hidingDelay:l.clampedInt(we.hidingDelay,this.defaultValue.hidingDelay,0,6e5),above:s(we.above,this.defaultValue.above)}}}class H extends t{constructor(){super(146)}compute(fe,we,Fe){return H.computeLayout(we,{memory:fe.memory,outerWidth:fe.outerWidth,outerHeight:fe.outerHeight,isDominatedByLongLines:fe.isDominatedByLongLines,lineHeight:fe.fontInfo.lineHeight,viewLineCount:fe.viewLineCount,lineNumbersDigitCount:fe.lineNumbersDigitCount,typicalHalfwidthCharacterWidth:fe.fontInfo.typicalHalfwidthCharacterWidth,maxDigitWidth:fe.fontInfo.maxDigitWidth,pixelRatio:fe.pixelRatio,glyphMarginDecorationLaneCount:fe.glyphMarginDecorationLaneCount})}static computeContainedMinimapLineCount(fe){const we=fe.height/fe.lineHeight,Fe=Math.floor(fe.paddingTop/fe.lineHeight);let Ce=Math.floor(fe.paddingBottom/fe.lineHeight);fe.scrollBeyondLastLine&&(Ce=Math.max(Ce,we-1));const Se=(Fe+fe.viewLineCount+Ce)/(fe.pixelRatio*fe.height),ye=Math.floor(fe.viewLineCount/Se);return{typicalViewportLineCount:we,extraLinesBeforeFirstLine:Fe,extraLinesBeyondLastLine:Ce,desiredRatio:Se,minimapLineCount:ye}}static _computeMinimapLayout(fe,we){const Fe=fe.outerWidth,Ce=fe.outerHeight,Se=fe.pixelRatio;if(!fe.minimap.enabled)return{renderMinimap:0,minimapLeft:0,minimapWidth:0,minimapHeightIsEditorHeight:!1,minimapIsSampling:!1,minimapScale:1,minimapLineHeight:1,minimapCanvasInnerWidth:0,minimapCanvasInnerHeight:Math.floor(Se*Ce),minimapCanvasOuterWidth:0,minimapCanvasOuterHeight:Ce};const ye=we.stableMinimapLayoutInput,De=ye&&fe.outerHeight===ye.outerHeight&&fe.lineHeight===ye.lineHeight&&fe.typicalHalfwidthCharacterWidth===ye.typicalHalfwidthCharacterWidth&&fe.pixelRatio===ye.pixelRatio&&fe.scrollBeyondLastLine===ye.scrollBeyondLastLine&&fe.paddingTop===ye.paddingTop&&fe.paddingBottom===ye.paddingBottom&&fe.minimap.enabled===ye.minimap.enabled&&fe.minimap.side===ye.minimap.side&&fe.minimap.size===ye.minimap.size&&fe.minimap.showSlider===ye.minimap.showSlider&&fe.minimap.renderCharacters===ye.minimap.renderCharacters&&fe.minimap.maxColumn===ye.minimap.maxColumn&&fe.minimap.scale===ye.minimap.scale&&fe.verticalScrollbarWidth===ye.verticalScrollbarWidth&&fe.isViewportWrapping===ye.isViewportWrapping,Re=fe.lineHeight,We=fe.typicalHalfwidthCharacterWidth,He=fe.scrollBeyondLastLine,je=fe.minimap.renderCharacters;let qe=Se>=2?Math.round(fe.minimap.scale*2):fe.minimap.scale;const Ze=fe.minimap.maxColumn,et=fe.minimap.size,lt=fe.minimap.side,ct=fe.verticalScrollbarWidth,ot=fe.viewLineCount,pt=fe.remainingWidth,Qe=fe.isViewportWrapping,be=je?2:3;let _e=Math.floor(Se*Ce);const Te=_e/Se;let xe=!1,Ke=!1,Ye=be*qe,Ue=qe/Se,tt=1;if(et==="fill"||et==="fit"){const{typicalViewportLineCount:Be,extraLinesBeforeFirstLine:Ge,extraLinesBeyondLastLine:Xe,desiredRatio:nt,minimapLineCount:dt}=H.computeContainedMinimapLineCount({viewLineCount:ot,scrollBeyondLastLine:He,paddingTop:fe.paddingTop,paddingBottom:fe.paddingBottom,height:Ce,lineHeight:Re,pixelRatio:Se});if(ot/dt>1)xe=!0,Ke=!0,qe=1,Ye=1,Ue=qe/Se;else{let ft=!1,gt=qe+1;if(et==="fit"){const mt=Math.ceil((Ge+ot+Xe)*Ye);Qe&&De&&pt<=we.stableFitRemainingWidth?(ft=!0,gt=we.stableFitMaxMinimapScale):ft=mt>_e}if(et==="fill"||ft){xe=!0;const mt=qe;Ye=Math.min(Re*Se,Math.max(1,Math.floor(1/nt))),Qe&&De&&pt<=we.stableFitRemainingWidth&&(gt=we.stableFitMaxMinimapScale),qe=Math.min(gt,Math.max(1,Math.floor(Ye/be))),qe>mt&&(tt=Math.min(2,qe/mt)),Ue=qe/Se/tt,_e=Math.ceil(Math.max(Be,Ge+ot+Xe)*Ye),Qe?(we.stableMinimapLayoutInput=fe,we.stableFitRemainingWidth=pt,we.stableFitMaxMinimapScale=qe):(we.stableMinimapLayoutInput=null,we.stableFitRemainingWidth=0)}}}const st=Math.floor(Ze*Ue),Je=Math.min(st,Math.max(0,Math.floor((pt-ct-2)*Ue/(We+Ue)))+e.MINIMAP_GUTTER_WIDTH);let ut=Math.floor(Se*Je);const Lt=ut/Se;ut=Math.floor(ut*tt);const Ct=je?1:2,at=lt==="left"?0:Fe-Je-ct;return{renderMinimap:Ct,minimapLeft:at,minimapWidth:Je,minimapHeightIsEditorHeight:xe,minimapIsSampling:Ke,minimapScale:qe,minimapLineHeight:Ye,minimapCanvasInnerWidth:ut,minimapCanvasInnerHeight:_e,minimapCanvasOuterWidth:Lt,minimapCanvasOuterHeight:Te}}static computeLayout(fe,we){const Fe=we.outerWidth|0,Ce=we.outerHeight|0,Se=we.lineHeight|0,ye=we.lineNumbersDigitCount|0,De=we.typicalHalfwidthCharacterWidth,Re=we.maxDigitWidth,We=we.pixelRatio,He=we.viewLineCount,je=fe.get(138),qe=je==="inherit"?fe.get(137):je,Ze=qe==="inherit"?fe.get(133):qe,et=fe.get(136),lt=we.isDominatedByLongLines,ct=fe.get(57),ot=fe.get(68).renderType!==0,pt=fe.get(69),Qe=fe.get(106),be=fe.get(84),_e=fe.get(73),Te=fe.get(104),xe=Te.verticalScrollbarSize,Ke=Te.verticalHasArrows,Ye=Te.arrowSize,Ue=Te.horizontalScrollbarSize,tt=fe.get(43),st=fe.get(111)!=="never";let Je=fe.get(66);tt&&st&&(Je+=16);let ut=0;if(ot){const Dt=Math.max(ye,pt);ut=Math.round(Dt*Re)}let Lt=0;ct&&(Lt=Se*we.glyphMarginDecorationLaneCount);let Ct=0,at=Ct+Lt,Be=at+ut,Ge=Be+Je;const Xe=Fe-Lt-ut-Je;let nt=!1,dt=!1,ht=-1;qe==="inherit"&<?(nt=!0,dt=!0):Ze==="on"||Ze==="bounded"?dt=!0:Ze==="wordWrapColumn"&&(ht=et);const ft=H._computeMinimapLayout({outerWidth:Fe,outerHeight:Ce,lineHeight:Se,typicalHalfwidthCharacterWidth:De,pixelRatio:We,scrollBeyondLastLine:Qe,paddingTop:be.top,paddingBottom:be.bottom,minimap:_e,verticalScrollbarWidth:xe,viewLineCount:He,remainingWidth:Xe,isViewportWrapping:dt},we.memory||new b);ft.renderMinimap!==0&&ft.minimapLeft===0&&(Ct+=ft.minimapWidth,at+=ft.minimapWidth,Be+=ft.minimapWidth,Ge+=ft.minimapWidth);const gt=Xe-ft.minimapWidth,mt=Math.max(1,Math.floor((gt-xe-2)/De)),bt=Ke?Ye:0;return dt&&(ht=Math.max(1,mt),Ze==="bounded"&&(ht=Math.min(ht,et))),{width:Fe,height:Ce,glyphMarginLeft:Ct,glyphMarginWidth:Lt,glyphMarginDecorationLaneCount:we.glyphMarginDecorationLaneCount,lineNumbersLeft:at,lineNumbersWidth:ut,decorationsLeft:Be,decorationsWidth:Je,contentLeft:Ge,contentWidth:gt,minimap:ft,viewportColumn:mt,isWordWrapMinified:nt,isViewportWrapping:dt,wrappingColumn:ht,verticalScrollbarWidth:xe,horizontalScrollbarHeight:Ue,overviewRuler:{top:bt,width:xe,height:Ce-2*bt,right:0}}}}e.EditorLayoutInfoComputer=H;class z extends p{constructor(){super(140,"wrappingStrategy","simple",{"editor.wrappingStrategy":{enumDescriptions:[m.localize(230,"Assumes that all characters are of the same width. This is a fast algorithm that works correctly for monospace fonts and certain scripts (like Latin characters) where glyphs are of equal width."),m.localize(231,"Delegates wrapping points computation to the browser. This is a slow algorithm, that might cause freezes for large files, but it works correctly in all cases.")],type:"string",enum:["simple","advanced"],default:"simple",description:m.localize(232,"Controls the algorithm that computes wrapping points. Note that when in accessibility mode, advanced will be used for the best experience.")}})}validate(fe){return C(fe,"simple",["simple","advanced"])}compute(fe,we,Fe){return we.get(2)===2?"advanced":Fe}}var U;(function(Pe){Pe.Off="off",Pe.OnCode="onCode",Pe.On="on"})(U||(e.ShowLightbulbIconMode=U={}));class j extends p{constructor(){const fe={enabled:U.OnCode};super(65,"lightbulb",fe,{"editor.lightbulb.enabled":{type:"string",tags:["experimental"],enum:[U.Off,U.OnCode,U.On],default:fe.enabled,enumDescriptions:[m.localize(233,"Disable the code action menu."),m.localize(234,"Show the code action menu when the cursor is on lines with code."),m.localize(235,"Show the code action menu when the cursor is on lines with code or on empty lines.")],description:m.localize(236,"Enables the Code Action lightbulb in the editor.")}})}validate(fe){return!fe||typeof fe!="object"?this.defaultValue:{enabled:C(fe.enabled,this.defaultValue.enabled,[U.Off,U.OnCode,U.On])}}}class Q extends p{constructor(){const fe={enabled:!0,maxLineCount:5,defaultModel:"outlineModel",scrollWithEditor:!0};super(116,"stickyScroll",fe,{"editor.stickyScroll.enabled":{type:"boolean",default:fe.enabled,description:m.localize(237,"Shows the nested current scopes during the scroll at the top of the editor."),tags:["experimental"]},"editor.stickyScroll.maxLineCount":{type:"number",default:fe.maxLineCount,minimum:1,maximum:20,description:m.localize(238,"Defines the maximum number of sticky lines to show.")},"editor.stickyScroll.defaultModel":{type:"string",enum:["outlineModel","foldingProviderModel","indentationModel"],default:fe.defaultModel,description:m.localize(239,"Defines the model to use for determining which lines to stick. If the outline model does not exist, it will fall back on the folding provider model which falls back on the indentation model. This order is respected in all three cases.")},"editor.stickyScroll.scrollWithEditor":{type:"boolean",default:fe.scrollWithEditor,description:m.localize(240,"Enable scrolling of Sticky Scroll with the editor's horizontal scrollbar.")}})}validate(fe){if(!fe||typeof fe!="object")return this.defaultValue;const we=fe;return{enabled:s(we.enabled,this.defaultValue.enabled),maxLineCount:l.clampedInt(we.maxLineCount,this.defaultValue.maxLineCount,1,20),defaultModel:C(we.defaultModel,this.defaultValue.defaultModel,["outlineModel","foldingProviderModel","indentationModel"]),scrollWithEditor:s(we.scrollWithEditor,this.defaultValue.scrollWithEditor)}}}class G extends p{constructor(){const fe={enabled:"on",fontSize:0,fontFamily:"",padding:!1};super(142,"inlayHints",fe,{"editor.inlayHints.enabled":{type:"string",default:fe.enabled,description:m.localize(241,"Enables the inlay hints in the editor."),enum:["on","onUnlessPressed","offUnlessPressed","off"],markdownEnumDescriptions:[m.localize(242,"Inlay hints are enabled"),m.localize(243,"Inlay hints are showing by default and hide when holding {0}",I.isMacintosh?"Ctrl+Option":"Ctrl+Alt"),m.localize(244,"Inlay hints are hidden by default and show when holding {0}",I.isMacintosh?"Ctrl+Option":"Ctrl+Alt"),m.localize(245,"Inlay hints are disabled")]},"editor.inlayHints.fontSize":{type:"number",default:fe.fontSize,markdownDescription:m.localize(246,"Controls font size of inlay hints in the editor. As default the {0} is used when the configured value is less than {1} or greater than the editor font size.","`#editor.fontSize#`","`5`")},"editor.inlayHints.fontFamily":{type:"string",default:fe.fontFamily,markdownDescription:m.localize(247,"Controls font family of inlay hints in the editor. When set to empty, the {0} is used.","`#editor.fontFamily#`")},"editor.inlayHints.padding":{type:"boolean",default:fe.padding,description:m.localize(248,"Enables the padding around the inlay hints in the editor.")}})}validate(fe){if(!fe||typeof fe!="object")return this.defaultValue;const we=fe;return typeof we.enabled=="boolean"&&(we.enabled=we.enabled?"on":"off"),{enabled:C(we.enabled,this.defaultValue.enabled,["on","off","offUnlessPressed","onUnlessPressed"]),fontSize:l.clampedInt(we.fontSize,this.defaultValue.fontSize,0,100),fontFamily:u.string(we.fontFamily,this.defaultValue.fontFamily),padding:s(we.padding,this.defaultValue.padding)}}}class K extends p{constructor(){super(66,"lineDecorationsWidth",10)}validate(fe){return typeof fe=="string"&&/^\d+(\.\d+)?ch$/.test(fe)?-parseFloat(fe.substring(0,fe.length-2)):l.clampedInt(fe,this.defaultValue,0,1e3)}compute(fe,we,Fe){return Fe<0?l.clampedInt(-Fe*fe.fontInfo.typicalHalfwidthCharacterWidth,this.defaultValue,0,1e3):Fe}}class R extends r{constructor(){super(67,"lineHeight",e.EDITOR_FONT_DEFAULTS.lineHeight,fe=>r.clamp(fe,0,150),{markdownDescription:m.localize(249,`Controls the line height. + - Use 0 to automatically compute the line height from the font size. + - Values between 0 and 8 will be used as a multiplier with the font size. + - Values greater than or equal to 8 will be used as effective values.`)})}compute(fe,we,Fe){return fe.fontInfo.lineHeight}}class J extends p{constructor(){const fe={enabled:!0,size:"proportional",side:"right",showSlider:"mouseover",autohide:!1,renderCharacters:!0,maxColumn:120,scale:1,showRegionSectionHeaders:!0,showMarkSectionHeaders:!0,sectionHeaderFontSize:9,sectionHeaderLetterSpacing:1};super(73,"minimap",fe,{"editor.minimap.enabled":{type:"boolean",default:fe.enabled,description:m.localize(250,"Controls whether the minimap is shown.")},"editor.minimap.autohide":{type:"boolean",default:fe.autohide,description:m.localize(251,"Controls whether the minimap is hidden automatically.")},"editor.minimap.size":{type:"string",enum:["proportional","fill","fit"],enumDescriptions:[m.localize(252,"The minimap has the same size as the editor contents (and might scroll)."),m.localize(253,"The minimap will stretch or shrink as necessary to fill the height of the editor (no scrolling)."),m.localize(254,"The minimap will shrink as necessary to never be larger than the editor (no scrolling).")],default:fe.size,description:m.localize(255,"Controls the size of the minimap.")},"editor.minimap.side":{type:"string",enum:["left","right"],default:fe.side,description:m.localize(256,"Controls the side where to render the minimap.")},"editor.minimap.showSlider":{type:"string",enum:["always","mouseover"],default:fe.showSlider,description:m.localize(257,"Controls when the minimap slider is shown.")},"editor.minimap.scale":{type:"number",default:fe.scale,minimum:1,maximum:3,enum:[1,2,3],description:m.localize(258,"Scale of content drawn in the minimap: 1, 2 or 3.")},"editor.minimap.renderCharacters":{type:"boolean",default:fe.renderCharacters,description:m.localize(259,"Render the actual characters on a line as opposed to color blocks.")},"editor.minimap.maxColumn":{type:"number",default:fe.maxColumn,description:m.localize(260,"Limit the width of the minimap to render at most a certain number of columns.")},"editor.minimap.showRegionSectionHeaders":{type:"boolean",default:fe.showRegionSectionHeaders,description:m.localize(261,"Controls whether named regions are shown as section headers in the minimap.")},"editor.minimap.showMarkSectionHeaders":{type:"boolean",default:fe.showMarkSectionHeaders,description:m.localize(262,"Controls whether MARK: comments are shown as section headers in the minimap.")},"editor.minimap.sectionHeaderFontSize":{type:"number",default:fe.sectionHeaderFontSize,description:m.localize(263,"Controls the font size of section headers in the minimap.")},"editor.minimap.sectionHeaderLetterSpacing":{type:"number",default:fe.sectionHeaderLetterSpacing,description:m.localize(264,"Controls the amount of space (in pixels) between characters of section header. This helps the readability of the header in small font sizes.")}})}validate(fe){if(!fe||typeof fe!="object")return this.defaultValue;const we=fe;return{enabled:s(we.enabled,this.defaultValue.enabled),autohide:s(we.autohide,this.defaultValue.autohide),size:C(we.size,this.defaultValue.size,["proportional","fill","fit"]),side:C(we.side,this.defaultValue.side,["right","left"]),showSlider:C(we.showSlider,this.defaultValue.showSlider,["always","mouseover"]),renderCharacters:s(we.renderCharacters,this.defaultValue.renderCharacters),scale:l.clampedInt(we.scale,1,1,3),maxColumn:l.clampedInt(we.maxColumn,this.defaultValue.maxColumn,1,1e4),showRegionSectionHeaders:s(we.showRegionSectionHeaders,this.defaultValue.showRegionSectionHeaders),showMarkSectionHeaders:s(we.showMarkSectionHeaders,this.defaultValue.showMarkSectionHeaders),sectionHeaderFontSize:r.clamp(we.sectionHeaderFontSize??this.defaultValue.sectionHeaderFontSize,4,32),sectionHeaderLetterSpacing:r.clamp(we.sectionHeaderLetterSpacing??this.defaultValue.sectionHeaderLetterSpacing,0,5)}}}function ie(Pe){return Pe==="ctrlCmd"?I.isMacintosh?"metaKey":"ctrlKey":"altKey"}class ue extends p{constructor(){super(84,"padding",{top:0,bottom:0},{"editor.padding.top":{type:"number",default:0,minimum:0,maximum:1e3,description:m.localize(265,"Controls the amount of space between the top edge of the editor and the first line.")},"editor.padding.bottom":{type:"number",default:0,minimum:0,maximum:1e3,description:m.localize(266,"Controls the amount of space between the bottom edge of the editor and the last line.")}})}validate(fe){if(!fe||typeof fe!="object")return this.defaultValue;const we=fe;return{top:l.clampedInt(we.top,0,0,1e3),bottom:l.clampedInt(we.bottom,0,0,1e3)}}}class he extends p{constructor(){const fe={enabled:!0,cycle:!0};super(86,"parameterHints",fe,{"editor.parameterHints.enabled":{type:"boolean",default:fe.enabled,description:m.localize(267,"Enables a pop-up that shows parameter documentation and type information as you type.")},"editor.parameterHints.cycle":{type:"boolean",default:fe.cycle,description:m.localize(268,"Controls whether the parameter hints menu cycles or closes when reaching the end of the list.")}})}validate(fe){if(!fe||typeof fe!="object")return this.defaultValue;const we=fe;return{enabled:s(we.enabled,this.defaultValue.enabled),cycle:s(we.cycle,this.defaultValue.cycle)}}}class pe extends t{constructor(){super(144)}compute(fe,we,Fe){return fe.pixelRatio}}class ae extends p{constructor(){super(88,"placeholder",void 0)}validate(fe){return typeof fe>"u"?this.defaultValue:typeof fe=="string"?fe:this.defaultValue}}class ee extends p{constructor(){const fe={other:"on",comments:"off",strings:"off"},we=[{type:"boolean"},{type:"string",enum:["on","inline","off"],enumDescriptions:[m.localize(269,"Quick suggestions show inside the suggest widget"),m.localize(270,"Quick suggestions show as ghost text"),m.localize(271,"Quick suggestions are disabled")]}];super(90,"quickSuggestions",fe,{type:"object",additionalProperties:!1,properties:{strings:{anyOf:we,default:fe.strings,description:m.localize(272,"Enable quick suggestions inside strings.")},comments:{anyOf:we,default:fe.comments,description:m.localize(273,"Enable quick suggestions inside comments.")},other:{anyOf:we,default:fe.other,description:m.localize(274,"Enable quick suggestions outside of strings and comments.")}},default:fe,markdownDescription:m.localize(275,"Controls whether suggestions should automatically show up while typing. This can be controlled for typing in comments, strings, and other code. Quick suggestion can be configured to show as ghost text or with the suggest widget. Also be aware of the {0}-setting which controls if suggestions are triggered by special characters.","`#editor.suggestOnTriggerCharacters#`")}),this.defaultValue=fe}validate(fe){if(typeof fe=="boolean"){const We=fe?"on":"off";return{comments:We,strings:We,other:We}}if(!fe||typeof fe!="object")return this.defaultValue;const{other:we,comments:Fe,strings:Ce}=fe,Se=["on","inline","off"];let ye,De,Re;return typeof we=="boolean"?ye=we?"on":"off":ye=C(we,this.defaultValue.other,Se),typeof Fe=="boolean"?De=Fe?"on":"off":De=C(Fe,this.defaultValue.comments,Se),typeof Ce=="boolean"?Re=Ce?"on":"off":Re=C(Ce,this.defaultValue.strings,Se),{other:ye,comments:De,strings:Re}}}class de extends p{constructor(){super(68,"lineNumbers",{renderType:1,renderFn:null},{type:"string",enum:["off","on","relative","interval"],enumDescriptions:[m.localize(276,"Line numbers are not rendered."),m.localize(277,"Line numbers are rendered as absolute number."),m.localize(278,"Line numbers are rendered as distance in lines to cursor position."),m.localize(279,"Line numbers are rendered every 10 lines.")],default:"on",description:m.localize(280,"Controls the display of line numbers.")})}validate(fe){let we=this.defaultValue.renderType,Fe=this.defaultValue.renderFn;return typeof fe<"u"&&(typeof fe=="function"?(we=4,Fe=fe):fe==="interval"?we=3:fe==="relative"?we=2:fe==="on"?we=1:we=0),{renderType:we,renderFn:Fe}}}function ge(Pe){const fe=Pe.get(99);return fe==="editable"?Pe.get(92):fe!=="on"}class X extends p{constructor(){const fe=[],we={type:"number",description:m.localize(281,"Number of monospace characters at which this editor ruler will render.")};super(103,"rulers",fe,{type:"array",items:{anyOf:[we,{type:["object"],properties:{column:we,color:{type:"string",description:m.localize(282,"Color of this editor ruler."),format:"color-hex"}}}]},default:fe,description:m.localize(283,"Render vertical rulers after a certain number of monospace characters. Use multiple values for multiple rulers. No rulers are drawn if array is empty.")})}validate(fe){if(Array.isArray(fe)){const we=[];for(const Fe of fe)if(typeof Fe=="number")we.push({column:l.clampedInt(Fe,0,0,1e4),color:null});else if(Fe&&typeof Fe=="object"){const Ce=Fe;we.push({column:l.clampedInt(Ce.column,0,0,1e4),color:Ce.color})}return we.sort((Fe,Ce)=>Fe.column-Ce.column),we}return this.defaultValue}}class B extends p{constructor(){super(93,"readOnlyMessage",void 0)}validate(fe){return!fe||typeof fe!="object"?this.defaultValue:fe}}function $(Pe,fe){if(typeof Pe!="string")return fe;switch(Pe){case"hidden":return 2;case"visible":return 3;default:return 1}}class Y extends p{constructor(){const fe={vertical:1,horizontal:1,arrowSize:11,useShadows:!0,verticalHasArrows:!1,horizontalHasArrows:!1,horizontalScrollbarSize:12,horizontalSliderSize:12,verticalScrollbarSize:14,verticalSliderSize:14,handleMouseWheel:!0,alwaysConsumeMouseWheel:!0,scrollByPage:!1,ignoreHorizontalScrollbarInContentHeight:!1};super(104,"scrollbar",fe,{"editor.scrollbar.vertical":{type:"string",enum:["auto","visible","hidden"],enumDescriptions:[m.localize(284,"The vertical scrollbar will be visible only when necessary."),m.localize(285,"The vertical scrollbar will always be visible."),m.localize(286,"The vertical scrollbar will always be hidden.")],default:"auto",description:m.localize(287,"Controls the visibility of the vertical scrollbar.")},"editor.scrollbar.horizontal":{type:"string",enum:["auto","visible","hidden"],enumDescriptions:[m.localize(288,"The horizontal scrollbar will be visible only when necessary."),m.localize(289,"The horizontal scrollbar will always be visible."),m.localize(290,"The horizontal scrollbar will always be hidden.")],default:"auto",description:m.localize(291,"Controls the visibility of the horizontal scrollbar.")},"editor.scrollbar.verticalScrollbarSize":{type:"number",default:fe.verticalScrollbarSize,description:m.localize(292,"The width of the vertical scrollbar.")},"editor.scrollbar.horizontalScrollbarSize":{type:"number",default:fe.horizontalScrollbarSize,description:m.localize(293,"The height of the horizontal scrollbar.")},"editor.scrollbar.scrollByPage":{type:"boolean",default:fe.scrollByPage,description:m.localize(294,"Controls whether clicks scroll by page or jump to click position.")},"editor.scrollbar.ignoreHorizontalScrollbarInContentHeight":{type:"boolean",default:fe.ignoreHorizontalScrollbarInContentHeight,description:m.localize(295,"When set, the horizontal scrollbar will not increase the size of the editor's content.")}})}validate(fe){if(!fe||typeof fe!="object")return this.defaultValue;const we=fe,Fe=l.clampedInt(we.horizontalScrollbarSize,this.defaultValue.horizontalScrollbarSize,0,1e3),Ce=l.clampedInt(we.verticalScrollbarSize,this.defaultValue.verticalScrollbarSize,0,1e3);return{arrowSize:l.clampedInt(we.arrowSize,this.defaultValue.arrowSize,0,1e3),vertical:$(we.vertical,this.defaultValue.vertical),horizontal:$(we.horizontal,this.defaultValue.horizontal),useShadows:s(we.useShadows,this.defaultValue.useShadows),verticalHasArrows:s(we.verticalHasArrows,this.defaultValue.verticalHasArrows),horizontalHasArrows:s(we.horizontalHasArrows,this.defaultValue.horizontalHasArrows),handleMouseWheel:s(we.handleMouseWheel,this.defaultValue.handleMouseWheel),alwaysConsumeMouseWheel:s(we.alwaysConsumeMouseWheel,this.defaultValue.alwaysConsumeMouseWheel),horizontalScrollbarSize:Fe,horizontalSliderSize:l.clampedInt(we.horizontalSliderSize,Fe,0,1e3),verticalScrollbarSize:Ce,verticalSliderSize:l.clampedInt(we.verticalSliderSize,Ce,0,1e3),scrollByPage:s(we.scrollByPage,this.defaultValue.scrollByPage),ignoreHorizontalScrollbarInContentHeight:s(we.ignoreHorizontalScrollbarInContentHeight,this.defaultValue.ignoreHorizontalScrollbarInContentHeight)}}}e.inUntrustedWorkspace="inUntrustedWorkspace",e.unicodeHighlightConfigKeys={allowedCharacters:"editor.unicodeHighlight.allowedCharacters",invisibleCharacters:"editor.unicodeHighlight.invisibleCharacters",nonBasicASCII:"editor.unicodeHighlight.nonBasicASCII",ambiguousCharacters:"editor.unicodeHighlight.ambiguousCharacters",includeComments:"editor.unicodeHighlight.includeComments",includeStrings:"editor.unicodeHighlight.includeStrings",allowedLocales:"editor.unicodeHighlight.allowedLocales"};class Z extends p{constructor(){const fe={nonBasicASCII:e.inUntrustedWorkspace,invisibleCharacters:!0,ambiguousCharacters:!0,includeComments:e.inUntrustedWorkspace,includeStrings:!0,allowedCharacters:{},allowedLocales:{_os:!0,_vscode:!0}};super(126,"unicodeHighlight",fe,{[e.unicodeHighlightConfigKeys.nonBasicASCII]:{restricted:!0,type:["boolean","string"],enum:[!0,!1,e.inUntrustedWorkspace],default:fe.nonBasicASCII,description:m.localize(296,"Controls whether all non-basic ASCII characters are highlighted. Only characters between U+0020 and U+007E, tab, line-feed and carriage-return are considered basic ASCII.")},[e.unicodeHighlightConfigKeys.invisibleCharacters]:{restricted:!0,type:"boolean",default:fe.invisibleCharacters,description:m.localize(297,"Controls whether characters that just reserve space or have no width at all are highlighted.")},[e.unicodeHighlightConfigKeys.ambiguousCharacters]:{restricted:!0,type:"boolean",default:fe.ambiguousCharacters,description:m.localize(298,"Controls whether characters are highlighted that can be confused with basic ASCII characters, except those that are common in the current user locale.")},[e.unicodeHighlightConfigKeys.includeComments]:{restricted:!0,type:["boolean","string"],enum:[!0,!1,e.inUntrustedWorkspace],default:fe.includeComments,description:m.localize(299,"Controls whether characters in comments should also be subject to Unicode highlighting.")},[e.unicodeHighlightConfigKeys.includeStrings]:{restricted:!0,type:["boolean","string"],enum:[!0,!1,e.inUntrustedWorkspace],default:fe.includeStrings,description:m.localize(300,"Controls whether characters in strings should also be subject to Unicode highlighting.")},[e.unicodeHighlightConfigKeys.allowedCharacters]:{restricted:!0,type:"object",default:fe.allowedCharacters,description:m.localize(301,"Defines allowed characters that are not being highlighted."),additionalProperties:{type:"boolean"}},[e.unicodeHighlightConfigKeys.allowedLocales]:{restricted:!0,type:"object",additionalProperties:{type:"boolean"},default:fe.allowedLocales,description:m.localize(302,"Unicode characters that are common in allowed locales are not being highlighted.")}})}applyUpdate(fe,we){let Fe=!1;we.allowedCharacters&&fe&&(k.equals(fe.allowedCharacters,we.allowedCharacters)||(fe={...fe,allowedCharacters:we.allowedCharacters},Fe=!0)),we.allowedLocales&&fe&&(k.equals(fe.allowedLocales,we.allowedLocales)||(fe={...fe,allowedLocales:we.allowedLocales},Fe=!0));const Ce=super.applyUpdate(fe,we);return Fe?new n(Ce.newValue,!0):Ce}validate(fe){if(!fe||typeof fe!="object")return this.defaultValue;const we=fe;return{nonBasicASCII:ve(we.nonBasicASCII,e.inUntrustedWorkspace,[!0,!1,e.inUntrustedWorkspace]),invisibleCharacters:s(we.invisibleCharacters,this.defaultValue.invisibleCharacters),ambiguousCharacters:s(we.ambiguousCharacters,this.defaultValue.ambiguousCharacters),includeComments:ve(we.includeComments,e.inUntrustedWorkspace,[!0,!1,e.inUntrustedWorkspace]),includeStrings:ve(we.includeStrings,e.inUntrustedWorkspace,[!0,!1,e.inUntrustedWorkspace]),allowedCharacters:this.validateBooleanMap(fe.allowedCharacters,this.defaultValue.allowedCharacters),allowedLocales:this.validateBooleanMap(fe.allowedLocales,this.defaultValue.allowedLocales)}}validateBooleanMap(fe,we){if(typeof fe!="object"||!fe)return we;const Fe={};for(const[Ce,Se]of Object.entries(fe))Se===!0&&(Fe[Ce]=!0);return Fe}}class te extends p{constructor(){const fe={enabled:!0,mode:"subwordSmart",showToolbar:"onHover",suppressSuggestions:!1,keepOnBlur:!1,fontFamily:"default"};super(62,"inlineSuggest",fe,{"editor.inlineSuggest.enabled":{type:"boolean",default:fe.enabled,description:m.localize(303,"Controls whether to automatically show inline suggestions in the editor.")},"editor.inlineSuggest.showToolbar":{type:"string",default:fe.showToolbar,enum:["always","onHover","never"],enumDescriptions:[m.localize(304,"Show the inline suggestion toolbar whenever an inline suggestion is shown."),m.localize(305,"Show the inline suggestion toolbar when hovering over an inline suggestion."),m.localize(306,"Never show the inline suggestion toolbar.")],description:m.localize(307,"Controls when to show the inline suggestion toolbar.")},"editor.inlineSuggest.suppressSuggestions":{type:"boolean",default:fe.suppressSuggestions,description:m.localize(308,"Controls how inline suggestions interact with the suggest widget. If enabled, the suggest widget is not shown automatically when inline suggestions are available.")},"editor.inlineSuggest.fontFamily":{type:"string",default:fe.fontFamily,description:m.localize(309,"Controls the font family of the inline suggestions.")}})}validate(fe){if(!fe||typeof fe!="object")return this.defaultValue;const we=fe;return{enabled:s(we.enabled,this.defaultValue.enabled),mode:C(we.mode,this.defaultValue.mode,["prefix","subword","subwordSmart"]),showToolbar:C(we.showToolbar,this.defaultValue.showToolbar,["always","onHover","never"]),suppressSuggestions:s(we.suppressSuggestions,this.defaultValue.suppressSuggestions),keepOnBlur:s(we.keepOnBlur,this.defaultValue.keepOnBlur),fontFamily:u.string(we.fontFamily,this.defaultValue.fontFamily)}}}class re extends p{constructor(){const fe={enabled:!1,showToolbar:"onHover",fontFamily:"default",keepOnBlur:!1};super(63,"experimentalInlineEdit",fe,{"editor.experimentalInlineEdit.enabled":{type:"boolean",default:fe.enabled,description:m.localize(310,"Controls whether to show inline edits in the editor.")},"editor.experimentalInlineEdit.showToolbar":{type:"string",default:fe.showToolbar,enum:["always","onHover","never"],enumDescriptions:[m.localize(311,"Show the inline edit toolbar whenever an inline suggestion is shown."),m.localize(312,"Show the inline edit toolbar when hovering over an inline suggestion."),m.localize(313,"Never show the inline edit toolbar.")],description:m.localize(314,"Controls when to show the inline edit toolbar.")},"editor.experimentalInlineEdit.fontFamily":{type:"string",default:fe.fontFamily,description:m.localize(315,"Controls the font family of the inline edit.")}})}validate(fe){if(!fe||typeof fe!="object")return this.defaultValue;const we=fe;return{enabled:s(we.enabled,this.defaultValue.enabled),showToolbar:C(we.showToolbar,this.defaultValue.showToolbar,["always","onHover","never"]),fontFamily:u.string(we.fontFamily,this.defaultValue.fontFamily),keepOnBlur:s(we.keepOnBlur,this.defaultValue.keepOnBlur)}}}class le extends p{constructor(){const fe={enabled:E.EDITOR_MODEL_DEFAULTS.bracketPairColorizationOptions.enabled,independentColorPoolPerBracketType:E.EDITOR_MODEL_DEFAULTS.bracketPairColorizationOptions.independentColorPoolPerBracketType};super(15,"bracketPairColorization",fe,{"editor.bracketPairColorization.enabled":{type:"boolean",default:fe.enabled,markdownDescription:m.localize(316,"Controls whether bracket pair colorization is enabled or not. Use {0} to override the bracket highlight colors.","`#workbench.colorCustomizations#`")},"editor.bracketPairColorization.independentColorPoolPerBracketType":{type:"boolean",default:fe.independentColorPoolPerBracketType,description:m.localize(317,"Controls whether each bracket type has its own independent color pool.")}})}validate(fe){if(!fe||typeof fe!="object")return this.defaultValue;const we=fe;return{enabled:s(we.enabled,this.defaultValue.enabled),independentColorPoolPerBracketType:s(we.independentColorPoolPerBracketType,this.defaultValue.independentColorPoolPerBracketType)}}}class me extends p{constructor(){const fe={bracketPairs:!1,bracketPairsHorizontal:"active",highlightActiveBracketPair:!0,indentation:!0,highlightActiveIndentation:!0};super(16,"guides",fe,{"editor.guides.bracketPairs":{type:["boolean","string"],enum:[!0,"active",!1],enumDescriptions:[m.localize(318,"Enables bracket pair guides."),m.localize(319,"Enables bracket pair guides only for the active bracket pair."),m.localize(320,"Disables bracket pair guides.")],default:fe.bracketPairs,description:m.localize(321,"Controls whether bracket pair guides are enabled or not.")},"editor.guides.bracketPairsHorizontal":{type:["boolean","string"],enum:[!0,"active",!1],enumDescriptions:[m.localize(322,"Enables horizontal guides as addition to vertical bracket pair guides."),m.localize(323,"Enables horizontal guides only for the active bracket pair."),m.localize(324,"Disables horizontal bracket pair guides.")],default:fe.bracketPairsHorizontal,description:m.localize(325,"Controls whether horizontal bracket pair guides are enabled or not.")},"editor.guides.highlightActiveBracketPair":{type:"boolean",default:fe.highlightActiveBracketPair,description:m.localize(326,"Controls whether the editor should highlight the active bracket pair.")},"editor.guides.indentation":{type:"boolean",default:fe.indentation,description:m.localize(327,"Controls whether the editor should render indent guides.")},"editor.guides.highlightActiveIndentation":{type:["boolean","string"],enum:[!0,"always",!1],enumDescriptions:[m.localize(328,"Highlights the active indent guide."),m.localize(329,"Highlights the active indent guide even if bracket guides are highlighted."),m.localize(330,"Do not highlight the active indent guide.")],default:fe.highlightActiveIndentation,description:m.localize(331,"Controls whether the editor should highlight the active indent guide.")}})}validate(fe){if(!fe||typeof fe!="object")return this.defaultValue;const we=fe;return{bracketPairs:ve(we.bracketPairs,this.defaultValue.bracketPairs,[!0,!1,"active"]),bracketPairsHorizontal:ve(we.bracketPairsHorizontal,this.defaultValue.bracketPairsHorizontal,[!0,!1,"active"]),highlightActiveBracketPair:s(we.highlightActiveBracketPair,this.defaultValue.highlightActiveBracketPair),indentation:s(we.indentation,this.defaultValue.indentation),highlightActiveIndentation:ve(we.highlightActiveIndentation,this.defaultValue.highlightActiveIndentation,[!0,!1,"always"])}}}function ve(Pe,fe,we){const Fe=we.indexOf(Pe);return Fe===-1?fe:we[Fe]}class Le extends p{constructor(){const fe={insertMode:"insert",filterGraceful:!0,snippetsPreventQuickSuggestions:!1,localityBonus:!1,shareSuggestSelections:!1,selectionMode:"always",showIcons:!0,showStatusBar:!1,preview:!1,previewMode:"subwordSmart",showInlineDetails:!0,showMethods:!0,showFunctions:!0,showConstructors:!0,showDeprecated:!0,matchOnWordStartOnly:!0,showFields:!0,showVariables:!0,showClasses:!0,showStructs:!0,showInterfaces:!0,showModules:!0,showProperties:!0,showEvents:!0,showOperators:!0,showUnits:!0,showValues:!0,showConstants:!0,showEnums:!0,showEnumMembers:!0,showKeywords:!0,showWords:!0,showColors:!0,showFiles:!0,showReferences:!0,showFolders:!0,showTypeParameters:!0,showSnippets:!0,showUsers:!0,showIssues:!0};super(119,"suggest",fe,{"editor.suggest.insertMode":{type:"string",enum:["insert","replace"],enumDescriptions:[m.localize(332,"Insert suggestion without overwriting text right of the cursor."),m.localize(333,"Insert suggestion and overwrite text right of the cursor.")],default:fe.insertMode,description:m.localize(334,"Controls whether words are overwritten when accepting completions. Note that this depends on extensions opting into this feature.")},"editor.suggest.filterGraceful":{type:"boolean",default:fe.filterGraceful,description:m.localize(335,"Controls whether filtering and sorting suggestions accounts for small typos.")},"editor.suggest.localityBonus":{type:"boolean",default:fe.localityBonus,description:m.localize(336,"Controls whether sorting favors words that appear close to the cursor.")},"editor.suggest.shareSuggestSelections":{type:"boolean",default:fe.shareSuggestSelections,markdownDescription:m.localize(337,"Controls whether remembered suggestion selections are shared between multiple workspaces and windows (needs `#editor.suggestSelection#`).")},"editor.suggest.selectionMode":{type:"string",enum:["always","never","whenTriggerCharacter","whenQuickSuggestion"],enumDescriptions:[m.localize(338,"Always select a suggestion when automatically triggering IntelliSense."),m.localize(339,"Never select a suggestion when automatically triggering IntelliSense."),m.localize(340,"Select a suggestion only when triggering IntelliSense from a trigger character."),m.localize(341,"Select a suggestion only when triggering IntelliSense as you type.")],default:fe.selectionMode,markdownDescription:m.localize(342,"Controls whether a suggestion is selected when the widget shows. Note that this only applies to automatically triggered suggestions ({0} and {1}) and that a suggestion is always selected when explicitly invoked, e.g via `Ctrl+Space`.","`#editor.quickSuggestions#`","`#editor.suggestOnTriggerCharacters#`")},"editor.suggest.snippetsPreventQuickSuggestions":{type:"boolean",default:fe.snippetsPreventQuickSuggestions,description:m.localize(343,"Controls whether an active snippet prevents quick suggestions.")},"editor.suggest.showIcons":{type:"boolean",default:fe.showIcons,description:m.localize(344,"Controls whether to show or hide icons in suggestions.")},"editor.suggest.showStatusBar":{type:"boolean",default:fe.showStatusBar,description:m.localize(345,"Controls the visibility of the status bar at the bottom of the suggest widget.")},"editor.suggest.preview":{type:"boolean",default:fe.preview,description:m.localize(346,"Controls whether to preview the suggestion outcome in the editor.")},"editor.suggest.showInlineDetails":{type:"boolean",default:fe.showInlineDetails,description:m.localize(347,"Controls whether suggest details show inline with the label or only in the details widget.")},"editor.suggest.maxVisibleSuggestions":{type:"number",deprecationMessage:m.localize(348,"This setting is deprecated. The suggest widget can now be resized.")},"editor.suggest.filteredTypes":{type:"object",deprecationMessage:m.localize(349,"This setting is deprecated, please use separate settings like 'editor.suggest.showKeywords' or 'editor.suggest.showSnippets' instead.")},"editor.suggest.showMethods":{type:"boolean",default:!0,markdownDescription:m.localize(350,"When enabled IntelliSense shows `method`-suggestions.")},"editor.suggest.showFunctions":{type:"boolean",default:!0,markdownDescription:m.localize(351,"When enabled IntelliSense shows `function`-suggestions.")},"editor.suggest.showConstructors":{type:"boolean",default:!0,markdownDescription:m.localize(352,"When enabled IntelliSense shows `constructor`-suggestions.")},"editor.suggest.showDeprecated":{type:"boolean",default:!0,markdownDescription:m.localize(353,"When enabled IntelliSense shows `deprecated`-suggestions.")},"editor.suggest.matchOnWordStartOnly":{type:"boolean",default:!0,markdownDescription:m.localize(354,"When enabled IntelliSense filtering requires that the first character matches on a word start. For example, `c` on `Console` or `WebContext` but _not_ on `description`. When disabled IntelliSense will show more results but still sorts them by match quality.")},"editor.suggest.showFields":{type:"boolean",default:!0,markdownDescription:m.localize(355,"When enabled IntelliSense shows `field`-suggestions.")},"editor.suggest.showVariables":{type:"boolean",default:!0,markdownDescription:m.localize(356,"When enabled IntelliSense shows `variable`-suggestions.")},"editor.suggest.showClasses":{type:"boolean",default:!0,markdownDescription:m.localize(357,"When enabled IntelliSense shows `class`-suggestions.")},"editor.suggest.showStructs":{type:"boolean",default:!0,markdownDescription:m.localize(358,"When enabled IntelliSense shows `struct`-suggestions.")},"editor.suggest.showInterfaces":{type:"boolean",default:!0,markdownDescription:m.localize(359,"When enabled IntelliSense shows `interface`-suggestions.")},"editor.suggest.showModules":{type:"boolean",default:!0,markdownDescription:m.localize(360,"When enabled IntelliSense shows `module`-suggestions.")},"editor.suggest.showProperties":{type:"boolean",default:!0,markdownDescription:m.localize(361,"When enabled IntelliSense shows `property`-suggestions.")},"editor.suggest.showEvents":{type:"boolean",default:!0,markdownDescription:m.localize(362,"When enabled IntelliSense shows `event`-suggestions.")},"editor.suggest.showOperators":{type:"boolean",default:!0,markdownDescription:m.localize(363,"When enabled IntelliSense shows `operator`-suggestions.")},"editor.suggest.showUnits":{type:"boolean",default:!0,markdownDescription:m.localize(364,"When enabled IntelliSense shows `unit`-suggestions.")},"editor.suggest.showValues":{type:"boolean",default:!0,markdownDescription:m.localize(365,"When enabled IntelliSense shows `value`-suggestions.")},"editor.suggest.showConstants":{type:"boolean",default:!0,markdownDescription:m.localize(366,"When enabled IntelliSense shows `constant`-suggestions.")},"editor.suggest.showEnums":{type:"boolean",default:!0,markdownDescription:m.localize(367,"When enabled IntelliSense shows `enum`-suggestions.")},"editor.suggest.showEnumMembers":{type:"boolean",default:!0,markdownDescription:m.localize(368,"When enabled IntelliSense shows `enumMember`-suggestions.")},"editor.suggest.showKeywords":{type:"boolean",default:!0,markdownDescription:m.localize(369,"When enabled IntelliSense shows `keyword`-suggestions.")},"editor.suggest.showWords":{type:"boolean",default:!0,markdownDescription:m.localize(370,"When enabled IntelliSense shows `text`-suggestions.")},"editor.suggest.showColors":{type:"boolean",default:!0,markdownDescription:m.localize(371,"When enabled IntelliSense shows `color`-suggestions.")},"editor.suggest.showFiles":{type:"boolean",default:!0,markdownDescription:m.localize(372,"When enabled IntelliSense shows `file`-suggestions.")},"editor.suggest.showReferences":{type:"boolean",default:!0,markdownDescription:m.localize(373,"When enabled IntelliSense shows `reference`-suggestions.")},"editor.suggest.showCustomcolors":{type:"boolean",default:!0,markdownDescription:m.localize(374,"When enabled IntelliSense shows `customcolor`-suggestions.")},"editor.suggest.showFolders":{type:"boolean",default:!0,markdownDescription:m.localize(375,"When enabled IntelliSense shows `folder`-suggestions.")},"editor.suggest.showTypeParameters":{type:"boolean",default:!0,markdownDescription:m.localize(376,"When enabled IntelliSense shows `typeParameter`-suggestions.")},"editor.suggest.showSnippets":{type:"boolean",default:!0,markdownDescription:m.localize(377,"When enabled IntelliSense shows `snippet`-suggestions.")},"editor.suggest.showUsers":{type:"boolean",default:!0,markdownDescription:m.localize(378,"When enabled IntelliSense shows `user`-suggestions.")},"editor.suggest.showIssues":{type:"boolean",default:!0,markdownDescription:m.localize(379,"When enabled IntelliSense shows `issues`-suggestions.")}})}validate(fe){if(!fe||typeof fe!="object")return this.defaultValue;const we=fe;return{insertMode:C(we.insertMode,this.defaultValue.insertMode,["insert","replace"]),filterGraceful:s(we.filterGraceful,this.defaultValue.filterGraceful),snippetsPreventQuickSuggestions:s(we.snippetsPreventQuickSuggestions,this.defaultValue.filterGraceful),localityBonus:s(we.localityBonus,this.defaultValue.localityBonus),shareSuggestSelections:s(we.shareSuggestSelections,this.defaultValue.shareSuggestSelections),selectionMode:C(we.selectionMode,this.defaultValue.selectionMode,["always","never","whenQuickSuggestion","whenTriggerCharacter"]),showIcons:s(we.showIcons,this.defaultValue.showIcons),showStatusBar:s(we.showStatusBar,this.defaultValue.showStatusBar),preview:s(we.preview,this.defaultValue.preview),previewMode:C(we.previewMode,this.defaultValue.previewMode,["prefix","subword","subwordSmart"]),showInlineDetails:s(we.showInlineDetails,this.defaultValue.showInlineDetails),showMethods:s(we.showMethods,this.defaultValue.showMethods),showFunctions:s(we.showFunctions,this.defaultValue.showFunctions),showConstructors:s(we.showConstructors,this.defaultValue.showConstructors),showDeprecated:s(we.showDeprecated,this.defaultValue.showDeprecated),matchOnWordStartOnly:s(we.matchOnWordStartOnly,this.defaultValue.matchOnWordStartOnly),showFields:s(we.showFields,this.defaultValue.showFields),showVariables:s(we.showVariables,this.defaultValue.showVariables),showClasses:s(we.showClasses,this.defaultValue.showClasses),showStructs:s(we.showStructs,this.defaultValue.showStructs),showInterfaces:s(we.showInterfaces,this.defaultValue.showInterfaces),showModules:s(we.showModules,this.defaultValue.showModules),showProperties:s(we.showProperties,this.defaultValue.showProperties),showEvents:s(we.showEvents,this.defaultValue.showEvents),showOperators:s(we.showOperators,this.defaultValue.showOperators),showUnits:s(we.showUnits,this.defaultValue.showUnits),showValues:s(we.showValues,this.defaultValue.showValues),showConstants:s(we.showConstants,this.defaultValue.showConstants),showEnums:s(we.showEnums,this.defaultValue.showEnums),showEnumMembers:s(we.showEnumMembers,this.defaultValue.showEnumMembers),showKeywords:s(we.showKeywords,this.defaultValue.showKeywords),showWords:s(we.showWords,this.defaultValue.showWords),showColors:s(we.showColors,this.defaultValue.showColors),showFiles:s(we.showFiles,this.defaultValue.showFiles),showReferences:s(we.showReferences,this.defaultValue.showReferences),showFolders:s(we.showFolders,this.defaultValue.showFolders),showTypeParameters:s(we.showTypeParameters,this.defaultValue.showTypeParameters),showSnippets:s(we.showSnippets,this.defaultValue.showSnippets),showUsers:s(we.showUsers,this.defaultValue.showUsers),showIssues:s(we.showIssues,this.defaultValue.showIssues)}}}class Ee extends p{constructor(){super(114,"smartSelect",{selectLeadingAndTrailingWhitespace:!0,selectSubwords:!0},{"editor.smartSelect.selectLeadingAndTrailingWhitespace":{description:m.localize(380,"Whether leading and trailing whitespace should always be selected."),default:!0,type:"boolean"},"editor.smartSelect.selectSubwords":{description:m.localize(381,"Whether subwords (like 'foo' in 'fooBar' or 'foo_bar') should be selected."),default:!0,type:"boolean"}})}validate(fe){return!fe||typeof fe!="object"?this.defaultValue:{selectLeadingAndTrailingWhitespace:s(fe.selectLeadingAndTrailingWhitespace,this.defaultValue.selectLeadingAndTrailingWhitespace),selectSubwords:s(fe.selectSubwords,this.defaultValue.selectSubwords)}}}class Ie extends p{constructor(){const fe=[];super(131,"wordSegmenterLocales",fe,{anyOf:[{description:m.localize(382,"Locales to be used for word segmentation when doing word related navigations or operations. Specify the BCP 47 language tag of the word you wish to recognize (e.g., ja, zh-CN, zh-Hant-TW, etc.)."),type:"string"},{description:m.localize(383,"Locales to be used for word segmentation when doing word related navigations or operations. Specify the BCP 47 language tag of the word you wish to recognize (e.g., ja, zh-CN, zh-Hant-TW, etc.)."),type:"array",items:{type:"string"}}]})}validate(fe){if(typeof fe=="string"&&(fe=[fe]),Array.isArray(fe)){const we=[];for(const Fe of fe)if(typeof Fe=="string")try{Intl.Segmenter.supportedLocalesOf(Fe).length>0&&we.push(Fe)}catch{}return we}return this.defaultValue}}class Ae extends p{constructor(){super(139,"wrappingIndent",1,{"editor.wrappingIndent":{type:"string",enum:["none","same","indent","deepIndent"],enumDescriptions:[m.localize(384,"No indentation. Wrapped lines begin at column 1."),m.localize(385,"Wrapped lines get the same indentation as the parent."),m.localize(386,"Wrapped lines get +1 indentation toward the parent."),m.localize(387,"Wrapped lines get +2 indentation toward the parent.")],description:m.localize(388,"Controls the indentation of wrapped lines."),default:"same"}})}validate(fe){switch(fe){case"none":return 0;case"same":return 1;case"indent":return 2;case"deepIndent":return 3}return 1}compute(fe,we,Fe){return we.get(2)===2?0:Fe}}class Me extends t{constructor(){super(147)}compute(fe,we,Fe){const Ce=we.get(146);return{isDominatedByLongLines:fe.isDominatedByLongLines,isWordWrapMinified:Ce.isWordWrapMinified,isViewportWrapping:Ce.isViewportWrapping,wrappingColumn:Ce.wrappingColumn}}}class Ne extends p{constructor(){const fe={enabled:!0,showDropSelector:"afterDrop"};super(36,"dropIntoEditor",fe,{"editor.dropIntoEditor.enabled":{type:"boolean",default:fe.enabled,markdownDescription:m.localize(389,"Controls whether you can drag and drop a file into a text editor by holding down the `Shift` key (instead of opening the file in an editor).")},"editor.dropIntoEditor.showDropSelector":{type:"string",markdownDescription:m.localize(390,"Controls if a widget is shown when dropping files into the editor. This widget lets you control how the file is dropped."),enum:["afterDrop","never"],enumDescriptions:[m.localize(391,"Show the drop selector widget after a file is dropped into the editor."),m.localize(392,"Never show the drop selector widget. Instead the default drop provider is always used.")],default:"afterDrop"}})}validate(fe){if(!fe||typeof fe!="object")return this.defaultValue;const we=fe;return{enabled:s(we.enabled,this.defaultValue.enabled),showDropSelector:C(we.showDropSelector,this.defaultValue.showDropSelector,["afterDrop","never"])}}}class ze extends p{constructor(){const fe={enabled:!0,showPasteSelector:"afterPaste"};super(85,"pasteAs",fe,{"editor.pasteAs.enabled":{type:"boolean",default:fe.enabled,markdownDescription:m.localize(393,"Controls whether you can paste content in different ways.")},"editor.pasteAs.showPasteSelector":{type:"string",markdownDescription:m.localize(394,"Controls if a widget is shown when pasting content in to the editor. This widget lets you control how the file is pasted."),enum:["afterPaste","never"],enumDescriptions:[m.localize(395,"Show the paste selector widget after content is pasted into the editor."),m.localize(396,"Never show the paste selector widget. Instead the default pasting behavior is always used.")],default:"afterPaste"}})}validate(fe){if(!fe||typeof fe!="object")return this.defaultValue;const we=fe;return{enabled:s(we.enabled,this.defaultValue.enabled),showPasteSelector:C(we.showPasteSelector,this.defaultValue.showPasteSelector,["afterPaste","never"])}}}const Ve="Consolas, 'Courier New', monospace",$e="Menlo, Monaco, 'Courier New', monospace",it="'Droid Sans Mono', 'monospace', monospace";e.EDITOR_FONT_DEFAULTS={fontFamily:I.isMacintosh?$e:I.isLinux?it:Ve,fontWeight:"normal",fontSize:I.isMacintosh?12:14,lineHeight:0,letterSpacing:0},e.editorOptionsRegistry=[];function Oe(Pe){return e.editorOptionsRegistry[Pe.id]=Pe,Pe}e.EditorOptions={acceptSuggestionOnCommitCharacter:Oe(new g(0,"acceptSuggestionOnCommitCharacter",!0,{markdownDescription:m.localize(397,"Controls whether suggestions should be accepted on commit characters. For example, in JavaScript, the semi-colon (`;`) can be a commit character that accepts a suggestion and types that character.")})),acceptSuggestionOnEnter:Oe(new f(1,"acceptSuggestionOnEnter","on",["on","smart","off"],{markdownEnumDescriptions:["",m.localize(398,"Only accept a suggestion with `Enter` when it makes a textual change."),""],markdownDescription:m.localize(399,"Controls whether suggestions should be accepted on `Enter`, in addition to `Tab`. Helps to avoid ambiguity between inserting new lines or accepting suggestions.")})),accessibilitySupport:Oe(new w),accessibilityPageSize:Oe(new l(3,"accessibilityPageSize",10,1,1073741824,{description:m.localize(400,"Controls the number of lines in the editor that can be read out by a screen reader at once. When we detect a screen reader we automatically set the default to be 500. Warning: this has a performance implication for numbers larger than the default."),tags:["accessibility"]})),ariaLabel:Oe(new u(4,"ariaLabel",m.localize(401,"Editor content"))),ariaRequired:Oe(new g(5,"ariaRequired",!1,void 0)),screenReaderAnnounceInlineSuggestion:Oe(new g(8,"screenReaderAnnounceInlineSuggestion",!0,{description:m.localize(402,"Control whether inline suggestions are announced by a screen reader."),tags:["accessibility"]})),autoClosingBrackets:Oe(new f(6,"autoClosingBrackets","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",m.localize(403,"Use language configurations to determine when to autoclose brackets."),m.localize(404,"Autoclose brackets only when the cursor is to the left of whitespace."),""],description:m.localize(405,"Controls whether the editor should automatically close brackets after the user adds an opening bracket.")})),autoClosingComments:Oe(new f(7,"autoClosingComments","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",m.localize(406,"Use language configurations to determine when to autoclose comments."),m.localize(407,"Autoclose comments only when the cursor is to the left of whitespace."),""],description:m.localize(408,"Controls whether the editor should automatically close comments after the user adds an opening comment.")})),autoClosingDelete:Oe(new f(9,"autoClosingDelete","auto",["always","auto","never"],{enumDescriptions:["",m.localize(409,"Remove adjacent closing quotes or brackets only if they were automatically inserted."),""],description:m.localize(410,"Controls whether the editor should remove adjacent closing quotes or brackets when deleting.")})),autoClosingOvertype:Oe(new f(10,"autoClosingOvertype","auto",["always","auto","never"],{enumDescriptions:["",m.localize(411,"Type over closing quotes or brackets only if they were automatically inserted."),""],description:m.localize(412,"Controls whether the editor should type over closing quotes or brackets.")})),autoClosingQuotes:Oe(new f(11,"autoClosingQuotes","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",m.localize(413,"Use language configurations to determine when to autoclose quotes."),m.localize(414,"Autoclose quotes only when the cursor is to the left of whitespace."),""],description:m.localize(415,"Controls whether the editor should automatically close quotes after the user adds an opening quote.")})),autoIndent:Oe(new h(12,"autoIndent",4,"full",["none","keep","brackets","advanced","full"],v,{enumDescriptions:[m.localize(416,"The editor will not insert indentation automatically."),m.localize(417,"The editor will keep the current line's indentation."),m.localize(418,"The editor will keep the current line's indentation and honor language defined brackets."),m.localize(419,"The editor will keep the current line's indentation, honor language defined brackets and invoke special onEnterRules defined by languages."),m.localize(420,"The editor will keep the current line's indentation, honor language defined brackets, invoke special onEnterRules defined by languages, and honor indentationRules defined by languages.")],description:m.localize(421,"Controls whether the editor should automatically adjust the indentation when users type, paste, move or indent lines.")})),automaticLayout:Oe(new g(13,"automaticLayout",!1)),autoSurround:Oe(new f(14,"autoSurround","languageDefined",["languageDefined","quotes","brackets","never"],{enumDescriptions:[m.localize(422,"Use language configurations to determine when to automatically surround selections."),m.localize(423,"Surround with quotes but not brackets."),m.localize(424,"Surround with brackets but not quotes."),""],description:m.localize(425,"Controls whether the editor should automatically surround selections when typing quotes or brackets.")})),bracketPairColorization:Oe(new le),bracketPairGuides:Oe(new me),stickyTabStops:Oe(new g(117,"stickyTabStops",!1,{description:m.localize(426,"Emulate selection behavior of tab characters when using spaces for indentation. Selection will stick to tab stops.")})),codeLens:Oe(new g(17,"codeLens",!0,{description:m.localize(427,"Controls whether the editor shows CodeLens.")})),codeLensFontFamily:Oe(new u(18,"codeLensFontFamily","",{description:m.localize(428,"Controls the font family for CodeLens.")})),codeLensFontSize:Oe(new l(19,"codeLensFontSize",0,0,100,{type:"number",default:0,minimum:0,maximum:100,markdownDescription:m.localize(429,"Controls the font size in pixels for CodeLens. When set to 0, 90% of `#editor.fontSize#` is used.")})),colorDecorators:Oe(new g(20,"colorDecorators",!0,{description:m.localize(430,"Controls whether the editor should render the inline color decorators and color picker.")})),colorDecoratorActivatedOn:Oe(new f(149,"colorDecoratorsActivatedOn","clickAndHover",["clickAndHover","hover","click"],{enumDescriptions:[m.localize(431,"Make the color picker appear both on click and hover of the color decorator"),m.localize(432,"Make the color picker appear on hover of the color decorator"),m.localize(433,"Make the color picker appear on click of the color decorator")],description:m.localize(434,"Controls the condition to make a color picker appear from a color decorator")})),colorDecoratorsLimit:Oe(new l(21,"colorDecoratorsLimit",500,1,1e6,{markdownDescription:m.localize(435,"Controls the max number of color decorators that can be rendered in an editor at once.")})),columnSelection:Oe(new g(22,"columnSelection",!1,{description:m.localize(436,"Enable that the selection with the mouse and keys is doing column selection.")})),comments:Oe(new S),contextmenu:Oe(new g(24,"contextmenu",!0)),copyWithSyntaxHighlighting:Oe(new g(25,"copyWithSyntaxHighlighting",!0,{description:m.localize(437,"Controls whether syntax highlighting should be copied into the clipboard.")})),cursorBlinking:Oe(new h(26,"cursorBlinking",1,"blink",["blink","smooth","phase","expand","solid"],L,{description:m.localize(438,"Control the cursor animation style.")})),cursorSmoothCaretAnimation:Oe(new f(27,"cursorSmoothCaretAnimation","off",["off","explicit","on"],{enumDescriptions:[m.localize(439,"Smooth caret animation is disabled."),m.localize(440,"Smooth caret animation is enabled only when the user moves the cursor with an explicit gesture."),m.localize(441,"Smooth caret animation is always enabled.")],description:m.localize(442,"Controls whether the smooth caret animation should be enabled.")})),cursorStyle:Oe(new h(28,"cursorStyle",D.Line,"line",["line","block","underline","line-thin","block-outline","underline-thin"],T,{description:m.localize(443,"Controls the cursor style.")})),cursorSurroundingLines:Oe(new l(29,"cursorSurroundingLines",0,0,1073741824,{description:m.localize(444,"Controls the minimal number of visible leading lines (minimum 0) and trailing lines (minimum 1) surrounding the cursor. Known as 'scrollOff' or 'scrollOffset' in some other editors.")})),cursorSurroundingLinesStyle:Oe(new f(30,"cursorSurroundingLinesStyle","default",["default","all"],{enumDescriptions:[m.localize(445,"`cursorSurroundingLines` is enforced only when triggered via the keyboard or API."),m.localize(446,"`cursorSurroundingLines` is enforced always.")],markdownDescription:m.localize(447,"Controls when `#editor.cursorSurroundingLines#` should be enforced.")})),cursorWidth:Oe(new l(31,"cursorWidth",0,0,1073741824,{markdownDescription:m.localize(448,"Controls the width of the cursor when `#editor.cursorStyle#` is set to `line`.")})),disableLayerHinting:Oe(new g(32,"disableLayerHinting",!1)),disableMonospaceOptimizations:Oe(new g(33,"disableMonospaceOptimizations",!1)),domReadOnly:Oe(new g(34,"domReadOnly",!1)),dragAndDrop:Oe(new g(35,"dragAndDrop",!0,{description:m.localize(449,"Controls whether the editor should allow moving selections via drag and drop.")})),emptySelectionClipboard:Oe(new A),dropIntoEditor:Oe(new Ne),stickyScroll:Oe(new Q),experimentalWhitespaceRendering:Oe(new f(38,"experimentalWhitespaceRendering","svg",["svg","font","off"],{enumDescriptions:[m.localize(450,"Use a new rendering method with svgs."),m.localize(451,"Use a new rendering method with font characters."),m.localize(452,"Use the stable rendering method.")],description:m.localize(453,"Controls whether whitespace is rendered with a new, experimental method.")})),extraEditorClassName:Oe(new u(39,"extraEditorClassName","")),fastScrollSensitivity:Oe(new r(40,"fastScrollSensitivity",5,Pe=>Pe<=0?5:Pe,{markdownDescription:m.localize(454,"Scrolling speed multiplier when pressing `Alt`.")})),find:Oe(new P),fixedOverflowWidgets:Oe(new g(42,"fixedOverflowWidgets",!1)),folding:Oe(new g(43,"folding",!0,{description:m.localize(455,"Controls whether the editor has code folding enabled.")})),foldingStrategy:Oe(new f(44,"foldingStrategy","auto",["auto","indentation"],{enumDescriptions:[m.localize(456,"Use a language-specific folding strategy if available, else the indentation-based one."),m.localize(457,"Use the indentation-based folding strategy.")],description:m.localize(458,"Controls the strategy for computing folding ranges.")})),foldingHighlight:Oe(new g(45,"foldingHighlight",!0,{description:m.localize(459,"Controls whether the editor should highlight folded ranges.")})),foldingImportsByDefault:Oe(new g(46,"foldingImportsByDefault",!1,{description:m.localize(460,"Controls whether the editor automatically collapses import ranges.")})),foldingMaximumRegions:Oe(new l(47,"foldingMaximumRegions",5e3,10,65e3,{description:m.localize(461,"The maximum number of foldable regions. Increasing this value may result in the editor becoming less responsive when the current source has a large number of foldable regions.")})),unfoldOnClickAfterEndOfLine:Oe(new g(48,"unfoldOnClickAfterEndOfLine",!1,{description:m.localize(462,"Controls whether clicking on the empty content after a folded line will unfold the line.")})),fontFamily:Oe(new u(49,"fontFamily",e.EDITOR_FONT_DEFAULTS.fontFamily,{description:m.localize(463,"Controls the font family.")})),fontInfo:Oe(new F),fontLigatures2:Oe(new N),fontSize:Oe(new x),fontWeight:Oe(new W),fontVariations:Oe(new O),formatOnPaste:Oe(new g(55,"formatOnPaste",!1,{description:m.localize(464,"Controls whether the editor should automatically format the pasted content. A formatter must be available and the formatter should be able to format a range in a document.")})),formatOnType:Oe(new g(56,"formatOnType",!1,{description:m.localize(465,"Controls whether the editor should automatically format the line after typing.")})),glyphMargin:Oe(new g(57,"glyphMargin",!0,{description:m.localize(466,"Controls whether the editor should render the vertical glyph margin. Glyph margin is mostly used for debugging.")})),gotoLocation:Oe(new V),hideCursorInOverviewRuler:Oe(new g(59,"hideCursorInOverviewRuler",!1,{description:m.localize(467,"Controls whether the cursor should be hidden in the overview ruler.")})),hover:Oe(new q),inDiffEditor:Oe(new g(61,"inDiffEditor",!1)),letterSpacing:Oe(new r(64,"letterSpacing",e.EDITOR_FONT_DEFAULTS.letterSpacing,Pe=>r.clamp(Pe,-5,20),{description:m.localize(468,"Controls the letter spacing in pixels.")})),lightbulb:Oe(new j),lineDecorationsWidth:Oe(new K),lineHeight:Oe(new R),lineNumbers:Oe(new de),lineNumbersMinChars:Oe(new l(69,"lineNumbersMinChars",5,1,300)),linkedEditing:Oe(new g(70,"linkedEditing",!1,{description:m.localize(469,"Controls whether the editor has linked editing enabled. Depending on the language, related symbols such as HTML tags, are updated while editing.")})),links:Oe(new g(71,"links",!0,{description:m.localize(470,"Controls whether the editor should detect links and make them clickable.")})),matchBrackets:Oe(new f(72,"matchBrackets","always",["always","near","never"],{description:m.localize(471,"Highlight matching brackets.")})),minimap:Oe(new J),mouseStyle:Oe(new f(74,"mouseStyle","text",["text","default","copy"])),mouseWheelScrollSensitivity:Oe(new r(75,"mouseWheelScrollSensitivity",1,Pe=>Pe===0?1:Pe,{markdownDescription:m.localize(472,"A multiplier to be used on the `deltaX` and `deltaY` of mouse wheel scroll events.")})),mouseWheelZoom:Oe(new g(76,"mouseWheelZoom",!1,{markdownDescription:I.isMacintosh?m.localize(473,"Zoom the font of the editor when using mouse wheel and holding `Cmd`."):m.localize(474,"Zoom the font of the editor when using mouse wheel and holding `Ctrl`.")})),multiCursorMergeOverlapping:Oe(new g(77,"multiCursorMergeOverlapping",!0,{description:m.localize(475,"Merge multiple cursors when they are overlapping.")})),multiCursorModifier:Oe(new h(78,"multiCursorModifier","altKey","alt",["ctrlCmd","alt"],ie,{markdownEnumDescriptions:[m.localize(476,"Maps to `Control` on Windows and Linux and to `Command` on macOS."),m.localize(477,"Maps to `Alt` on Windows and Linux and to `Option` on macOS.")],markdownDescription:m.localize(478,"The modifier to be used to add multiple cursors with the mouse. The Go to Definition and Open Link mouse gestures will adapt such that they do not conflict with the [multicursor modifier](https://code.visualstudio.com/docs/editor/codebasics#_multicursor-modifier).")})),multiCursorPaste:Oe(new f(79,"multiCursorPaste","spread",["spread","full"],{markdownEnumDescriptions:[m.localize(479,"Each cursor pastes a single line of the text."),m.localize(480,"Each cursor pastes the full text.")],markdownDescription:m.localize(481,"Controls pasting when the line count of the pasted text matches the cursor count.")})),multiCursorLimit:Oe(new l(80,"multiCursorLimit",1e4,1,1e5,{markdownDescription:m.localize(482,"Controls the max number of cursors that can be in an active editor at once.")})),occurrencesHighlight:Oe(new f(81,"occurrencesHighlight","singleFile",["off","singleFile","multiFile"],{markdownEnumDescriptions:[m.localize(483,"Does not highlight occurrences."),m.localize(484,"Highlights occurrences only in the current file."),m.localize(485,"Experimental: Highlights occurrences across all valid open files.")],markdownDescription:m.localize(486,"Controls whether occurrences should be highlighted across open files.")})),overviewRulerBorder:Oe(new g(82,"overviewRulerBorder",!0,{description:m.localize(487,"Controls whether a border should be drawn around the overview ruler.")})),overviewRulerLanes:Oe(new l(83,"overviewRulerLanes",3,0,3)),padding:Oe(new ue),pasteAs:Oe(new ze),parameterHints:Oe(new he),peekWidgetDefaultFocus:Oe(new f(87,"peekWidgetDefaultFocus","tree",["tree","editor"],{enumDescriptions:[m.localize(488,"Focus the tree when opening peek"),m.localize(489,"Focus the editor when opening peek")],description:m.localize(490,"Controls whether to focus the inline editor or the tree in the peek widget.")})),placeholder:Oe(new ae),definitionLinkOpensInPeek:Oe(new g(89,"definitionLinkOpensInPeek",!1,{description:m.localize(491,"Controls whether the Go to Definition mouse gesture always opens the peek widget.")})),quickSuggestions:Oe(new ee),quickSuggestionsDelay:Oe(new l(91,"quickSuggestionsDelay",10,0,1073741824,{description:m.localize(492,"Controls the delay in milliseconds after which quick suggestions will show up.")})),readOnly:Oe(new g(92,"readOnly",!1)),readOnlyMessage:Oe(new B),renameOnType:Oe(new g(94,"renameOnType",!1,{description:m.localize(493,"Controls whether the editor auto renames on type."),markdownDeprecationMessage:m.localize(494,"Deprecated, use `editor.linkedEditing` instead.")})),renderControlCharacters:Oe(new g(95,"renderControlCharacters",!0,{description:m.localize(495,"Controls whether the editor should render control characters."),restricted:!0})),renderFinalNewline:Oe(new f(96,"renderFinalNewline",I.isLinux?"dimmed":"on",["off","on","dimmed"],{description:m.localize(496,"Render last line number when the file ends with a newline.")})),renderLineHighlight:Oe(new f(97,"renderLineHighlight","line",["none","gutter","line","all"],{enumDescriptions:["","","",m.localize(497,"Highlights both the gutter and the current line.")],description:m.localize(498,"Controls how the editor should render the current line highlight.")})),renderLineHighlightOnlyWhenFocus:Oe(new g(98,"renderLineHighlightOnlyWhenFocus",!1,{description:m.localize(499,"Controls if the editor should render the current line highlight only when the editor is focused.")})),renderValidationDecorations:Oe(new f(99,"renderValidationDecorations","editable",["editable","on","off"])),renderWhitespace:Oe(new f(100,"renderWhitespace","selection",["none","boundary","selection","trailing","all"],{enumDescriptions:["",m.localize(500,"Render whitespace characters except for single spaces between words."),m.localize(501,"Render whitespace characters only on selected text."),m.localize(502,"Render only trailing whitespace characters."),""],description:m.localize(503,"Controls how the editor should render whitespace characters.")})),revealHorizontalRightPadding:Oe(new l(101,"revealHorizontalRightPadding",15,0,1e3)),roundedSelection:Oe(new g(102,"roundedSelection",!0,{description:m.localize(504,"Controls whether selections should have rounded corners.")})),rulers:Oe(new X),scrollbar:Oe(new Y),scrollBeyondLastColumn:Oe(new l(105,"scrollBeyondLastColumn",4,0,1073741824,{description:m.localize(505,"Controls the number of extra characters beyond which the editor will scroll horizontally.")})),scrollBeyondLastLine:Oe(new g(106,"scrollBeyondLastLine",!0,{description:m.localize(506,"Controls whether the editor will scroll beyond the last line.")})),scrollPredominantAxis:Oe(new g(107,"scrollPredominantAxis",!0,{description:m.localize(507,"Scroll only along the predominant axis when scrolling both vertically and horizontally at the same time. Prevents horizontal drift when scrolling vertically on a trackpad.")})),selectionClipboard:Oe(new g(108,"selectionClipboard",!0,{description:m.localize(508,"Controls whether the Linux primary clipboard should be supported."),included:I.isLinux})),selectionHighlight:Oe(new g(109,"selectionHighlight",!0,{description:m.localize(509,"Controls whether the editor should highlight matches similar to the selection.")})),selectOnLineNumbers:Oe(new g(110,"selectOnLineNumbers",!0)),showFoldingControls:Oe(new f(111,"showFoldingControls","mouseover",["always","never","mouseover"],{enumDescriptions:[m.localize(510,"Always show the folding controls."),m.localize(511,"Never show the folding controls and reduce the gutter size."),m.localize(512,"Only show the folding controls when the mouse is over the gutter.")],description:m.localize(513,"Controls when the folding controls on the gutter are shown.")})),showUnused:Oe(new g(112,"showUnused",!0,{description:m.localize(514,"Controls fading out of unused code.")})),showDeprecated:Oe(new g(141,"showDeprecated",!0,{description:m.localize(515,"Controls strikethrough deprecated variables.")})),inlayHints:Oe(new G),snippetSuggestions:Oe(new f(113,"snippetSuggestions","inline",["top","bottom","inline","none"],{enumDescriptions:[m.localize(516,"Show snippet suggestions on top of other suggestions."),m.localize(517,"Show snippet suggestions below other suggestions."),m.localize(518,"Show snippets suggestions with other suggestions."),m.localize(519,"Do not show snippet suggestions.")],description:m.localize(520,"Controls whether snippets are shown with other suggestions and how they are sorted.")})),smartSelect:Oe(new Ee),smoothScrolling:Oe(new g(115,"smoothScrolling",!1,{description:m.localize(521,"Controls whether the editor will scroll using an animation.")})),stopRenderingLineAfter:Oe(new l(118,"stopRenderingLineAfter",1e4,-1,1073741824)),suggest:Oe(new Le),inlineSuggest:Oe(new te),inlineEdit:Oe(new re),inlineCompletionsAccessibilityVerbose:Oe(new g(150,"inlineCompletionsAccessibilityVerbose",!1,{description:m.localize(522,"Controls whether the accessibility hint should be provided to screen reader users when an inline completion is shown.")})),suggestFontSize:Oe(new l(120,"suggestFontSize",0,0,1e3,{markdownDescription:m.localize(523,"Font size for the suggest widget. When set to {0}, the value of {1} is used.","`0`","`#editor.fontSize#`")})),suggestLineHeight:Oe(new l(121,"suggestLineHeight",0,0,1e3,{markdownDescription:m.localize(524,"Line height for the suggest widget. When set to {0}, the value of {1} is used. The minimum value is 8.","`0`","`#editor.lineHeight#`")})),suggestOnTriggerCharacters:Oe(new g(122,"suggestOnTriggerCharacters",!0,{description:m.localize(525,"Controls whether suggestions should automatically show up when typing trigger characters.")})),suggestSelection:Oe(new f(123,"suggestSelection","first",["first","recentlyUsed","recentlyUsedByPrefix"],{markdownEnumDescriptions:[m.localize(526,"Always select the first suggestion."),m.localize(527,"Select recent suggestions unless further typing selects one, e.g. `console.| -> console.log` because `log` has been completed recently."),m.localize(528,"Select suggestions based on previous prefixes that have completed those suggestions, e.g. `co -> console` and `con -> const`.")],description:m.localize(529,"Controls how suggestions are pre-selected when showing the suggest list.")})),tabCompletion:Oe(new f(124,"tabCompletion","off",["on","off","onlySnippets"],{enumDescriptions:[m.localize(530,"Tab complete will insert the best matching suggestion when pressing tab."),m.localize(531,"Disable tab completions."),m.localize(532,"Tab complete snippets when their prefix match. Works best when 'quickSuggestions' aren't enabled.")],description:m.localize(533,"Enables tab completions.")})),tabIndex:Oe(new l(125,"tabIndex",0,-1,1073741824)),unicodeHighlight:Oe(new Z),unusualLineTerminators:Oe(new f(127,"unusualLineTerminators","prompt",["auto","off","prompt"],{enumDescriptions:[m.localize(534,"Unusual line terminators are automatically removed."),m.localize(535,"Unusual line terminators are ignored."),m.localize(536,"Unusual line terminators prompt to be removed.")],description:m.localize(537,"Remove unusual line terminators that might cause problems.")})),useShadowDOM:Oe(new g(128,"useShadowDOM",!0)),useTabStops:Oe(new g(129,"useTabStops",!0,{description:m.localize(538,"Spaces and tabs are inserted and deleted in alignment with tab stops.")})),wordBreak:Oe(new f(130,"wordBreak","normal",["normal","keepAll"],{markdownEnumDescriptions:[m.localize(539,"Use the default line break rule."),m.localize(540,"Word breaks should not be used for Chinese/Japanese/Korean (CJK) text. Non-CJK text behavior is the same as for normal.")],description:m.localize(541,"Controls the word break rules used for Chinese/Japanese/Korean (CJK) text.")})),wordSegmenterLocales:Oe(new Ie),wordSeparators:Oe(new u(132,"wordSeparators",y.USUAL_WORD_SEPARATORS,{description:m.localize(542,"Characters that will be used as word separators when doing word related navigations or operations.")})),wordWrap:Oe(new f(133,"wordWrap","off",["off","on","wordWrapColumn","bounded"],{markdownEnumDescriptions:[m.localize(543,"Lines will never wrap."),m.localize(544,"Lines will wrap at the viewport width."),m.localize(545,"Lines will wrap at `#editor.wordWrapColumn#`."),m.localize(546,"Lines will wrap at the minimum of viewport and `#editor.wordWrapColumn#`.")],description:m.localize(547,"Controls how lines should wrap.")})),wordWrapBreakAfterCharacters:Oe(new u(134,"wordWrapBreakAfterCharacters"," })]?|/&.,;\xA2\xB0\u2032\u2033\u2030\u2103\u3001\u3002\uFF61\uFF64\uFFE0\uFF0C\uFF0E\uFF1A\uFF1B\uFF1F\uFF01\uFF05\u30FB\uFF65\u309D\u309E\u30FD\u30FE\u30FC\u30A1\u30A3\u30A5\u30A7\u30A9\u30C3\u30E3\u30E5\u30E7\u30EE\u30F5\u30F6\u3041\u3043\u3045\u3047\u3049\u3063\u3083\u3085\u3087\u308E\u3095\u3096\u31F0\u31F1\u31F2\u31F3\u31F4\u31F5\u31F6\u31F7\u31F8\u31F9\u31FA\u31FB\u31FC\u31FD\u31FE\u31FF\u3005\u303B\uFF67\uFF68\uFF69\uFF6A\uFF6B\uFF6C\uFF6D\uFF6E\uFF6F\uFF70\u201D\u3009\u300B\u300D\u300F\u3011\u3015\uFF09\uFF3D\uFF5D\uFF63")),wordWrapBreakBeforeCharacters:Oe(new u(135,"wordWrapBreakBeforeCharacters","([{\u2018\u201C\u3008\u300A\u300C\u300E\u3010\u3014\uFF08\uFF3B\uFF5B\uFF62\xA3\xA5\uFF04\uFFE1\uFFE5+\uFF0B")),wordWrapColumn:Oe(new l(136,"wordWrapColumn",80,1,1073741824,{markdownDescription:m.localize(548,"Controls the wrapping column of the editor when `#editor.wordWrap#` is `wordWrapColumn` or `bounded`.")})),wordWrapOverride1:Oe(new f(137,"wordWrapOverride1","inherit",["off","on","inherit"])),wordWrapOverride2:Oe(new f(138,"wordWrapOverride2","inherit",["off","on","inherit"])),editorClassName:Oe(new M),defaultColorDecorators:Oe(new g(148,"defaultColorDecorators",!1,{markdownDescription:m.localize(549,"Controls whether inline color decorations should be shown using the default document color provider")})),pixelRatio:Oe(new pe),tabFocusMode:Oe(new g(145,"tabFocusMode",!1,{markdownDescription:m.localize(550,"Controls whether the editor receives tabs or defers them to the workbench for navigation.")})),layoutInfo:Oe(new H),wrappingInfo:Oe(new Me),wrappingIndent:Oe(new Ae),wrappingStrategy:Oe(new z)}}),define(ne[655],se([1,0,5,39,11,74,37,9,4,226]),function(oe,e,d,k,I,E,y,m,_,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ViewCursor=e.CursorPlurality=void 0;class p{constructor(i,s,g,c,l,a,r){this.top=i,this.left=s,this.paddingLeft=g,this.width=c,this.height=l,this.textContent=a,this.textContentClassName=r}}var n;(function(t){t[t.Single=0]="Single",t[t.MultiPrimary=1]="MultiPrimary",t[t.MultiSecondary=2]="MultiSecondary"})(n||(e.CursorPlurality=n={}));class o{constructor(i,s){this._context=i;const g=this._context.configuration.options,c=g.get(50);this._cursorStyle=g.get(28),this._lineHeight=g.get(67),this._typicalHalfwidthCharacterWidth=c.typicalHalfwidthCharacterWidth,this._lineCursorWidth=Math.min(g.get(31),this._typicalHalfwidthCharacterWidth),this._isVisible=!0,this._domNode=(0,k.createFastDomNode)(document.createElement("div")),this._domNode.setClassName(`cursor ${b.MOUSE_CURSOR_TEXT_CSS_CLASS_NAME}`),this._domNode.setHeight(this._lineHeight),this._domNode.setTop(0),this._domNode.setLeft(0),(0,E.applyFontInfo)(this._domNode,c),this._domNode.setDisplay("none"),this._position=new m.Position(1,1),this._pluralityClass="",this.setPlurality(s),this._lastRenderedContent="",this._renderData=null}getDomNode(){return this._domNode}getPosition(){return this._position}setPlurality(i){switch(i){default:case n.Single:this._pluralityClass="";break;case n.MultiPrimary:this._pluralityClass="cursor-primary";break;case n.MultiSecondary:this._pluralityClass="cursor-secondary";break}}show(){this._isVisible||(this._domNode.setVisibility("inherit"),this._isVisible=!0)}hide(){this._isVisible&&(this._domNode.setVisibility("hidden"),this._isVisible=!1)}onConfigurationChanged(i){const s=this._context.configuration.options,g=s.get(50);return this._cursorStyle=s.get(28),this._lineHeight=s.get(67),this._typicalHalfwidthCharacterWidth=g.typicalHalfwidthCharacterWidth,this._lineCursorWidth=Math.min(s.get(31),this._typicalHalfwidthCharacterWidth),(0,E.applyFontInfo)(this._domNode,g),!0}onCursorPositionChanged(i,s){return s?this._domNode.domNode.style.transitionProperty="none":this._domNode.domNode.style.transitionProperty="",this._position=i,!0}_getGraphemeAwarePosition(){const{lineNumber:i,column:s}=this._position,g=this._context.viewModel.getLineContent(i),[c,l]=I.getCharContainingOffset(g,s-1);return[new m.Position(i,c+1),g.substring(c,l)]}_prepareRender(i){let s="",g="";const[c,l]=this._getGraphemeAwarePosition();if(this._cursorStyle===y.TextEditorCursorStyle.Line||this._cursorStyle===y.TextEditorCursorStyle.LineThin){const v=i.visibleRangeForPosition(c);if(!v||v.outsideRenderedLine)return null;const w=d.getWindow(this._domNode.domNode);let S;this._cursorStyle===y.TextEditorCursorStyle.Line?(S=d.computeScreenAwareSize(w,this._lineCursorWidth>0?this._lineCursorWidth:2),S>2&&(s=l,g=this._getTokenClassName(c))):S=d.computeScreenAwareSize(w,1);let L=v.left,D=0;S>=2&&L>=1&&(D=1,L-=D);const T=i.getVerticalOffsetForLineNumber(c.lineNumber)-i.bigNumbersDelta;return new p(T,L,D,S,this._lineHeight,s,g)}const a=i.linesVisibleRangesForRange(new _.Range(c.lineNumber,c.column,c.lineNumber,c.column+l.length),!1);if(!a||a.length===0)return null;const r=a[0];if(r.outsideRenderedLine||r.ranges.length===0)return null;const u=r.ranges[0],C=l===" "?this._typicalHalfwidthCharacterWidth:u.width<1?this._typicalHalfwidthCharacterWidth:u.width;this._cursorStyle===y.TextEditorCursorStyle.Block&&(s=l,g=this._getTokenClassName(c));let f=i.getVerticalOffsetForLineNumber(c.lineNumber)-i.bigNumbersDelta,h=this._lineHeight;return(this._cursorStyle===y.TextEditorCursorStyle.Underline||this._cursorStyle===y.TextEditorCursorStyle.UnderlineThin)&&(f+=this._lineHeight-2,h=2),new p(f,u.left,0,C,h,s,g)}_getTokenClassName(i){const s=this._context.viewModel.getViewLineData(i.lineNumber),g=s.tokens.findTokenIndexAtOffset(i.column-1);return s.tokens.getClassName(g)}prepareRender(i){this._renderData=this._prepareRender(i)}render(i){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} ${b.MOUSE_CURSOR_TEXT_CSS_CLASS_NAME} ${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)}}e.ViewCursor=o}),define(ne[261],se([1,0,16,37,165]),function(oe,e,d,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.FontInfo=e.SERIALIZED_FONT_INFO_VERSION=e.BareFontInfo=void 0;const E=d.isMacintosh?1.5:1.35,y=8;class m{static createFromValidatedSettings(p,n,o){const t=p.get(49),i=p.get(53),s=p.get(52),g=p.get(51),c=p.get(54),l=p.get(67),a=p.get(64);return m._create(t,i,s,g,c,l,a,n,o)}static _create(p,n,o,t,i,s,g,c,l){s===0?s=E*o:s{this._evictUntrustedReadingsTimeout=-1,this._evictUntrustedReadings(o)},5e3))}_evictUntrustedReadings(o){const t=this._ensureCache(o),i=t.getValues();let s=!1;for(const g of i)g.isTrusted||(s=!0,t.remove(g));s&&this._onDidChange.fire()}readFontInfo(o,t){const i=this._ensureCache(o);if(!i.has(t)){let s=this._actualReadFontInfo(o,t);(s.typicalHalfwidthCharacterWidth<=2||s.typicalFullwidthCharacterWidth<=2||s.spaceWidth<=2||s.maxDigitWidth<=2)&&(s=new _.FontInfo({pixelRatio:k.PixelRatio.getInstance(o).value,fontFamily:s.fontFamily,fontWeight:s.fontWeight,fontSize:s.fontSize,fontFeatureSettings:s.fontFeatureSettings,fontVariationSettings:s.fontVariationSettings,lineHeight:s.lineHeight,letterSpacing:s.letterSpacing,isMonospace:s.isMonospace,typicalHalfwidthCharacterWidth:Math.max(s.typicalHalfwidthCharacterWidth,5),typicalFullwidthCharacterWidth:Math.max(s.typicalFullwidthCharacterWidth,5),canUseHalfwidthRightwardsArrow:s.canUseHalfwidthRightwardsArrow,spaceWidth:Math.max(s.spaceWidth,5),middotWidth:Math.max(s.middotWidth,5),wsmiddotWidth:Math.max(s.wsmiddotWidth,5),maxDigitWidth:Math.max(s.maxDigitWidth,5)},!1)),this._writeToCache(o,t,s)}return i.get(t)}_createRequest(o,t,i,s){const g=new y.CharWidthRequest(o,t);return i.push(g),s?.push(g),g}_actualReadFontInfo(o,t){const i=[],s=[],g=this._createRequest("n",0,i,s),c=this._createRequest("\uFF4D",0,i,null),l=this._createRequest(" ",0,i,s),a=this._createRequest("0",0,i,s),r=this._createRequest("1",0,i,s),u=this._createRequest("2",0,i,s),C=this._createRequest("3",0,i,s),f=this._createRequest("4",0,i,s),h=this._createRequest("5",0,i,s),v=this._createRequest("6",0,i,s),w=this._createRequest("7",0,i,s),S=this._createRequest("8",0,i,s),L=this._createRequest("9",0,i,s),D=this._createRequest("\u2192",0,i,s),T=this._createRequest("\uFFEB",0,i,null),M=this._createRequest("\xB7",0,i,s),A=this._createRequest("\u2E31",0,i,null),P="|/-_ilm%";for(let W=0,V=P.length;W.001){O=!1;break}}let x=!0;return O&&T.width!==F&&(x=!1),T.width>D.width&&(x=!1),new _.FontInfo({pixelRatio:k.PixelRatio.getInstance(o).value,fontFamily:t.fontFamily,fontWeight:t.fontWeight,fontSize:t.fontSize,fontFeatureSettings:t.fontFeatureSettings,fontVariationSettings:t.fontVariationSettings,lineHeight:t.lineHeight,letterSpacing:t.letterSpacing,isMonospace:O,typicalHalfwidthCharacterWidth:g.width,typicalFullwidthCharacterWidth:c.width,canUseHalfwidthRightwardsArrow:x,spaceWidth:l.width,middotWidth:M.width,wsmiddotWidth:A.width,maxDigitWidth:N},!0)}}e.FontMeasurementsImpl=b;class p{constructor(){this._keys=Object.create(null),this._values=Object.create(null)}has(o){const t=o.getId();return!!this._values[t]}get(o){const t=o.getId();return this._values[t]}put(o,t){const i=o.getId();this._keys[i]=o,this._values[i]=t}remove(o){const t=o.getId();delete this._keys[t],delete this._values[t]}getValues(){return Object.keys(this._keys).map(o=>this._values[o])}}e.FontMeasurements=new b}),define(ne[116],se([1,0,11,16,160]),function(oe,e,d,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.StringBuilder=void 0,e.getPlatformTextDecoder=p,e.decodeUTF16LE=n;let E;function y(){return E||(E=new TextDecoder("UTF-16LE")),E}let m;function _(){return m||(m=new TextDecoder("UTF-16BE")),m}let b;function p(){return b||(b=k.isLittleEndian()?y():_()),b}function n(i,s,g){const c=new Uint16Array(i.buffer,s,g);return g>0&&(c[0]===65279||c[0]===65534)?o(i,s,g):y().decode(c)}function o(i,s,g){const c=[];let l=0;for(let a=0;a=this._capacity){this._flushBuffer(),this._completedStrings[this._completedStrings.length]=s;return}for(let c=0;cg});class p{static create(c){return new p(new WeakRef(c))}constructor(c){this.targetWindow=c}createLineBreaksComputer(c,l,a,r,u){const C=[],f=[];return{addRequest:(h,v,w)=>{C.push(h),f.push(v)},finalize:()=>n((0,I.assertIsDefined)(this.targetWindow.deref()),C,c,l,a,r,u,f)}}}e.DOMLineBreaksComputerFactory=p;function n(g,c,l,a,r,u,C,f){function h(H){const z=f[H];if(z){const U=_.LineInjectedText.applyInjectedText(c[H],z),j=z.map(G=>G.options),Q=z.map(G=>G.column-1);return new m.ModelLineProjectionData(Q,j,[U.length],[],0)}else return null}if(r===-1){const H=[];for(let z=0,U=c.length;zv?(U=0,j=0):Q=v-R}const G=z.substr(U),K=o(G,j,a,Q,T,L);M[H]=U,A[H]=j,P[H]=G,N[H]=K[0],O[H]=K[1]}const F=T.build(),x=b?.createHTML(F)??F;D.innerHTML=x,D.style.position="absolute",D.style.top="10000",C==="keepAll"?(D.style.wordBreak="keep-all",D.style.overflowWrap="anywhere"):(D.style.wordBreak="inherit",D.style.overflowWrap="break-word"),g.document.body.appendChild(D);const W=document.createRange(),V=Array.prototype.slice.call(D.children,0),q=[];for(let H=0;Hue.options),J=ie.map(ue=>ue.column-1)):(R=null,J=null),q[H]=new m.ModelLineProjectionData(J,R,U,K,Q)}return D.remove(),q}function o(g,c,l,a,r,u){if(u!==0){const L=String(u);r.appendString('
    ');const C=g.length;let f=c,h=0;const v=[],w=[];let S=0");for(let L=0;L"),v[L]=h,w[L]=f;const D=S;S=L+1"),v[g.length]=h,w[g.length]=f,r.appendString("
    "),[v,w]}function t(g,c,l,a){if(l.length<=1)return null;const r=Array.prototype.slice.call(c.children,0),u=[];try{i(g,r,a,0,null,l.length-1,null,u)}catch(C){return console.log(C),null}return u.length===0?null:(u.push(l.length),u)}function i(g,c,l,a,r,u,C,f){if(a===u||(r=r||s(g,c,l[a],l[a+1]),C=C||s(g,c,l[u],l[u+1]),Math.abs(r[0].top-C[0].top)<=.1))return;if(a+1===u){f.push(u);return}const h=a+(u-a)/2|0,v=s(g,c,l[h],l[h+1]);i(g,c,l,a,r,h,v,f),i(g,c,l,h,v,u,C,f)}function s(g,c,l,a){return g.setStart(c[l/16384|0].firstChild,l%16384),g.setEnd(c[a/16384|0].firstChild,a%16384),g.getClientRects()}}),define(ne[262],se([1,0,39,103,8,116]),function(oe,e,d,k,I,E){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.VisibleLinesCollection=e.RenderedLinesCollection=void 0;class y{constructor(p){this._lineFactory=p,this._set(1,[])}flush(){this._set(1,[])}_set(p,n){this._lines=n,this._rendLineNumberStart=p}_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(p){const n=p-this._rendLineNumberStart;if(n<0||n>=this._lines.length)throw new I.BugIndicatingError("Illegal value for lineNumber");return this._lines[n]}onLinesDeleted(p,n){if(this.getCount()===0)return null;const o=this.getStartLineNumber(),t=this.getEndLineNumber();if(nt)return null;let i=0,s=0;for(let c=o;c<=t;c++){const l=c-this._rendLineNumberStart;p<=c&&c<=n&&(s===0?(i=l,s=1):s++)}if(p=t&&g<=i&&(this._lines[g-this._rendLineNumberStart].onContentChanged(),s=!0);return s}onLinesInserted(p,n){if(this.getCount()===0)return null;const o=n-p+1,t=this.getStartLineNumber(),i=this.getEndLineNumber();if(p<=t)return this._rendLineNumberStart+=o,null;if(p>i)return null;if(o+p>i)return this._lines.splice(p-this._rendLineNumberStart,i-p+1);const s=[];for(let r=0;ro)continue;const c=Math.max(n,g.fromLineNumber),l=Math.min(o,g.toLineNumber);for(let a=c;a<=l;a++){const r=a-this._rendLineNumberStart;this._lines[r].onTokensChanged(),t=!0}}return t}}e.RenderedLinesCollection=y;class m{constructor(p){this._lineFactory=p,this.domNode=this._createDomNode(),this._linesCollection=new y(this._lineFactory)}_createDomNode(){const p=(0,d.createFastDomNode)(document.createElement("div"));return p.setClassName("view-layer"),p.setPosition("absolute"),p.domNode.setAttribute("role","presentation"),p.domNode.setAttribute("aria-hidden","true"),p}onConfigurationChanged(p){return!!p.hasChanged(146)}onFlushed(p){return this._linesCollection.flush(),!0}onLinesChanged(p){return this._linesCollection.onLinesChanged(p.fromLineNumber,p.count)}onLinesDeleted(p){const n=this._linesCollection.onLinesDeleted(p.fromLineNumber,p.toLineNumber);if(n)for(let o=0,t=n.length;op})}constructor(p,n,o){this._domNode=p,this._lineFactory=n,this._viewportData=o}render(p,n,o,t){const i={rendLineNumberStart:p.rendLineNumberStart,lines:p.lines.slice(0),linesLength:p.linesLength};if(i.rendLineNumberStart+i.linesLength-1n){const s=n,g=Math.min(o,i.rendLineNumberStart-1);s<=g&&(this._insertLinesBefore(i,s,g,t,n),i.linesLength+=g-s+1)}else if(i.rendLineNumberStart0&&(this._removeLinesBefore(i,s),i.linesLength-=s)}if(i.rendLineNumberStart=n,i.rendLineNumberStart+i.linesLength-1o){const s=Math.max(0,o-i.rendLineNumberStart+1),c=i.linesLength-1-s+1;c>0&&(this._removeLinesAfter(i,c),i.linesLength-=c)}return this._finishRendering(i,!1,t),i}_renderUntouchedLines(p,n,o,t,i){const s=p.rendLineNumberStart,g=p.lines;for(let c=n;c<=o;c++){const l=s+c;g[c].layoutLine(l,t[l-i],this._viewportData.lineHeight)}}_insertLinesBefore(p,n,o,t,i){const s=[];let g=0;for(let c=n;c<=o;c++)s[g++]=this._lineFactory.createLine();p.lines=s.concat(p.lines)}_removeLinesBefore(p,n){for(let o=0;o=0;g--){const c=p.lines[g];t[g]&&(c.setDomNode(s),s=s.previousSibling)}}_finishRenderingInvalidLines(p,n,o){const t=document.createElement("div");_._ttPolicy&&(n=_._ttPolicy.createHTML(n)),t.innerHTML=n;for(let i=0;inew m(this._dynamicOverlays)}),this.domNode=this._visibleLines.domNode;const t=this._context.configuration.options.get(50);(0,k.applyFontInfo)(this.domNode,t),this.domNode.setClassName("view-overlays")}shouldRender(){if(super.shouldRender())return!0;for(let n=0,o=this._dynamicOverlays.length;nt.shouldRender());for(let t=0,i=o.length;t'),s.appendString(g),s.appendString("
    "),!0)}layoutLine(n,o,t){this._domNode&&(this._domNode.setTop(o),this._domNode.setHeight(t))}}e.ViewOverlayLine=m;class _ extends y{constructor(n){super(n);const t=this._context.configuration.options.get(146);this._contentWidth=t.contentWidth,this.domNode.setHeight(0)}onConfigurationChanged(n){const t=this._context.configuration.options.get(146);return this._contentWidth=t.contentWidth,super.onConfigurationChanged(n)||!0}onScrollChanged(n){return super.onScrollChanged(n)||n.scrollWidthChanged}_viewOverlaysRender(n){super._viewOverlaysRender(n),this.domNode.setWidth(Math.max(n.scrollWidth,this._contentWidth))}}e.ContentViewOverlays=_;class b extends y{constructor(n){super(n);const o=this._context.configuration.options,t=o.get(146);this._contentLeft=t.contentLeft,this.domNode.setClassName("margin-view-overlays"),this.domNode.setWidth(1),(0,k.applyFontInfo)(this.domNode,o.get(50))}onConfigurationChanged(n){const o=this._context.configuration.options;(0,k.applyFontInfo)(this.domNode,o.get(50));const t=o.get(146);return this._contentLeft=t.contentLeft,super.onConfigurationChanged(n)||!0}onScrollChanged(n){return super.onScrollChanged(n)||n.scrollHeightChanged}_viewOverlaysRender(n){super._viewOverlaysRender(n);const o=Math.min(n.scrollHeight,1e6);this.domNode.setHeight(o),this.domNode.setWidth(this._contentLeft)}}e.MarginViewOverlays=b}),define(ne[367],se([1,0,160,116]),function(oe,e,d,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TextChange=void 0,e.compressConsecutiveTextChanges=y;function I(_){return _.replace(/\n/g,"\\n").replace(/\r/g,"\\r")}class E{get oldLength(){return this.oldText.length}get oldEnd(){return this.oldPosition+this.oldText.length}get newLength(){return this.newText.length}get newEnd(){return this.newPosition+this.newText.length}constructor(b,p,n,o){this.oldPosition=b,this.oldText=p,this.newPosition=n,this.newText=o}toString(){return this.oldText.length===0?`(insert@${this.oldPosition} "${I(this.newText)}")`:this.newText.length===0?`(delete@${this.oldPosition} "${I(this.oldText)}")`:`(replace@${this.oldPosition} "${I(this.oldText)}" with "${I(this.newText)}")`}static _writeStringSize(b){return 4+2*b.length}static _writeString(b,p,n){const o=p.length;d.writeUInt32BE(b,o,n),n+=4;for(let t=0;tn&&(n=t)}return n}else{if(typeof E=="string")return _?E==="*"?5:E===m?10:0:0;if(E){const{language:n,pattern:o,scheme:t,hasAccessToAllModels:i,notebookType:s}=E;if(!_&&!i)return 0;s&&b&&(y=b);let g=0;if(t)if(t===y.scheme)g=10;else if(t==="*")g=5;else return 0;if(n)if(n===m)g=10;else if(n==="*")g=Math.max(g,5);else return 0;if(s)if(s===p)g=10;else if(s==="*"&&p!==void 0)g=Math.max(g,5);else return 0;if(o){let c;if(typeof o=="string"?c=o:c={...o,base:(0,k.normalize)(o.base)},c===y.fsPath||(0,d.match)(c,y.fsPath))g=10;else return 0}return g}else return 0}}}),define(ne[658],se([1,0,6,2,40,368]),function(oe,e,d,k,I,E){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.LanguageFeatureRegistry=void 0;function y(p){return typeof p=="string"?!1:Array.isArray(p)?p.every(y):!!p.exclusive}class m{constructor(n,o,t,i,s){this.uri=n,this.languageId=o,this.notebookUri=t,this.notebookType=i,this.recursive=s}equals(n){return this.notebookType===n.notebookType&&this.languageId===n.languageId&&this.uri.toString()===n.uri.toString()&&this.notebookUri?.toString()===n.notebookUri?.toString()&&this.recursive===n.recursive}}class _{constructor(n){this._notebookInfoResolver=n,this._clock=0,this._entries=[],this._onDidChange=new d.Emitter,this.onDidChange=this._onDidChange.event}register(n,o){let t={selector:n,provider:o,_score:-1,_time:this._clock++};return this._entries.push(t),this._lastCandidate=void 0,this._onDidChange.fire(this._entries.length),(0,k.toDisposable)(()=>{if(t){const i=this._entries.indexOf(t);i>=0&&(this._entries.splice(i,1),this._lastCandidate=void 0,this._onDidChange.fire(this._entries.length),t=void 0)}})}has(n){return this.all(n).length>0}all(n){if(!n)return[];this._updateScores(n,!1);const o=[];for(const t of this._entries)t._score>0&&o.push(t.provider);return o}ordered(n,o=!1){const t=[];return this._orderedForEach(n,o,i=>t.push(i.provider)),t}orderedGroups(n){const o=[];let t,i;return this._orderedForEach(n,!1,s=>{t&&i===s._score?t.push(s.provider):(i=s._score,t=[s.provider],o.push(t))}),o}_orderedForEach(n,o,t){this._updateScores(n,o);for(const i of this._entries)i._score>0&&t(i)}_updateScores(n,o){const t=this._notebookInfoResolver?.(n.uri),i=t?new m(n.uri,n.getLanguageId(),t.uri,t.type,o):new m(n.uri,n.getLanguageId(),void 0,void 0,o);if(!this._lastCandidate?.equals(i)){this._lastCandidate=i;for(const s of this._entries)if(s._score=(0,E.score)(s.selector,i.uri,i.languageId,(0,I.shouldSynchronizeModel)(n),i.notebookUri,i.notebookType),y(s.selector)&&s._score>0)if(o)s._score=0;else{for(const g of this._entries)g._score=0;s._score=1e3;break}this._entries.sort(_._compareByScoreAndTime)}}static _compareByScoreAndTime(n,o){return n._scoreo._score?-1:b(n.selector)&&!b(o.selector)?1:!b(n.selector)&&b(o.selector)?-1:n._timeo._time?-1:0}}e.LanguageFeatureRegistry=_;function b(p){return typeof p=="string"?!1:Array.isArray(p)?p.some(b):!!p.isBuiltin}}),define(ne[27],se([1,0,26,22,4,585,3]),function(oe,e,d,k,I,E,y){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.InlineEditTriggerKind=e.TreeSitterTokenizationRegistry=e.TokenizationRegistry=e.LazyTokenizationSupport=e.InlayHintKind=e.Command=e.NewSymbolNameTriggerKind=e.NewSymbolNameTag=e.FoldingRangeKind=e.TextEdit=e.SymbolKinds=e.symbolKindNames=e.DocumentHighlightKind=e.SignatureHelpTriggerKind=e.DocumentPasteTriggerKind=e.SelectedSuggestionInfo=e.InlineCompletionTriggerKind=e.CompletionItemKinds=e.HoverVerbosityAction=e.EncodedTokenizationResult=e.TokenizationResult=e.Token=void 0,e.isLocationLink=c,e.getAriaLabelForSymbol=l;class m{constructor(D,T,M){this.offset=D,this.type=T,this.language=M,this._tokenBrand=void 0}toString(){return"("+this.offset+", "+this.type+")"}}e.Token=m;class _{constructor(D,T){this.tokens=D,this.endState=T,this._tokenizationResultBrand=void 0}}e.TokenizationResult=_;class b{constructor(D,T){this.tokens=D,this.endState=T,this._encodedTokenizationResultBrand=void 0}}e.EncodedTokenizationResult=b;var p;(function(L){L[L.Increase=0]="Increase",L[L.Decrease=1]="Decrease"})(p||(e.HoverVerbosityAction=p={}));var n;(function(L){const D=new Map;D.set(0,d.Codicon.symbolMethod),D.set(1,d.Codicon.symbolFunction),D.set(2,d.Codicon.symbolConstructor),D.set(3,d.Codicon.symbolField),D.set(4,d.Codicon.symbolVariable),D.set(5,d.Codicon.symbolClass),D.set(6,d.Codicon.symbolStruct),D.set(7,d.Codicon.symbolInterface),D.set(8,d.Codicon.symbolModule),D.set(9,d.Codicon.symbolProperty),D.set(10,d.Codicon.symbolEvent),D.set(11,d.Codicon.symbolOperator),D.set(12,d.Codicon.symbolUnit),D.set(13,d.Codicon.symbolValue),D.set(15,d.Codicon.symbolEnum),D.set(14,d.Codicon.symbolConstant),D.set(15,d.Codicon.symbolEnum),D.set(16,d.Codicon.symbolEnumMember),D.set(17,d.Codicon.symbolKeyword),D.set(27,d.Codicon.symbolSnippet),D.set(18,d.Codicon.symbolText),D.set(19,d.Codicon.symbolColor),D.set(20,d.Codicon.symbolFile),D.set(21,d.Codicon.symbolReference),D.set(22,d.Codicon.symbolCustomColor),D.set(23,d.Codicon.symbolFolder),D.set(24,d.Codicon.symbolTypeParameter),D.set(25,d.Codicon.account),D.set(26,d.Codicon.issues);function T(P){let N=D.get(P);return N||(console.info("No codicon found for CompletionItemKind "+P),N=d.Codicon.symbolProperty),N}L.toIcon=T;const M=new Map;M.set("method",0),M.set("function",1),M.set("constructor",2),M.set("field",3),M.set("variable",4),M.set("class",5),M.set("struct",6),M.set("interface",7),M.set("module",8),M.set("property",9),M.set("event",10),M.set("operator",11),M.set("unit",12),M.set("value",13),M.set("constant",14),M.set("enum",15),M.set("enum-member",16),M.set("enumMember",16),M.set("keyword",17),M.set("snippet",27),M.set("text",18),M.set("color",19),M.set("file",20),M.set("reference",21),M.set("customcolor",22),M.set("folder",23),M.set("type-parameter",24),M.set("typeParameter",24),M.set("account",25),M.set("issue",26);function A(P,N){let O=M.get(P);return typeof O>"u"&&!N&&(O=9),O}L.fromString=A})(n||(e.CompletionItemKinds=n={}));var o;(function(L){L[L.Automatic=0]="Automatic",L[L.Explicit=1]="Explicit"})(o||(e.InlineCompletionTriggerKind=o={}));class t{constructor(D,T,M,A){this.range=D,this.text=T,this.completionKind=M,this.isSnippetText=A}equals(D){return I.Range.lift(this.range).equalsRange(D.range)&&this.text===D.text&&this.completionKind===D.completionKind&&this.isSnippetText===D.isSnippetText}}e.SelectedSuggestionInfo=t;var i;(function(L){L[L.Automatic=0]="Automatic",L[L.PasteAs=1]="PasteAs"})(i||(e.DocumentPasteTriggerKind=i={}));var s;(function(L){L[L.Invoke=1]="Invoke",L[L.TriggerCharacter=2]="TriggerCharacter",L[L.ContentChange=3]="ContentChange"})(s||(e.SignatureHelpTriggerKind=s={}));var g;(function(L){L[L.Text=0]="Text",L[L.Read=1]="Read",L[L.Write=2]="Write"})(g||(e.DocumentHighlightKind=g={}));function c(L){return L&&k.URI.isUri(L.uri)&&I.Range.isIRange(L.range)&&(I.Range.isIRange(L.originSelectionRange)||I.Range.isIRange(L.targetSelectionRange))}e.symbolKindNames={17:(0,y.localize)(669,"array"),16:(0,y.localize)(670,"boolean"),4:(0,y.localize)(671,"class"),13:(0,y.localize)(672,"constant"),8:(0,y.localize)(673,"constructor"),9:(0,y.localize)(674,"enumeration"),21:(0,y.localize)(675,"enumeration member"),23:(0,y.localize)(676,"event"),7:(0,y.localize)(677,"field"),0:(0,y.localize)(678,"file"),11:(0,y.localize)(679,"function"),10:(0,y.localize)(680,"interface"),19:(0,y.localize)(681,"key"),5:(0,y.localize)(682,"method"),1:(0,y.localize)(683,"module"),2:(0,y.localize)(684,"namespace"),20:(0,y.localize)(685,"null"),15:(0,y.localize)(686,"number"),18:(0,y.localize)(687,"object"),24:(0,y.localize)(688,"operator"),3:(0,y.localize)(689,"package"),6:(0,y.localize)(690,"property"),14:(0,y.localize)(691,"string"),22:(0,y.localize)(692,"struct"),25:(0,y.localize)(693,"type parameter"),12:(0,y.localize)(694,"variable")};function l(L,D){return(0,y.localize)(695,"{0} ({1})",L,e.symbolKindNames[D])}var a;(function(L){const D=new Map;D.set(0,d.Codicon.symbolFile),D.set(1,d.Codicon.symbolModule),D.set(2,d.Codicon.symbolNamespace),D.set(3,d.Codicon.symbolPackage),D.set(4,d.Codicon.symbolClass),D.set(5,d.Codicon.symbolMethod),D.set(6,d.Codicon.symbolProperty),D.set(7,d.Codicon.symbolField),D.set(8,d.Codicon.symbolConstructor),D.set(9,d.Codicon.symbolEnum),D.set(10,d.Codicon.symbolInterface),D.set(11,d.Codicon.symbolFunction),D.set(12,d.Codicon.symbolVariable),D.set(13,d.Codicon.symbolConstant),D.set(14,d.Codicon.symbolString),D.set(15,d.Codicon.symbolNumber),D.set(16,d.Codicon.symbolBoolean),D.set(17,d.Codicon.symbolArray),D.set(18,d.Codicon.symbolObject),D.set(19,d.Codicon.symbolKey),D.set(20,d.Codicon.symbolNull),D.set(21,d.Codicon.symbolEnumMember),D.set(22,d.Codicon.symbolStruct),D.set(23,d.Codicon.symbolEvent),D.set(24,d.Codicon.symbolOperator),D.set(25,d.Codicon.symbolTypeParameter);function T(M){let A=D.get(M);return A||(console.info("No codicon found for SymbolKind "+M),A=d.Codicon.symbolProperty),A}L.toIcon=T})(a||(e.SymbolKinds=a={}));class r{}e.TextEdit=r;class u{static{this.Comment=new u("comment")}static{this.Imports=new u("imports")}static{this.Region=new u("region")}static fromValue(D){switch(D){case"comment":return u.Comment;case"imports":return u.Imports;case"region":return u.Region}return new u(D)}constructor(D){this.value=D}}e.FoldingRangeKind=u;var C;(function(L){L[L.AIGenerated=1]="AIGenerated"})(C||(e.NewSymbolNameTag=C={}));var f;(function(L){L[L.Invoke=0]="Invoke",L[L.Automatic=1]="Automatic"})(f||(e.NewSymbolNameTriggerKind=f={}));var h;(function(L){function D(T){return!T||typeof T!="object"?!1:typeof T.id=="string"&&typeof T.title=="string"}L.is=D})(h||(e.Command=h={}));var v;(function(L){L[L.Type=1]="Type",L[L.Parameter=2]="Parameter"})(v||(e.InlayHintKind=v={}));class w{constructor(D){this.createSupport=D,this._tokenizationSupport=null}dispose(){this._tokenizationSupport&&this._tokenizationSupport.then(D=>{D&&D.dispose()})}get tokenizationSupport(){return this._tokenizationSupport||(this._tokenizationSupport=this.createSupport()),this._tokenizationSupport}}e.LazyTokenizationSupport=w,e.TokenizationRegistry=new E.TokenizationRegistry,e.TreeSitterTokenizationRegistry=new E.TokenizationRegistry;var S;(function(L){L[L.Invoke=0]="Invoke",L[L.Automatic=1]="Automatic"})(S||(e.InlineEditTriggerKind=S={}))}),define(ne[177],se([1,0,27]),function(oe,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.NullState=void 0,e.nullTokenize=k,e.nullTokenizeEncoded=I,e.NullState=new class{clone(){return this}equals(E){return this===E}};function k(E,y){return new d.TokenizationResult([new d.Token(0,"",E)],y)}function I(E,y){const m=new Uint32Array(2);return m[0]=0,m[1]=(E<<0|0|0|32768|2<<24)>>>0,new d.EncodedTokenizationResult(m,y===null?e.NullState:y)}}),define(ne[208],se([1,0,11,116,4]),function(oe,e,d,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.BracketsUtils=e.RichEditBrackets=e.RichEditBracket=void 0,e.createBracketOrRegExp=g;class E{constructor(r,u,C,f,h,v){this._richEditBracketBrand=void 0,this.languageId=r,this.index=u,this.open=C,this.close=f,this.forwardRegex=h,this.reversedRegex=v,this._openSet=E._toSet(this.open),this._closeSet=E._toSet(this.close)}isOpen(r){return this._openSet.has(r)}isClose(r){return this._closeSet.has(r)}static _toSet(r){const u=new Set;for(const C of r)u.add(C);return u}}e.RichEditBracket=E;function y(a){const r=a.length;a=a.map(v=>[v[0].toLowerCase(),v[1].toLowerCase()]);const u=[];for(let v=0;v{const[S,L]=v,[D,T]=w;return S===D||S===T||L===D||L===T},f=(v,w)=>{const S=Math.min(v,w),L=Math.max(v,w);for(let D=0;D0&&h.push({open:w,close:S})}return h}class m{constructor(r,u){this._richEditBracketsBrand=void 0;const C=y(u);this.brackets=C.map((f,h)=>new E(r,h,f.open,f.close,n(f.open,f.close,C,h),o(f.open,f.close,C,h))),this.forwardRegex=t(this.brackets),this.reversedRegex=i(this.brackets),this.textIsBracket={},this.textIsOpenBracket={},this.maxBracketLength=0;for(const f of this.brackets){for(const h of f.open)this.textIsBracket[h]=f,this.textIsOpenBracket[h]=!0,this.maxBracketLength=Math.max(this.maxBracketLength,h.length);for(const h of f.close)this.textIsBracket[h]=f,this.textIsOpenBracket[h]=!1,this.maxBracketLength=Math.max(this.maxBracketLength,h.length)}}}e.RichEditBrackets=m;function _(a,r,u,C){for(let f=0,h=r.length;f=0&&C.push(w);for(const w of v.close)w.indexOf(a)>=0&&C.push(w)}}function b(a,r){return a.length-r.length}function p(a){if(a.length<=1)return a;const r=[],u=new Set;for(const C of a)u.has(C)||(r.push(C),u.add(C));return r}function n(a,r,u,C){let f=[];f=f.concat(a),f=f.concat(r);for(let h=0,v=f.length;h=0;v--)f[h++]=C.charCodeAt(v);return k.getPlatformTextDecoder().decode(f)}let r=null,u=null;return function(f){return r!==f&&(r=f,u=a(r)),u}}();class l{static _findPrevBracketInText(r,u,C,f){const h=C.match(r);if(!h)return null;const v=C.length-(h.index||0),w=h[0].length,S=f+v;return new I.Range(u,S-w+1,u,S+1)}static findPrevBracketInRange(r,u,C,f,h){const w=c(C).substring(C.length-h,C.length-f);return this._findPrevBracketInText(r,u,w,f)}static findNextBracketInText(r,u,C,f){const h=C.match(r);if(!h)return null;const v=h.index||0,w=h[0].length;if(w===0)return null;const S=f+v;return new I.Range(u,S+1,u,S+1+w)}static findNextBracketInRange(r,u,C,f,h){const v=C.substring(f,h);return this.findNextBracketInText(r,u,v,f)}}e.BracketsUtils=l}),define(ne[659],se([1,0,13,169,208]),function(oe,e,d,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.BracketElectricCharacterSupport=void 0;class E{constructor(m){this._richEditBrackets=m}getElectricCharacters(){const m=[];if(this._richEditBrackets)for(const _ of this._richEditBrackets.brackets)for(const b of _.close){const p=b.charAt(b.length-1);m.push(p)}return(0,d.distinct)(m)}onElectricCharacter(m,_,b){if(!this._richEditBrackets||this._richEditBrackets.brackets.length===0)return null;const p=_.findTokenIndexAtOffset(b-1);if((0,k.ignoreBracketsInToken)(_.getStandardTokenType(p)))return null;const n=this._richEditBrackets.reversedRegex,o=_.getLineContent().substring(0,b-1)+m,t=I.BracketsUtils.findPrevBracketInRange(n,1,o,0,o.length);if(!t)return null;const i=o.substring(t.startColumn-1,t.endColumn-1).toLowerCase();if(this._richEditBrackets.textIsOpenBracket[i])return null;const g=_.getActualLineContentBefore(t.startColumn-1);return/^\s*$/.test(g)?{matchOpenBracket:i}:null}}e.BracketElectricCharacterSupport=E}),define(ne[660],se([1,0,297,208]),function(oe,e,d,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ClosingBracketKind=e.OpeningBracketKind=e.BracketKindBase=e.LanguageBracketsConfiguration=void 0;class I{constructor(p,n){this.languageId=p;const o=n.brackets?E(n.brackets):[],t=new d.CachedFunction(g=>{const c=new Set;return{info:new m(this,g,c),closing:c}}),i=new d.CachedFunction(g=>{const c=new Set,l=new Set;return{info:new _(this,g,c,l),opening:c,openingColorized:l}});for(const[g,c]of o){const l=t.get(g),a=i.get(c);l.closing.add(a.info),a.opening.add(l.info)}const s=n.colorizedBracketPairs?E(n.colorizedBracketPairs):o.filter(g=>!(g[0]==="<"&&g[1]===">"));for(const[g,c]of s){const l=t.get(g),a=i.get(c);l.closing.add(a.info),a.openingColorized.add(l.info),a.opening.add(l.info)}this._openingBrackets=new Map([...t.cachedValues].map(([g,c])=>[g,c.info])),this._closingBrackets=new Map([...i.cachedValues].map(([g,c])=>[g,c.info]))}get openingBrackets(){return[...this._openingBrackets.values()]}get closingBrackets(){return[...this._closingBrackets.values()]}getOpeningBracketInfo(p){return this._openingBrackets.get(p)}getClosingBracketInfo(p){return this._closingBrackets.get(p)}getBracketInfo(p){return this.getOpeningBracketInfo(p)||this.getClosingBracketInfo(p)}getBracketRegExp(p){const n=Array.from([...this._openingBrackets.keys(),...this._closingBrackets.keys()]);return(0,k.createBracketOrRegExp)(n,p)}}e.LanguageBracketsConfiguration=I;function E(b){return b.filter(([p,n])=>p!==""&&n!=="")}class y{constructor(p,n){this.config=p,this.bracketText=n}get languageId(){return this.config.languageId}}e.BracketKindBase=y;class m extends y{constructor(p,n,o){super(p,n),this.openedBrackets=o,this.isOpeningBracket=!0}}e.OpeningBracketKind=m;class _ extends y{constructor(p,n,o,t){super(p,n),this.openingBrackets=o,this.openingColorizedBrackets=t,this.isOpeningBracket=!1}closes(p){return p.config!==this.config?!1:this.openingBrackets.has(p)}closesColorized(p){return p.config!==this.config?!1:this.openingColorizedBrackets.has(p)}getOpeningBrackets(){return[...this.openingBrackets]}}e.ClosingBracketKind=_}),define(ne[369],se([1,0,11,83,27,177]),function(oe,e,d,k,I,E){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.tokenizeToString=m,e.tokenizeLineToHTML=_,e._tokenizeToString=b;const y={getInitialState:()=>E.NullState,tokenizeEncoded:(p,n,o)=>(0,E.nullTokenizeEncoded)(0,o)};async function m(p,n,o){if(!o)return b(n,p.languageIdCodec,y);const t=await I.TokenizationRegistry.getOrCreate(o);return b(n,p.languageIdCodec,t||y)}function _(p,n,o,t,i,s,g){let c="
    ",l=t,a=0,r=!0;for(let u=0,C=n.getCount();u0;)g&&r?(h+=" ",r=!1):(h+=" ",r=!0),w--;break}case 60:h+="<",r=!1;break;case 62:h+=">",r=!1;break;case 38:h+="&",r=!1;break;case 0:h+="�",r=!1;break;case 65279:case 8232:case 8233:case 133:h+="\uFFFD",r=!1;break;case 13:h+="​",r=!1;break;case 32:g&&r?(h+=" ",r=!1):(h+=" ",r=!0);break;default:h+=String.fromCharCode(v),r=!1}}if(c+=`${h}`,f>i||l>=i)break}return c+="
    ",c}function b(p,n,o){let t='
    ';const i=d.splitLines(p);let s=o.getInitialState();for(let g=0,c=i.length;g0&&(t+="
    ");const a=o.tokenizeEncoded(l,!0,s);k.LineTokens.convertToEndOffset(a.tokens,l.length);const u=new k.LineTokens(a.tokens,l,n).inflate();let C=0;for(let f=0,h=u.getCount();f${d.escape(l.substring(C,w))}`,C=w}s=a.endState}return t+="
    ",t}}),define(ne[661],se([1,0,13,6,2,4,169,208,584]),function(oe,e,d,k,I,E,y,m,_){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.BracketPairsTextModelPart=void 0;class b extends I.Disposable{get canBuildAST(){return this.textModel.getValueLength()<=5e6}constructor(s,g){super(),this.textModel=s,this.languageConfigurationService=g,this.bracketPairsTree=this._register(new I.MutableDisposable),this.onDidChangeEmitter=new k.Emitter,this.onDidChange=this.onDidChangeEmitter.event,this.bracketsRequested=!1}handleLanguageConfigurationServiceChange(s){(!s.languageId||this.bracketPairsTree.value?.object.didLanguageChange(s.languageId))&&(this.bracketPairsTree.clear(),this.updateBracketPairsTree())}handleDidChangeOptions(s){this.bracketPairsTree.clear(),this.updateBracketPairsTree()}handleDidChangeLanguage(s){this.bracketPairsTree.clear(),this.updateBracketPairsTree()}handleDidChangeContent(s){this.bracketPairsTree.value?.object.handleContentChanged(s)}handleDidChangeBackgroundTokenizationState(){this.bracketPairsTree.value?.object.handleDidChangeBackgroundTokenizationState()}handleDidChangeTokens(s){this.bracketPairsTree.value?.object.handleDidChangeTokens(s)}updateBracketPairsTree(){if(this.bracketsRequested&&this.canBuildAST){if(!this.bracketPairsTree.value){const s=new I.DisposableStore;this.bracketPairsTree.value=p(s.add(new _.BracketPairsTree(this.textModel,g=>this.languageConfigurationService.getLanguageConfiguration(g))),s),s.add(this.bracketPairsTree.value.object.onDidChange(g=>this.onDidChangeEmitter.fire(g))),this.onDidChangeEmitter.fire()}}else this.bracketPairsTree.value&&(this.bracketPairsTree.clear(),this.onDidChangeEmitter.fire())}getBracketPairsInRange(s){return this.bracketsRequested=!0,this.updateBracketPairsTree(),this.bracketPairsTree.value?.object.getBracketPairsInRange(s,!1)||d.CallbackIterable.empty}getBracketPairsInRangeWithMinIndentation(s){return this.bracketsRequested=!0,this.updateBracketPairsTree(),this.bracketPairsTree.value?.object.getBracketPairsInRange(s,!0)||d.CallbackIterable.empty}getBracketsInRange(s,g=!1){return this.bracketsRequested=!0,this.updateBracketPairsTree(),this.bracketPairsTree.value?.object.getBracketsInRange(s,g)||d.CallbackIterable.empty}findMatchingBracketUp(s,g,c){const l=this.textModel.validatePosition(g),a=this.textModel.getLanguageIdAtPosition(l.lineNumber,l.column);if(this.canBuildAST){const r=this.languageConfigurationService.getLanguageConfiguration(a).bracketsNew.getClosingBracketInfo(s);if(!r)return null;const u=this.getBracketPairsInRange(E.Range.fromPositions(g,g)).findLast(C=>r.closes(C.openingBracketInfo));return u?u.openingBracketRange:null}else{const r=s.toLowerCase(),u=this.languageConfigurationService.getLanguageConfiguration(a).brackets;if(!u)return null;const C=u.textIsBracket[r];return C?t(this._findMatchingBracketUp(C,l,n(c))):null}}matchBracket(s,g){if(this.canBuildAST){const c=this.getBracketPairsInRange(E.Range.fromPositions(s,s)).filter(l=>l.closingBracketRange!==void 0&&(l.openingBracketRange.containsPosition(s)||l.closingBracketRange.containsPosition(s))).findLastMaxBy((0,d.compareBy)(l=>l.openingBracketRange.containsPosition(s)?l.openingBracketRange:l.closingBracketRange,E.Range.compareRangesUsingStarts));return c?[c.openingBracketRange,c.closingBracketRange]:null}else{const c=n(g);return this._matchBracket(this.textModel.validatePosition(s),c)}}_establishBracketSearchOffsets(s,g,c,l){const a=g.getCount(),r=g.getLanguageId(l);let u=Math.max(0,s.column-1-c.maxBracketLength);for(let f=l-1;f>=0;f--){const h=g.getEndOffset(f);if(h<=u)break;if((0,y.ignoreBracketsInToken)(g.getStandardTokenType(f))||g.getLanguageId(f)!==r){u=h;break}}let C=Math.min(g.getLineContent().length,s.column-1+c.maxBracketLength);for(let f=l+1;f=C)break;if((0,y.ignoreBracketsInToken)(g.getStandardTokenType(f))||g.getLanguageId(f)!==r){C=h;break}}return{searchStartOffset:u,searchEndOffset:C}}_matchBracket(s,g){const c=s.lineNumber,l=this.textModel.tokenization.getLineTokens(c),a=this.textModel.getLineContent(c),r=l.findTokenIndexAtOffset(s.column-1);if(r<0)return null;const u=this.languageConfigurationService.getLanguageConfiguration(l.getLanguageId(r)).brackets;if(u&&!(0,y.ignoreBracketsInToken)(l.getStandardTokenType(r))){let{searchStartOffset:C,searchEndOffset:f}=this._establishBracketSearchOffsets(s,l,u,r),h=null;for(;;){const v=m.BracketsUtils.findNextBracketInRange(u.forwardRegex,c,a,C,f);if(!v)break;if(v.startColumn<=s.column&&s.column<=v.endColumn){const w=a.substring(v.startColumn-1,v.endColumn-1).toLowerCase(),S=this._matchFoundBracket(v,u.textIsBracket[w],u.textIsOpenBracket[w],g);if(S){if(S instanceof o)return null;h=S}}C=v.endColumn-1}if(h)return h}if(r>0&&l.getStartOffset(r)===s.column-1){const C=r-1,f=this.languageConfigurationService.getLanguageConfiguration(l.getLanguageId(C)).brackets;if(f&&!(0,y.ignoreBracketsInToken)(l.getStandardTokenType(C))){const{searchStartOffset:h,searchEndOffset:v}=this._establishBracketSearchOffsets(s,l,f,C),w=m.BracketsUtils.findPrevBracketInRange(f.reversedRegex,c,a,h,v);if(w&&w.startColumn<=s.column&&s.column<=w.endColumn){const S=a.substring(w.startColumn-1,w.endColumn-1).toLowerCase(),L=this._matchFoundBracket(w,f.textIsBracket[S],f.textIsOpenBracket[S],g);if(L)return L instanceof o?null:L}}}return null}_matchFoundBracket(s,g,c,l){if(!g)return null;const a=c?this._findMatchingBracketDown(g,s.getEndPosition(),l):this._findMatchingBracketUp(g,s.getStartPosition(),l);return a?a instanceof o?a:[s,a]:null}_findMatchingBracketUp(s,g,c){const l=s.languageId,a=s.reversedRegex;let r=-1,u=0;const C=(f,h,v,w)=>{for(;;){if(c&&++u%100===0&&!c())return o.INSTANCE;const S=m.BracketsUtils.findPrevBracketInRange(a,f,h,v,w);if(!S)break;const L=h.substring(S.startColumn-1,S.endColumn-1).toLowerCase();if(s.isOpen(L)?r++:s.isClose(L)&&r--,r===0)return S;w=S.startColumn-1}return null};for(let f=g.lineNumber;f>=1;f--){const h=this.textModel.tokenization.getLineTokens(f),v=h.getCount(),w=this.textModel.getLineContent(f);let S=v-1,L=w.length,D=w.length;f===g.lineNumber&&(S=h.findTokenIndexAtOffset(g.column-1),L=g.column-1,D=g.column-1);let T=!0;for(;S>=0;S--){const M=h.getLanguageId(S)===l&&!(0,y.ignoreBracketsInToken)(h.getStandardTokenType(S));if(M)T?L=h.getStartOffset(S):(L=h.getStartOffset(S),D=h.getEndOffset(S));else if(T&&L!==D){const A=C(f,w,L,D);if(A)return A}T=M}if(T&&L!==D){const M=C(f,w,L,D);if(M)return M}}return null}_findMatchingBracketDown(s,g,c){const l=s.languageId,a=s.forwardRegex;let r=1,u=0;const C=(h,v,w,S)=>{for(;;){if(c&&++u%100===0&&!c())return o.INSTANCE;const L=m.BracketsUtils.findNextBracketInRange(a,h,v,w,S);if(!L)break;const D=v.substring(L.startColumn-1,L.endColumn-1).toLowerCase();if(s.isOpen(D)?r++:s.isClose(D)&&r--,r===0)return L;w=L.endColumn-1}return null},f=this.textModel.getLineCount();for(let h=g.lineNumber;h<=f;h++){const v=this.textModel.tokenization.getLineTokens(h),w=v.getCount(),S=this.textModel.getLineContent(h);let L=0,D=0,T=0;h===g.lineNumber&&(L=v.findTokenIndexAtOffset(g.column-1),D=g.column-1,T=g.column-1);let M=!0;for(;L=1;r--){const u=this.textModel.tokenization.getLineTokens(r),C=u.getCount(),f=this.textModel.getLineContent(r);let h=C-1,v=f.length,w=f.length;if(r===g.lineNumber){h=u.findTokenIndexAtOffset(g.column-1),v=g.column-1,w=g.column-1;const L=u.getLanguageId(h);c!==L&&(c=L,l=this.languageConfigurationService.getLanguageConfiguration(c).brackets,a=this.languageConfigurationService.getLanguageConfiguration(c).bracketsNew)}let S=!0;for(;h>=0;h--){const L=u.getLanguageId(h);if(c!==L){if(l&&a&&S&&v!==w){const T=m.BracketsUtils.findPrevBracketInRange(l.reversedRegex,r,f,v,w);if(T)return this._toFoundBracket(a,T);S=!1}c=L,l=this.languageConfigurationService.getLanguageConfiguration(c).brackets,a=this.languageConfigurationService.getLanguageConfiguration(c).bracketsNew}const D=!!l&&!(0,y.ignoreBracketsInToken)(u.getStandardTokenType(h));if(D)S?v=u.getStartOffset(h):(v=u.getStartOffset(h),w=u.getEndOffset(h));else if(a&&l&&S&&v!==w){const T=m.BracketsUtils.findPrevBracketInRange(l.reversedRegex,r,f,v,w);if(T)return this._toFoundBracket(a,T)}S=D}if(a&&l&&S&&v!==w){const L=m.BracketsUtils.findPrevBracketInRange(l.reversedRegex,r,f,v,w);if(L)return this._toFoundBracket(a,L)}}return null}findNextBracket(s){const g=this.textModel.validatePosition(s);if(this.canBuildAST)return this.bracketsRequested=!0,this.updateBracketPairsTree(),this.bracketPairsTree.value?.object.getFirstBracketAfter(g)||null;const c=this.textModel.getLineCount();let l=null,a=null,r=null;for(let u=g.lineNumber;u<=c;u++){const C=this.textModel.tokenization.getLineTokens(u),f=C.getCount(),h=this.textModel.getLineContent(u);let v=0,w=0,S=0;if(u===g.lineNumber){v=C.findTokenIndexAtOffset(g.column-1),w=g.column-1,S=g.column-1;const D=C.getLanguageId(v);l!==D&&(l=D,a=this.languageConfigurationService.getLanguageConfiguration(l).brackets,r=this.languageConfigurationService.getLanguageConfiguration(l).bracketsNew)}let L=!0;for(;vD.closingBracketRange!==void 0&&D.range.strictContainsRange(S));return L?[L.openingBracketRange,L.closingBracketRange]:null}const l=n(g),a=this.textModel.getLineCount(),r=new Map;let u=[];const C=(S,L)=>{if(!r.has(S)){const D=[];for(let T=0,M=L?L.brackets.length:0;T{for(;;){if(l&&++f%100===0&&!l())return o.INSTANCE;const A=m.BracketsUtils.findNextBracketInRange(S.forwardRegex,L,D,T,M);if(!A)break;const P=D.substring(A.startColumn-1,A.endColumn-1).toLowerCase(),N=S.textIsBracket[P];if(N&&(N.isOpen(P)?u[N.index]++:N.isClose(P)&&u[N.index]--,u[N.index]===-1))return this._matchFoundBracket(A,N,!1,l);T=A.endColumn-1}return null};let v=null,w=null;for(let S=c.lineNumber;S<=a;S++){const L=this.textModel.tokenization.getLineTokens(S),D=L.getCount(),T=this.textModel.getLineContent(S);let M=0,A=0,P=0;if(S===c.lineNumber){M=L.findTokenIndexAtOffset(c.column-1),A=c.column-1,P=c.column-1;const O=L.getLanguageId(M);v!==O&&(v=O,w=this.languageConfigurationService.getLanguageConfiguration(v).brackets,C(v,w))}let N=!0;for(;Ms?.dispose()}}function n(i){if(typeof i>"u")return()=>!0;{const s=Date.now();return()=>Date.now()-s<=i}}class o{static{this.INSTANCE=new o}constructor(){this._searchCanceledBrand=void 0}}function t(i){return i instanceof o?null:i}}),define(ne[370],se([1,0,3,8,23,22,367,160,48]),function(oe,e,d,k,I,E,y,m,_){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.EditStack=e.MultiModelEditStackElement=e.SingleModelEditStackElement=e.SingleModelEditStackData=void 0,e.isEditStackElement=i;function b(g){return g.toString()}class p{static create(c,l){const a=c.getAlternativeVersionId(),r=t(c);return new p(a,a,r,r,l,l,[])}constructor(c,l,a,r,u,C,f){this.beforeVersionId=c,this.afterVersionId=l,this.beforeEOL=a,this.afterEOL=r,this.beforeCursorState=u,this.afterCursorState=C,this.changes=f}append(c,l,a,r,u){l.length>0&&(this.changes=(0,y.compressConsecutiveTextChanges)(this.changes,l)),this.afterEOL=a,this.afterVersionId=r,this.afterCursorState=u}static _writeSelectionsSize(c){return 4+4*4*(c?c.length:0)}static _writeSelections(c,l,a){if(m.writeUInt32BE(c,l?l.length:0,a),a+=4,l)for(const r of l)m.writeUInt32BE(c,r.selectionStartLineNumber,a),a+=4,m.writeUInt32BE(c,r.selectionStartColumn,a),a+=4,m.writeUInt32BE(c,r.positionLineNumber,a),a+=4,m.writeUInt32BE(c,r.positionColumn,a),a+=4;return a}static _readSelections(c,l,a){const r=m.readUInt32BE(c,l);l+=4;for(let u=0;ul.toString()).join(", ")}matchesResource(c){return(E.URI.isUri(this.model)?this.model:this.model.uri).toString()===c.toString()}setModel(c){this.model=c}canAppend(c){return this.model===c&&this._data instanceof p}append(c,l,a,r,u){this._data instanceof p&&this._data.append(c,l,a,r,u)}close(){this._data instanceof p&&(this._data=this._data.serialize())}open(){this._data instanceof p||(this._data=p.deserialize(this._data))}undo(){if(E.URI.isUri(this.model))throw new Error("Invalid SingleModelEditStackElement");this._data instanceof p&&(this._data=this._data.serialize());const c=p.deserialize(this._data);this.model._applyUndo(c.changes,c.beforeEOL,c.beforeVersionId,c.beforeCursorState)}redo(){if(E.URI.isUri(this.model))throw new Error("Invalid SingleModelEditStackElement");this._data instanceof p&&(this._data=this._data.serialize());const c=p.deserialize(this._data);this.model._applyRedo(c.changes,c.afterEOL,c.afterVersionId,c.afterCursorState)}heapSize(){return this._data instanceof p&&(this._data=this._data.serialize()),this._data.byteLength+168}}e.SingleModelEditStackElement=n;class o{get resources(){return this._editStackElementsArr.map(c=>c.resource)}constructor(c,l,a){this.label=c,this.code=l,this.type=1,this._isOpen=!0,this._editStackElementsArr=a.slice(0),this._editStackElementsMap=new Map;for(const r of this._editStackElementsArr){const u=b(r.resource);this._editStackElementsMap.set(u,r)}this._delegate=null}prepareUndoRedo(){if(this._delegate)return this._delegate.prepareUndoRedo(this)}matchesResource(c){const l=b(c);return this._editStackElementsMap.has(l)}setModel(c){const l=b(E.URI.isUri(c)?c:c.uri);this._editStackElementsMap.has(l)&&this._editStackElementsMap.get(l).setModel(c)}canAppend(c){if(!this._isOpen)return!1;const l=b(c.uri);return this._editStackElementsMap.has(l)?this._editStackElementsMap.get(l).canAppend(c):!1}append(c,l,a,r,u){const C=b(c.uri);this._editStackElementsMap.get(C).append(c,l,a,r,u)}close(){this._isOpen=!1}open(){}undo(){this._isOpen=!1;for(const c of this._editStackElementsArr)c.undo()}redo(){for(const c of this._editStackElementsArr)c.redo()}heapSize(c){const l=b(c);return this._editStackElementsMap.has(l)?this._editStackElementsMap.get(l).heapSize():0}split(){return this._editStackElementsArr}toString(){const c=[];for(const l of this._editStackElementsArr)c.push(`${(0,_.basename)(l.resource)}: ${l}`);return`{${c.join(", ")}}`}}e.MultiModelEditStackElement=o;function t(g){return g.getEOL()===` +`?0:1}function i(g){return g?g instanceof n||g instanceof o:!1}class s{constructor(c,l){this._model=c,this._undoRedoService=l}pushStackElement(){const c=this._undoRedoService.getLastElement(this._model.uri);i(c)&&c.close()}popStackElement(){const c=this._undoRedoService.getLastElement(this._model.uri);i(c)&&c.open()}clear(){this._undoRedoService.removeElements(this._model.uri)}_getOrCreateEditStackElement(c,l){const a=this._undoRedoService.getLastElement(this._model.uri);if(i(a)&&a.canAppend(this._model))return a;const r=new n(d.localize(697,"Typing"),"undoredo.textBufferEdit",this._model,c);return this._undoRedoService.pushElement(r,l),r}pushEOL(c){const l=this._getOrCreateEditStackElement(null,void 0);this._model.setEOL(c),l.append(this._model,[],t(this._model),this._model.getAlternativeVersionId(),null)}pushEditOperation(c,l,a,r){const u=this._getOrCreateEditStackElement(c,r),C=this._model.applyEdits(l,!0),f=s._computeCursorState(a,C),h=C.map((v,w)=>({index:w,textChange:v.textChange}));return h.sort((v,w)=>v.textChange.oldPosition===w.textChange.oldPosition?v.index-w.index:v.textChange.oldPosition-w.textChange.oldPosition),u.append(this._model,h.map(v=>v.textChange),t(this._model),this._model.getAlternativeVersionId(),f),f}static _computeCursorState(c,l){try{return c?c(l):null}catch(a){return(0,k.onUnexpectedError)(a),null}}}e.EditStack=s}),define(ne[371],se([1,0,6,11,4,40,324,145,367,2]),function(oe,e,d,k,I,E,y,m,_,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.PieceTreeTextBuffer=void 0;class p extends b.Disposable{constructor(o,t,i,s,g,c,l){super(),this._onDidChangeContent=this._register(new d.Emitter),this._BOM=t,this._mightContainNonBasicASCII=!c,this._mightContainRTL=s,this._mightContainUnusualLineTerminators=g,this._pieceTree=new y.PieceTreeBase(o,i,l)}mightContainRTL(){return this._mightContainRTL}mightContainUnusualLineTerminators(){return this._mightContainUnusualLineTerminators}resetMightContainUnusualLineTerminators(){this._mightContainUnusualLineTerminators=!1}mightContainNonBasicASCII(){return this._mightContainNonBasicASCII}getBOM(){return this._BOM}getEOL(){return this._pieceTree.getEOL()}createSnapshot(o){return this._pieceTree.createSnapshot(o?this._BOM:"")}getOffsetAt(o,t){return this._pieceTree.getOffsetAt(o,t)}getPositionAt(o){return this._pieceTree.getPositionAt(o)}getRangeAt(o,t){const i=o+t,s=this.getPositionAt(o),g=this.getPositionAt(i);return new I.Range(s.lineNumber,s.column,g.lineNumber,g.column)}getValueInRange(o,t=0){if(o.isEmpty())return"";const i=this._getEndOfLine(t);return this._pieceTree.getValueInRange(o,i)}getValueLengthInRange(o,t=0){if(o.isEmpty())return 0;if(o.startLineNumber===o.endLineNumber)return o.endColumn-o.startColumn;const i=this.getOffsetAt(o.startLineNumber,o.startColumn),s=this.getOffsetAt(o.endLineNumber,o.endColumn);let g=0;const c=this._getEndOfLine(t),l=this.getEOL();if(c.length!==l.length){const a=c.length-l.length,r=o.endLineNumber-o.startLineNumber;g=a*r}return s-i+g}getCharacterCountInRange(o,t=0){if(this._mightContainNonBasicASCII){let i=0;const s=o.startLineNumber,g=o.endLineNumber;for(let c=s;c<=g;c++){const l=this.getLineContent(c),a=c===s?o.startColumn-1:0,r=c===g?o.endColumn-1:l.length;for(let u=a;uS.sortIndex-L.sortIndex)}this._mightContainRTL=s,this._mightContainUnusualLineTerminators=g,this._mightContainNonBasicASCII=c;const h=this._doApplyEdits(a);let v=null;if(t&&C.length>0){C.sort((w,S)=>S.lineNumber-w.lineNumber),v=[];for(let w=0,S=C.length;w0&&C[w-1].lineNumber===L)continue;const D=C[w].oldContent,T=this.getLineContent(L);T.length===0||T===D||k.firstNonWhitespaceIndex(T)!==-1||v.push(L)}}return this._onDidChangeContent.fire(),new E.ApplyEditsResult(f,h,v)}_reduceOperations(o){return o.length<1e3?o:[this._toSingleEditOperation(o)]}_toSingleEditOperation(o){let t=!1;const i=o[0].range,s=o[o.length-1].range,g=new I.Range(i.startLineNumber,i.startColumn,s.endLineNumber,s.endColumn);let c=i.startLineNumber,l=i.startColumn;const a=[];for(let h=0,v=o.length;h0&&a.push(w.text),c=S.endLineNumber,l=S.endColumn}const r=a.join(""),[u,C,f]=(0,m.countEOL)(r);return{sortIndex:0,identifier:o[0].identifier,range:g,rangeOffset:this.getOffsetAt(g.startLineNumber,g.startColumn),rangeLength:this.getValueLengthInRange(g,0),text:r,eolCount:u,firstLineLength:C,lastLineLength:f,forceMoveMarkers:t,isAutoWhitespaceEdit:!1}}_doApplyEdits(o){o.sort(p._sortOpsDescending);const t=[];for(let i=0;i0){const f=a.eolCount+1;f===1?C=new I.Range(r,u,r,u+a.firstLineLength):C=new I.Range(r,u,r+f-1,a.lastLineLength+1)}else C=new I.Range(r,u,r,u);i=C.endLineNumber,s=C.endColumn,t.push(C),g=a}return t}static _sortOpsAscending(o,t){const i=I.Range.compareRangesUsingEnds(o.range,t.range);return i===0?o.sortIndex-t.sortIndex:i}static _sortOpsDescending(o,t){const i=I.Range.compareRangesUsingEnds(o.range,t.range);return i===0?t.sortIndex-o.sortIndex:-i}}e.PieceTreeTextBuffer=p}),define(ne[662],se([1,0,11,324,371]),function(oe,e,d,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.PieceTreeTextBufferBuilder=void 0;class E{constructor(_,b,p,n,o,t,i,s,g){this._chunks=_,this._bom=b,this._cr=p,this._lf=n,this._crlf=o,this._containsRTL=t,this._containsUnusualLineTerminators=i,this._isBasicASCII=s,this._normalizeEOL=g}_getEOL(_){const b=this._cr+this._lf+this._crlf,p=this._cr+this._crlf;return b===0?_===1?` +`:`\r +`:p>b/2?`\r +`:` +`}create(_){const b=this._getEOL(_),p=this._chunks;if(this._normalizeEOL&&(b===`\r +`&&(this._cr>0||this._lf>0)||b===` +`&&(this._cr>0||this._crlf>0)))for(let o=0,t=p.length;o=55296&&b<=56319?(this._acceptChunk1(_.substr(0,_.length-1),!1),this._hasPreviousChar=!0,this._previousChar=b):(this._acceptChunk1(_,!1),this._hasPreviousChar=!1,this._previousChar=b)}_acceptChunk1(_,b){!b&&_.length===0||(this._hasPreviousChar?this._acceptChunk2(String.fromCharCode(this._previousChar)+_):this._acceptChunk2(_))}_acceptChunk2(_){const b=(0,k.createLineStarts)(this._tmpLineStarts,_);this.chunks.push(new k.StringBuffer(_,b.lineStarts)),this.cr+=b.cr,this.lf+=b.lf,this.crlf+=b.crlf,b.isBasicASCII||(this.isBasicASCII=!1,this.containsRTL||(this.containsRTL=d.containsRTL(_)),this.containsUnusualLineTerminators||(this.containsUnusualLineTerminators=d.containsUnusualLineTerminators(_)))}finish(_=!0){return this._finish(),new E(this.chunks,this.BOM,this.cr,this.lf,this.crlf,this.containsRTL,this.containsUnusualLineTerminators,this.isBasicASCII,_)}_finish(){if(this.chunks.length===0&&this._acceptChunk1("",!0),this._hasPreviousChar){this._hasPreviousChar=!1;const _=this.chunks[this.chunks.length-1];_.buffer+=String.fromCharCode(this._previousChar);const b=(0,k.createLineStartsFast)(_.buffer);_.lineStarts=b,this._previousChar===13&&this.cr++}}}e.PieceTreeTextBufferBuilder=y}),define(ne[663],se([1,0,14,8,16,54,145,55,68,177,576,330,83]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DefaultBackgroundTokenizer=e.RangePriorityQueueImpl=e.TokenizationStateStore=e.TrackingTokenizationStateStore=e.TokenizerWithStateStoreAndTextModel=e.TokenizerWithStateStore=void 0;class t{constructor(u,C){this.tokenizationSupport=C,this.initialState=this.tokenizationSupport.getInitialState(),this.store=new s(u)}getStartState(u){return this.store.getStartState(u,this.initialState)}getFirstInvalidLine(){return this.store.getFirstInvalidLine(this.initialState)}}e.TokenizerWithStateStore=t;class i extends t{constructor(u,C,f,h){super(u,C),this._textModel=f,this._languageIdCodec=h}updateTokensUntilLine(u,C){const f=this._textModel.getLanguageId();for(;;){const h=this.getFirstInvalidLine();if(!h||h.lineNumber>C)break;const v=this._textModel.getLineContent(h.lineNumber),w=l(this._languageIdCodec,f,this.tokenizationSupport,v,!0,h.startState);u.add(h.lineNumber,w.tokens),this.store.setEndState(h.lineNumber,w.endState)}}getTokenTypeIfInsertingCharacter(u,C){const f=this.getStartState(u.lineNumber);if(!f)return 0;const h=this._textModel.getLanguageId(),v=this._textModel.getLineContent(u.lineNumber),w=v.substring(0,u.column-1)+C+v.substring(u.column-1),S=l(this._languageIdCodec,h,this.tokenizationSupport,w,!0,f),L=new o.LineTokens(S.tokens,w,this._languageIdCodec);if(L.getCount()===0)return 0;const D=L.findTokenIndexAtOffset(u.column-1);return L.getStandardTokenType(D)}tokenizeLineWithEdit(u,C,f){const h=u.lineNumber,v=u.column,w=this.getStartState(h);if(!w)return null;const S=this._textModel.getLineContent(h),L=S.substring(0,v-1)+f+S.substring(v-1+C),D=this._textModel.getLanguageIdAtPosition(h,0),T=l(this._languageIdCodec,D,this.tokenizationSupport,L,!0,w);return new o.LineTokens(T.tokens,L,this._languageIdCodec)}hasAccurateTokensForLine(u){const C=this.store.getFirstInvalidEndStateLineNumberOrMax();return u1&&S>=1;S--){const L=this._textModel.getLineFirstNonWhitespaceColumn(S);if(L!==0&&L0&&f>0&&(f--,C--),this._lineEndStates.replace(u.startLineNumber,f,C)}}e.TokenizationStateStore=g;class c{constructor(){this._ranges=[]}get min(){return this._ranges.length===0?null:this._ranges[0].start}delete(u){const C=this._ranges.findIndex(f=>f.contains(u));if(C!==-1){const f=this._ranges[C];f.start===u?f.endExclusive===u+1?this._ranges.splice(C,1):this._ranges[C]=new _.OffsetRange(u+1,f.endExclusive):f.endExclusive===u+1?this._ranges[C]=new _.OffsetRange(f.start,u):this._ranges.splice(C,1,new _.OffsetRange(f.start,u),new _.OffsetRange(u+1,f.endExclusive))}}addRange(u){_.OffsetRange.addRange(u,this._ranges)}addRangeAndResize(u,C){let f=0;for(;!(f>=this._ranges.length||u.start<=this._ranges[f].endExclusive);)f++;let h=f;for(;!(h>=this._ranges.length||u.endExclusiveu.toString()).join(" + ")}}e.RangePriorityQueueImpl=c;function l(r,u,C,f,h,v){let w=null;if(C)try{w=C.tokenizeEncoded(f,h,v.clone())}catch(S){(0,k.onUnexpectedError)(S)}return w||(w=(0,b.nullTokenizeEncoded)(r.encodeLanguageId(u),v)),o.LineTokens.convertToEndOffset(w.tokens,f.length),w}class a{constructor(u,C){this._tokenizerWithStateStore=u,this._backgroundTokenStore=C,this._isDisposed=!1,this._isScheduled=!1}dispose(){this._isDisposed=!0}handleChanges(){this._beginBackgroundTokenization()}_beginBackgroundTokenization(){this._isScheduled||!this._tokenizerWithStateStore._textModel.isAttachedToEditor()||!this._hasLinesToTokenize()||(this._isScheduled=!0,(0,d.runWhenGlobalIdle)(u=>{this._isScheduled=!1,this._backgroundTokenizeWithDeadline(u)}))}_backgroundTokenizeWithDeadline(u){const C=Date.now()+u.timeRemaining(),f=()=>{this._isDisposed||!this._tokenizerWithStateStore._textModel.isAttachedToEditor()||!this._hasLinesToTokenize()||(this._backgroundTokenizeForAtLeast1ms(),Date.now()1||this._tokenizeOneInvalidLine(C)>=u)break;while(this._hasLinesToTokenize());this._backgroundTokenStore.setTokens(C.finalize()),this.checkFinished()}_hasLinesToTokenize(){return this._tokenizerWithStateStore?!this._tokenizerWithStateStore.store.allStatesValid():!1}_tokenizeOneInvalidLine(u){const C=this._tokenizerWithStateStore?.getFirstInvalidLine();return C?(this._tokenizerWithStateStore.updateTokensUntilLine(u,C.lineNumber),C.lineNumber):this._tokenizerWithStateStore._textModel.getLineCount()+1}checkFinished(){this._isDisposed||this._tokenizerWithStateStore.store.allStatesValid()&&this._backgroundTokenStore.backgroundTokenizationFinished()}requestTokens(u,C){this._tokenizerWithStateStore.store.invalidateEndStateRange(new m.LineRange(u,C))}}e.DefaultBackgroundTokenizer=a}),define(ne[263],se([1,0,13,14,6,2,55]),function(oe,e,d,k,I,E,y){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractTokens=e.AttachedViewHandler=e.AttachedViews=void 0;class m{constructor(){this._onDidChangeVisibleRanges=new I.Emitter,this.onDidChangeVisibleRanges=this._onDidChangeVisibleRanges.event,this._views=new Set}attachView(){const o=new _(t=>{this._onDidChangeVisibleRanges.fire({view:o,state:t})});return this._views.add(o),o}detachView(o){this._views.delete(o),this._onDidChangeVisibleRanges.fire({view:o,state:void 0})}}e.AttachedViews=m;class _{constructor(o){this.handleStateChange=o}setVisibleLines(o,t){const i=o.map(s=>new y.LineRange(s.startLineNumber,s.endLineNumber+1));this.handleStateChange({visibleLineRanges:i,stabilized:t})}}class b extends E.Disposable{get lineRanges(){return this._lineRanges}constructor(o){super(),this._refreshTokens=o,this.runner=this._register(new k.RunOnceScheduler(()=>this.update(),50)),this._computedLineRanges=[],this._lineRanges=[]}update(){(0,d.equals)(this._computedLineRanges,this._lineRanges,(o,t)=>o.equals(t))||(this._computedLineRanges=this._lineRanges,this._refreshTokens())}handleStateChange(o){this._lineRanges=o.visibleLineRanges,o.stabilized?(this.runner.cancel(),this.update()):this.runner.schedule()}}e.AttachedViewHandler=b;class p extends E.Disposable{get backgroundTokenizationState(){return this._backgroundTokenizationState}constructor(o,t,i){super(),this._languageIdCodec=o,this._textModel=t,this.getLanguageId=i,this._backgroundTokenizationState=1,this._onDidChangeBackgroundTokenizationState=this._register(new I.Emitter),this.onDidChangeBackgroundTokenizationState=this._onDidChangeBackgroundTokenizationState.event,this._onDidChangeTokens=this._register(new I.Emitter),this.onDidChangeTokens=this._onDidChangeTokens.event}tokenizeIfCheap(o){this.isCheapToTokenize(o)&&this.forceTokenization(o)}}e.AbstractTokens=p}),define(ne[664],se([1,0,27,83,263]),function(oe,e,d,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TreeSitterTokens=void 0;class E extends I.AbstractTokens{constructor(m,_,b,p){super(_,b,p),this._treeSitterService=m,this._tokenizationSupport=null,this._initialize()}_initialize(){const m=this.getLanguageId();(!this._tokenizationSupport||this._lastLanguageId!==m)&&(this._lastLanguageId=m,this._tokenizationSupport=d.TreeSitterTokenizationRegistry.get(m))}getLineTokens(m){const _=this._textModel.getLineContent(m);if(this._tokenizationSupport){const b=this._tokenizationSupport.tokenizeEncoded(m,this._textModel);if(b)return new k.LineTokens(b,_,this._languageIdCodec)}return k.LineTokens.createEmpty(_,this._languageIdCodec)}resetTokenization(m=!0){m&&this._onDidChangeTokens.fire({semanticTokensApplied:!1,ranges:[{fromLineNumber:1,toLineNumber:this._textModel.getLineCount()}]}),this._initialize()}handleDidChangeAttached(){}handleDidChangeContent(m){m.isFlush&&this.resetTokenization(!1)}forceTokenization(m){}hasAccurateTokensForLine(m){return!0}isCheapToTokenize(m){return!0}getTokenTypeIfInsertingCharacter(m,_,b){return 0}tokenizeLineWithEdit(m,_,b){return null}get hasTokens(){return this._treeSitterService.getParseResult(this._textModel)!==void 0}}e.TreeSitterTokens=E}),define(ne[372],se([1,0,18,6,72,22,9,4,23,27,238]),function(oe,e,d,k,I,E,y,m,_,b,p){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.KeyMod=void 0,e.createMonacoBaseAPI=o;class n{static{this.CtrlCmd=2048}static{this.Shift=1024}static{this.Alt=512}static{this.WinCtrl=256}static chord(i,s){return(0,I.KeyChord)(i,s)}}e.KeyMod=n;function o(){return{editor:void 0,languages:void 0,CancellationTokenSource:d.CancellationTokenSource,Emitter:k.Emitter,KeyCode:p.KeyCode,KeyMod:n,Position:y.Position,Range:m.Range,Selection:_.Selection,SelectionDirection:p.SelectionDirection,MarkerSeverity:p.MarkerSeverity,MarkerTag:p.MarkerTag,Uri:E.URI,Token:b.Token}}}),define(ne[665],se([1,0,160,16]),function(oe,e,d,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.encodeSemanticTokensDto=y;function I(_){for(let b=0,p=_.length;bthis._checkStopModelSync(),Math.round(e.STOP_SYNC_MODEL_DELTA_TIME_MS/2)),this._register(g)}}dispose(){for(const t in this._syncedModels)(0,k.dispose)(this._syncedModels[t]);this._syncedModels=Object.create(null),this._syncedModelsLastUsedTime=Object.create(null),super.dispose()}ensureSyncedResources(t,i=!1){for(const s of t){const g=s.toString();this._syncedModels[g]||this._beginModelSync(s,i),this._syncedModels[g]&&(this._syncedModelsLastUsedTime[g]=new Date().getTime())}}_checkStopModelSync(){const t=new Date().getTime(),i=[];for(const s in this._syncedModelsLastUsedTime)t-this._syncedModelsLastUsedTime[s]>e.STOP_SYNC_MODEL_DELTA_TIME_MS&&i.push(s);for(const s of i)this._stopModelSync(s)}_beginModelSync(t,i){const s=this._modelService.getModel(t);if(!s||!i&&s.isTooLargeForSyncing())return;const g=t.toString();this._proxy.$acceptNewModel({url:s.uri.toString(),lines:s.getLinesContent(),EOL:s.getEOL(),versionId:s.getVersionId()});const c=new k.DisposableStore;c.add(s.onDidChangeContent(l=>{this._proxy.$acceptModelChanged(g.toString(),l)})),c.add(s.onWillDispose(()=>{this._stopModelSync(g)})),c.add((0,k.toDisposable)(()=>{this._proxy.$acceptRemovedModel(g)})),this._syncedModels[g]=c}_stopModelSync(t){const i=this._syncedModels[t];delete this._syncedModels[t],delete this._syncedModelsLastUsedTime[t],(0,k.dispose)(i)}}e.WorkerTextModelSyncClient=b;class p{constructor(){this._models=Object.create(null)}getModel(t){return this._models[t]}getModels(){const t=[];return Object.keys(this._models).forEach(i=>t.push(this._models[i])),t}$acceptNewModel(t){this._models[t.url]=new n(I.URI.parse(t.url),t.lines,t.EOL,t.versionId)}$acceptModelChanged(t,i){if(!this._models[t])return;this._models[t].onEvents(i)}$acceptRemovedModel(t){this._models[t]&&delete this._models[t]}}e.WorkerTextModelSyncServer=p;class n extends _.MirrorTextModel{get uri(){return this._uri}get eol(){return this._eol}getValue(){return this.getText()}findMatches(t){const i=[];for(let s=0;sthis._lines.length)i=this._lines.length,s=this._lines[i-1].length+1,g=!0;else{const c=this._lines[i-1].length+1;s<1?(s=1,g=!0):s>c&&(s=c,g=!0)}return g?{lineNumber:i,column:s}:t}}e.MirrorModel=n}),define(ne[666],se([1,0,190,4,564,570,372,326,54,328,561,60,42,563,582,373]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.EditorSimpleWorker=e.BaseEditorSimpleWorker=void 0,e.create=a;const g=!1;class c{constructor(){this._workerTextModelSyncServer=new s.WorkerTextModelSyncServer}dispose(){}_getModel(u){return this._workerTextModelSyncServer.getModel(u)}_getModels(){return this._workerTextModelSyncServer.getModels()}$acceptNewModel(u){this._workerTextModelSyncServer.$acceptNewModel(u)}$acceptModelChanged(u,C){this._workerTextModelSyncServer.$acceptModelChanged(u,C)}$acceptRemovedModel(u){this._workerTextModelSyncServer.$acceptRemovedModel(u)}async $computeUnicodeHighlights(u,C,f){const h=this._getModel(u);return h?b.UnicodeTextModelHighlighter.computeUnicodeHighlights(h,C,f):{ranges:[],hasMore:!1,ambiguousCharacterCount:0,invisibleCharacterCount:0,nonBasicAsciiCharacterCount:0}}async $findSectionHeaders(u,C){const f=this._getModel(u);return f?(0,i.findSectionHeaders)(f,C):[]}async $computeDiff(u,C,f,h){const v=this._getModel(u),w=this._getModel(C);return!v||!w?null:l.computeDiff(v,w,f,h)}static computeDiff(u,C,f,h){const v=h==="advanced"?p.linesDiffComputers.getDefault():p.linesDiffComputers.getLegacy(),w=u.getLinesContent(),S=C.getLinesContent(),L=v.computeDiff(w,S,f),D=L.changes.length>0?!1:this._modelsAreIdentical(u,C);function T(M){return M.map(A=>[A.original.startLineNumber,A.original.endLineNumberExclusive,A.modified.startLineNumber,A.modified.endLineNumberExclusive,A.innerChanges?.map(P=>[P.originalRange.startLineNumber,P.originalRange.startColumn,P.originalRange.endLineNumber,P.originalRange.endColumn,P.modifiedRange.startLineNumber,P.modifiedRange.startColumn,P.modifiedRange.endLineNumber,P.modifiedRange.endColumn])])}return{identical:D,quitEarly:L.hitTimeout,changes:T(L.changes),moves:L.moves.map(M=>[M.lineRangeMapping.original.startLineNumber,M.lineRangeMapping.original.endLineNumberExclusive,M.lineRangeMapping.modified.startLineNumber,M.lineRangeMapping.modified.endLineNumberExclusive,T(M.changes)])}}static _modelsAreIdentical(u,C){const f=u.getLineCount(),h=C.getLineCount();if(f!==h)return!1;for(let v=1;v<=f;v++){const w=u.getLineContent(v),S=C.getLineContent(v);if(w!==S)return!1}return!0}static{this._diffLimit=1e5}async $computeMoreMinimalEdits(u,C,f){const h=this._getModel(u);if(!h)return C;const v=[];let w;C=C.slice(0).sort((L,D)=>{if(L.range&&D.range)return k.Range.compareRangesUsingStarts(L.range,D.range);const T=L.range?0:1,M=D.range?0:1;return T-M});let S=0;for(let L=1;Ll._diffLimit){v.push({range:L,text:D});continue}const A=(0,d.stringDiff)(M,D,f),P=h.offsetAt(k.Range.lift(L).getStartPosition());for(const N of A){const O=h.positionAt(P+N.originalStart),F=h.positionAt(P+N.originalStart+N.originalLength),x={text:D.substr(N.modifiedStart,N.modifiedLength),range:{startLineNumber:O.lineNumber,startColumn:O.column,endLineNumber:F.lineNumber,endColumn:F.column}};h.getValueInRange(x.range)!==x.text&&v.push(x)}}return typeof w=="number"&&v.push({eol:w,text:"",range:{startLineNumber:0,startColumn:0,endLineNumber:0,endColumn:0}}),v}async $computeLinks(u){const C=this._getModel(u);return C?(0,I.computeLinks)(C):null}async $computeDefaultDocumentColors(u){const C=this._getModel(u);return C?(0,t.computeDefaultDocumentColors)(C):null}static{this._suggestionsLimit=1e4}async $textualSuggest(u,C,f,h){const v=new _.StopWatch,w=new RegExp(f,h),S=new Set;e:for(const L of u){const D=this._getModel(L);if(D){for(const T of D.words(w))if(!(T===C||!isNaN(Number(T)))&&(S.add(T),S.size>l._suggestionsLimit))break e}}return{words:Array.from(S),duration:v.elapsed()}}async $computeWordRanges(u,C,f,h){const v=this._getModel(u);if(!v)return Object.create(null);const w=new RegExp(f,h),S=Object.create(null);for(let L=C.startLineNumber;Lthis._host.$fhr(S,L),w={host:(0,n.createProxyObject)(f,h),getMirrorModels:()=>this._getModels()};return this._foreignModuleFactory?(this._foreignModule=this._foreignModuleFactory(w,C),Promise.resolve((0,n.getAllMethodNames)(this._foreignModule))):new Promise((S,L)=>{const D=T=>{this._foreignModule=T.create(w,C),S((0,n.getAllMethodNames)(this._foreignModule))};if(!g)oe([`${u}`],D,L);else{const T=o.FileAccess.asBrowserUri(`${u}.js`).toString(!0);new Promise((M,A)=>{oe([`${T}`],M,A)}).then(D).catch(L)}})}$fmr(u,C){if(!this._foreignModule||typeof this._foreignModule[u]!="function")return Promise.reject(new Error("Missing requestHandler or method: "+u));try{return Promise.resolve(this._foreignModule[u].apply(this._foreignModule,C))}catch(f){return Promise.reject(f)}}}e.EditorSimpleWorker=l;function a(r){return new l(m.EditorWorkerHost.getChannel(r),null)}typeof importScripts=="function"&&(globalThis.monaco=(0,y.createMonacoBaseAPI)())}),define(ne[107],se([1,0,3]),function(oe,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.StandaloneServicesNLS=e.ToggleHighContrastNLS=e.StandaloneCodeEditorNLS=e.QuickOutlineNLS=e.QuickCommandNLS=e.QuickHelpNLS=e.GoToLineNLS=e.InspectTokensNLS=void 0;var k;(function(n){n.inspectTokensAction=d.localize(698,"Developer: Inspect Tokens")})(k||(e.InspectTokensNLS=k={}));var I;(function(n){n.gotoLineActionLabel=d.localize(699,"Go to Line/Column...")})(I||(e.GoToLineNLS=I={}));var E;(function(n){n.helpQuickAccessActionLabel=d.localize(700,"Show all Quick Access Providers")})(E||(e.QuickHelpNLS=E={}));var y;(function(n){n.quickCommandActionLabel=d.localize(701,"Command Palette"),n.quickCommandHelp=d.localize(702,"Show And Run Commands")})(y||(e.QuickCommandNLS=y={}));var m;(function(n){n.quickOutlineActionLabel=d.localize(703,"Go to Symbol..."),n.quickOutlineByCategoryActionLabel=d.localize(704,"Go to Symbol by Category...")})(m||(e.QuickOutlineNLS=m={}));var _;(function(n){n.editorViewAccessibleLabel=d.localize(705,"Editor content")})(_||(e.StandaloneCodeEditorNLS=_={}));var b;(function(n){n.toggleHighContrast=d.localize(706,"Toggle High Contrast Theme")})(b||(e.ToggleHighContrastNLS=b={}));var p;(function(n){n.bulkEditServiceSummary=d.localize(707,"Made {0} edits in {1} files")})(p||(e.StandaloneServicesNLS=p={}))}),define(ne[136],se([1,0,3,11,116,150,598]),function(oe,e,d,k,I,E,y){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.RenderLineOutput2=e.RenderLineOutput=e.CharacterMapping=e.DomPosition=e.RenderLineInput=e.LineRange=void 0,e.renderViewLine=o,e.renderViewLine2=i;class m{constructor(S,L){this.startOffset=S,this.endOffset=L}equals(S){return this.startOffset===S.startOffset&&this.endOffset===S.endOffset}}e.LineRange=m;class _{constructor(S,L,D,T,M,A,P,N,O,F,x,W,V,q,H,z,U,j,Q){this.useMonospaceOptimizations=S,this.canUseHalfwidthRightwardsArrow=L,this.lineContent=D,this.continuesWithWrappedLine=T,this.isBasicASCII=M,this.containsRTL=A,this.fauxIndentLength=P,this.lineTokens=N,this.lineDecorations=O.sort(E.LineDecoration.compare),this.tabSize=F,this.startVisibleColumn=x,this.spaceWidth=W,this.stopRenderingLineAfter=H,this.renderWhitespace=z==="all"?4:z==="boundary"?1:z==="selection"?2:z==="trailing"?3:0,this.renderControlCharacters=U,this.fontLigatures=j,this.selectionsOnLine=Q&&Q.sort((R,J)=>R.startOffset>>16}static getCharIndex(S){return(S&65535)>>>0}constructor(S,L){this.length=S,this._data=new Uint32Array(this.length),this._horizontalOffset=new Uint32Array(this.length)}setColumnInfo(S,L,D,T){const M=(L<<16|D<<0)>>>0;this._data[S-1]=M,this._horizontalOffset[S-1]=T}getHorizontalOffset(S){return this._horizontalOffset.length===0?0:this._horizontalOffset[S-1]}charOffsetToPartData(S){return this.length===0?0:S<0?this._data[0]:S>=this.length?this._data[this.length-1]:this._data[S]}getDomPosition(S){const L=this.charOffsetToPartData(S-1),D=p.getPartIndex(L),T=p.getCharIndex(L);return new b(D,T)}getColumn(S,L){return this.partDataToCharOffset(S.partIndex,L,S.charIndex)+1}partDataToCharOffset(S,L,D){if(this.length===0)return 0;const T=(S<<16|D<<0)>>>0;let M=0,A=this.length-1;for(;M+1>>1,z=this._data[H];if(z===T)return H;z>T?A=H:M=H}if(M===A)return M;const P=this._data[M],N=this._data[A];if(P===T)return M;if(N===T)return A;const O=p.getPartIndex(P),F=p.getCharIndex(P),x=p.getPartIndex(N);let W;O!==x?W=L:W=p.getCharIndex(N);const V=D-F,q=W-D;return V<=q?M:A}}e.CharacterMapping=p;class n{constructor(S,L,D){this._renderLineOutputBrand=void 0,this.characterMapping=S,this.containsRTL=L,this.containsForeignElements=D}}e.RenderLineOutput=n;function o(w,S){if(w.lineContent.length===0){if(w.lineDecorations.length>0){S.appendString("");let L=0,D=0,T=0;for(const A of w.lineDecorations)(A.type===1||A.type===2)&&(S.appendString(''),A.type===1&&(T|=1,L++),A.type===2&&(T|=2,D++));S.appendString("");const M=new p(1,L+D);return M.setColumnInfo(1,L,0,0),new n(M,!1,T)}return S.appendString(""),new n(new p(0,0),!1,0)}return f(g(w),S)}class t{constructor(S,L,D,T){this.characterMapping=S,this.html=L,this.containsRTL=D,this.containsForeignElements=T}}e.RenderLineOutput2=t;function i(w){const S=new I.StringBuilder(1e4),L=o(w,S);return new t(L.characterMapping,S.build(),L.containsRTL,L.containsForeignElements)}class s{constructor(S,L,D,T,M,A,P,N,O,F,x,W,V,q,H,z){this.fontIsMonospace=S,this.canUseHalfwidthRightwardsArrow=L,this.lineContent=D,this.len=T,this.isOverflowing=M,this.overflowingCharCount=A,this.parts=P,this.containsForeignElements=N,this.fauxIndentLength=O,this.tabSize=F,this.startVisibleColumn=x,this.containsRTL=W,this.spaceWidth=V,this.renderSpaceCharCode=q,this.renderWhitespace=H,this.renderControlCharacters=z}}function g(w){const S=w.lineContent;let L,D,T;w.stopRenderingLineAfter!==-1&&w.stopRenderingLineAfter0){for(let P=0,N=w.lineDecorations.length;P0&&(M[A++]=new y.LinePart(D,"",0,!1));let P=D;for(let N=0,O=L.getCount();N=T){const V=S?k.containsRTL(w.substring(P,T)):!1;M[A++]=new y.LinePart(T,x,0,V);break}const W=S?k.containsRTL(w.substring(P,F)):!1;M[A++]=new y.LinePart(F,x,0,W),P=F}return M}function l(w,S,L){let D=0;const T=[];let M=0;if(L)for(let A=0,P=S.length;A=50&&(T[M++]=new y.LinePart(V+1,F,x,W),q=V+1,V=-1);q!==O&&(T[M++]=new y.LinePart(O,F,x,W))}else T[M++]=N;D=O}else for(let A=0,P=S.length;A50){const x=N.type,W=N.metadata,V=N.containsRTL,q=Math.ceil(F/50);for(let H=1;H=8234&&w<=8238||w>=8294&&w<=8297||w>=8206&&w<=8207||w===1564}function r(w,S){const L=[];let D=new y.LinePart(0,"",0,!1),T=0;for(const M of S){const A=M.endIndex;for(;TD.endIndex&&(D=new y.LinePart(T,M.type,M.metadata,M.containsRTL),L.push(D)),D=new y.LinePart(T+1,"mtkcontrol",M.metadata,!1),L.push(D))}T>D.endIndex&&(D=new y.LinePart(A,M.type,M.metadata,M.containsRTL),L.push(D))}return L}function u(w,S,L,D){const T=w.continuesWithWrappedLine,M=w.fauxIndentLength,A=w.tabSize,P=w.startVisibleColumn,N=w.useMonospaceOptimizations,O=w.selectionsOnLine,F=w.renderWhitespace===1,x=w.renderWhitespace===3,W=w.renderSpaceWidth!==w.spaceWidth,V=[];let q=0,H=0,z=D[H].type,U=D[H].containsRTL,j=D[H].endIndex;const Q=D.length;let G=!1,K=k.firstNonWhitespaceIndex(S),R;K===-1?(G=!0,K=L,R=L):R=k.lastNonWhitespaceIndex(S);let J=!1,ie=0,ue=O&&O[ie],he=P%A;for(let ae=M;ae=ue.endOffset&&(ie++,ue=O&&O[ie]);let de;if(aeR)de=!0;else if(ee===9)de=!0;else if(ee===32)if(F)if(J)de=!0;else{const ge=ae+1ae),de&&x&&(de=G||ae>R),de&&U&&ae>=K&&ae<=R&&(de=!1),J){if(!de||!N&&he>=A){if(W){const ge=q>0?V[q-1].endIndex:M;for(let X=ge+1;X<=ae;X++)V[q++]=new y.LinePart(X,"mtkw",1,!1)}else V[q++]=new y.LinePart(ae,"mtkw",1,!1);he=he%A}}else(ae===j||de&&ae>M)&&(V[q++]=new y.LinePart(ae,z,0,U),he=he%A);for(ee===9?he=A:k.isFullWidthCharacter(ee)?he+=2:he++,J=de;ae===j&&(H++,H0?S.charCodeAt(L-1):0,ee=L>1?S.charCodeAt(L-2):0;ae===32&&ee!==32&&ee!==9||(pe=!0)}else pe=!0;if(pe)if(W){const ae=q>0?V[q-1].endIndex:M;for(let ee=ae+1;ee<=L;ee++)V[q++]=new y.LinePart(ee,"mtkw",1,!1)}else V[q++]=new y.LinePart(L,"mtkw",1,!1);else V[q++]=new y.LinePart(L,z,0,U);return V}function C(w,S,L,D){D.sort(E.LineDecoration.compare);const T=E.LineDecorationsNormalizer.normalize(w,D),M=T.length;let A=0;const P=[];let N=0,O=0;for(let x=0,W=L.length;xO&&(O=j.startOffset,P[N++]=new y.LinePart(O,H,z,U)),j.endOffset+1<=q)O=j.endOffset+1,P[N++]=new y.LinePart(O,H+" "+j.className,z|j.metadata,U),A++;else{O=q,P[N++]=new y.LinePart(O,H+" "+j.className,z|j.metadata,U);break}}q>O&&(O=q,P[N++]=new y.LinePart(O,H,z,U))}const F=L[L.length-1].endIndex;if(A'):S.appendString("");for(let ue=0,he=O.length;ue=F&&(Z+=re)}}for(X&&(S.appendString(' style="width:'),S.appendString(String(q*$)),S.appendString('px"')),S.appendASCIICharCode(62);G1?S.appendCharCode(8594):S.appendCharCode(65515);for(let re=2;re<=te;re++)S.appendCharCode(160)}else Z=2,te=1,S.appendCharCode(H),S.appendCharCode(8204);R+=Z,J+=te,G>=F&&(K+=te)}}else for(S.appendASCIICharCode(62);G=F&&(K+=Z)}B?ie++:ie=0,G>=A&&!Q&&pe.isPseudoAfter()&&(Q=!0,j.setColumnInfo(G+1,ue,R,J)),S.appendString("")}return Q||j.setColumnInfo(A+1,O.length-1,R,J),P&&(S.appendString(''),S.appendString(d.localize(708,"Show more ({0})",v(N))),S.appendString("")),S.appendString(""),new n(j,V,T)}function h(w){return w.toString(16).toUpperCase().padStart(4,"0")}function v(w){return w<1024?d.localize(709,"{0} chars",w):w<1024*1024?`${(w/1024).toFixed(1)} KB`:`${(w/1024/1024).toFixed(1)} MB`}}),define(ne[667],se([1,0,103,74,37,116,150,136,95]),function(oe,e,d,k,I,E,y,m,_){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.RenderOptions=e.LineSource=void 0,e.renderLines=p;const b=(0,d.createTrustedTypesPolicy)("diffEditorWidget",{createHTML:i=>i});function p(i,s,g,c){(0,k.applyFontInfo)(c,s.fontInfo);const l=g.length>0,a=new E.StringBuilder(1e4);let r=0,u=0;const C=[];for(let w=0;w');const C=s.getLineContent(),f=_.ViewLineRenderingData.isBasicASCII(C,l),h=_.ViewLineRenderingData.containsRTL(C,f,a),v=(0,m.renderViewLine)(new m.RenderLineInput(r.fontInfo.isMonospace&&!r.disableMonospaceOptimizations,r.fontInfo.canUseHalfwidthRightwardsArrow,C,!1,f,h,0,s,g,r.tabSize,0,r.fontInfo.spaceWidth,r.fontInfo.middotWidth,r.fontInfo.wsmiddotWidth,r.stopRenderingLineAfter,r.renderWhitespace,r.renderControlCharacters,r.fontLigatures!==I.EditorFontLigatures.OFF,null),u);return u.appendString("
    "),v.characterMapping.getHorizontalOffset(v.characterMapping.length)}}),define(ne[374],se([1,0,6,2,311,27]),function(oe,e,d,k,I,E){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.MinimapTokensColorTracker=void 0;class y extends k.Disposable{static{this._INSTANCE=null}static getInstance(){return this._INSTANCE||(this._INSTANCE=(0,k.markAsSingleton)(new y)),this._INSTANCE}constructor(){super(),this._onDidChange=new d.Emitter,this.onDidChange=this._onDidChange.event,this._updateColorMap(),this._register(E.TokenizationRegistry.onDidChange(_=>{_.changedColorMap&&this._updateColorMap()}))}_updateColorMap(){const _=E.TokenizationRegistry.getColorMap();if(!_){this._colors=[I.RGBA8.Empty],this._backgroundIsLight=!0;return}this._colors=[I.RGBA8.Empty];for(let p=1;p<_.length;p++){const n=_[p].rgba;this._colors[p]=new I.RGBA8(n.r,n.g,n.b,Math.round(n.a*255))}const b=_[2].getRelativeLuminance();this._backgroundIsLight=b>=.5,this._onDidChange.fire(void 0)}getColor(_){return(_<1||_>=this._colors.length)&&(_=2),this._colors[_]}backgroundIsLight(){return this._backgroundIsLight}}e.MinimapTokensColorTracker=y}),define(ne[375],se([1,0,9,4,95,37]),function(oe,e,d,k,I,E){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ViewModelDecorations=void 0,e.isModelDecorationVisible=m,e.isModelDecorationInComment=_,e.isModelDecorationInString=b;class y{constructor(o,t,i,s,g){this.editorId=o,this.model=t,this.configuration=i,this._linesCollection=s,this._coordinatesConverter=g,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(o){const t=o.id;let i=this._decorationsCache[t];if(!i){const s=o.range,g=o.options;let c;if(g.isWholeLine){const l=this._coordinatesConverter.convertModelPositionToViewPosition(new d.Position(s.startLineNumber,1),0,!1,!0),a=this._coordinatesConverter.convertModelPositionToViewPosition(new d.Position(s.endLineNumber,this.model.getLineMaxColumn(s.endLineNumber)),1);c=new k.Range(l.lineNumber,l.column,a.lineNumber,a.column)}else c=this._coordinatesConverter.convertModelRangeToViewRange(s,1);i=new I.ViewModelDecoration(c,g),this._decorationsCache[t]=i}return i}getMinimapDecorationsInRange(o){return this._getDecorationsInRange(o,!0,!1).decorations}getDecorationsViewportData(o){let t=this._cachedModelDecorationsResolver!==null;return t=t&&o.equalsRange(this._cachedModelDecorationsResolverViewRange),t||(this._cachedModelDecorationsResolver=this._getDecorationsInRange(o,!1,!1),this._cachedModelDecorationsResolverViewRange=o),this._cachedModelDecorationsResolver}getInlineDecorationsOnLine(o,t=!1,i=!1){const s=new k.Range(o,this._linesCollection.getViewLineMinColumn(o),o,this._linesCollection.getViewLineMaxColumn(o));return this._getDecorationsInRange(s,t,i).inlineDecorations[0]}_getDecorationsInRange(o,t,i){const s=this._linesCollection.getDecorationsInRange(o,this.editorId,(0,E.filterValidationDecorations)(this.configuration.options),t,i),g=o.startLineNumber,c=o.endLineNumber,l=[];let a=0;const r=[];for(let u=g;u<=c;u++)r[u-g]=[];for(let u=0,C=s.length;ut===1)}function b(n,o){return p(n,o.range,t=>t===2)}function p(n,o,t){for(let i=o.startLineNumber;i<=o.endLineNumber;i++){const s=n.tokenization.getLineTokens(i),g=i===o.startLineNumber,c=i===o.endLineNumber;let l=g?s.findTokenIndexAtOffset(o.startColumn-1):0;for(;lo.endColumn-1);){if(!t(s.getStandardTokenType(l)))return!1;l++}}return!0}}),define(ne[209],se([1,0,6,2,16]),function(oe,e,d,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ClickLinkGesture=e.ClickLinkOptions=e.ClickLinkKeyboardEvent=e.ClickLinkMouseEvent=void 0;function E(n,o){return!!n[o]}class y{constructor(o,t){this.target=o.target,this.isLeftClick=o.event.leftButton,this.isMiddleClick=o.event.middleButton,this.isRightClick=o.event.rightButton,this.hasTriggerModifier=E(o.event,t.triggerModifier),this.hasSideBySideModifier=E(o.event,t.triggerSideBySideModifier),this.isNoneOrSingleMouseDown=o.event.detail<=1}}e.ClickLinkMouseEvent=y;class m{constructor(o,t){this.keyCodeIsTriggerKey=o.keyCode===t.triggerKey,this.keyCodeIsSideBySideKey=o.keyCode===t.triggerSideBySideKey,this.hasTriggerModifier=E(o,t.triggerModifier)}}e.ClickLinkKeyboardEvent=m;class _{constructor(o,t,i,s){this.triggerKey=o,this.triggerModifier=t,this.triggerSideBySideKey=i,this.triggerSideBySideModifier=s}equals(o){return this.triggerKey===o.triggerKey&&this.triggerModifier===o.triggerModifier&&this.triggerSideBySideKey===o.triggerSideBySideKey&&this.triggerSideBySideModifier===o.triggerSideBySideModifier}}e.ClickLinkOptions=_;function b(n){return n==="altKey"?I.isMacintosh?new _(57,"metaKey",6,"altKey"):new _(5,"ctrlKey",6,"altKey"):I.isMacintosh?new _(6,"altKey",57,"metaKey"):new _(6,"altKey",5,"ctrlKey")}class p extends k.Disposable{constructor(o,t){super(),this._onMouseMoveOrRelevantKeyDown=this._register(new d.Emitter),this.onMouseMoveOrRelevantKeyDown=this._onMouseMoveOrRelevantKeyDown.event,this._onExecute=this._register(new d.Emitter),this.onExecute=this._onExecute.event,this._onCancel=this._register(new d.Emitter),this.onCancel=this._onCancel.event,this._editor=o,this._extractLineNumberFromMouseEvent=t?.extractLineNumberFromMouseEvent??(i=>i.target.position?i.target.position.lineNumber:0),this._opts=b(this._editor.getOption(78)),this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._lineNumberOnMouseDown=0,this._register(this._editor.onDidChangeConfiguration(i=>{if(i.hasChanged(78)){const s=b(this._editor.getOption(78));if(this._opts.equals(s))return;this._opts=s,this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._lineNumberOnMouseDown=0,this._onCancel.fire()}})),this._register(this._editor.onMouseMove(i=>this._onEditorMouseMove(new y(i,this._opts)))),this._register(this._editor.onMouseDown(i=>this._onEditorMouseDown(new y(i,this._opts)))),this._register(this._editor.onMouseUp(i=>this._onEditorMouseUp(new y(i,this._opts)))),this._register(this._editor.onKeyDown(i=>this._onEditorKeyDown(new m(i,this._opts)))),this._register(this._editor.onKeyUp(i=>this._onEditorKeyUp(new m(i,this._opts)))),this._register(this._editor.onMouseDrag(()=>this._resetHandler())),this._register(this._editor.onDidChangeCursorSelection(i=>this._onDidChangeCursorSelection(i))),this._register(this._editor.onDidChangeModel(i=>this._resetHandler())),this._register(this._editor.onDidChangeModelContent(()=>this._resetHandler())),this._register(this._editor.onDidScrollChange(i=>{(i.scrollTopChanged||i.scrollLeftChanged)&&this._resetHandler()}))}_onDidChangeCursorSelection(o){o.selection&&o.selection.startColumn!==o.selection.endColumn&&this._resetHandler()}_onEditorMouseMove(o){this._lastMouseMoveEvent=o,this._onMouseMoveOrRelevantKeyDown.fire([o,null])}_onEditorMouseDown(o){this._hasTriggerKeyOnMouseDown=o.hasTriggerModifier,this._lineNumberOnMouseDown=this._extractLineNumberFromMouseEvent(o)}_onEditorMouseUp(o){const t=this._extractLineNumberFromMouseEvent(o);this._hasTriggerKeyOnMouseDown&&this._lineNumberOnMouseDown&&this._lineNumberOnMouseDown===t&&this._onExecute.fire(o)}_onEditorKeyDown(o){this._lastMouseMoveEvent&&(o.keyCodeIsTriggerKey||o.keyCodeIsSideBySideKey&&o.hasTriggerModifier)?this._onMouseMoveOrRelevantKeyDown.fire([this._lastMouseMoveEvent,o]):o.hasTriggerModifier&&this._onCancel.fire()}_onEditorKeyUp(o){o.keyCodeIsTriggerKey&&this._onCancel.fire()}_resetHandler(){this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._onCancel.fire()}}e.ClickLinkGesture=p}),define(ne[178],se([1,0,8,6,187,2,45,48,11,4,3]),function(oe,e,d,k,I,E,y,m,_,b,p){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ReferencesModel=e.FileReferences=e.FilePreview=e.OneReference=void 0;class n{constructor(g,c,l,a){this.isProviderFirst=g,this.parent=c,this.link=l,this._rangeCallback=a,this.id=I.defaultGenerator.nextId()}get uri(){return this.link.uri}get range(){return this._range??this.link.targetSelectionRange??this.link.range}set range(g){this._range=g,this._rangeCallback(this)}get ariaMessage(){const g=this.parent.getPreview(this)?.preview(this.range);return g?(0,p.localize)(996,"{0} in {1} on line {2} at column {3}",g.value,(0,m.basename)(this.uri),this.range.startLineNumber,this.range.startColumn):(0,p.localize)(995,"in {0} on line {1} at column {2}",(0,m.basename)(this.uri),this.range.startLineNumber,this.range.startColumn)}}e.OneReference=n;class o{constructor(g){this._modelReference=g}dispose(){this._modelReference.dispose()}preview(g,c=8){const l=this._modelReference.object.textEditorModel;if(!l)return;const{startLineNumber:a,startColumn:r,endLineNumber:u,endColumn:C}=g,f=l.getWordUntilPosition({lineNumber:a,column:r-c}),h=new b.Range(a,f.startColumn,a,r),v=new b.Range(u,C,u,1073741824),w=l.getValueInRange(h).replace(/^\s+/,""),S=l.getValueInRange(g),L=l.getValueInRange(v).replace(/\s+$/,"");return{value:w+S+L,highlight:{start:w.length,end:w.length+S.length}}}}e.FilePreview=o;class t{constructor(g,c){this.parent=g,this.uri=c,this.children=[],this._previews=new y.ResourceMap}dispose(){(0,E.dispose)(this._previews.values()),this._previews.clear()}getPreview(g){return this._previews.get(g.uri)}get ariaMessage(){const g=this.children.length;return g===1?(0,p.localize)(997,"1 symbol in {0}, full path {1}",(0,m.basename)(this.uri),this.uri.fsPath):(0,p.localize)(998,"{0} symbols in {1}, full path {2}",g,(0,m.basename)(this.uri),this.uri.fsPath)}async resolve(g){if(this._previews.size!==0)return this;for(const c of this.children)if(!this._previews.has(c.uri))try{const l=await g.createModelReference(c.uri);this._previews.set(c.uri,new o(l))}catch(l){(0,d.onUnexpectedError)(l)}return this}}e.FileReferences=t;class i{constructor(g,c){this.groups=[],this.references=[],this._onDidChangeReferenceRange=new k.Emitter,this.onDidChangeReferenceRange=this._onDidChangeReferenceRange.event,this._links=g,this._title=c;const[l]=g;g.sort(i._compareReferences);let a;for(const r of g)if((!a||!m.extUri.isEqual(a.uri,r.uri,!0))&&(a=new t(this,r.uri),this.groups.push(a)),a.children.length===0||i._compareReferences(r,a.children[a.children.length-1])!==0){const u=new n(l===r,a,r,C=>this._onDidChangeReferenceRange.fire(C));this.references.push(u),a.children.push(u)}}dispose(){(0,E.dispose)(this.groups),this._onDidChangeReferenceRange.dispose(),this.groups.length=0}clone(){return new i(this._links,this._title)}get title(){return this._title}get isEmpty(){return this.groups.length===0}get ariaMessage(){return this.isEmpty?(0,p.localize)(999,"No results found"):this.references.length===1?(0,p.localize)(1e3,"Found 1 symbol in {0}",this.references[0].uri.fsPath):this.groups.length===1?(0,p.localize)(1001,"Found {0} symbols in {1}",this.references.length,this.groups[0].uri.fsPath):(0,p.localize)(1002,"Found {0} symbols in {1} files",this.references.length,this.groups.length)}nextOrPreviousReference(g,c){const{parent:l}=g;let a=l.children.indexOf(g);const r=l.children.length,u=l.parent.groups.length;return u===1||c&&a+10?(c?a=(a+1)%r:a=(a+r-1)%r,l.children[a]):(a=l.parent.groups.indexOf(l),c?(a=(a+1)%u,l.parent.groups[a].children[0]):(a=(a+u-1)%u,l.parent.groups[a].children[l.parent.groups[a].children.length-1]))}nearestReference(g,c){const l=this.references.map((a,r)=>({idx:r,prefixLen:_.commonPrefixLength(a.uri.toString(),g.toString()),offsetDist:Math.abs(a.range.startLineNumber-c.lineNumber)*100+Math.abs(a.range.startColumn-c.column)})).sort((a,r)=>a.prefixLen>r.prefixLen?-1:a.prefixLenr.offsetDist?1:0)[0];if(l)return this.references[l.idx]}referenceAt(g,c){for(const l of this.references)if(l.uri.toString()===g.toString()&&b.Range.containsPosition(l.range,c))return l}firstReference(){for(const g of this.references)if(g.isProviderFirst)return g;return this.references[0]}static _compareReferences(g,c){return m.extUri.compare(g.uri,c.uri)||b.Range.compareRangesUsingStarts(g.range,c.range)}}e.ReferencesModel=i}),define(ne[668],se([1,0,13,14]),function(oe,e,d,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ContentHoverComputer=void 0;class I{get anchor(){return this._anchor}set anchor(y){this._anchor=y}get shouldFocus(){return this._shouldFocus}set shouldFocus(y){this._shouldFocus=y}get source(){return this._source}set source(y){this._source=y}get insistOnKeepingHoverVisible(){return this._insistOnKeepingHoverVisible}set insistOnKeepingHoverVisible(y){this._insistOnKeepingHoverVisible=y}constructor(y,m){this._editor=y,this._participants=m,this._anchor=null,this._shouldFocus=!1,this._source=0,this._insistOnKeepingHoverVisible=!1}static _getLineDecorations(y,m){if(m.type!==1&&!m.supportsMarkerHover)return[];const _=y.getModel(),b=m.range.startLineNumber;if(b>_.getLineCount())return[];const p=_.getLineMaxColumn(b);return y.getLineDecorations(b).filter(n=>{if(n.options.isWholeLine)return!0;const o=n.range.startLineNumber===b?n.range.startColumn:1,t=n.range.endLineNumber===b?n.range.endColumn:p;if(n.options.showIfCollapsed){if(o>m.range.startColumn+1||m.range.endColumn-1>t)return!1}else if(o>m.range.startColumn||m.range.endColumn>t)return!1;return!0})}computeAsync(y){const m=this._anchor;if(!this._editor.hasModel()||!m)return k.AsyncIterableObject.EMPTY;const _=I._getLineDecorations(this._editor,m);return k.AsyncIterableObject.merge(this._participants.map(b=>b.computeAsync?b.computeAsync(m,_,y):k.AsyncIterableObject.EMPTY))}computeSync(){if(!this._editor.hasModel()||!this._anchor)return[];const y=I._getLineDecorations(this._editor,this._anchor);let m=[];for(const _ of this._participants)m=m.concat(_.computeSync(this._anchor,y));return(0,d.coalesce)(m)}}e.ContentHoverComputer=I}),define(ne[264],se([1,0,3]),function(oe,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DECREASE_HOVER_VERBOSITY_ACTION_LABEL=e.DECREASE_HOVER_VERBOSITY_ACTION_ID=e.INCREASE_HOVER_VERBOSITY_ACTION_LABEL=e.INCREASE_HOVER_VERBOSITY_ACTION_ID=e.GO_TO_BOTTOM_HOVER_ACTION_ID=e.GO_TO_TOP_HOVER_ACTION_ID=e.PAGE_DOWN_HOVER_ACTION_ID=e.PAGE_UP_HOVER_ACTION_ID=e.SCROLL_RIGHT_HOVER_ACTION_ID=e.SCROLL_LEFT_HOVER_ACTION_ID=e.SCROLL_DOWN_HOVER_ACTION_ID=e.SCROLL_UP_HOVER_ACTION_ID=e.SHOW_DEFINITION_PREVIEW_HOVER_ACTION_ID=e.SHOW_OR_FOCUS_HOVER_ACTION_ID=void 0,e.SHOW_OR_FOCUS_HOVER_ACTION_ID="editor.action.showHover",e.SHOW_DEFINITION_PREVIEW_HOVER_ACTION_ID="editor.action.showDefinitionPreviewHover",e.SCROLL_UP_HOVER_ACTION_ID="editor.action.scrollUpHover",e.SCROLL_DOWN_HOVER_ACTION_ID="editor.action.scrollDownHover",e.SCROLL_LEFT_HOVER_ACTION_ID="editor.action.scrollLeftHover",e.SCROLL_RIGHT_HOVER_ACTION_ID="editor.action.scrollRightHover",e.PAGE_UP_HOVER_ACTION_ID="editor.action.pageUpHover",e.PAGE_DOWN_HOVER_ACTION_ID="editor.action.pageDownHover",e.GO_TO_TOP_HOVER_ACTION_ID="editor.action.goToTopHover",e.GO_TO_BOTTOM_HOVER_ACTION_ID="editor.action.goToBottomHover",e.INCREASE_HOVER_VERBOSITY_ACTION_ID="editor.action.increaseHoverVerbosityLevel",e.INCREASE_HOVER_VERBOSITY_ACTION_LABEL=d.localize(1006,"Increase Hover Verbosity Level"),e.DECREASE_HOVER_VERBOSITY_ACTION_ID="editor.action.decreaseHoverVerbosityLevel",e.DECREASE_HOVER_VERBOSITY_ACTION_LABEL=d.localize(1007,"Decrease Hover Verbosity Level")}),define(ne[376],se([1,0,14,8,6,2]),function(oe,e,d,k,I,E){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.HoverOperation=e.HoverResult=void 0;class y{constructor(b,p,n){this.value=b,this.isComplete=p,this.hasLoadingMessage=n}}e.HoverResult=y;class m extends E.Disposable{constructor(b,p){super(),this._editor=b,this._computer=p,this._onResult=this._register(new I.Emitter),this.onResult=this._onResult.event,this._firstWaitScheduler=this._register(new d.RunOnceScheduler(()=>this._triggerAsyncComputation(),0)),this._secondWaitScheduler=this._register(new d.RunOnceScheduler(()=>this._triggerSyncComputation(),0)),this._loadingMessageScheduler=this._register(new d.RunOnceScheduler(()=>this._triggerLoadingMessage(),0)),this._state=0,this._asyncIterable=null,this._asyncIterableDone=!1,this._result=[]}dispose(){this._asyncIterable&&(this._asyncIterable.cancel(),this._asyncIterable=null),super.dispose()}get _hoverTime(){return this._editor.getOption(60).delay}get _firstWaitTime(){return this._hoverTime/2}get _secondWaitTime(){return this._hoverTime-this._firstWaitTime}get _loadingMessageTime(){return 3*this._hoverTime}_setState(b,p=!0){this._state=b,p&&this._fireResult()}_triggerAsyncComputation(){this._setState(2),this._secondWaitScheduler.schedule(this._secondWaitTime),this._computer.computeAsync?(this._asyncIterableDone=!1,this._asyncIterable=(0,d.createCancelableAsyncIterable)(b=>this._computer.computeAsync(b)),(async()=>{try{for await(const b of this._asyncIterable)b&&(this._result.push(b),this._fireResult());this._asyncIterableDone=!0,(this._state===3||this._state===4)&&this._setState(0)}catch(b){(0,k.onUnexpectedError)(b)}})()):this._asyncIterableDone=!0}_triggerSyncComputation(){this._computer.computeSync&&(this._result=this._result.concat(this._computer.computeSync())),this._setState(this._asyncIterableDone?0:3)}_triggerLoadingMessage(){this._state===3&&this._setState(4)}_fireResult(){if(this._state===1||this._state===2)return;const b=this._state===0,p=this._state===4;this._onResult.fire(new y(this._result.slice(0),b,p))}start(b){if(b===0)this._state===0&&(this._setState(1),this._firstWaitScheduler.schedule(this._firstWaitTime),this._loadingMessageScheduler.schedule(this._loadingMessageTime));else switch(this._state){case 0:this._triggerAsyncComputation(),this._secondWaitScheduler.cancel(),this._triggerSyncComputation();break;case 2:this._secondWaitScheduler.cancel(),this._triggerSyncComputation();break}}cancel(){this._firstWaitScheduler.cancel(),this._secondWaitScheduler.cancel(),this._loadingMessageScheduler.cancel(),this._asyncIterable&&(this._asyncIterable.cancel(),this._asyncIterable=null),this._result=[],this._setState(0,!1)}}e.HoverOperation=m}),define(ne[210],se([1,0,5]),function(oe,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.isMousePositionWithinElement=k;function k(I,E,y){const m=d.getDomNodePagePosition(I);return!(Em.left+m.width||ym.top+m.height)}}),define(ne[669],se([1,0,13,57,40]),function(oe,e,d,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.MarginHoverComputer=void 0;class E{get lineNumber(){return this._lineNumber}set lineNumber(m){this._lineNumber=m}get lane(){return this._laneOrLine}set lane(m){this._laneOrLine=m}constructor(m){this._editor=m,this._lineNumber=-1,this._laneOrLine=I.GlyphMarginLane.Center}computeSync(){const m=n=>({value:n}),_=this._editor.getLineDecorations(this._lineNumber),b=[],p=this._laneOrLine==="lineNo";if(!_)return b;for(const n of _){const o=n.options.glyphMargin?.position??I.GlyphMarginLane.Center;if(!p&&o!==this._laneOrLine)continue;const t=p?n.options.lineNumberHoverMessage:n.options.glyphMarginHoverMessage;!t||(0,k.isEmptyMarkdownString)(t)||b.push(...(0,d.asArray)(t).map(m))}return b}}e.MarginHoverComputer=E}),define(ne[670],se([1,0,255,2,9,5]),function(oe,e,d,k,I,E){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ResizableContentWidget=void 0;const y=30,m=24;class _ extends k.Disposable{constructor(p,n=new E.Dimension(10,10)){super(),this._editor=p,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._resizableNode=this._register(new d.ResizableHTMLElement),this._contentPosition=null,this._isResizing=!1,this._resizableNode.domNode.style.position="absolute",this._resizableNode.minSize=E.Dimension.lift(n),this._resizableNode.layout(n.height,n.width),this._resizableNode.enableSashes(!0,!0,!0,!0),this._register(this._resizableNode.onDidResize(o=>{this._resize(new E.Dimension(o.dimension.width,o.dimension.height)),o.done&&(this._isResizing=!1)})),this._register(this._resizableNode.onDidWillResize(()=>{this._isResizing=!0}))}get isResizing(){return this._isResizing}getDomNode(){return this._resizableNode.domNode}getPosition(){return this._contentPosition}get position(){return this._contentPosition?.position?I.Position.lift(this._contentPosition.position):void 0}_availableVerticalSpaceAbove(p){const n=this._editor.getDomNode(),o=this._editor.getScrolledVisiblePosition(p);return!n||!o?void 0:E.getDomNodePagePosition(n).top+o.top-y}_availableVerticalSpaceBelow(p){const n=this._editor.getDomNode(),o=this._editor.getScrolledVisiblePosition(p);if(!n||!o)return;const t=E.getDomNodePagePosition(n),i=E.getClientArea(n.ownerDocument.body),s=t.top+o.top+o.height;return i.height-s-m}_findPositionPreference(p,n){const o=Math.min(this._availableVerticalSpaceBelow(n)??1/0,p),t=Math.min(this._availableVerticalSpaceAbove(n)??1/0,p),i=Math.min(Math.max(t,o),p),s=Math.min(p,i);let g;return this._editor.getOption(60).above?g=s<=t?1:2:g=s<=o?2:1,g===1?this._resizableNode.enableSashes(!0,!0,!1,!1):this._resizableNode.enableSashes(!1,!0,!0,!1),g}_resize(p){this._resizableNode.layout(p.height,p.width)}}e.ResizableContentWidget=_}),define(ne[377],se([1,0,8,2,9,4,42,22]),function(oe,e,d,k,I,E,y,m){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.InlayHintsFragments=e.InlayHintItem=e.InlayHintAnchor=void 0,e.asCommandLink=n;class _{constructor(t,i){this.range=t,this.direction=i}}e.InlayHintAnchor=_;class b{constructor(t,i,s){this.hint=t,this.anchor=i,this.provider=s,this._isResolved=!1}with(t){const i=new b(this.hint,t.anchor,this.provider);return i._isResolved=this._isResolved,i._currentResolve=this._currentResolve,i}async resolve(t){if(typeof this.provider.resolveInlayHint=="function"){if(this._currentResolve)return await this._currentResolve,t.isCancellationRequested?void 0:this.resolve(t);this._isResolved||(this._currentResolve=this._doResolve(t).finally(()=>this._currentResolve=void 0)),await this._currentResolve}}async _doResolve(t){try{const i=await Promise.resolve(this.provider.resolveInlayHint(this.hint,t));this.hint.tooltip=i?.tooltip??this.hint.tooltip,this.hint.label=i?.label??this.hint.label,this.hint.textEdits=i?.textEdits??this.hint.textEdits,this._isResolved=!0}catch(i){(0,d.onUnexpectedExternalError)(i),this._isResolved=!1}}}e.InlayHintItem=b;class p{static{this._emptyInlayHintList=Object.freeze({dispose(){},hints:[]})}static async create(t,i,s,g){const c=[],l=t.ordered(i).reverse().map(a=>s.map(async r=>{try{const u=await a.provideInlayHints(i,r,g);(u?.hints.length||a.onDidChangeInlayHints)&&c.push([u??p._emptyInlayHintList,a])}catch(u){(0,d.onUnexpectedExternalError)(u)}}));if(await Promise.all(l.flat()),g.isCancellationRequested||i.isDisposed())throw new d.CancellationError;return new p(s,c,i)}constructor(t,i,s){this._disposables=new k.DisposableStore,this.ranges=t,this.provider=new Set;const g=[];for(const[c,l]of i){this._disposables.add(c),this.provider.add(l);for(const a of c.hints){const r=s.validatePosition(a.position);let u="before";const C=p._getRangeAtPosition(s,r);let f;C.getStartPosition().isBefore(r)?(f=E.Range.fromPositions(C.getStartPosition(),r),u="after"):(f=E.Range.fromPositions(r,C.getEndPosition()),u="before"),g.push(new b(a,new _(f,u),l))}}this.items=g.sort((c,l)=>I.Position.compare(c.hint.position,l.hint.position))}dispose(){this._disposables.dispose()}static _getRangeAtPosition(t,i){const s=i.lineNumber,g=t.getWordAtPosition(i);if(g)return new E.Range(s,g.startColumn,s,g.endColumn);t.tokenization.tokenizeIfCheap(s);const c=t.tokenization.getLineTokens(s),l=i.column-1,a=c.findTokenIndexAtOffset(l);let r=c.getStartOffset(a),u=c.getEndOffset(a);return u-r===1&&(r===l&&a>1?(r=c.getStartOffset(a-1),u=c.getEndOffset(a-1)):u===l&&aq.toString?q.toString():""+q).join(" -> ")}`));const V=new k.DeferredPromise;return D.set(F,V.p),(async()=>{if(!W){const q=L(F);for(const H of q){const z=await A(H);if(z&&z.items.length>0)return}}try{return r instanceof m.Position?await F.provideInlineCompletions(u,r,C,f):await F.provideInlineEdits?.(u,r,C,f)}catch(q){(0,y.onUnexpectedExternalError)(q);return}})().then(q=>V.complete(q),q=>V.error(q)),V.p}const P=await Promise.all(w.map(async F=>({provider:F,completions:await A(F)}))),N=new Map,O=[];for(const F of P){const x=F.completions;if(!x)continue;const W=new s(x,F.provider);O.push(W);for(const V of x.items){const q=g.from(V,W,v,u,h);N.set(q.hash(),q)}}return new i(Array.from(N.values()),new Set(N.keys()),O)}class i{constructor(r,u,C){this.completions=r,this.hashs=u,this.providerResults=C}has(r){return this.hashs.has(r.hash())}dispose(){for(const r of this.providerResults)r.removeRef()}}e.InlineCompletionProviderResult=i;class s{constructor(r,u){this.inlineCompletions=r,this.provider=u,this.refCount=1}addRef(){this.refCount++}removeRef(){this.refCount--,this.refCount===0&&this.provider.freeInlineCompletions(this.inlineCompletions)}}e.InlineCompletionList=s;class g{static from(r,u,C,f,h){let v,w,S=r.range?_.Range.lift(r.range):C;if(typeof r.insertText=="string"){if(v=r.insertText,h&&r.completeBracketPairs){v=l(v,S.getStartPosition(),f,h);const L=v.length-r.insertText.length;L!==0&&(S=new _.Range(S.startLineNumber,S.startColumn,S.endLineNumber,S.endColumn+L))}w=void 0}else if("snippet"in r.insertText){const L=r.insertText.snippet.length;if(h&&r.completeBracketPairs){r.insertText.snippet=l(r.insertText.snippet,S.getStartPosition(),f,h);const T=r.insertText.snippet.length-L;T!==0&&(S=new _.Range(S.startLineNumber,S.startColumn,S.endLineNumber,S.endColumn+T))}const D=new o.SnippetParser().parse(r.insertText.snippet);D.children.length===1&&D.children[0]instanceof o.Text?(v=D.children[0].value,w=void 0):(v=D.toString(),w={snippet:r.insertText.snippet,range:S})}else(0,d.assertNever)(r.insertText);return new g(v,r.command,S,v,w,r.additionalTextEdits||(0,n.getReadonlyEmptyArray)(),r,u)}constructor(r,u,C,f,h,v,w,S){this.filterText=r,this.command=u,this.range=C,this.insertText=f,this.snippetInfo=h,this.additionalTextEdits=v,this.sourceInlineCompletion=w,this.source=S,r=r.replace(/\r\n|\r/g,` +`),f=r.replace(/\r\n|\r/g,` +`)}withRange(r){return new g(this.filterText,this.command,r,this.insertText,this.snippetInfo,this.additionalTextEdits,this.sourceInlineCompletion,this.source)}hash(){return JSON.stringify({insertText:this.insertText,range:this.range.toString()})}toSingleTextEdit(){return new p.SingleTextEdit(this.range,this.insertText)}}e.InlineCompletionItem=g;function c(a,r){const u=r.getWordAtPosition(a),C=r.getLineMaxColumn(a.lineNumber);return u?new _.Range(a.lineNumber,u.startColumn,a.lineNumber,C):_.Range.fromPositions(a,a.with(void 0,C))}function l(a,r,u,C){const h=u.getLineContent(r.lineNumber).substring(0,r.column-1)+a,w=u.tokenization.tokenizeLineWithEdit(r,h.length-(r.column-1),a)?.sliceAndInflate(r.column-1,h.length,0);return w?(0,b.fixBracketsInLine)(w,C):a}}),define(ne[379],se([1,0,5,102,2,21,65,112]),function(oe,e,d,k,I,E,y,m){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.PlaceholderTextContribution=void 0;class _ extends I.Disposable{static{this.ID="editor.contrib.placeholderText"}constructor(n){super(),this._editor=n,this._editorObs=(0,m.observableCodeEditor)(this._editor),this._placeholderText=this._editorObs.getOption(88),this._state=(0,E.derivedOpts)({owner:this,equalsFn:k.structuralEquals},o=>{const t=this._placeholderText.read(o);if(t&&this._editorObs.valueIsEmpty.read(o))return{placeholder:t}}),this._shouldViewBeAlive=b(this,o=>this._state.read(o)?.placeholder!==void 0),this._view=(0,y.derivedWithStore)((o,t)=>{if(!this._shouldViewBeAlive.read(o))return;const i=(0,d.h)("div.editorPlaceholder");t.add((0,E.autorun)(s=>{const g=this._state.read(s),c=g?.placeholder!==void 0;i.root.style.display=c?"block":"none",i.root.innerText=g?.placeholder??""})),t.add((0,E.autorun)(s=>{const g=this._editorObs.layoutInfo.read(s);i.root.style.left=`${g.contentLeft}px`,i.root.style.width=g.contentWidth-g.verticalScrollbarWidth+"px",i.root.style.top=`${this._editor.getTopForLineNumber(0)}px`})),t.add((0,E.autorun)(s=>{i.root.style.fontFamily=this._editorObs.getOption(49).read(s),i.root.style.fontSize=this._editorObs.getOption(52).read(s)+"px",i.root.style.lineHeight=this._editorObs.getOption(67).read(s)+"px"})),t.add(this._editorObs.createOverlayWidget({allowEditorOverflow:!1,minContentWidthInPx:(0,E.constObservable)(0),position:(0,E.constObservable)(null),domNode:i.root}))}),this._view.recomputeInitiallyAndOnChange(this._store)}}e.PlaceholderTextContribution=_;function b(p,n){return(0,E.derivedObservableWithCache)(p,(o,t)=>t===!0?!0:n(o))}}),define(ne[380],se([1,0]),function(oe,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.AccessibleViewRegistry=void 0,e.AccessibleViewRegistry=new class{constructor(){this._implementations=[]}register(k){return this._implementations.push(k),{dispose:()=>{const I=this._implementations.indexOf(k);I!==-1&&this._implementations.splice(I,1)}}}getImplementations(){return this._implementations}}}),define(ne[381],se([1,0]),function(oe,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.isLocalizedString=d,e.isICommandActionToggleInfo=k;function d(I){return I&&typeof I=="object"&&typeof I.original=="string"&&typeof I.value=="string"}function k(I){return I?I.condition!==void 0:!1}}),define(ne[671],se([1,0,3]),function(oe,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Categories=void 0,e.Categories=Object.freeze({View:(0,d.localize2)(1477,"View"),Help:(0,d.localize2)(1478,"Help"),Test:(0,d.localize2)(1479,"Test"),File:(0,d.localize2)(1480,"File"),Preferences:(0,d.localize2)(1481,"Preferences"),Developer:(0,d.localize2)(1482,"Developer")})}),define(ne[672],se([1,0,8,3]),function(oe,e,d,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Scanner=void 0;function I(..._){switch(_.length){case 1:return(0,k.localize)(1532,"Did you mean {0}?",_[0]);case 2:return(0,k.localize)(1533,"Did you mean {0} or {1}?",_[0],_[1]);case 3:return(0,k.localize)(1534,"Did you mean {0}, {1} or {2}?",_[0],_[1],_[2]);default:return}}const E=(0,k.localize)(1535,"Did you forget to open or close the quote?"),y=(0,k.localize)(1536,"Did you forget to escape the '/' (slash) character? Put two backslashes before it to escape, e.g., '\\\\/'.");class m{constructor(){this._input="",this._start=0,this._current=0,this._tokens=[],this._errors=[],this.stringRe=/[a-zA-Z0-9_<>\-\./\\:\*\?\+\[\]\^,#@;"%\$\p{L}-]+/uy}static getLexeme(b){switch(b.type){case 0:return"(";case 1:return")";case 2:return"!";case 3:return b.isTripleEq?"===":"==";case 4:return b.isTripleEq?"!==":"!=";case 5:return"<";case 6:return"<=";case 7:return">=";case 8:return">=";case 9:return"=~";case 10:return b.lexeme;case 11:return"true";case 12:return"false";case 13:return"in";case 14:return"not";case 15:return"&&";case 16:return"||";case 17:return b.lexeme;case 18:return b.lexeme;case 19:return b.lexeme;case 20:return"EOF";default:throw(0,d.illegalState)(`unhandled token type: ${JSON.stringify(b)}; have you forgotten to add a case?`)}}static{this._regexFlags=new Set(["i","g","s","m","y","u"].map(b=>b.charCodeAt(0)))}static{this._keywords=new Map([["not",14],["in",13],["false",12],["true",11]])}reset(b){return this._input=b,this._start=0,this._current=0,this._tokens=[],this._errors=[],this}scan(){for(;!this._isAtEnd();)switch(this._start=this._current,this._advance()){case 40:this._addToken(0);break;case 41:this._addToken(1);break;case 33:if(this._match(61)){const p=this._match(61);this._tokens.push({type:4,offset:this._start,isTripleEq:p})}else this._addToken(2);break;case 39:this._quotedString();break;case 47:this._regex();break;case 61:if(this._match(61)){const p=this._match(61);this._tokens.push({type:3,offset:this._start,isTripleEq:p})}else this._match(126)?this._addToken(9):this._error(I("==","=~"));break;case 60:this._addToken(this._match(61)?6:5);break;case 62:this._addToken(this._match(61)?8:7);break;case 38:this._match(38)?this._addToken(15):this._error(I("&&"));break;case 124:this._match(124)?this._addToken(16):this._error(I("||"));break;case 32:case 13:case 9:case 10:case 160:break;default:this._string()}return this._start=this._current,this._addToken(20),Array.from(this._tokens)}_match(b){return this._isAtEnd()||this._input.charCodeAt(this._current)!==b?!1:(this._current++,!0)}_advance(){return this._input.charCodeAt(this._current++)}_peek(){return this._isAtEnd()?0:this._input.charCodeAt(this._current)}_addToken(b){this._tokens.push({type:b,offset:this._start})}_error(b){const p=this._start,n=this._input.substring(this._start,this._current),o={type:19,offset:this._start,lexeme:n};this._errors.push({offset:p,lexeme:n,additionalInfo:b}),this._tokens.push(o)}_string(){this.stringRe.lastIndex=this._start;const b=this.stringRe.exec(this._input);if(b){this._current=this._start+b[0].length;const p=this._input.substring(this._start,this._current),n=m._keywords.get(p);n?this._addToken(n):this._tokens.push({type:17,lexeme:p,offset:this._start})}}_quotedString(){for(;this._peek()!==39&&!this._isAtEnd();)this._advance();if(this._isAtEnd()){this._error(E);return}this._advance(),this._tokens.push({type:18,lexeme:this._input.substring(this._start+1,this._current-1),offset:this._start+1})}_regex(){let b=this._current,p=!1,n=!1;for(;;){if(b>=this._input.length){this._current=b,this._error(y);return}const t=this._input.charCodeAt(b);if(p)p=!1;else if(t===47&&!n){b++;break}else t===91?n=!0:t===92?p=!0:t===93&&(n=!1);b++}for(;b=this._input.length}}e.Scanner=m}),define(ne[673],se([1,0]),function(oe,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.EditorOpenSource=void 0;var d;(function(k){k[k.API=0]="API",k[k.USER=1]="USER"})(d||(e.EditorOpenSource=d={}))}),define(ne[674],se([1,0]),function(oe,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ExtensionIdentifierSet=e.ExtensionIdentifier=void 0;class d{constructor(E){this.value=E,this._lower=E.toLowerCase()}static toKey(E){return typeof E=="string"?E.toLowerCase():E._lower}}e.ExtensionIdentifier=d;class k{constructor(E){if(this._set=new Set,E)for(const y of E)this.add(y)}add(E){this._set.add(d.toKey(E))}has(E){return this._set.has(d.toKey(E))}}e.ExtensionIdentifierSet=k}),define(ne[382],se([1,0]),function(oe,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.FileKind=void 0;var d;(function(k){k[k.FILE=0]="FILE",k[k.FOLDER=1]="FOLDER",k[k.ROOT_FOLDER=2]="ROOT_FOLDER"})(d||(e.FileKind=d={}))}),define(ne[675],se([1,0]),function(oe,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.showHistoryKeybindingHint=d;function d(k){return k.lookupKeybinding("history.showPrevious")?.getElectronAccelerator()==="Up"&&k.lookupKeybinding("history.showNext")?.getElectronAccelerator()==="Down"}}),define(ne[265],se([1,0]),function(oe,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SyncDescriptor=void 0;class d{constructor(I,E=[],y=!1){this.ctor=I,this.staticArguments=E,this.supportsDelayedInstantiation=y}}e.SyncDescriptor=d}),define(ne[49],se([1,0,265]),function(oe,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.registerSingleton=I,e.getSingletonServiceDescriptors=E;const k=[];function I(y,m,_){m instanceof d.SyncDescriptor||(m=new d.SyncDescriptor(m,[],!!_)),k.push([y,m])}function E(){return k}}),define(ne[676],se([1,0]),function(oe,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Graph=e.Node=void 0;class d{constructor(E,y){this.key=E,this.data=y,this.incoming=new Map,this.outgoing=new Map}}e.Node=d;class k{constructor(E){this._hashFn=E,this._nodes=new Map}roots(){const E=[];for(const y of this._nodes.values())y.outgoing.size===0&&E.push(y);return E}insertEdge(E,y){const m=this.lookupOrInsertNode(E),_=this.lookupOrInsertNode(y);m.outgoing.set(_.key,_),_.incoming.set(m.key,m)}removeNode(E){const y=this._hashFn(E);this._nodes.delete(y);for(const m of this._nodes.values())m.outgoing.delete(y),m.incoming.delete(y)}lookupOrInsertNode(E){const y=this._hashFn(E);let m=this._nodes.get(y);return m||(m=new d(y,E),this._nodes.set(y,m)),m}isEmpty(){return this._nodes.size===0}toString(){const E=[];for(const[y,m]of this._nodes)E.push(`${y} + (-> incoming)[${[...m.incoming.keys()].join(", ")}] + (outgoing ->)[${[...m.outgoing.keys()].join(",")}] +`);return E.join(` +`)}findCycleSlow(){for(const[E,y]of this._nodes){const m=new Set([E]),_=this._findCycle(y,m);if(_)return _}}_findCycle(E,y){for(const[m,_]of E.outgoing){if(y.has(m))return[...y,m].join(" -> ");y.add(m);const b=this._findCycle(_,y);if(b)return b;y.delete(m)}}}e.Graph=k}),define(ne[7],se([1,0]),function(oe,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.IInstantiationService=e._util=void 0,e.createDecorator=I;var d;(function(E){E.serviceIds=new Map,E.DI_TARGET="$di$target",E.DI_DEPENDENCIES="$di$dependencies";function y(m){return m[E.DI_DEPENDENCIES]||[]}E.getServiceDependencies=y})(d||(e._util=d={})),e.IInstantiationService=I("instantiationService");function k(E,y,m){y[d.DI_TARGET]===y?y[d.DI_DEPENDENCIES].push({id:E,index:m}):(y[d.DI_DEPENDENCIES]=[{id:E,index:m}],y[d.DI_TARGET]=y)}function I(E){if(d.serviceIds.has(E))return d.serviceIds.get(E);const y=function(m,_,b){if(arguments.length!==3)throw new Error("@IServiceName-decorator can only be used to decorate a parameter");k(y,m,b)};return y.toString=()=>E,d.serviceIds.set(E,y),y}}),define(ne[152],se([1,0,7,22,19]),function(oe,e,d,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ResourceFileEdit=e.ResourceTextEdit=e.ResourceEdit=e.IBulkEditService=void 0,e.IBulkEditService=(0,d.createDecorator)("IWorkspaceEditService");class E{constructor(b){this.metadata=b}static convert(b){return b.edits.map(p=>{if(y.is(p))return y.lift(p);if(m.is(p))return m.lift(p);throw new Error("Unsupported edit")})}}e.ResourceEdit=E;class y extends E{static is(b){return b instanceof y?!0:(0,I.isObject)(b)&&k.URI.isUri(b.resource)&&(0,I.isObject)(b.textEdit)}static lift(b){return b instanceof y?b:new y(b.resource,b.textEdit,b.versionId,b.metadata)}constructor(b,p,n=void 0,o){super(o),this.resource=b,this.textEdit=p,this.versionId=n}}e.ResourceTextEdit=y;class m extends E{static is(b){return b instanceof m?!0:(0,I.isObject)(b)&&(!!b.newResource||!!b.oldResource)}static lift(b){return b instanceof m?b:new m(b.oldResource,b.newResource,b.options,b.metadata)}constructor(b,p,n={},o){super(o),this.oldResource=b,this.newResource=p,this.options=n}}e.ResourceFileEdit=m}),define(ne[34],se([1,0,7]),function(oe,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ICodeEditorService=void 0,e.ICodeEditorService=(0,d.createDecorator)("codeEditorService")});var ce=this&&this.__param||function(oe,e){return function(d,k){e(d,k,oe)}};define(ne[383],se([1,0,5,114,26,57,2,21,65,30,19,112,88,55,9,4,27,3,7]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l){"use strict";var a;Object.defineProperty(e,"__esModule",{value:!0}),e.HideUnchangedRegionsFeature=void 0;let r=class extends y.Disposable{static{a=this}static{this._breadcrumbsSourceFactory=(0,m.observableValue)(a,()=>({dispose(){},getBreadcrumbItems(h,v){return[]}}))}static setBreadcrumbsSourceFactory(h){this._breadcrumbsSourceFactory.set(h,void 0)}get isUpdatingHiddenAreas(){return this._isUpdatingHiddenAreas}constructor(h,v,w,S){super(),this._editors=h,this._diffModel=v,this._options=w,this._instantiationService=S,this._modifiedOutlineSource=(0,_.derivedDisposable)(this,M=>{const A=this._editors.modifiedModel.read(M),P=a._breadcrumbsSourceFactory.read(M);return!A||!P?void 0:P(A,this._instantiationService)}),this._isUpdatingHiddenAreas=!1,this._register(this._editors.original.onDidChangeCursorPosition(M=>{if(M.reason===1)return;const A=this._diffModel.get();(0,m.transaction)(P=>{for(const N of this._editors.original.getSelections()||[])A?.ensureOriginalLineIsVisible(N.getStartPosition().lineNumber,0,P),A?.ensureOriginalLineIsVisible(N.getEndPosition().lineNumber,0,P)})})),this._register(this._editors.modified.onDidChangeCursorPosition(M=>{if(M.reason===1)return;const A=this._diffModel.get();(0,m.transaction)(P=>{for(const N of this._editors.modified.getSelections()||[])A?.ensureModifiedLineIsVisible(N.getStartPosition().lineNumber,0,P),A?.ensureModifiedLineIsVisible(N.getEndPosition().lineNumber,0,P)})}));const L=this._diffModel.map((M,A)=>{const P=M?.unchangedRegions.read(A)??[];return P.length===1&&P[0].modifiedLineNumber===1&&P[0].lineCount===this._editors.modifiedModel.read(A)?.getLineCount()?[]:P});this.viewZones=(0,m.derivedWithStore)(this,(M,A)=>{const P=this._modifiedOutlineSource.read(M);if(!P)return{origViewZones:[],modViewZones:[]};const N=[],O=[],F=this._options.renderSideBySide.read(M),x=this._options.compactMode.read(M),W=L.read(M);for(let V=0;Vq.getHiddenOriginalRange(U).startLineNumber-1),z=new o.PlaceholderViewZone(H,12);N.push(z),A.add(new u(this._editors.original,z,q,!F))}{const H=(0,m.derived)(this,U=>q.getHiddenModifiedRange(U).startLineNumber-1),z=new o.PlaceholderViewZone(H,12);O.push(z),A.add(new u(this._editors.modified,z,q))}}else{{const H=(0,m.derived)(this,U=>q.getHiddenOriginalRange(U).startLineNumber-1),z=new o.PlaceholderViewZone(H,24);N.push(z),A.add(new C(this._editors.original,z,q,q.originalUnchangedRange,!F,P,U=>this._diffModel.get().ensureModifiedLineIsVisible(U,2,void 0),this._options))}{const H=(0,m.derived)(this,U=>q.getHiddenModifiedRange(U).startLineNumber-1),z=new o.PlaceholderViewZone(H,24);O.push(z),A.add(new C(this._editors.modified,z,q,q.modifiedUnchangedRange,!1,P,U=>this._diffModel.get().ensureModifiedLineIsVisible(U,2,void 0),this._options))}}}return{origViewZones:N,modViewZones:O}});const D={description:"unchanged lines",className:"diff-unchanged-lines",isWholeLine:!0},T={description:"Fold Unchanged",glyphMarginHoverMessage:new E.MarkdownString(void 0,{isTrusted:!0,supportThemeIcons:!0}).appendMarkdown((0,c.localize)(111,"Fold Unchanged Region")),glyphMarginClassName:"fold-unchanged "+b.ThemeIcon.asClassName(I.Codicon.fold),zIndex:10001};this._register((0,o.applyObservableDecorations)(this._editors.original,(0,m.derived)(this,M=>{const A=L.read(M),P=A.map(N=>({range:N.originalUnchangedRange.toInclusiveRange(),options:D}));for(const N of A)N.shouldHideControls(M)&&P.push({range:s.Range.fromPositions(new i.Position(N.originalLineNumber,1)),options:T});return P}))),this._register((0,o.applyObservableDecorations)(this._editors.modified,(0,m.derived)(this,M=>{const A=L.read(M),P=A.map(N=>({range:N.modifiedUnchangedRange.toInclusiveRange(),options:D}));for(const N of A)N.shouldHideControls(M)&&P.push({range:t.LineRange.ofLength(N.modifiedLineNumber,1).toInclusiveRange(),options:T});return P}))),this._register((0,m.autorun)(M=>{const A=L.read(M);this._isUpdatingHiddenAreas=!0;try{this._editors.original.setHiddenAreas(A.map(P=>P.getHiddenOriginalRange(M).toInclusiveRange()).filter(p.isDefined)),this._editors.modified.setHiddenAreas(A.map(P=>P.getHiddenModifiedRange(M).toInclusiveRange()).filter(p.isDefined))}finally{this._isUpdatingHiddenAreas=!1}})),this._register(this._editors.modified.onMouseUp(M=>{if(!M.event.rightButton&&M.target.position&&M.target.element?.className.includes("fold-unchanged")){const A=M.target.position.lineNumber,P=this._diffModel.get();if(!P)return;const N=P.unchangedRegions.get().find(O=>O.modifiedUnchangedRange.includes(A));if(!N)return;N.collapseAll(void 0),M.event.stopPropagation(),M.event.preventDefault()}})),this._register(this._editors.original.onMouseUp(M=>{if(!M.event.rightButton&&M.target.position&&M.target.element?.className.includes("fold-unchanged")){const A=M.target.position.lineNumber,P=this._diffModel.get();if(!P)return;const N=P.unchangedRegions.get().find(O=>O.originalUnchangedRange.includes(A));if(!N)return;N.collapseAll(void 0),M.event.stopPropagation(),M.event.preventDefault()}}))}};e.HideUnchangedRegionsFeature=r,e.HideUnchangedRegionsFeature=r=a=ke([ce(3,l.IInstantiationService)],r);class u extends o.ViewZoneOverlayWidget{constructor(h,v,w,S=!1){const L=(0,d.h)("div.diff-hidden-lines-widget");super(h,v,L.root),this._unchangedRegion=w,this._hide=S,this._nodes=(0,d.h)("div.diff-hidden-lines-compact",[(0,d.h)("div.line-left",[]),(0,d.h)("div.text@text",[]),(0,d.h)("div.line-right",[])]),L.root.appendChild(this._nodes.root),this._hide&&this._nodes.root.replaceChildren(),this._register((0,m.autorun)(D=>{if(!this._hide){const T=this._unchangedRegion.getHiddenModifiedRange(D).length,M=(0,c.localize)(112,"{0} hidden lines",T);this._nodes.text.innerText=M}}))}}class C extends o.ViewZoneOverlayWidget{constructor(h,v,w,S,L,D,T,M){const A=(0,d.h)("div.diff-hidden-lines-widget");super(h,v,A.root),this._editor=h,this._unchangedRegion=w,this._unchangedRegionRange=S,this._hide=L,this._modifiedOutlineSource=D,this._revealModifiedHiddenLine=T,this._options=M,this._nodes=(0,d.h)("div.diff-hidden-lines",[(0,d.h)("div.top@top",{title:(0,c.localize)(113,"Click or drag to show more above")}),(0,d.h)("div.center@content",{style:{display:"flex"}},[(0,d.h)("div@first",{style:{display:"flex",justifyContent:"center",alignItems:"center",flexShrink:"0"}},[(0,d.$)("a",{title:(0,c.localize)(114,"Show Unchanged Region"),role:"button",onclick:()=>{this._unchangedRegion.showAll(void 0)}},...(0,k.renderLabelWithIcons)("$(unfold)"))]),(0,d.h)("div@others",{style:{display:"flex",justifyContent:"center",alignItems:"center"}})]),(0,d.h)("div.bottom@bottom",{title:(0,c.localize)(115,"Click or drag to show more below"),role:"button"})]),A.root.appendChild(this._nodes.root),this._hide?(0,d.reset)(this._nodes.first):this._register((0,o.applyStyle)(this._nodes.first,{width:(0,n.observableCodeEditor)(this._editor).layoutInfoContentLeft})),this._register((0,m.autorun)(N=>{const O=this._unchangedRegion.visibleLineCountTop.read(N)+this._unchangedRegion.visibleLineCountBottom.read(N)===this._unchangedRegion.lineCount;this._nodes.bottom.classList.toggle("canMoveTop",!O),this._nodes.bottom.classList.toggle("canMoveBottom",this._unchangedRegion.visibleLineCountBottom.read(N)>0),this._nodes.top.classList.toggle("canMoveTop",this._unchangedRegion.visibleLineCountTop.read(N)>0),this._nodes.top.classList.toggle("canMoveBottom",!O);const F=this._unchangedRegion.isDragged.read(N),x=this._editor.getDomNode();x&&(x.classList.toggle("draggingUnchangedRegion",!!F),F==="top"?(x.classList.toggle("canMoveTop",this._unchangedRegion.visibleLineCountTop.read(N)>0),x.classList.toggle("canMoveBottom",!O)):F==="bottom"?(x.classList.toggle("canMoveTop",!O),x.classList.toggle("canMoveBottom",this._unchangedRegion.visibleLineCountBottom.read(N)>0)):(x.classList.toggle("canMoveTop",!1),x.classList.toggle("canMoveBottom",!1)))}));const P=this._editor;this._register((0,d.addDisposableListener)(this._nodes.top,"mousedown",N=>{if(N.button!==0)return;this._nodes.top.classList.toggle("dragging",!0),this._nodes.root.classList.toggle("dragging",!0),N.preventDefault();const O=N.clientY;let F=!1;const x=this._unchangedRegion.visibleLineCountTop.get();this._unchangedRegion.isDragged.set("top",void 0);const W=(0,d.getWindow)(this._nodes.top),V=(0,d.addDisposableListener)(W,"mousemove",H=>{const U=H.clientY-O;F=F||Math.abs(U)>2;const j=Math.round(U/P.getOption(67)),Q=Math.max(0,Math.min(x+j,this._unchangedRegion.getMaxVisibleLineCountTop()));this._unchangedRegion.visibleLineCountTop.set(Q,void 0)}),q=(0,d.addDisposableListener)(W,"mouseup",H=>{F||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),V.dispose(),q.dispose()})})),this._register((0,d.addDisposableListener)(this._nodes.bottom,"mousedown",N=>{if(N.button!==0)return;this._nodes.bottom.classList.toggle("dragging",!0),this._nodes.root.classList.toggle("dragging",!0),N.preventDefault();const O=N.clientY;let F=!1;const x=this._unchangedRegion.visibleLineCountBottom.get();this._unchangedRegion.isDragged.set("bottom",void 0);const W=(0,d.getWindow)(this._nodes.bottom),V=(0,d.addDisposableListener)(W,"mousemove",H=>{const U=H.clientY-O;F=F||Math.abs(U)>2;const j=Math.round(U/P.getOption(67)),Q=Math.max(0,Math.min(x-j,this._unchangedRegion.getMaxVisibleLineCountBottom())),G=this._unchangedRegionRange.endLineNumberExclusive>P.getModel().getLineCount()?P.getContentHeight():P.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);this._unchangedRegion.visibleLineCountBottom.set(Q,void 0);const K=this._unchangedRegionRange.endLineNumberExclusive>P.getModel().getLineCount()?P.getContentHeight():P.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);P.setScrollTop(P.getScrollTop()+(K-G))}),q=(0,d.addDisposableListener)(W,"mouseup",H=>{if(this._unchangedRegion.isDragged.set(void 0,void 0),!F){const z=P.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);this._unchangedRegion.showMoreBelow(this._options.hideUnchangedRegionsRevealLineCount.get(),void 0);const U=P.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);P.setScrollTop(P.getScrollTop()+(U-z))}this._nodes.bottom.classList.toggle("dragging",!1),this._nodes.root.classList.toggle("dragging",!1),V.dispose(),q.dispose()})})),this._register((0,m.autorun)(N=>{const O=[];if(!this._hide){const F=w.getHiddenModifiedRange(N).length,x=(0,c.localize)(116,"{0} hidden lines",F),W=(0,d.$)("span",{title:(0,c.localize)(117,"Double click to unfold")},x);W.addEventListener("dblclick",H=>{H.button===0&&(H.preventDefault(),this._unchangedRegion.showAll(void 0))}),O.push(W);const V=this._unchangedRegion.getHiddenModifiedRange(N),q=this._modifiedOutlineSource.getBreadcrumbItems(V,N);if(q.length>0){O.push((0,d.$)("span",void 0,"\xA0\xA0|\xA0\xA0"));for(let H=0;H{this._revealModifiedHiddenLine(z.startLineNumber)}}}}(0,d.reset)(this._nodes.others,...O)}))}}}),define(ne[43],se([1,0,7]),function(oe,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ILanguageService=void 0,e.ILanguageService=(0,d.createDecorator)("languageService")}),define(ne[100],se([1,0,7]),function(oe,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.IEditorWorkerService=void 0,e.IEditorWorkerService=(0,d.createDecorator)("editorWorkerService")}),define(ne[17],se([1,0,7]),function(oe,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ILanguageFeaturesService=void 0,e.ILanguageFeaturesService=(0,d.createDecorator)("ILanguageFeaturesService")}),define(ne[677],se([1,0,658,17,49]),function(oe,e,d,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.LanguageFeaturesService=void 0;class E{constructor(){this.referenceProvider=new d.LanguageFeatureRegistry(this._score.bind(this)),this.renameProvider=new d.LanguageFeatureRegistry(this._score.bind(this)),this.newSymbolNamesProvider=new d.LanguageFeatureRegistry(this._score.bind(this)),this.codeActionProvider=new d.LanguageFeatureRegistry(this._score.bind(this)),this.definitionProvider=new d.LanguageFeatureRegistry(this._score.bind(this)),this.typeDefinitionProvider=new d.LanguageFeatureRegistry(this._score.bind(this)),this.declarationProvider=new d.LanguageFeatureRegistry(this._score.bind(this)),this.implementationProvider=new d.LanguageFeatureRegistry(this._score.bind(this)),this.documentSymbolProvider=new d.LanguageFeatureRegistry(this._score.bind(this)),this.inlayHintsProvider=new d.LanguageFeatureRegistry(this._score.bind(this)),this.colorProvider=new d.LanguageFeatureRegistry(this._score.bind(this)),this.codeLensProvider=new d.LanguageFeatureRegistry(this._score.bind(this)),this.documentFormattingEditProvider=new d.LanguageFeatureRegistry(this._score.bind(this)),this.documentRangeFormattingEditProvider=new d.LanguageFeatureRegistry(this._score.bind(this)),this.onTypeFormattingEditProvider=new d.LanguageFeatureRegistry(this._score.bind(this)),this.signatureHelpProvider=new d.LanguageFeatureRegistry(this._score.bind(this)),this.hoverProvider=new d.LanguageFeatureRegistry(this._score.bind(this)),this.documentHighlightProvider=new d.LanguageFeatureRegistry(this._score.bind(this)),this.multiDocumentHighlightProvider=new d.LanguageFeatureRegistry(this._score.bind(this)),this.selectionRangeProvider=new d.LanguageFeatureRegistry(this._score.bind(this)),this.foldingRangeProvider=new d.LanguageFeatureRegistry(this._score.bind(this)),this.linkProvider=new d.LanguageFeatureRegistry(this._score.bind(this)),this.inlineCompletionsProvider=new d.LanguageFeatureRegistry(this._score.bind(this)),this.inlineEditProvider=new d.LanguageFeatureRegistry(this._score.bind(this)),this.completionProvider=new d.LanguageFeatureRegistry(this._score.bind(this)),this.linkedEditingRangeProvider=new d.LanguageFeatureRegistry(this._score.bind(this)),this.documentRangeSemanticTokensProvider=new d.LanguageFeatureRegistry(this._score.bind(this)),this.documentSemanticTokensProvider=new d.LanguageFeatureRegistry(this._score.bind(this)),this.documentDropEditProvider=new d.LanguageFeatureRegistry(this._score.bind(this)),this.documentPasteEditProvider=new d.LanguageFeatureRegistry(this._score.bind(this))}_score(m){return this._notebookTypeResolver?.(m)}}e.LanguageFeaturesService=E,(0,I.registerSingleton)(k.ILanguageFeaturesService,E,1)}),define(ne[266],se([1,0,7]),function(oe,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.IMarkerDecorationsService=void 0,e.IMarkerDecorationsService=(0,d.createDecorator)("markerDecorationsService")}),define(ne[51],se([1,0,7]),function(oe,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.IModelService=void 0,e.IModelService=(0,d.createDecorator)("modelService")}),define(ne[78],se([1,0,7]),function(oe,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ITextModelService=void 0,e.ITextModelService=(0,d.createDecorator)("textModelService")}),define(ne[267],se([1,0,7]),function(oe,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ISemanticTokensStylingService=void 0,e.ISemanticTokensStylingService=(0,d.createDecorator)("semanticTokensStylingService")}),define(ne[211],se([1,0,7]),function(oe,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ITextResourcePropertiesService=e.ITextResourceConfigurationService=void 0,e.ITextResourceConfigurationService=(0,d.createDecorator)("textResourceConfigurationService"),e.ITextResourcePropertiesService=(0,d.createDecorator)("textResourcePropertiesService")}),define(ne[384],se([1,0,7]),function(oe,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ITreeSitterParserService=void 0,e.ITreeSitterParserService=(0,d.createDecorator)("treeSitterParserService")}),define(ne[678],se([1,0,49,7,327]),function(oe,e,d,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ITreeViewsDnDService=void 0,e.ITreeViewsDnDService=(0,k.createDecorator)("treeViewsDndService"),(0,d.registerSingleton)(e.ITreeViewsDnDService,I.TreeViewsDnDService,1)}),define(ne[385],se([1,0,33,2,17,130,100]),function(oe,e,d,k,I,E,y){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DefaultDocumentColorProvider=void 0;let m=class{constructor(p){this._editorWorkerService=p}async provideDocumentColors(p,n){return this._editorWorkerService.computeDefaultDocumentColors(p.uri)}provideColorPresentations(p,n,o){const t=n.range,i=n.color,s=i.alpha,g=new d.Color(new d.RGBA(Math.round(255*i.red),Math.round(255*i.green),Math.round(255*i.blue),s)),c=s?d.Color.Format.CSS.formatRGB(g):d.Color.Format.CSS.formatRGBA(g),l=s?d.Color.Format.CSS.formatHSL(g):d.Color.Format.CSS.formatHSLA(g),a=s?d.Color.Format.CSS.formatHex(g):d.Color.Format.CSS.formatHexA(g),r=[];return r.push({label:c,textEdit:{range:t,text:c}}),r.push({label:l,textEdit:{range:t,text:l}}),r.push({label:a,textEdit:{range:t,text:a}}),r}};e.DefaultDocumentColorProvider=m,e.DefaultDocumentColorProvider=m=ke([ce(0,y.IEditorWorkerService)],m);let _=class extends k.Disposable{constructor(p,n){super(),this._register(p.colorProvider.register("*",new m(n)))}};_=ke([ce(0,I.ILanguageFeaturesService),ce(1,y.IEditorWorkerService)],_),(0,E.registerEditorFeature)(_)}),define(ne[268],se([1,0,152,135]),function(oe,e,d,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.createCombinedWorkspaceEdit=I,e.sortEditsByYieldTo=E;function I(y,m,_){return(typeof _.insertText=="string"?_.insertText==="":_.insertText.snippet==="")?{edits:_.additionalEdit?.edits??[]}:{edits:[...m.map(b=>new d.ResourceTextEdit(y,{range:b,text:typeof _.insertText=="string"?k.SnippetParser.escape(_.insertText)+"$0":_.insertText.snippet,insertAsSnippet:!0})),..._.additionalEdit?.edits??[]]}}function E(y){function m(o,t){return"mimeType"in o?o.mimeType===t.handledMimeType:!!t.kind&&o.kind.contains(t.kind)}const _=new Map;for(const o of y)for(const t of o.yieldTo??[])for(const i of y)if(i!==o&&m(t,i)){let s=_.get(o);s||(s=[],_.set(o,s)),s.push(i)}if(!_.size)return Array.from(y);const b=new Set,p=[];function n(o){if(!o.length)return[];const t=o[0];if(p.includes(t))return console.warn("Yield to cycle detected",t),o;if(b.has(t))return n(o.slice(1));let i=[];const s=_.get(t);return s&&(p.push(t),i=n(s),p.pop()),b.add(t),[...i,t,...n(o.slice(1))]}return n(Array.from(y))}}),define(ne[679],se([1,0,103,6,2,21,11,74,37,9,4,116,43,40,83,150,136,204,205,517]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ttPolicy=e.AdditionalLinesWidget=e.GhostTextView=e.GHOST_TEXT_DESCRIPTION=void 0,e.GHOST_TEXT_DESCRIPTION="ghost-text";let a=class extends I.Disposable{constructor(f,h,v){super(),this.editor=f,this.model=h,this.languageService=v,this.isDisposed=(0,E.observableValue)(this,!1),this.currentTextModel=(0,E.observableFromEvent)(this,this.editor.onDidChangeModel,()=>this.editor.getModel()),this.uiState=(0,E.derived)(this,w=>{if(this.isDisposed.read(w))return;const S=this.currentTextModel.read(w);if(S!==this.model.targetTextModel.read(w))return;const L=this.model.ghostText.read(w);if(!L)return;const D=L instanceof c.GhostTextReplacement?L.columnRange:void 0,T=[],M=[];function A(x,W){if(M.length>0){const V=M[M.length-1];W&&V.decorations.push(new s.LineDecoration(V.content.length+1,V.content.length+1+x[0].length,W,0)),V.content+=x[0],x=x.slice(1)}for(const V of x)M.push({content:V,decorations:W?[new s.LineDecoration(1,V.length+1,W,0)]:[]})}const P=S.getLineContent(L.lineNumber);let N,O=0;for(const x of L.parts){let W=x.lines;N===void 0?(T.push({column:x.column,text:W[0],preview:x.preview}),W=W.slice(1)):A([P.substring(O,x.column-1)],void 0),W.length>0&&(A(W,e.GHOST_TEXT_DESCRIPTION),N===void 0&&x.column<=P.length&&(N=x.column)),O=x.column-1}N!==void 0&&A([P.substring(O)],void 0);const F=N!==void 0?new l.ColumnRange(N,P.length+1):void 0;return{replacedRange:D,inlineTexts:T,additionalLines:M,hiddenRange:F,lineNumber:L.lineNumber,additionalReservedLineCount:this.model.minReservedLineCount.read(w),targetTextModel:S}}),this.decorations=(0,E.derived)(this,w=>{const S=this.uiState.read(w);if(!S)return[];const L=[];S.replacedRange&&L.push({range:S.replacedRange.toRange(S.lineNumber),options:{inlineClassName:"inline-completion-text-to-replace",description:"GhostTextReplacement"}}),S.hiddenRange&&L.push({range:S.hiddenRange.toRange(S.lineNumber),options:{inlineClassName:"ghost-text-hidden",description:"ghost-text-hidden"}});for(const D of S.inlineTexts)L.push({range:p.Range.fromPositions(new b.Position(S.lineNumber,D.column)),options:{description:e.GHOST_TEXT_DESCRIPTION,after:{content:D.text,inlineClassName:D.preview?"ghost-text-decoration-preview":"ghost-text-decoration",cursorStops:t.InjectedTextCursorStops.Left},showIfCollapsed:!0}});return L}),this.additionalLinesWidget=this._register(new r(this.editor,this.languageService.languageIdCodec,(0,E.derived)(w=>{const S=this.uiState.read(w);return S?{lineNumber:S.lineNumber,additionalLines:S.additionalLines,minReservedLineCount:S.additionalReservedLineCount,targetTextModel:S.targetTextModel}:void 0}))),this._register((0,I.toDisposable)(()=>{this.isDisposed.set(!0,void 0)})),this._register((0,l.applyObservableDecorations)(this.editor,this.decorations))}ownsViewZone(f){return this.additionalLinesWidget.viewZoneId===f}};e.GhostTextView=a,e.GhostTextView=a=ke([ce(2,o.ILanguageService)],a);class r extends I.Disposable{get viewZoneId(){return this._viewZoneId}constructor(f,h,v){super(),this.editor=f,this.languageIdCodec=h,this.lines=v,this._viewZoneId=void 0,this.editorOptionsChanged=(0,E.observableSignalFromEvent)("editorOptionChanged",k.Event.filter(this.editor.onDidChangeConfiguration,w=>w.hasChanged(33)||w.hasChanged(118)||w.hasChanged(100)||w.hasChanged(95)||w.hasChanged(51)||w.hasChanged(50)||w.hasChanged(67))),this._register((0,E.autorun)(w=>{const S=this.lines.read(w);this.editorOptionsChanged.read(w),S?this.updateLines(S.lineNumber,S.additionalLines,S.minReservedLineCount):this.clear()}))}dispose(){super.dispose(),this.clear()}clear(){this.editor.changeViewZones(f=>{this._viewZoneId&&(f.removeZone(this._viewZoneId),this._viewZoneId=void 0)})}updateLines(f,h,v){const w=this.editor.getModel();if(!w)return;const{tabSize:S}=w.getOptions();this.editor.changeViewZones(L=>{this._viewZoneId&&(L.removeZone(this._viewZoneId),this._viewZoneId=void 0);const D=Math.max(h.length,v);if(D>0){const T=document.createElement("div");u(T,S,h,this.editor.getOptions(),this.languageIdCodec),this._viewZoneId=L.addZone({afterLineNumber:f,heightInLines:D,domNode:T,afterColumnAffinity:1})}})}}e.AdditionalLinesWidget=r;function u(C,f,h,v,w){const S=v.get(33),L=v.get(118),D="none",T=v.get(95),M=v.get(51),A=v.get(50),P=v.get(67),N=new n.StringBuilder(1e4);N.appendString('
    ');for(let x=0,W=h.length;x');const H=y.isBasicASCII(q),z=y.containsRTL(q),U=i.LineTokens.createEmpty(q,w);(0,g.renderViewLine)(new g.RenderLineInput(A.isMonospace&&!S,A.canUseHalfwidthRightwardsArrow,q,!1,H,z,0,U,V.decorations,f,0,A.spaceWidth,A.middotWidth,A.wsmiddotWidth,L,D,T,M!==_.EditorFontLigatures.OFF,null),N),N.appendString("
    ")}N.appendString("
    "),(0,m.applyFontInfo)(C,A);const O=N.build(),F=e.ttPolicy?e.ttPolicy.createHTML(O):O;C.innerHTML=F}e.ttPolicy=(0,d.createTrustedTypesPolicy)("editorGhostText",{createHTML:C=>C})}),define(ne[680],se([1,0,147,17,27,2,45]),function(oe,e,d,k,I,E,y){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TextualMultiDocumentHighlightFeature=void 0;class m{constructor(){this.selector={language:"*"}}provideDocumentHighlights(p,n,o){const t=[],i=p.getWordAtPosition({lineNumber:n.lineNumber,column:n.column});return i?p.isDisposed()?void 0:p.findMatches(i.word,!0,!1,!0,d.USUAL_WORD_SEPARATORS,!1).map(g=>({range:g.range,kind:I.DocumentHighlightKind.Text})):Promise.resolve(t)}provideMultiDocumentHighlights(p,n,o,t){const i=new y.ResourceMap,s=p.getWordAtPosition({lineNumber:n.lineNumber,column:n.column});if(!s)return Promise.resolve(i);for(const g of[p,...o]){if(g.isDisposed())continue;const l=g.findMatches(s.word,!0,!1,!0,d.USUAL_WORD_SEPARATORS,!1).map(a=>({range:a.range,kind:I.DocumentHighlightKind.Text}));l&&i.set(g.uri,l)}return i}}let _=class extends E.Disposable{constructor(p){super(),this._register(p.documentHighlightProvider.register("*",new m)),this._register(p.multiDocumentHighlightProvider.register("*",new m))}};e.TextualMultiDocumentHighlightFeature=_,e.TextualMultiDocumentHighlightFeature=_=ke([ce(0,k.ILanguageFeaturesService)],_)}),define(ne[153],se([1,0,7]),function(oe,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.IStandaloneThemeService=void 0,e.IStandaloneThemeService=(0,d.createDecorator)("themeService")}),define(ne[137],se([1,0,3,7]),function(oe,e,d,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.AccessibilitySignal=e.SoundSource=e.Sound=e.AcknowledgeDocCommentsToken=e.IAccessibilitySignalService=void 0,e.IAccessibilitySignalService=(0,k.createDecorator)("accessibilitySignalService"),e.AcknowledgeDocCommentsToken=Symbol("AcknowledgeDocCommentsToken");class I{static register(_){return new I(_.fileName)}static{this.error=I.register({fileName:"error.mp3"})}static{this.warning=I.register({fileName:"warning.mp3"})}static{this.success=I.register({fileName:"success.mp3"})}static{this.foldedArea=I.register({fileName:"foldedAreas.mp3"})}static{this.break=I.register({fileName:"break.mp3"})}static{this.quickFixes=I.register({fileName:"quickFixes.mp3"})}static{this.taskCompleted=I.register({fileName:"taskCompleted.mp3"})}static{this.taskFailed=I.register({fileName:"taskFailed.mp3"})}static{this.terminalBell=I.register({fileName:"terminalBell.mp3"})}static{this.diffLineInserted=I.register({fileName:"diffLineInserted.mp3"})}static{this.diffLineDeleted=I.register({fileName:"diffLineDeleted.mp3"})}static{this.diffLineModified=I.register({fileName:"diffLineModified.mp3"})}static{this.chatRequestSent=I.register({fileName:"chatRequestSent.mp3"})}static{this.chatResponseReceived1=I.register({fileName:"chatResponseReceived1.mp3"})}static{this.chatResponseReceived2=I.register({fileName:"chatResponseReceived2.mp3"})}static{this.chatResponseReceived3=I.register({fileName:"chatResponseReceived3.mp3"})}static{this.chatResponseReceived4=I.register({fileName:"chatResponseReceived4.mp3"})}static{this.clear=I.register({fileName:"clear.mp3"})}static{this.save=I.register({fileName:"save.mp3"})}static{this.format=I.register({fileName:"format.mp3"})}static{this.voiceRecordingStarted=I.register({fileName:"voiceRecordingStarted.mp3"})}static{this.voiceRecordingStopped=I.register({fileName:"voiceRecordingStopped.mp3"})}static{this.progress=I.register({fileName:"progress.mp3"})}constructor(_){this.fileName=_}}e.Sound=I;class E{constructor(_){this.randomOneOf=_}}e.SoundSource=E;class y{constructor(_,b,p,n,o,t){this.sound=_,this.name=b,this.legacySoundSettingsKey=p,this.settingsKey=n,this.legacyAnnouncementSettingsKey=o,this.announcementMessage=t}static{this._signals=new Set}static register(_){const b=new E("randomOneOf"in _.sound?_.sound.randomOneOf:[_.sound]),p=new y(b,_.name,_.legacySoundSettingsKey,_.settingsKey,_.legacyAnnouncementSettingsKey,_.announcementMessage);return y._signals.add(p),p}static{this.errorAtPosition=y.register({name:(0,d.localize)(1428,"Error at Position"),sound:I.error,announcementMessage:(0,d.localize)(1429,"Error"),settingsKey:"accessibility.signals.positionHasError",delaySettingsKey:"accessibility.signalOptions.delays.errorAtPosition"})}static{this.warningAtPosition=y.register({name:(0,d.localize)(1430,"Warning at Position"),sound:I.warning,announcementMessage:(0,d.localize)(1431,"Warning"),settingsKey:"accessibility.signals.positionHasWarning",delaySettingsKey:"accessibility.signalOptions.delays.warningAtPosition"})}static{this.errorOnLine=y.register({name:(0,d.localize)(1432,"Error on Line"),sound:I.error,legacySoundSettingsKey:"audioCues.lineHasError",legacyAnnouncementSettingsKey:"accessibility.alert.error",announcementMessage:(0,d.localize)(1433,"Error on Line"),settingsKey:"accessibility.signals.lineHasError"})}static{this.warningOnLine=y.register({name:(0,d.localize)(1434,"Warning on Line"),sound:I.warning,legacySoundSettingsKey:"audioCues.lineHasWarning",legacyAnnouncementSettingsKey:"accessibility.alert.warning",announcementMessage:(0,d.localize)(1435,"Warning on Line"),settingsKey:"accessibility.signals.lineHasWarning"})}static{this.foldedArea=y.register({name:(0,d.localize)(1436,"Folded Area on Line"),sound:I.foldedArea,legacySoundSettingsKey:"audioCues.lineHasFoldedArea",legacyAnnouncementSettingsKey:"accessibility.alert.foldedArea",announcementMessage:(0,d.localize)(1437,"Folded"),settingsKey:"accessibility.signals.lineHasFoldedArea"})}static{this.break=y.register({name:(0,d.localize)(1438,"Breakpoint on Line"),sound:I.break,legacySoundSettingsKey:"audioCues.lineHasBreakpoint",legacyAnnouncementSettingsKey:"accessibility.alert.breakpoint",announcementMessage:(0,d.localize)(1439,"Breakpoint"),settingsKey:"accessibility.signals.lineHasBreakpoint"})}static{this.inlineSuggestion=y.register({name:(0,d.localize)(1440,"Inline Suggestion on Line"),sound:I.quickFixes,legacySoundSettingsKey:"audioCues.lineHasInlineSuggestion",settingsKey:"accessibility.signals.lineHasInlineSuggestion"})}static{this.terminalQuickFix=y.register({name:(0,d.localize)(1441,"Terminal Quick Fix"),sound:I.quickFixes,legacySoundSettingsKey:"audioCues.terminalQuickFix",legacyAnnouncementSettingsKey:"accessibility.alert.terminalQuickFix",announcementMessage:(0,d.localize)(1442,"Quick Fix"),settingsKey:"accessibility.signals.terminalQuickFix"})}static{this.onDebugBreak=y.register({name:(0,d.localize)(1443,"Debugger Stopped on Breakpoint"),sound:I.break,legacySoundSettingsKey:"audioCues.onDebugBreak",legacyAnnouncementSettingsKey:"accessibility.alert.onDebugBreak",announcementMessage:(0,d.localize)(1444,"Breakpoint"),settingsKey:"accessibility.signals.onDebugBreak"})}static{this.noInlayHints=y.register({name:(0,d.localize)(1445,"No Inlay Hints on Line"),sound:I.error,legacySoundSettingsKey:"audioCues.noInlayHints",legacyAnnouncementSettingsKey:"accessibility.alert.noInlayHints",announcementMessage:(0,d.localize)(1446,"No Inlay Hints"),settingsKey:"accessibility.signals.noInlayHints"})}static{this.taskCompleted=y.register({name:(0,d.localize)(1447,"Task Completed"),sound:I.taskCompleted,legacySoundSettingsKey:"audioCues.taskCompleted",legacyAnnouncementSettingsKey:"accessibility.alert.taskCompleted",announcementMessage:(0,d.localize)(1448,"Task Completed"),settingsKey:"accessibility.signals.taskCompleted"})}static{this.taskFailed=y.register({name:(0,d.localize)(1449,"Task Failed"),sound:I.taskFailed,legacySoundSettingsKey:"audioCues.taskFailed",legacyAnnouncementSettingsKey:"accessibility.alert.taskFailed",announcementMessage:(0,d.localize)(1450,"Task Failed"),settingsKey:"accessibility.signals.taskFailed"})}static{this.terminalCommandFailed=y.register({name:(0,d.localize)(1451,"Terminal Command Failed"),sound:I.error,legacySoundSettingsKey:"audioCues.terminalCommandFailed",legacyAnnouncementSettingsKey:"accessibility.alert.terminalCommandFailed",announcementMessage:(0,d.localize)(1452,"Command Failed"),settingsKey:"accessibility.signals.terminalCommandFailed"})}static{this.terminalCommandSucceeded=y.register({name:(0,d.localize)(1453,"Terminal Command Succeeded"),sound:I.success,announcementMessage:(0,d.localize)(1454,"Command Succeeded"),settingsKey:"accessibility.signals.terminalCommandSucceeded"})}static{this.terminalBell=y.register({name:(0,d.localize)(1455,"Terminal Bell"),sound:I.terminalBell,legacySoundSettingsKey:"audioCues.terminalBell",legacyAnnouncementSettingsKey:"accessibility.alert.terminalBell",announcementMessage:(0,d.localize)(1456,"Terminal Bell"),settingsKey:"accessibility.signals.terminalBell"})}static{this.notebookCellCompleted=y.register({name:(0,d.localize)(1457,"Notebook Cell Completed"),sound:I.taskCompleted,legacySoundSettingsKey:"audioCues.notebookCellCompleted",legacyAnnouncementSettingsKey:"accessibility.alert.notebookCellCompleted",announcementMessage:(0,d.localize)(1458,"Notebook Cell Completed"),settingsKey:"accessibility.signals.notebookCellCompleted"})}static{this.notebookCellFailed=y.register({name:(0,d.localize)(1459,"Notebook Cell Failed"),sound:I.taskFailed,legacySoundSettingsKey:"audioCues.notebookCellFailed",legacyAnnouncementSettingsKey:"accessibility.alert.notebookCellFailed",announcementMessage:(0,d.localize)(1460,"Notebook Cell Failed"),settingsKey:"accessibility.signals.notebookCellFailed"})}static{this.diffLineInserted=y.register({name:(0,d.localize)(1461,"Diff Line Inserted"),sound:I.diffLineInserted,legacySoundSettingsKey:"audioCues.diffLineInserted",settingsKey:"accessibility.signals.diffLineInserted"})}static{this.diffLineDeleted=y.register({name:(0,d.localize)(1462,"Diff Line Deleted"),sound:I.diffLineDeleted,legacySoundSettingsKey:"audioCues.diffLineDeleted",settingsKey:"accessibility.signals.diffLineDeleted"})}static{this.diffLineModified=y.register({name:(0,d.localize)(1463,"Diff Line Modified"),sound:I.diffLineModified,legacySoundSettingsKey:"audioCues.diffLineModified",settingsKey:"accessibility.signals.diffLineModified"})}static{this.chatRequestSent=y.register({name:(0,d.localize)(1464,"Chat Request Sent"),sound:I.chatRequestSent,legacySoundSettingsKey:"audioCues.chatRequestSent",legacyAnnouncementSettingsKey:"accessibility.alert.chatRequestSent",announcementMessage:(0,d.localize)(1465,"Chat Request Sent"),settingsKey:"accessibility.signals.chatRequestSent"})}static{this.chatResponseReceived=y.register({name:(0,d.localize)(1466,"Chat Response Received"),legacySoundSettingsKey:"audioCues.chatResponseReceived",sound:{randomOneOf:[I.chatResponseReceived1,I.chatResponseReceived2,I.chatResponseReceived3,I.chatResponseReceived4]},settingsKey:"accessibility.signals.chatResponseReceived"})}static{this.progress=y.register({name:(0,d.localize)(1467,"Progress"),sound:I.progress,legacySoundSettingsKey:"audioCues.chatResponsePending",legacyAnnouncementSettingsKey:"accessibility.alert.progress",announcementMessage:(0,d.localize)(1468,"Progress"),settingsKey:"accessibility.signals.progress"})}static{this.clear=y.register({name:(0,d.localize)(1469,"Clear"),sound:I.clear,legacySoundSettingsKey:"audioCues.clear",legacyAnnouncementSettingsKey:"accessibility.alert.clear",announcementMessage:(0,d.localize)(1470,"Clear"),settingsKey:"accessibility.signals.clear"})}static{this.save=y.register({name:(0,d.localize)(1471,"Save"),sound:I.save,legacySoundSettingsKey:"audioCues.save",legacyAnnouncementSettingsKey:"accessibility.alert.save",announcementMessage:(0,d.localize)(1472,"Save"),settingsKey:"accessibility.signals.save"})}static{this.format=y.register({name:(0,d.localize)(1473,"Format"),sound:I.format,legacySoundSettingsKey:"audioCues.format",legacyAnnouncementSettingsKey:"accessibility.alert.format",announcementMessage:(0,d.localize)(1474,"Format"),settingsKey:"accessibility.signals.format"})}static{this.voiceRecordingStarted=y.register({name:(0,d.localize)(1475,"Voice Recording Started"),sound:I.voiceRecordingStarted,legacySoundSettingsKey:"audioCues.voiceRecordingStarted",settingsKey:"accessibility.signals.voiceRecordingStarted"})}static{this.voiceRecordingStopped=y.register({name:(0,d.localize)(1476,"Voice Recording Stopped"),sound:I.voiceRecordingStopped,legacySoundSettingsKey:"audioCues.voiceRecordingStopped",settingsKey:"accessibility.signals.voiceRecordingStopped"})}}e.AccessibilitySignal=y}),define(ne[117],se([1,0,7]),function(oe,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.IClipboardService=void 0,e.IClipboardService=(0,d.createDecorator)("clipboardService")}),define(ne[24],se([1,0,6,53,2,73,19,7]),function(oe,e,d,k,I,E,y,m){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CommandsRegistry=e.ICommandService=void 0,e.ICommandService=(0,m.createDecorator)("commandService"),e.CommandsRegistry=new class{constructor(){this._commands=new Map,this._onDidRegisterCommand=new d.Emitter,this.onDidRegisterCommand=this._onDidRegisterCommand.event}registerCommand(_,b){if(!_)throw new Error("invalid command");if(typeof _=="string"){if(!b)throw new Error("invalid command");return this.registerCommand({id:_,handler:b})}if(_.metadata&&Array.isArray(_.metadata.args)){const i=[];for(const g of _.metadata.args)i.push(g.constraint);const s=_.handler;_.handler=function(g,...c){return(0,y.validateConstraints)(c,i),s(g,...c)}}const{id:p}=_;let n=this._commands.get(p);n||(n=new E.LinkedList,this._commands.set(p,n));const o=n.unshift(_),t=(0,I.toDisposable)(()=>{o(),this._commands.get(p)?.isEmpty()&&this._commands.delete(p)});return this._onDidRegisterCommand.fire(p),t}registerCommandAlias(_,b){return e.CommandsRegistry.registerCommand(_,(p,...n)=>p.get(e.ICommandService).executeCommand(b,...n))}getCommand(_){const b=this._commands.get(_);if(!(!b||b.isEmpty()))return k.Iterable.first(b)}getCommands(){const _=new Map;for(const b of this._commands.keys()){const p=this.getCommand(b);p&&_.set(b,p)}return _}},e.CommandsRegistry.registerCommand("noop",()=>{})}),define(ne[386],se([1,0,18,8,2,19,22,51,24,17]),function(oe,e,d,k,I,E,y,m,_,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CodeLensModel=void 0,e.getCodeLensModel=n;class p{constructor(){this.lenses=[],this._disposables=new I.DisposableStore}dispose(){this._disposables.dispose()}get isDisposed(){return this._disposables.isDisposed}add(t,i){this._disposables.add(t);for(const s of t.lenses)this.lenses.push({symbol:s,provider:i})}}e.CodeLensModel=p;async function n(o,t,i){const s=o.ordered(t),g=new Map,c=new p,l=s.map(async(a,r)=>{g.set(a,r);try{const u=await Promise.resolve(a.provideCodeLenses(t,i));u&&c.add(u,a)}catch(u){(0,k.onUnexpectedExternalError)(u)}});return await Promise.all(l),c.lenses=c.lenses.sort((a,r)=>a.symbol.range.startLineNumberr.symbol.range.startLineNumber?1:g.get(a.provider)g.get(r.provider)?1:a.symbol.range.startColumnr.symbol.range.startColumn?1:0),c}_.CommandsRegistry.registerCommand("_executeCodeLensProvider",function(o,...t){let[i,s]=t;(0,E.assertType)(y.URI.isUri(i)),(0,E.assertType)(typeof s=="number"||!s);const{codeLensProvider:g}=o.get(b.ILanguageFeaturesService),c=o.get(m.IModelService).getModel(i);if(!c)throw(0,k.illegalArgument)();const l=[],a=new I.DisposableStore;return n(g,c,d.CancellationToken.None).then(r=>{a.add(r);const u=[];for(const C of r.lenses)s==null||C.symbol.command?l.push(C.symbol):s-- >0&&C.provider.resolveCodeLens&&u.push(Promise.resolve(C.provider.resolveCodeLens(c,C.symbol,d.CancellationToken.None)).then(f=>l.push(f||C.symbol)));return Promise.all(u)}).then(()=>l).finally(()=>{setTimeout(()=>a.dispose(),100)})})}),define(ne[681],se([1,0,13,18,8,2,19,22,4,51,24,17]),function(oe,e,d,k,I,E,y,m,_,b,p,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.LinksList=e.Link=void 0,e.getLinks=i;class o{constructor(g,c){this._link=g,this._provider=c}toJSON(){return{range:this.range,url:this.url,tooltip:this.tooltip}}get range(){return this._link.range}get url(){return this._link.url}get tooltip(){return this._link.tooltip}async resolve(g){return this._link.url?this._link.url:typeof this._provider.resolveLink=="function"?Promise.resolve(this._provider.resolveLink(this._link,g)).then(c=>(this._link=c||this._link,this._link.url?this.resolve(g):Promise.reject(new Error("missing")))):Promise.reject(new Error("missing"))}}e.Link=o;class t{constructor(g){this._disposables=new E.DisposableStore;let c=[];for(const[l,a]of g){const r=l.links.map(u=>new o(u,a));c=t._union(c,r),(0,E.isDisposable)(l)&&this._disposables.add(l)}this.links=c}dispose(){this._disposables.dispose(),this.links.length=0}static _union(g,c){const l=[];let a,r,u,C;for(a=0,u=0,r=g.length,C=c.length;aPromise.resolve(r.provideLinks(g,c)).then(C=>{C&&(l[u]=[C,r])},I.onUnexpectedExternalError));return Promise.all(a).then(()=>{const r=new t((0,d.coalesce)(l));return c.isCancellationRequested?(r.dispose(),new t([])):r})}p.CommandsRegistry.registerCommand("_executeLinkProvider",async(s,...g)=>{let[c,l]=g;(0,y.assertType)(c instanceof m.URI),typeof l!="number"&&(l=0);const{linkProvider:a}=s.get(n.ILanguageFeaturesService),r=s.get(b.IModelService).getModel(c);if(!r)return[];const u=await i(a,r,k.CancellationToken.None);if(!u)return[];for(let f=0;f0?h[0]:[]}async function g(C,f,h,v,w){const S=s(C,f),L=await Promise.all(S.map(async D=>{let T,M=null;try{T=await D.provideDocumentSemanticTokens(f,D===h?v:null,w)}catch(A){M=A,T=null}return(!T||!n(T)&&!o(T))&&(T=null),new t(D,T,M)}));for(const D of L){if(D.error)throw D.error;if(D.tokens)return D}return L.length>0?L[0]:null}function c(C,f){const h=C.orderedGroups(f);return h.length>0?h[0]:null}class l{constructor(f,h){this.provider=f,this.tokens=h}}function a(C,f){return C.has(f)}function r(C,f){const h=C.orderedGroups(f);return h.length>0?h[0]:[]}async function u(C,f,h,v){const w=r(C,f),S=await Promise.all(w.map(async L=>{let D;try{D=await L.provideDocumentRangeSemanticTokens(f,h,v)}catch(T){(0,k.onUnexpectedExternalError)(T),D=null}return(!D||!n(D))&&(D=null),new l(L,D)}));for(const L of S)if(L.tokens)return L;return S.length>0?S[0]:null}y.CommandsRegistry.registerCommand("_provideDocumentSemanticTokensLegend",async(C,...f)=>{const[h]=f;(0,m.assertType)(h instanceof I.URI);const v=C.get(E.IModelService).getModel(h);if(!v)return;const{documentSemanticTokensProvider:w}=C.get(p.ILanguageFeaturesService),S=c(w,v);return S?S[0].getLegend():C.get(y.ICommandService).executeCommand("_provideDocumentRangeSemanticTokensLegend",h)}),y.CommandsRegistry.registerCommand("_provideDocumentSemanticTokens",async(C,...f)=>{const[h]=f;(0,m.assertType)(h instanceof I.URI);const v=C.get(E.IModelService).getModel(h);if(!v)return;const{documentSemanticTokensProvider:w}=C.get(p.ILanguageFeaturesService);if(!i(w,v))return C.get(y.ICommandService).executeCommand("_provideDocumentRangeSemanticTokens",h,v.getFullModelRange());const S=await g(w,v,null,null,d.CancellationToken.None);if(!S)return;const{provider:L,tokens:D}=S;if(!D||!n(D))return;const T=(0,_.encodeSemanticTokensDto)({id:0,type:"full",data:D.data});return D.resultId&&L.releaseDocumentSemanticTokens(D.resultId),T}),y.CommandsRegistry.registerCommand("_provideDocumentRangeSemanticTokensLegend",async(C,...f)=>{const[h,v]=f;(0,m.assertType)(h instanceof I.URI);const w=C.get(E.IModelService).getModel(h);if(!w)return;const{documentRangeSemanticTokensProvider:S}=C.get(p.ILanguageFeaturesService),L=r(S,w);if(L.length===0)return;if(L.length===1)return L[0].getLegend();if(!v||!b.Range.isIRange(v))return console.warn("provideDocumentRangeSemanticTokensLegend might be out-of-sync with provideDocumentRangeSemanticTokens unless a range argument is passed in"),L[0].getLegend();const D=await u(S,w,b.Range.lift(v),d.CancellationToken.None);if(D)return D.provider.getLegend()}),y.CommandsRegistry.registerCommand("_provideDocumentRangeSemanticTokens",async(C,...f)=>{const[h,v]=f;(0,m.assertType)(h instanceof I.URI),(0,m.assertType)(b.Range.isIRange(v));const w=C.get(E.IModelService).getModel(h);if(!w)return;const{documentRangeSemanticTokensProvider:S}=C.get(p.ILanguageFeaturesService),L=await u(S,w,b.Range.lift(v),d.CancellationToken.None);if(!(!L||!L.tokens))return(0,_.encodeSemanticTokensDto)({id:0,type:"full",data:L.tokens.data})})}),define(ne[28],se([1,0,7]),function(oe,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.IConfigurationService=void 0,e.toValuesTree=k,e.addToValueTree=I,e.removeFromValueTree=E,e.getConfigurationValue=m,e.getLanguageTagSettingPlainKey=_,e.IConfigurationService=(0,d.createDecorator)("configurationService");function k(b,p){const n=Object.create(null);for(const o in b)I(n,o,b[o],p);return n}function I(b,p,n,o){const t=p.split("."),i=t.pop();let s=b;for(let g=0;g"u"?n:i}function _(b){return b.replace(/[\[\]]/g,"")}}),define(ne[388],se([1,0,18,8,22,4,51,24,17,385,28]),function(oe,e,d,k,I,E,y,m,_,b,p){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getColors=n,e.getColorPresentations=o;async function n(l,a,r,u=!0){return g(new t,l,a,r,u)}function o(l,a,r,u){return Promise.resolve(r.provideColorPresentations(l,a,u))}class t{constructor(){}async compute(a,r,u,C){const f=await a.provideDocumentColors(r,u);if(Array.isArray(f))for(const h of f)C.push({colorInfo:h,provider:a});return Array.isArray(f)}}class i{constructor(){}async compute(a,r,u,C){const f=await a.provideDocumentColors(r,u);if(Array.isArray(f))for(const h of f)C.push({range:h.range,color:[h.color.red,h.color.green,h.color.blue,h.color.alpha]});return Array.isArray(f)}}class s{constructor(a){this.colorInfo=a}async compute(a,r,u,C){const f=await a.provideColorPresentations(r,this.colorInfo,d.CancellationToken.None);return Array.isArray(f)&&C.push(...f),Array.isArray(f)}}async function g(l,a,r,u,C){let f=!1,h;const v=[],w=a.ordered(r);for(let S=w.length-1;S>=0;S--){const L=w[S];if(L instanceof b.DefaultDocumentColorProvider)h=L;else try{await l.compute(L,r,u,v)&&(f=!0)}catch(D){(0,k.onUnexpectedExternalError)(D)}}return f?v:h&&C?(await l.compute(h,r,u,v),v):[]}function c(l,a){const{colorProvider:r}=l.get(_.ILanguageFeaturesService),u=l.get(y.IModelService).getModel(a);if(!u)throw(0,k.illegalArgument)();const C=l.get(p.IConfigurationService).getValue("editor.defaultColorDecorators",{resource:a});return{model:u,colorProviderRegistry:r,isDefaultColorDecoratorsEnabled:C}}m.CommandsRegistry.registerCommand("_executeDocumentColorProvider",function(l,...a){const[r]=a;if(!(r instanceof I.URI))throw(0,k.illegalArgument)();const{model:u,colorProviderRegistry:C,isDefaultColorDecoratorsEnabled:f}=c(l,r);return g(new i,C,u,d.CancellationToken.None,f)}),m.CommandsRegistry.registerCommand("_executeColorPresentationProvider",function(l,...a){const[r,u]=a,{uri:C,range:f}=u;if(!(C instanceof I.URI)||!Array.isArray(r)||r.length!==4||!E.Range.isIRange(f))throw(0,k.illegalArgument)();const{model:h,colorProviderRegistry:v,isDefaultColorDecoratorsEnabled:w}=c(l,C),[S,L,D,T]=r;return g(new s({range:f,color:{red:S,green:L,blue:D,alpha:T}}),v,h,d.CancellationToken.None,w)})}),define(ne[389],se([1,0,2,27,177,344,28]),function(oe,e,d,k,I,E,y){"use strict";var m;Object.defineProperty(e,"__esModule",{value:!0}),e.MonarchTokenizer=void 0;const _=5;class b{static{this._INSTANCE=new b(_)}static create(a,r){return this._INSTANCE.create(a,r)}constructor(a){this._maxCacheDepth=a,this._entries=Object.create(null)}create(a,r){if(a!==null&&a.depth>=this._maxCacheDepth)return new p(a,r);let u=p.getStackElementId(a);u.length>0&&(u+="|"),u+=r;let C=this._entries[u];return C||(C=new p(a,r),this._entries[u]=C,C)}}class p{constructor(a,r){this.parent=a,this.state=r,this.depth=(this.parent?this.parent.depth:0)+1}static getStackElementId(a){let r="";for(;a!==null;)r.length>0&&(r+="|"),r+=a.state,a=a.parent;return r}static _equals(a,r){for(;a!==null&&r!==null;){if(a===r)return!0;if(a.state!==r.state)return!1;a=a.parent,r=r.parent}return a===null&&r===null}equals(a){return p._equals(this,a)}push(a){return b.create(this,a)}pop(){return this.parent}popall(){let a=this;for(;a.parent;)a=a.parent;return a}switchTo(a){return b.create(this.parent,a)}}class n{constructor(a,r){this.languageId=a,this.state=r}equals(a){return this.languageId===a.languageId&&this.state.equals(a.state)}clone(){return this.state.clone()===this.state?this:new n(this.languageId,this.state)}}class o{static{this._INSTANCE=new o(_)}static create(a,r){return this._INSTANCE.create(a,r)}constructor(a){this._maxCacheDepth=a,this._entries=Object.create(null)}create(a,r){if(r!==null)return new t(a,r);if(a!==null&&a.depth>=this._maxCacheDepth)return new t(a,r);const u=p.getStackElementId(a);let C=this._entries[u];return C||(C=new t(a,null),this._entries[u]=C,C)}}class t{constructor(a,r){this.stack=a,this.embeddedLanguageData=r}clone(){return(this.embeddedLanguageData?this.embeddedLanguageData.clone():null)===this.embeddedLanguageData?this:o.create(this.stack,this.embeddedLanguageData)}equals(a){return!(a instanceof t)||!this.stack.equals(a.stack)?!1:this.embeddedLanguageData===null&&a.embeddedLanguageData===null?!0:this.embeddedLanguageData===null||a.embeddedLanguageData===null?!1:this.embeddedLanguageData.equals(a.embeddedLanguageData)}}class i{constructor(){this._tokens=[],this._languageId=null,this._lastTokenType=null,this._lastTokenLanguage=null}enterLanguage(a){this._languageId=a}emit(a,r){this._lastTokenType===r&&this._lastTokenLanguage===this._languageId||(this._lastTokenType=r,this._lastTokenLanguage=this._languageId,this._tokens.push(new k.Token(a,r,this._languageId)))}nestedLanguageTokenize(a,r,u,C){const f=u.languageId,h=u.state,v=k.TokenizationRegistry.get(f);if(!v)return this.enterLanguage(f),this.emit(C,""),h;const w=v.tokenize(a,r,h);if(C!==0)for(const S of w.tokens)this._tokens.push(new k.Token(S.offset+C,S.type,S.language));else this._tokens=this._tokens.concat(w.tokens);return this._lastTokenType=null,this._lastTokenLanguage=null,this._languageId=null,w.endState}finalize(a){return new k.TokenizationResult(this._tokens,a)}}class s{constructor(a,r){this._languageService=a,this._theme=r,this._prependTokens=null,this._tokens=[],this._currentLanguageId=0,this._lastTokenMetadata=0}enterLanguage(a){this._currentLanguageId=this._languageService.languageIdCodec.encodeLanguageId(a)}emit(a,r){const u=this._theme.match(this._currentLanguageId,r)|1024;this._lastTokenMetadata!==u&&(this._lastTokenMetadata=u,this._tokens.push(a),this._tokens.push(u))}static _merge(a,r,u){const C=a!==null?a.length:0,f=r.length,h=u!==null?u.length:0;if(C===0&&f===0&&h===0)return new Uint32Array(0);if(C===0&&f===0)return u;if(f===0&&h===0)return a;const v=new Uint32Array(C+f+h);a!==null&&v.set(a);for(let w=0;w{if(h)return;let w=!1;for(let S=0,L=v.changedLanguages.length;S{v.affectsConfiguration("editor.maxTokenizationLineLength")&&(this._maxTokenizationLineLength=this._configurationService.getValue("editor.maxTokenizationLineLength",{overrideIdentifier:this._languageId}))}))}getLoadStatus(){const a=[];for(const r in this._embeddedLanguages){const u=k.TokenizationRegistry.get(r);if(u){if(u instanceof m){const C=u.getLoadStatus();C.loaded===!1&&a.push(C.promise)}continue}k.TokenizationRegistry.isResolved(r)||a.push(k.TokenizationRegistry.getOrCreate(r))}return a.length===0?{loaded:!0}:{loaded:!1,promise:Promise.all(a).then(r=>{})}}getInitialState(){const a=b.create(null,this._lexer.start);return o.create(a,null)}tokenize(a,r,u){if(a.length>=this._maxTokenizationLineLength)return(0,I.nullTokenize)(this._languageId,u);const C=new i,f=this._tokenize(a,r,u,C);return C.finalize(f)}tokenizeEncoded(a,r,u){if(a.length>=this._maxTokenizationLineLength)return(0,I.nullTokenizeEncoded)(this._languageService.languageIdCodec.encodeLanguageId(this._languageId),u);const C=new s(this._languageService,this._standaloneThemeService.getColorTheme().tokenTheme),f=this._tokenize(a,r,u,C);return C.finalize(f)}_tokenize(a,r,u,C){return u.embeddedLanguageData?this._nestedTokenize(a,r,u,0,C):this._myTokenize(a,r,u,0,C)}_findLeavingNestedLanguageOffset(a,r){let u=this._lexer.tokenizer[r.stack.state];if(!u&&(u=E.findRules(this._lexer,r.stack.state),!u))throw E.createError(this._lexer,"tokenizer state is not defined: "+r.stack.state);let C=-1,f=!1;for(const h of u){if(!E.isIAction(h.action)||h.action.nextEmbedded!=="@pop")continue;f=!0;let v=h.resolveRegex(r.stack.state);const w=v.source;if(w.substr(0,4)==="^(?:"&&w.substr(w.length-1,1)===")"){const L=(v.ignoreCase?"i":"")+(v.unicode?"u":"");v=new RegExp(w.substr(4,w.length-5),L)}const S=a.search(v);S===-1||S!==0&&h.matchOnlyAtLineStart||(C===-1||S0&&f.nestedLanguageTokenize(v,!1,u.embeddedLanguageData,C);const w=a.substring(h);return this._myTokenize(w,r,u,C+h,f)}_safeRuleName(a){return a?a.name:"(unknown)"}_myTokenize(a,r,u,C,f){f.enterLanguage(this._languageId);const h=a.length,v=r&&this._lexer.includeLF?a+` +`:a,w=v.length;let S=u.embeddedLanguageData,L=u.stack,D=0,T=null,M=!0;for(;M||D=w)break;M=!1;let U=this._lexer.tokenizer[O];if(!U&&(U=E.findRules(this._lexer,O),!U))throw E.createError(this._lexer,"tokenizer state is not defined: "+O);const j=v.substr(D);for(const Q of U)if((D===0||!Q.matchOnlyAtLineStart)&&(F=j.match(Q.resolveRegex(O)),F)){x=F[0],W=Q.action;break}}if(F||(F=[""],x=""),W||(D=this._lexer.maxStack)throw E.createError(this._lexer,"maximum tokenizer stack size reached: ["+L.state+","+L.parent.state+",...]");L=L.push(O)}else if(W.next==="@pop"){if(L.depth<=1)throw E.createError(this._lexer,"trying to pop an empty stack in rule: "+this._safeRuleName(V));L=L.pop()}else if(W.next==="@popall")L=L.popall();else{let U=E.substituteMatches(this._lexer,W.next,x,F,O);if(U[0]==="@"&&(U=U.substr(1)),E.findRules(this._lexer,U))L=L.push(U);else throw E.createError(this._lexer,"trying to set a next state '"+U+"' that is undefined in rule: "+this._safeRuleName(V))}}W.log&&typeof W.log=="string"&&E.log(this._lexer,this._lexer.languageId+": "+E.substituteMatches(this._lexer,W.log,x,F,O))}if(H===null)throw E.createError(this._lexer,"lexer rule has no well-defined action in rule: "+this._safeRuleName(V));const z=U=>{const j=this._languageService.getLanguageIdByLanguageName(U)||this._languageService.getLanguageIdByMimeType(U)||U,Q=this._getNestedEmbeddedLanguageData(j);if(D0)throw E.createError(this._lexer,"groups cannot be nested: "+this._safeRuleName(V));if(F.length!==H.length+1)throw E.createError(this._lexer,"matched number of groups does not match the number of actions in rule: "+this._safeRuleName(V));let U=0;for(let j=1;ji});class p{static colorizeElement(s,g,c,l){l=l||{};const a=l.theme||"vs",r=l.mimeType||c.getAttribute("lang")||c.getAttribute("data-lang");if(!r)return console.error("Mode not detected"),Promise.resolve();const u=g.getLanguageIdByMimeType(r)||r;s.setTheme(a);const C=c.firstChild?c.firstChild.nodeValue:"";c.className+=" "+a;const f=h=>{const v=b?.createHTML(h)??h;c.innerHTML=v};return this.colorize(g,C||"",u,l).then(f,h=>console.error(h))}static async colorize(s,g,c,l){const a=s.languageIdCodec;let r=4;l&&typeof l.tabSize=="number"&&(r=l.tabSize),k.startsWithUTF8BOM(g)&&(g=g.substr(1));const u=k.splitLines(g);if(!s.isRegisteredLanguageId(c))return o(u,r,a);const C=await I.TokenizationRegistry.getOrCreate(c);return C?n(u,r,C,a):o(u,r,a)}static colorizeLine(s,g,c,l,a=4){const r=m.ViewLineRenderingData.isBasicASCII(s,g),u=m.ViewLineRenderingData.containsRTL(s,r,c);return(0,y.renderViewLine2)(new y.RenderLineInput(!1,!0,s,!1,r,u,0,l,[],a,0,0,0,0,-1,"none",!1,!1,null)).html}static colorizeModelLine(s,g,c=4){const l=s.getLineContent(g);s.tokenization.forceTokenization(g);const r=s.tokenization.getLineTokens(g).inflate();return this.colorizeLine(l,s.mightContainNonBasicASCII(),s.mightContainRTL(),r,c)}}e.Colorizer=p;function n(i,s,g,c){return new Promise((l,a)=>{const r=()=>{const u=t(i,s,g,c);if(g instanceof _.MonarchTokenizer){const C=g.getLoadStatus();if(C.loaded===!1){C.promise.then(r,a);return}}l(u)};r()})}function o(i,s,g){let c=[];const a=new Uint32Array(2);a[0]=0,a[1]=33587200;for(let r=0,u=i.length;r")}return c.join("")}function t(i,s,g,c){let l=[],a=g.getInitialState();for(let r=0,u=i.length;r"),a=f.endState}return l.join("")}}),define(ne[12],se([1,0,16,11,672,7,3]),function(oe,e,d,k,I,E,y){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.IContextKeyService=e.RawContextKey=e.ContextKeyOrExpr=e.ContextKeyAndExpr=e.ContextKeyNotRegexExpr=e.ContextKeyRegexExpr=e.ContextKeySmallerEqualsExpr=e.ContextKeySmallerExpr=e.ContextKeyGreaterEqualsExpr=e.ContextKeyGreaterExpr=e.ContextKeyNotExpr=e.ContextKeyNotEqualsExpr=e.ContextKeyNotInExpr=e.ContextKeyInExpr=e.ContextKeyEqualsExpr=e.ContextKeyDefinedExpr=e.ContextKeyTrueExpr=e.ContextKeyFalseExpr=e.ContextKeyExpr=e.Parser=void 0,e.expressionsAreEqualWithConstantSubstitution=r,e.implies=U;const m=new Map;m.set("false",!1),m.set("true",!0),m.set("isMac",d.isMacintosh),m.set("isLinux",d.isLinux),m.set("isWindows",d.isWindows),m.set("isWeb",d.isWeb),m.set("isMacNative",d.isMacintosh&&!d.isWeb),m.set("isEdge",d.isEdge),m.set("isFirefox",d.isFirefox),m.set("isChrome",d.isChrome),m.set("isSafari",d.isSafari);const _=Object.prototype.hasOwnProperty,b={regexParsingWithErrorRecovery:!0},p=(0,y.localize)(1514,"Empty context key expression"),n=(0,y.localize)(1515,"Did you forget to write an expression? You can also put 'false' or 'true' to always evaluate to false or true, respectively."),o=(0,y.localize)(1516,"'in' after 'not'."),t=(0,y.localize)(1517,"closing parenthesis ')'"),i=(0,y.localize)(1518,"Unexpected token"),s=(0,y.localize)(1519,"Did you forget to put && or || before the token?"),g=(0,y.localize)(1520,"Unexpected end of expression"),c=(0,y.localize)(1521,"Did you forget to put a context key?");class l{static{this._parseError=new Error}constructor(K=b){this._config=K,this._scanner=new I.Scanner,this._tokens=[],this._current=0,this._parsingErrors=[],this._flagsGYRe=/g|y/g}parse(K){if(K===""){this._parsingErrors.push({message:p,offset:0,lexeme:"",additionalInfo:n});return}this._tokens=this._scanner.reset(K).scan(),this._current=0,this._parsingErrors=[];try{const R=this._expr();if(!this._isAtEnd()){const J=this._peek(),ie=J.type===17?s:void 0;throw this._parsingErrors.push({message:i,offset:J.offset,lexeme:I.Scanner.getLexeme(J),additionalInfo:ie}),l._parseError}return R}catch(R){if(R!==l._parseError)throw R;return}}_expr(){return this._or()}_or(){const K=[this._and()];for(;this._matchOne(16);){const R=this._and();K.push(R)}return K.length===1?K[0]:a.or(...K)}_and(){const K=[this._term()];for(;this._matchOne(15);){const R=this._term();K.push(R)}return K.length===1?K[0]:a.and(...K)}_term(){if(this._matchOne(2)){const K=this._peek();switch(K.type){case 11:return this._advance(),C.INSTANCE;case 12:return this._advance(),f.INSTANCE;case 0:{this._advance();const R=this._expr();return this._consume(1,t),R?.negate()}case 17:return this._advance(),D.create(K.lexeme);default:throw this._errExpectedButGot("KEY | true | false | '(' expression ')'",K)}}return this._primary()}_primary(){const K=this._peek();switch(K.type){case 11:return this._advance(),a.true();case 12:return this._advance(),a.false();case 0:{this._advance();const R=this._expr();return this._consume(1,t),R}case 17:{const R=K.lexeme;if(this._advance(),this._matchOne(9)){const ie=this._peek();if(!this._config.regexParsingWithErrorRecovery){if(this._advance(),ie.type!==10)throw this._errExpectedButGot("REGEX",ie);const ue=ie.lexeme,he=ue.lastIndexOf("/"),pe=he===ue.length-1?void 0:this._removeFlagsGY(ue.substring(he+1));let ae;try{ae=new RegExp(ue.substring(1,he),pe)}catch{throw this._errExpectedButGot("REGEX",ie)}return O.create(R,ae)}switch(ie.type){case 10:case 19:{const ue=[ie.lexeme];this._advance();let he=this._peek(),pe=0;for(let X=0;X=0){const ee=ue.slice(pe+1,ae),de=ue[ae+1]==="i"?"i":"";try{he=new RegExp(ee,de)}catch{throw this._errExpectedButGot("REGEX",ie)}}}if(he===null)throw this._errExpectedButGot("REGEX",ie);return O.create(R,he)}default:throw this._errExpectedButGot("REGEX",this._peek())}}if(this._matchOne(14)){this._consume(13,o);const ie=this._value();return a.notIn(R,ie)}switch(this._peek().type){case 3:{this._advance();const ie=this._value();if(this._previous().type===18)return a.equals(R,ie);switch(ie){case"true":return a.has(R);case"false":return a.not(R);default:return a.equals(R,ie)}}case 4:{this._advance();const ie=this._value();if(this._previous().type===18)return a.notEquals(R,ie);switch(ie){case"true":return a.not(R);case"false":return a.has(R);default:return a.notEquals(R,ie)}}case 5:return this._advance(),P.create(R,this._value());case 6:return this._advance(),N.create(R,this._value());case 7:return this._advance(),M.create(R,this._value());case 8:return this._advance(),A.create(R,this._value());case 13:return this._advance(),a.in(R,this._value());default:return a.has(R)}}case 20:throw this._parsingErrors.push({message:g,offset:K.offset,lexeme:"",additionalInfo:c}),l._parseError;default:throw this._errExpectedButGot(`true | false | KEY + | KEY '=~' REGEX + | KEY ('==' | '!=' | '<' | '<=' | '>' | '>=' | 'in' | 'not' 'in') value`,this._peek())}}_value(){const K=this._peek();switch(K.type){case 17:case 18:return this._advance(),K.lexeme;case 11:return this._advance(),"true";case 12:return this._advance(),"false";case 13:return this._advance(),"in";default:return""}}_removeFlagsGY(K){return K.replaceAll(this._flagsGYRe,"")}_previous(){return this._tokens[this._current-1]}_matchOne(K){return this._check(K)?(this._advance(),!0):!1}_advance(){return this._isAtEnd()||this._current++,this._previous()}_consume(K,R){if(this._check(K))return this._advance();throw this._errExpectedButGot(R,this._peek())}_errExpectedButGot(K,R,J){const ie=(0,y.localize)(1522,`Expected: {0} +Received: '{1}'.`,K,I.Scanner.getLexeme(R)),ue=R.offset,he=I.Scanner.getLexeme(R);return this._parsingErrors.push({message:ie,offset:ue,lexeme:he,additionalInfo:J}),l._parseError}_check(K){return this._peek().type===K}_peek(){return this._tokens[this._current]}_isAtEnd(){return this._peek().type===20}}e.Parser=l;class a{static false(){return C.INSTANCE}static true(){return f.INSTANCE}static has(K){return h.create(K)}static equals(K,R){return v.create(K,R)}static notEquals(K,R){return L.create(K,R)}static regex(K,R){return O.create(K,R)}static in(K,R){return w.create(K,R)}static notIn(K,R){return S.create(K,R)}static not(K){return D.create(K)}static and(...K){return W.create(K,null,!0)}static or(...K){return V.create(K,null,!0)}static{this._parser=new l({regexParsingWithErrorRecovery:!1})}static deserialize(K){return K==null?void 0:this._parser.parse(K)}}e.ContextKeyExpr=a;function r(G,K){const R=G?G.substituteConstants():void 0,J=K?K.substituteConstants():void 0;return!R&&!J?!0:!R||!J?!1:R.equals(J)}function u(G,K){return G.cmp(K)}class C{static{this.INSTANCE=new C}constructor(){this.type=0}cmp(K){return this.type-K.type}equals(K){return K.type===this.type}substituteConstants(){return this}evaluate(K){return!1}serialize(){return"false"}keys(){return[]}negate(){return f.INSTANCE}}e.ContextKeyFalseExpr=C;class f{static{this.INSTANCE=new f}constructor(){this.type=1}cmp(K){return this.type-K.type}equals(K){return K.type===this.type}substituteConstants(){return this}evaluate(K){return!0}serialize(){return"true"}keys(){return[]}negate(){return C.INSTANCE}}e.ContextKeyTrueExpr=f;class h{static create(K,R=null){const J=m.get(K);return typeof J=="boolean"?J?f.INSTANCE:C.INSTANCE:new h(K,R)}constructor(K,R){this.key=K,this.negated=R,this.type=2}cmp(K){return K.type!==this.type?this.type-K.type:H(this.key,K.key)}equals(K){return K.type===this.type?this.key===K.key:!1}substituteConstants(){const K=m.get(this.key);return typeof K=="boolean"?K?f.INSTANCE:C.INSTANCE:this}evaluate(K){return!!K.getValue(this.key)}serialize(){return this.key}keys(){return[this.key]}negate(){return this.negated||(this.negated=D.create(this.key,this)),this.negated}}e.ContextKeyDefinedExpr=h;class v{static create(K,R,J=null){if(typeof R=="boolean")return R?h.create(K,J):D.create(K,J);const ie=m.get(K);return typeof ie=="boolean"?R===(ie?"true":"false")?f.INSTANCE:C.INSTANCE:new v(K,R,J)}constructor(K,R,J){this.key=K,this.value=R,this.negated=J,this.type=4}cmp(K){return K.type!==this.type?this.type-K.type:z(this.key,this.value,K.key,K.value)}equals(K){return K.type===this.type?this.key===K.key&&this.value===K.value:!1}substituteConstants(){const K=m.get(this.key);if(typeof K=="boolean"){const R=K?"true":"false";return this.value===R?f.INSTANCE:C.INSTANCE}return this}evaluate(K){return K.getValue(this.key)==this.value}serialize(){return`${this.key} == '${this.value}'`}keys(){return[this.key]}negate(){return this.negated||(this.negated=L.create(this.key,this.value,this)),this.negated}}e.ContextKeyEqualsExpr=v;class w{static create(K,R){return new w(K,R)}constructor(K,R){this.key=K,this.valueKey=R,this.type=10,this.negated=null}cmp(K){return K.type!==this.type?this.type-K.type:z(this.key,this.valueKey,K.key,K.valueKey)}equals(K){return K.type===this.type?this.key===K.key&&this.valueKey===K.valueKey:!1}substituteConstants(){return this}evaluate(K){const R=K.getValue(this.valueKey),J=K.getValue(this.key);return Array.isArray(R)?R.includes(J):typeof J=="string"&&typeof R=="object"&&R!==null?_.call(R,J):!1}serialize(){return`${this.key} in '${this.valueKey}'`}keys(){return[this.key,this.valueKey]}negate(){return this.negated||(this.negated=S.create(this.key,this.valueKey)),this.negated}}e.ContextKeyInExpr=w;class S{static create(K,R){return new S(K,R)}constructor(K,R){this.key=K,this.valueKey=R,this.type=11,this._negated=w.create(K,R)}cmp(K){return K.type!==this.type?this.type-K.type:this._negated.cmp(K._negated)}equals(K){return K.type===this.type?this._negated.equals(K._negated):!1}substituteConstants(){return this}evaluate(K){return!this._negated.evaluate(K)}serialize(){return`${this.key} not in '${this.valueKey}'`}keys(){return this._negated.keys()}negate(){return this._negated}}e.ContextKeyNotInExpr=S;class L{static create(K,R,J=null){if(typeof R=="boolean")return R?D.create(K,J):h.create(K,J);const ie=m.get(K);return typeof ie=="boolean"?R===(ie?"true":"false")?C.INSTANCE:f.INSTANCE:new L(K,R,J)}constructor(K,R,J){this.key=K,this.value=R,this.negated=J,this.type=5}cmp(K){return K.type!==this.type?this.type-K.type:z(this.key,this.value,K.key,K.value)}equals(K){return K.type===this.type?this.key===K.key&&this.value===K.value:!1}substituteConstants(){const K=m.get(this.key);if(typeof K=="boolean"){const R=K?"true":"false";return this.value===R?C.INSTANCE:f.INSTANCE}return this}evaluate(K){return K.getValue(this.key)!=this.value}serialize(){return`${this.key} != '${this.value}'`}keys(){return[this.key]}negate(){return this.negated||(this.negated=v.create(this.key,this.value,this)),this.negated}}e.ContextKeyNotEqualsExpr=L;class D{static create(K,R=null){const J=m.get(K);return typeof J=="boolean"?J?C.INSTANCE:f.INSTANCE:new D(K,R)}constructor(K,R){this.key=K,this.negated=R,this.type=3}cmp(K){return K.type!==this.type?this.type-K.type:H(this.key,K.key)}equals(K){return K.type===this.type?this.key===K.key:!1}substituteConstants(){const K=m.get(this.key);return typeof K=="boolean"?K?C.INSTANCE:f.INSTANCE:this}evaluate(K){return!K.getValue(this.key)}serialize(){return`!${this.key}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=h.create(this.key,this)),this.negated}}e.ContextKeyNotExpr=D;function T(G,K){if(typeof G=="string"){const R=parseFloat(G);isNaN(R)||(G=R)}return typeof G=="string"||typeof G=="number"?K(G):C.INSTANCE}class M{static create(K,R,J=null){return T(R,ie=>new M(K,ie,J))}constructor(K,R,J){this.key=K,this.value=R,this.negated=J,this.type=12}cmp(K){return K.type!==this.type?this.type-K.type:z(this.key,this.value,K.key,K.value)}equals(K){return K.type===this.type?this.key===K.key&&this.value===K.value:!1}substituteConstants(){return this}evaluate(K){return typeof this.value=="string"?!1:parseFloat(K.getValue(this.key))>this.value}serialize(){return`${this.key} > ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=N.create(this.key,this.value,this)),this.negated}}e.ContextKeyGreaterExpr=M;class A{static create(K,R,J=null){return T(R,ie=>new A(K,ie,J))}constructor(K,R,J){this.key=K,this.value=R,this.negated=J,this.type=13}cmp(K){return K.type!==this.type?this.type-K.type:z(this.key,this.value,K.key,K.value)}equals(K){return K.type===this.type?this.key===K.key&&this.value===K.value:!1}substituteConstants(){return this}evaluate(K){return typeof this.value=="string"?!1:parseFloat(K.getValue(this.key))>=this.value}serialize(){return`${this.key} >= ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=P.create(this.key,this.value,this)),this.negated}}e.ContextKeyGreaterEqualsExpr=A;class P{static create(K,R,J=null){return T(R,ie=>new P(K,ie,J))}constructor(K,R,J){this.key=K,this.value=R,this.negated=J,this.type=14}cmp(K){return K.type!==this.type?this.type-K.type:z(this.key,this.value,K.key,K.value)}equals(K){return K.type===this.type?this.key===K.key&&this.value===K.value:!1}substituteConstants(){return this}evaluate(K){return typeof this.value=="string"?!1:parseFloat(K.getValue(this.key))new N(K,ie,J))}constructor(K,R,J){this.key=K,this.value=R,this.negated=J,this.type=15}cmp(K){return K.type!==this.type?this.type-K.type:z(this.key,this.value,K.key,K.value)}equals(K){return K.type===this.type?this.key===K.key&&this.value===K.value:!1}substituteConstants(){return this}evaluate(K){return typeof this.value=="string"?!1:parseFloat(K.getValue(this.key))<=this.value}serialize(){return`${this.key} <= ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=M.create(this.key,this.value,this)),this.negated}}e.ContextKeySmallerEqualsExpr=N;class O{static create(K,R){return new O(K,R)}constructor(K,R){this.key=K,this.regexp=R,this.type=7,this.negated=null}cmp(K){if(K.type!==this.type)return this.type-K.type;if(this.keyK.key)return 1;const R=this.regexp?this.regexp.source:"",J=K.regexp?K.regexp.source:"";return RJ?1:0}equals(K){if(K.type===this.type){const R=this.regexp?this.regexp.source:"",J=K.regexp?K.regexp.source:"";return this.key===K.key&&R===J}return!1}substituteConstants(){return this}evaluate(K){const R=K.getValue(this.key);return this.regexp?this.regexp.test(R):!1}serialize(){const K=this.regexp?`/${this.regexp.source}/${this.regexp.flags}`:"/invalid/";return`${this.key} =~ ${K}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=F.create(this)),this.negated}}e.ContextKeyRegexExpr=O;class F{static create(K){return new F(K)}constructor(K){this._actual=K,this.type=8}cmp(K){return K.type!==this.type?this.type-K.type:this._actual.cmp(K._actual)}equals(K){return K.type===this.type?this._actual.equals(K._actual):!1}substituteConstants(){return this}evaluate(K){return!this._actual.evaluate(K)}serialize(){return`!(${this._actual.serialize()})`}keys(){return this._actual.keys()}negate(){return this._actual}}e.ContextKeyNotRegexExpr=F;function x(G){let K=null;for(let R=0,J=G.length;RK.expr.length)return 1;for(let R=0,J=this.expr.length;R1;){const he=ie[ie.length-1];if(he.type!==9)break;ie.pop();const pe=ie.pop(),ae=ie.length===0,ee=V.create(he.expr.map(de=>W.create([de,pe],null,J)),null,ae);ee&&(ie.push(ee),ie.sort(u))}if(ie.length===1)return ie[0];if(J){for(let he=0;heK.serialize()).join(" && ")}keys(){const K=[];for(const R of this.expr)K.push(...R.keys());return K}negate(){if(!this.negated){const K=[];for(const R of this.expr)K.push(R.negate());this.negated=V.create(K,this,!0)}return this.negated}}e.ContextKeyAndExpr=W;class V{static create(K,R,J){return V._normalizeArr(K,R,J)}constructor(K,R){this.expr=K,this.negated=R,this.type=9}cmp(K){if(K.type!==this.type)return this.type-K.type;if(this.expr.lengthK.expr.length)return 1;for(let R=0,J=this.expr.length;RK.serialize()).join(" || ")}keys(){const K=[];for(const R of this.expr)K.push(...R.keys());return K}negate(){if(!this.negated){const K=[];for(const R of this.expr)K.push(R.negate());for(;K.length>1;){const R=K.shift(),J=K.shift(),ie=[];for(const ue of Q(R))for(const he of Q(J))ie.push(W.create([ue,he],null,!1));K.unshift(V.create(ie,null,!1))}this.negated=V.create(K,this,!0)}return this.negated}}e.ContextKeyOrExpr=V;class q extends h{static{this._info=[]}static all(){return q._info.values()}constructor(K,R,J){super(K,null),this._defaultValue=R,typeof J=="object"?q._info.push({...J,key:K}):J!==!0&&q._info.push({key:K,description:J,type:R!=null?typeof R:void 0})}bindTo(K){return K.createKey(this.key,this._defaultValue)}getValue(K){return K.getContextKeyValue(this.key)}toNegated(){return this.negate()}isEqualTo(K){return v.create(this.key,K)}}e.RawContextKey=q,e.IContextKeyService=(0,E.createDecorator)("contextKeyService");function H(G,K){return GK?1:0}function z(G,K,R,J){return GR?1:KJ?1:0}function U(G,K){if(G.type===0||K.type===1)return!0;if(G.type===9)return K.type===9?j(G.expr,K.expr):!1;if(K.type===9){for(const R of K.expr)if(U(G,R))return!0;return!1}if(G.type===6){if(K.type===6)return j(K.expr,G.expr);for(const R of G.expr)if(U(R,K))return!0;return!1}return G.equals(K)}function j(G,K){let R=0,J=0;for(;R{const i=this.model.read(o)?.state.read(o),s=!!i?.inlineCompletion&&i?.primaryGhostText!==void 0&&!i?.primaryGhostText.isEmpty();this.inlineCompletionVisible.set(s),i?.primaryGhostText&&i?.inlineCompletion&&this.suppressSuggestions.set(i.inlineCompletion.inlineCompletion.source.inlineCompletions.suppressSuggestions)})),this._register((0,d.autorun)(o=>{const t=this.model.read(o);let i=!1,s=!0;const g=t?.primaryGhostText.read(o);if(t?.selectedSuggestItem&&g&&g.parts.length>0){const{column:c,lines:l}=g.parts[0],a=l[0],r=t.textModel.getLineIndentColumn(g.lineNumber);if(c<=r){let C=(0,k.firstNonWhitespaceIndex)(a);C===-1&&(C=a.length-1),i=C>0;const f=t.textModel.getOptions().tabSize;s=I.CursorColumns.visibleColumnFromColumn(a,C+1,f){const[s,g,c]=i;(0,I.assertType)(E.URI.isUri(s)),(0,I.assertType)(y.Position.isIPosition(g)),(0,I.assertType)(typeof c=="string"||!c);const l=t.get(_.ILanguageFeaturesService),a=await t.get(b.ITextModelService).createModelReference(s);try{const r=await o(l.signatureHelpProvider,a.object.textEditorModel,y.Position.lift(g),{triggerKind:m.SignatureHelpTriggerKind.Invoke,isRetrigger:!1,triggerCharacter:c},d.CancellationToken.None);return r?(setTimeout(()=>r.dispose(),0),r.value):void 0}finally{a.dispose()}})}),define(ne[683],se([1,0,14,8,6,2,144,27,270]),function(oe,e,d,k,I,E,y,m,_){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ParameterHintsModel=void 0;var b;(function(o){o.Default={type:0};class t{constructor(g,c){this.request=g,this.previouslyActiveHints=c,this.type=2}}o.Pending=t;class i{constructor(g){this.hints=g,this.type=1}}o.Active=i})(b||(b={}));class p extends E.Disposable{static{this.DEFAULT_DELAY=120}constructor(t,i,s=p.DEFAULT_DELAY){super(),this._onChangedHints=this._register(new I.Emitter),this.onChangedHints=this._onChangedHints.event,this.triggerOnType=!1,this._state=b.Default,this._pendingTriggers=[],this._lastSignatureHelpResult=this._register(new E.MutableDisposable),this.triggerChars=new y.CharacterSet,this.retriggerChars=new y.CharacterSet,this.triggerId=0,this.editor=t,this.providers=i,this.throttledDelayer=new d.Delayer(s),this._register(this.editor.onDidBlurEditorWidget(()=>this.cancel())),this._register(this.editor.onDidChangeConfiguration(()=>this.onEditorConfigurationChange())),this._register(this.editor.onDidChangeModel(g=>this.onModelChanged())),this._register(this.editor.onDidChangeModelLanguage(g=>this.onModelChanged())),this._register(this.editor.onDidChangeCursorSelection(g=>this.onCursorChange(g))),this._register(this.editor.onDidChangeModelContent(g=>this.onModelContentChange())),this._register(this.providers.onDidChange(this.onModelChanged,this)),this._register(this.editor.onDidType(g=>this.onDidType(g))),this.onEditorConfigurationChange(),this.onModelChanged()}get state(){return this._state}set state(t){this._state.type===2&&this._state.request.cancel(),this._state=t}cancel(t=!1){this.state=b.Default,this.throttledDelayer.cancel(),t||this._onChangedHints.fire(void 0)}trigger(t,i){const s=this.editor.getModel();if(!s||!this.providers.has(s))return;const g=++this.triggerId;this._pendingTriggers.push(t),this.throttledDelayer.trigger(()=>this.doTrigger(g),i).catch(k.onUnexpectedError)}next(){if(this.state.type!==1)return;const t=this.state.hints.signatures.length,i=this.state.hints.activeSignature,s=i%t===t-1,g=this.editor.getOption(86).cycle;if((t<2||s)&&!g){this.cancel();return}this.updateActiveSignature(s&&g?0:i+1)}previous(){if(this.state.type!==1)return;const t=this.state.hints.signatures.length,i=this.state.hints.activeSignature,s=i===0,g=this.editor.getOption(86).cycle;if((t<2||s)&&!g){this.cancel();return}this.updateActiveSignature(s&&g?t-1:i-1)}updateActiveSignature(t){this.state.type===1&&(this.state=new b.Active({...this.state.hints,activeSignature:t}),this._onChangedHints.fire(this.state.hints))}async doTrigger(t){const i=this.state.type===1||this.state.type===2,s=this.getLastActiveHints();if(this.cancel(!0),this._pendingTriggers.length===0)return!1;const g=this._pendingTriggers.reduce(n);this._pendingTriggers=[];const c={triggerKind:g.triggerKind,triggerCharacter:g.triggerCharacter,isRetrigger:i,activeSignatureHelp:s};if(!this.editor.hasModel())return!1;const l=this.editor.getModel(),a=this.editor.getPosition();this.state=new b.Pending((0,d.createCancelablePromise)(r=>(0,_.provideSignatureHelp)(this.providers,l,a,c,r)),s);try{const r=await this.state.request;return t!==this.triggerId?(r?.dispose(),!1):!r||!r.value.signatures||r.value.signatures.length===0?(r?.dispose(),this._lastSignatureHelpResult.clear(),this.cancel(),!1):(this.state=new b.Active(r.value),this._lastSignatureHelpResult.value=r,this._onChangedHints.fire(this.state.hints),!0)}catch(r){return t===this.triggerId&&(this.state=b.Default),(0,k.onUnexpectedError)(r),!1}}getLastActiveHints(){switch(this.state.type){case 1:return this.state.hints;case 2:return this.state.previouslyActiveHints;default:return}}get isTriggered(){return this.state.type===1||this.state.type===2||this.throttledDelayer.isTriggered()}onModelChanged(){this.cancel(),this.triggerChars.clear(),this.retriggerChars.clear();const t=this.editor.getModel();if(t)for(const i of this.providers.ordered(t)){for(const s of i.signatureHelpTriggerCharacters||[])if(s.length){const g=s.charCodeAt(0);this.triggerChars.add(g),this.retriggerChars.add(g)}for(const s of i.signatureHelpRetriggerCharacters||[])s.length&&this.retriggerChars.add(s.charCodeAt(0))}}onDidType(t){if(!this.triggerOnType)return;const i=t.length-1,s=t.charCodeAt(i);(this.triggerChars.has(s)||this.isTriggered&&this.retriggerChars.has(s))&&this.trigger({triggerKind:m.SignatureHelpTriggerKind.TriggerCharacter,triggerCharacter:t.charAt(i)})}onCursorChange(t){t.source==="mouse"?this.cancel():this.isTriggered&&this.trigger({triggerKind:m.SignatureHelpTriggerKind.ContentChange})}onModelContentChange(){this.isTriggered&&this.trigger({triggerKind:m.SignatureHelpTriggerKind.ContentChange})}onEditorConfigurationChange(){this.triggerOnType=this.editor.getOption(86).enabled,this.triggerOnType||this.cancel()}dispose(){this.cancel(!0),super.dispose()}}e.ParameterHintsModel=p;function n(o,t){switch(t.triggerKind){case m.SignatureHelpTriggerKind.Invoke:return t;case m.SignatureHelpTriggerKind.ContentChange:return o;case m.SignatureHelpTriggerKind.TriggerCharacter:default:return t}}}),define(ne[684],se([1,0,12]),function(oe,e,d){"use strict";var k;Object.defineProperty(e,"__esModule",{value:!0}),e.SuggestAlternatives=void 0;let I=class{static{k=this}static{this.OtherSuggestions=new d.RawContextKey("hasOtherSuggestions",!1)}constructor(y,m){this._editor=y,this._index=0,this._ckOtherSuggestions=k.OtherSuggestions.bindTo(m)}dispose(){this.reset()}reset(){this._ckOtherSuggestions.reset(),this._listener?.dispose(),this._model=void 0,this._acceptNext=void 0,this._ignore=!1}set({model:y,index:m},_){if(y.items.length===0){this.reset();return}if(k._moveIndex(!0,y,m)===m){this.reset();return}this._acceptNext=_,this._model=y,this._index=m,this._listener=this._editor.onDidChangeCursorPosition(()=>{this._ignore||this.reset()}),this._ckOtherSuggestions.set(!0)}static _moveIndex(y,m,_){let b=_;for(let p=m.items.length;p>0&&(b=(b+m.items.length+(y?1:-1))%m.items.length,!(b===_||!m.items[b].completion.additionalTextEdits));p--);return b}next(){this._move(!0)}prev(){this._move(!1)}_move(y){if(this._model)try{this._ignore=!0,this._index=k._moveIndex(y,this._model,this._index),this._acceptNext({index:this._index,item:this._model.items[this._index],model:this._model})}finally{this._ignore=!1}}};e.SuggestAlternatives=I,e.SuggestAlternatives=I=k=ke([ce(1,d.IContextKeyService)],I)}),define(ne[685],se([1,0,12]),function(oe,e,d){"use strict";var k;Object.defineProperty(e,"__esModule",{value:!0}),e.WordContextKey=void 0;let I=class{static{k=this}static{this.AtEnd=new d.RawContextKey("atEndOfWord",!1)}constructor(y,m){this._editor=y,this._enabled=!1,this._ckAtEnd=k.AtEnd.bindTo(m),this._configListener=this._editor.onDidChangeConfiguration(_=>_.hasChanged(124)&&this._update()),this._update()}dispose(){this._configListener.dispose(),this._selectionListener?.dispose(),this._ckAtEnd.reset()}_update(){const y=this._editor.getOption(124)==="on";if(this._enabled!==y)if(this._enabled=y,this._enabled){const m=()=>{if(!this._editor.hasModel()){this._ckAtEnd.set(!1);return}const _=this._editor.getModel(),b=this._editor.getSelection(),p=_.getWordAtPosition(b.getStartPosition());if(!p){this._ckAtEnd.set(!1);return}this._ckAtEnd.set(p.endColumn===b.getStartPosition().column)};this._selectionListener=this._editor.onDidChangeCursorSelection(m),m()}else this._selectionListener&&(this._ckAtEnd.reset(),this._selectionListener.dispose(),this._selectionListener=void 0)}};e.WordContextKey=I,e.WordContextKey=I=k=ke([ce(1,d.IContextKeyService)],I)}),define(ne[61],se([1,0,12,7]),function(oe,e,d,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CONTEXT_ACCESSIBILITY_MODE_ENABLED=e.IAccessibilityService=void 0,e.IAccessibilityService=(0,k.createDecorator)("accessibilityService"),e.CONTEXT_ACCESSIBILITY_MODE_ENABLED=new d.RawContextKey("accessibilityModeEnabled",!1)}),define(ne[686],se([1,0,64,13,6,2,60,16,362,366,546,229,37,165,261,61,5,253]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ComputedEditorOptions=e.EditorConfiguration=void 0;let l=class extends E.Disposable{constructor(w,S,L,D,T){super(),this._accessibilityService=T,this._onDidChange=this._register(new I.Emitter),this.onDidChange=this._onDidChange.event,this._onDidChangeFast=this._register(new I.Emitter),this.onDidChangeFast=this._onDidChangeFast.event,this._isDominatedByLongLines=!1,this._viewLineCount=1,this._lineNumbersDigitCount=1,this._reservedHeight=0,this._glyphMarginDecorationLaneCount=1,this._computeOptionsMemory=new o.ComputeOptionsMemory,this.isSimpleWidget=w,this.contextMenuId=S,this._containerObserver=this._register(new _.ElementSizeObserver(D,L.dimension)),this._targetWindowId=(0,g.getWindow)(D).vscodeWindowId,this._rawOptions=h(L),this._validatedOptions=f.validateOptions(this._rawOptions),this.options=this._computeOptions(),this.options.get(13)&&this._containerObserver.startObserving(),this._register(t.EditorZoom.onDidChangeZoomLevel(()=>this._recomputeOptions())),this._register(n.TabFocus.onDidChangeTabFocus(()=>this._recomputeOptions())),this._register(this._containerObserver.onDidChange(()=>this._recomputeOptions())),this._register(b.FontMeasurements.onDidChange(()=>this._recomputeOptions())),this._register(c.PixelRatio.getInstance((0,g.getWindow)(D)).onDidChange(()=>this._recomputeOptions())),this._register(this._accessibilityService.onDidChangeScreenReaderOptimized(()=>this._recomputeOptions()))}_recomputeOptions(){const w=this._computeOptions(),S=f.checkEquals(this.options,w);S!==null&&(this.options=w,this._onDidChangeFast.fire(S),this._onDidChange.fire(S))}_computeOptions(){const w=this._readEnvConfiguration(),S=i.BareFontInfo.createFromValidatedSettings(this._validatedOptions,w.pixelRatio,this.isSimpleWidget),L=this._readFontInfo(S),D={memory:this._computeOptionsMemory,outerWidth:w.outerWidth,outerHeight:w.outerHeight-this._reservedHeight,fontInfo:L,extraEditorClassName:w.extraEditorClassName,isDominatedByLongLines:this._isDominatedByLongLines,viewLineCount:this._viewLineCount,lineNumbersDigitCount:this._lineNumbersDigitCount,emptySelectionClipboard:w.emptySelectionClipboard,pixelRatio:w.pixelRatio,tabFocusMode:n.TabFocus.getTabFocusMode(),accessibilitySupport:w.accessibilitySupport,glyphMarginDecorationLaneCount:this._glyphMarginDecorationLaneCount};return f.computeOptions(this._validatedOptions,D)}_readEnvConfiguration(){return{extraEditorClassName:r(),outerWidth:this._containerObserver.getWidth(),outerHeight:this._containerObserver.getHeight(),emptySelectionClipboard:d.isWebKit||d.isFirefox,pixelRatio:c.PixelRatio.getInstance((0,g.getWindowById)(this._targetWindowId,!0).window).value,accessibilitySupport:this._accessibilityService.isScreenReaderOptimized()?2:this._accessibilityService.getAccessibilitySupport()}}_readFontInfo(w){return b.FontMeasurements.readFontInfo((0,g.getWindowById)(this._targetWindowId,!0).window,w)}getRawOptions(){return this._rawOptions}updateOptions(w){const S=h(w);f.applyUpdate(this._rawOptions,S)&&(this._validatedOptions=f.validateOptions(this._rawOptions),this._recomputeOptions())}observeContainer(w){this._containerObserver.observe(w)}setIsDominatedByLongLines(w){this._isDominatedByLongLines!==w&&(this._isDominatedByLongLines=w,this._recomputeOptions())}setModelLineCount(w){const S=a(w);this._lineNumbersDigitCount!==S&&(this._lineNumbersDigitCount=S,this._recomputeOptions())}setViewLineCount(w){this._viewLineCount!==w&&(this._viewLineCount=w,this._recomputeOptions())}setReservedHeight(w){this._reservedHeight!==w&&(this._reservedHeight=w,this._recomputeOptions())}setGlyphMarginDecorationLaneCount(w){this._glyphMarginDecorationLaneCount!==w&&(this._glyphMarginDecorationLaneCount=w,this._recomputeOptions())}};e.EditorConfiguration=l,e.EditorConfiguration=l=ke([ce(4,s.IAccessibilityService)],l);function a(v){let w=0;for(;v;)v=Math.floor(v/10),w++;return w||1}function r(){let v="";return!d.isSafari&&!d.isWebkitWebView&&(v+="no-user-select "),d.isSafari&&(v+="no-minimap-shadow ",v+="enable-user-select "),m.isMacintosh&&(v+="mac "),v}class u{constructor(){this._values=[]}_read(w){return this._values[w]}get(w){return this._values[w]}_write(w,S){this._values[w]=S}}class C{constructor(){this._values=[]}_read(w){if(w>=this._values.length)throw new Error("Cannot read uninitialized value");return this._values[w]}get(w){return this._read(w)}_write(w,S){this._values[w]=S}}e.ComputedEditorOptions=C;class f{static validateOptions(w){const S=new u;for(const L of o.editorOptionsRegistry){const D=L.name==="_never_"?void 0:w[L.name];S._write(L.id,L.validate(D))}return S}static computeOptions(w,S){const L=new C;for(const D of o.editorOptionsRegistry)L._write(D.id,D.compute(S,L,w._read(D.id)));return L}static _deepEquals(w,S){if(typeof w!="object"||typeof S!="object"||!w||!S)return w===S;if(Array.isArray(w)||Array.isArray(S))return Array.isArray(w)&&Array.isArray(S)?k.equals(w,S):!1;if(Object.keys(w).length!==Object.keys(S).length)return!1;for(const L in w)if(!f._deepEquals(w[L],S[L]))return!1;return!0}static checkEquals(w,S){const L=[];let D=!1;for(const T of o.editorOptionsRegistry){const M=!f._deepEquals(w._read(T.id),S._read(T.id));L[T.id]=M,M&&(D=!0)}return D?new o.ConfigurationChangedEvent(L):null}static applyUpdate(w,S){let L=!1;for(const D of o.editorOptionsRegistry)if(S.hasOwnProperty(D.name)){const T=D.applyUpdate(w[D.name],S[D.name]);w[D.name]=T.newValue,L=L||T.didChange}return L}}function h(v){const w=y.deepClone(v);return(0,p.migrateOptions)(w),w}}),define(ne[687],se([1,0,6,53,2,60,225,22,3,24,28,12]),function(oe,e,d,k,I,E,y,m,_,b,p,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ContextKeyService=e.AbstractContextKeyService=e.Context=void 0,e.setContext=v;const o="data-keybinding-context";class t{constructor(L,D){this._id=L,this._parent=D,this._value=Object.create(null),this._value._contextId=L}get value(){return{...this._value}}setValue(L,D){return this._value[L]!==D?(this._value[L]=D,!0):!1}removeValue(L){return L in this._value?(delete this._value[L],!0):!1}getValue(L){const D=this._value[L];return typeof D>"u"&&this._parent?this._parent.getValue(L):D}}e.Context=t;class i extends t{static{this.INSTANCE=new i}constructor(){super(-1,null)}setValue(L,D){return!1}removeValue(L){return!1}getValue(L){}}class s extends t{static{this._keyPrefix="config."}constructor(L,D,T){super(L,null),this._configurationService=D,this._values=y.TernarySearchTree.forConfigKeys(),this._listener=this._configurationService.onDidChangeConfiguration(M=>{if(M.source===7){const A=Array.from(this._values,([P])=>P);this._values.clear(),T.fire(new l(A))}else{const A=[];for(const P of M.affectedKeys){const N=`config.${P}`,O=this._values.findSuperstr(N);O!==void 0&&(A.push(...k.Iterable.map(O,([F])=>F)),this._values.deleteSuperstr(N)),this._values.has(N)&&(A.push(N),this._values.delete(N))}T.fire(new l(A))}})}dispose(){this._listener.dispose()}getValue(L){if(L.indexOf(s._keyPrefix)!==0)return super.getValue(L);if(this._values.has(L))return this._values.get(L);const D=L.substr(s._keyPrefix.length),T=this._configurationService.getValue(D);let M;switch(typeof T){case"number":case"boolean":case"string":M=T;break;default:Array.isArray(T)?M=JSON.stringify(T):M=T}return this._values.set(L,M),M}setValue(L,D){return super.setValue(L,D)}removeValue(L){return super.removeValue(L)}}class g{constructor(L,D,T){this._service=L,this._key=D,this._defaultValue=T,this.reset()}set(L){this._service.setContext(this._key,L)}reset(){typeof this._defaultValue>"u"?this._service.removeContext(this._key):this._service.setContext(this._key,this._defaultValue)}get(){return this._service.getContextKeyValue(this._key)}}class c{constructor(L){this.key=L}affectsSome(L){return L.has(this.key)}allKeysContainedIn(L){return this.affectsSome(L)}}class l{constructor(L){this.keys=L}affectsSome(L){for(const D of this.keys)if(L.has(D))return!0;return!1}allKeysContainedIn(L){return this.keys.every(D=>L.has(D))}}class a{constructor(L){this.events=L}affectsSome(L){for(const D of this.events)if(D.affectsSome(L))return!0;return!1}allKeysContainedIn(L){return this.events.every(D=>D.allKeysContainedIn(L))}}function r(S,L){return S.allKeysContainedIn(new Set(Object.keys(L)))}class u extends I.Disposable{constructor(L){super(),this._onDidChangeContext=this._register(new d.PauseableEmitter({merge:D=>new a(D)})),this.onDidChangeContext=this._onDidChangeContext.event,this._isDisposed=!1,this._myContextId=L}createKey(L,D){if(this._isDisposed)throw new Error("AbstractContextKeyService has been disposed");return new g(this,L,D)}bufferChangeEvents(L){this._onDidChangeContext.pause();try{L()}finally{this._onDidChangeContext.resume()}}createScoped(L){if(this._isDisposed)throw new Error("AbstractContextKeyService has been disposed");return new f(this,L)}contextMatchesRules(L){if(this._isDisposed)throw new Error("AbstractContextKeyService has been disposed");const D=this.getContextValuesContainer(this._myContextId);return L?L.evaluate(D):!0}getContextKeyValue(L){if(!this._isDisposed)return this.getContextValuesContainer(this._myContextId).getValue(L)}setContext(L,D){if(this._isDisposed)return;const T=this.getContextValuesContainer(this._myContextId);T&&T.setValue(L,D)&&this._onDidChangeContext.fire(new c(L))}removeContext(L){this._isDisposed||this.getContextValuesContainer(this._myContextId).removeValue(L)&&this._onDidChangeContext.fire(new c(L))}getContext(L){return this._isDisposed?i.INSTANCE:this.getContextValuesContainer(h(L))}dispose(){super.dispose(),this._isDisposed=!0}}e.AbstractContextKeyService=u;let C=class extends u{constructor(L){super(0),this._contexts=new Map,this._lastContextId=0;const D=this._register(new s(this._myContextId,L,this._onDidChangeContext));this._contexts.set(this._myContextId,D)}getContextValuesContainer(L){return this._isDisposed?i.INSTANCE:this._contexts.get(L)||i.INSTANCE}createChildContext(L=this._myContextId){if(this._isDisposed)throw new Error("ContextKeyService has been disposed");const D=++this._lastContextId;return this._contexts.set(D,new t(D,this.getContextValuesContainer(L))),D}disposeContext(L){this._isDisposed||this._contexts.delete(L)}};e.ContextKeyService=C,e.ContextKeyService=C=ke([ce(0,p.IConfigurationService)],C);class f extends u{constructor(L,D){if(super(L.createChildContext()),this._parentChangeListener=this._register(new I.MutableDisposable),this._parent=L,this._updateParentChangeListener(),this._domNode=D,this._domNode.hasAttribute(o)){let T="";this._domNode.classList&&(T=Array.from(this._domNode.classList.values()).join(", ")),console.error(`Element already has context attribute${T?": "+T:""}`)}this._domNode.setAttribute(o,String(this._myContextId))}_updateParentChangeListener(){this._parentChangeListener.value=this._parent.onDidChangeContext(L=>{const T=this._parent.getContextValuesContainer(this._myContextId).value;r(L,T)||this._onDidChangeContext.fire(L)})}dispose(){this._isDisposed||(this._parent.disposeContext(this._myContextId),this._domNode.removeAttribute(o),super.dispose())}getContextValuesContainer(L){return this._isDisposed?i.INSTANCE:this._parent.getContextValuesContainer(L)}createChildContext(L=this._myContextId){if(this._isDisposed)throw new Error("ScopedContextKeyService has been disposed");return this._parent.createChildContext(L)}disposeContext(L){this._isDisposed||this._parent.disposeContext(L)}}function h(S){for(;S;){if(S.hasAttribute(o)){const L=S.getAttribute(o);return L?parseInt(L,10):NaN}S=S.parentElement}return 0}function v(S,L,D){S.get(n.IContextKeyService).createKey(String(L),w(D))}function w(S){return(0,E.cloneAndChange)(S,L=>{if(typeof L=="object"&&L.$mid===1)return m.URI.revive(L).toString();if(L instanceof m.URI)return L.toString()})}b.CommandsRegistry.registerCommand("_setContext",v),b.CommandsRegistry.registerCommand({id:"getContextKeyInfo",handler(){return[...n.RawContextKey.all()].sort((S,L)=>S.key.localeCompare(L.key))},metadata:{description:(0,_.localize)(1513,"A command that returns information about context keys"),args:[]}}),b.CommandsRegistry.registerCommand("_generateContextKeyInfo",function(){const S=[],L=new Set;for(const D of n.RawContextKey.all())L.has(D.key)||(L.add(D.key),S.push(D));S.sort((D,T)=>D.key.localeCompare(T.key)),console.log(JSON.stringify(S,void 0,2))})}),define(ne[179],se([1,0,16,3,12]),function(oe,e,d,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.InputFocusedContext=e.InputFocusedContextKey=e.ProductQualityContext=e.IsDevelopmentContext=e.IsMobileContext=e.IsIOSContext=e.IsMacNativeContext=e.IsWebContext=e.IsWindowsContext=e.IsLinuxContext=e.IsMacContext=void 0,e.IsMacContext=new I.RawContextKey("isMac",d.isMacintosh,(0,k.localize)(1523,"Whether the operating system is macOS")),e.IsLinuxContext=new I.RawContextKey("isLinux",d.isLinux,(0,k.localize)(1524,"Whether the operating system is Linux")),e.IsWindowsContext=new I.RawContextKey("isWindows",d.isWindows,(0,k.localize)(1525,"Whether the operating system is Windows")),e.IsWebContext=new I.RawContextKey("isWeb",d.isWeb,(0,k.localize)(1526,"Whether the platform is a web browser")),e.IsMacNativeContext=new I.RawContextKey("isMacNative",d.isMacintosh&&!d.isWeb,(0,k.localize)(1527,"Whether the operating system is macOS on a non-browser platform")),e.IsIOSContext=new I.RawContextKey("isIOS",d.isIOS,(0,k.localize)(1528,"Whether the operating system is iOS")),e.IsMobileContext=new I.RawContextKey("isMobile",d.isMobile,(0,k.localize)(1529,"Whether the platform is a mobile web browser")),e.IsDevelopmentContext=new I.RawContextKey("isDevelopment",!1,!0),e.ProductQualityContext=new I.RawContextKey("productQualityType","",(0,k.localize)(1530,"Quality type of VS Code")),e.InputFocusedContextKey="inputFocus",e.InputFocusedContext=new I.RawContextKey(e.InputFocusedContextKey,!1,(0,k.localize)(1531,"Whether keyboard focus is inside an input box"))}),define(ne[58],se([1,0,7]),function(oe,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.IContextMenuService=e.IContextViewService=void 0,e.IContextViewService=(0,d.createDecorator)("contextViewService"),e.IContextMenuService=(0,d.createDecorator)("contextMenuService")}),define(ne[180],se([1,0,7]),function(oe,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.IDialogService=void 0,e.IDialogService=(0,d.createDecorator)("dialogService")}),define(ne[271],se([1,0,7]),function(oe,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.IEnvironmentService=void 0,e.IEnvironmentService=(0,d.createDecorator)("environmentService")}),define(ne[118],se([1,0,7,2,28,5]),function(oe,e,d,k,I,E){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.nativeHoverDelegate=e.WorkbenchHoverDelegate=e.IHoverService=void 0,e.IHoverService=(0,d.createDecorator)("hoverService");let y=class extends k.Disposable{get delay(){return this.isInstantlyHovering()?0:this._delay}constructor(_,b,p={},n,o){super(),this.placement=_,this.instantHover=b,this.overrideOptions=p,this.configurationService=n,this.hoverService=o,this.lastHoverHideTime=0,this.timeLimit=200,this.hoverDisposables=this._register(new k.DisposableStore),this._delay=this.configurationService.getValue("workbench.hover.delay"),this._register(this.configurationService.onDidChangeConfiguration(t=>{t.affectsConfiguration("workbench.hover.delay")&&(this._delay=this.configurationService.getValue("workbench.hover.delay"))}))}showHover(_,b){const p=typeof this.overrideOptions=="function"?this.overrideOptions(_,b):this.overrideOptions;this.hoverDisposables.clear();const n=(0,E.isHTMLElement)(_.target)?[_.target]:_.target.targetElements;for(const t of n)this.hoverDisposables.add((0,E.addStandardDisposableListener)(t,"keydown",i=>{i.equals(9)&&this.hoverService.hideHover()}));const o=(0,E.isHTMLElement)(_.content)?void 0:_.content.toString();return this.hoverService.showHover({..._,...p,persistence:{hideOnKeyDown:!0,...p.persistence},id:o,appearance:{..._.appearance,compact:!0,skipFadeInAnimation:this.isInstantlyHovering(),...p.appearance}},b)}isInstantlyHovering(){return this.instantHover&&Date.now()-this.lastHoverHideTimea):void 0}dispose(){if(!this._isDisposed){this._isDisposed=!0,(0,I.dispose)(this._children),this._children.clear();for(const s of this._servicesToMaybeDispose)(0,I.isDisposable)(s)&&s.dispose();this._servicesToMaybeDispose.clear()}}_throwIfDisposed(){if(this._isDisposed)throw new Error("InstantiationService has been disposed")}createChild(s,g){this._throwIfDisposed();const c=this,l=new class extends o{dispose(){c._children.delete(l),super.dispose()}}(s,this._strict,this,this._enableTracing);return this._children.add(l),g?.add(l),l}invokeFunction(s,...g){this._throwIfDisposed();const c=t.traceInvocation(this._enableTracing,s);let l=!1;try{return s({get:r=>{if(l)throw(0,k.illegalState)("service accessor is only valid during the invocation of its target method");const u=this._getOrCreateServiceInstance(r,c);if(!u)throw new Error(`[invokeFunction] unknown service '${r}'`);return u}},...g)}finally{l=!0,c.stop()}}createInstance(s,...g){this._throwIfDisposed();let c,l;return s instanceof E.SyncDescriptor?(c=t.traceCreation(this._enableTracing,s.ctor),l=this._createInstance(s.ctor,s.staticArguments.concat(g),c)):(c=t.traceCreation(this._enableTracing,s),l=this._createInstance(s,g,c)),c.stop(),l}_createInstance(s,g=[],c){const l=m._util.getServiceDependencies(s).sort((u,C)=>u.index-C.index),a=[];for(const u of l){const C=this._getOrCreateServiceInstance(u.id,c);C||this._throwIfStrict(`[createInstance] ${s.name} depends on UNKNOWN service ${u.id}.`,!1),a.push(C)}const r=l.length>0?l[0].index:g.length;if(g.length!==r){console.trace(`[createInstance] First service dependency of ${s.name} at position ${r+1} conflicts with ${g.length} static arguments`);const u=r-g.length;u>0?g=g.concat(new Array(u)):g=g.slice(0,r)}return Reflect.construct(s,g.concat(a))}_setCreatedServiceInstance(s,g){if(this._services.get(s)instanceof E.SyncDescriptor)this._services.set(s,g);else if(this._parent)this._parent._setCreatedServiceInstance(s,g);else throw new Error("illegalState - setting UNKNOWN service instance")}_getServiceInstanceOrDescriptor(s){const g=this._services.get(s);return!g&&this._parent?this._parent._getServiceInstanceOrDescriptor(s):g}_getOrCreateServiceInstance(s,g){this._globalGraph&&this._globalGraphImplicitDependency&&this._globalGraph.insertEdge(this._globalGraphImplicitDependency,String(s));const c=this._getServiceInstanceOrDescriptor(s);return c instanceof E.SyncDescriptor?this._safeCreateAndCacheServiceInstance(s,c,g.branch(s,!0)):(g.branch(s,!1),c)}_safeCreateAndCacheServiceInstance(s,g,c){if(this._activeInstantiations.has(s))throw new Error(`illegal state - RECURSIVELY instantiating service '${s}'`);this._activeInstantiations.add(s);try{return this._createAndCacheServiceInstance(s,g,c)}finally{this._activeInstantiations.delete(s)}}_createAndCacheServiceInstance(s,g,c){const l=new y.Graph(C=>C.id.toString());let a=0;const r=[{id:s,desc:g,_trace:c}],u=new Set;for(;r.length;){const C=r.pop();if(!u.has(String(C.id))){if(u.add(String(C.id)),l.lookupOrInsertNode(C),a++>1e3)throw new n(l);for(const f of m._util.getServiceDependencies(C.desc.ctor)){const h=this._getServiceInstanceOrDescriptor(f.id);if(h||this._throwIfStrict(`[createInstance] ${s} depends on ${f.id} which is NOT registered.`,!0),this._globalGraph?.insertEdge(String(C.id),String(f.id)),h instanceof E.SyncDescriptor){const v={id:f.id,desc:h,_trace:C._trace.branch(f.id,!0)};l.insertEdge(C,v),r.push(v)}}}}for(;;){const C=l.roots();if(C.length===0){if(!l.isEmpty())throw new n(l);break}for(const{data:f}of C){if(this._getServiceInstanceOrDescriptor(f.id)instanceof E.SyncDescriptor){const v=this._createServiceInstanceWithOwner(f.id,f.desc.ctor,f.desc.staticArguments,f.desc.supportsDelayedInstantiation,f._trace);this._setCreatedServiceInstance(f.id,v)}l.removeNode(f)}}return this._getServiceInstanceOrDescriptor(s)}_createServiceInstanceWithOwner(s,g,c=[],l,a){if(this._services.get(s)instanceof E.SyncDescriptor)return this._createServiceInstance(s,g,c,l,a,this._servicesToMaybeDispose);if(this._parent)return this._parent._createServiceInstanceWithOwner(s,g,c,l,a);throw new Error(`illegalState - creating UNKNOWN service instance ${g.name}`)}_createServiceInstance(s,g,c=[],l,a,r){if(l){const u=new o(void 0,this._strict,this,this._enableTracing);u._globalGraphImplicitDependency=String(s);const C=new Map,f=new d.GlobalIdleValue(()=>{const h=u._createInstance(g,c,a);for(const[v,w]of C){const S=h[v];if(typeof S=="function")for(const L of w)L.disposable=S.apply(h,L.listener)}return C.clear(),r.add(h),h});return new Proxy(Object.create(null),{get(h,v){if(!f.isInitialized&&typeof v=="string"&&(v.startsWith("onDid")||v.startsWith("onWill"))){let L=C.get(v);return L||(L=new b.LinkedList,C.set(v,L)),(T,M,A)=>{if(f.isInitialized)return f.value[v](T,M,A);{const P={listener:[T,M,A],disposable:void 0},N=L.push(P);return(0,I.toDisposable)(()=>{N(),P.disposable?.dispose()})}}}if(v in h)return h[v];const w=f.value;let S=w[v];return typeof S!="function"||(S=S.bind(w),h[v]=S),S},set(h,v,w){return f.value[v]=w,!0},getPrototypeOf(h){return g.prototype}})}else{const u=this._createInstance(g,c,a);return r.add(u),u}}_throwIfStrict(s,g){if(g&&console.warn(s),this._strict)throw new Error(s)}}e.InstantiationService=o;class t{static{this.all=new Set}static{this._None=new class extends t{constructor(){super(0,null)}stop(){}branch(){return this}}}static traceInvocation(s,g){return s?new t(2,g.name||new Error().stack.split(` +`).slice(3,4).join(` +`)):t._None}static traceCreation(s,g){return s?new t(1,g.name):t._None}static{this._totals=0}constructor(s,g){this.type=s,this.name=g,this._start=Date.now(),this._dep=[]}branch(s,g){const c=new t(3,s.toString());return this._dep.push([s,g,c]),c}stop(){const s=Date.now()-this._start;t._totals+=s;let g=!1;function c(a,r){const u=[],C=new Array(a+1).join(" ");for(const[f,h,v]of r._dep)if(h&&v){g=!0,u.push(`${C}CREATES -> ${f}`);const w=c(a+1,v);w&&u.push(w)}else u.push(`${C}uses -> ${f}`);return u.join(` +`)}const l=[`${this.type===1?"CREATE":"CALL"} ${this.name}`,`${c(1,this)}`,`DONE, took ${s.toFixed(2)}ms (grand total ${t._totals.toFixed(2)}ms)`];(s>2||g)&&t.all.add(l.join(` +`))}}e.Trace=t}),define(ne[689],se([1,0,8,247,140]),function(oe,e,d,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.BaseResolvedKeybinding=void 0;class E extends I.ResolvedKeybinding{constructor(m,_){if(super(),_.length===0)throw(0,d.illegalArgument)("chords");this._os=m,this._chords=_}getLabel(){return k.UILabelProvider.toLabel(this._os,this._chords,m=>this._getLabel(m))}getAriaLabel(){return k.AriaLabelProvider.toLabel(this._os,this._chords,m=>this._getAriaLabel(m))}getElectronAccelerator(){return this._chords.length>1||this._chords[0].isDuplicateModifierCase()?null:k.ElectronAcceleratorLabelProvider.toLabel(this._os,this._chords,m=>this._getElectronAccelerator(m))}getUserSettingsLabel(){return k.UserSettingsLabelProvider.toLabel(this._os,this._chords,m=>this._getUserSettingsLabel(m))}hasMultipleChords(){return this._chords.length>1}getChords(){return this._chords.map(m=>this._getChord(m))}_getChord(m){return new I.ResolvedChord(m.ctrlKey,m.shiftKey,m.altKey,m.metaKey,this._getLabel(m),this._getAriaLabel(m))}getDispatchChords(){return this._chords.map(m=>this._getChordDispatch(m))}getSingleModifierDispatchChords(){return this._chords.map(m=>this._getSingleModifierChordDispatch(m))}}e.BaseResolvedKeybinding=E}),define(ne[31],se([1,0,7]),function(oe,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.IKeybindingService=void 0,e.IKeybindingService=(0,d.createDecorator)("keybindingService")}),define(ne[391],se([1,0,5,174,2,31]),function(oe,e,d,k,I,E){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.EditorHoverStatusBar=void 0;const y=d.$;let m=class extends I.Disposable{get hasContent(){return this._hasContent}constructor(b){super(),this._keybindingService=b,this.actions=[],this._hasContent=!1,this.hoverElement=y("div.hover-row.status-bar"),this.hoverElement.tabIndex=0,this.actionsElement=d.append(this.hoverElement,y("div.actions"))}addAction(b){const p=this._keybindingService.lookupKeybinding(b.commandId),n=p?p.getLabel():null;this._hasContent=!0;const o=this._register(k.HoverAction.render(this.actionsElement,b,n));return this.actions.push(o),o}append(b){const p=d.append(this.actionsElement,b);return this._hasContent=!0,p}};e.EditorHoverStatusBar=m,e.EditorHoverStatusBar=m=ke([ce(0,E.IKeybindingService)],m)}),define(ne[690],se([1,0,5,31,670,12,28,61,20,174,6]),function(oe,e,d,k,I,E,y,m,_,b,p){"use strict";var n;Object.defineProperty(e,"__esModule",{value:!0}),e.ContentHoverWidget=void 0;const o=30,t=6;let i=class extends I.ResizableContentWidget{static{n=this}static{this.ID="editor.contrib.resizableContentHoverWidget"}static{this._lastDimensions=new d.Dimension(0,0)}get isVisibleFromKeyboard(){return this._renderedHover?.source===1}get isVisible(){return this._hoverVisibleKey.get()??!1}get isFocused(){return this._hoverFocusedKey.get()??!1}constructor(c,l,a,r,u){const C=c.getOption(67)+8,f=150,h=new d.Dimension(f,C);super(c,h),this._configurationService=a,this._accessibilityService=r,this._keybindingService=u,this._hover=this._register(new b.HoverWidget),this._onDidResize=this._register(new p.Emitter),this.onDidResize=this._onDidResize.event,this._minimumSize=h,this._hoverVisibleKey=_.EditorContextKeys.hoverVisible.bindTo(l),this._hoverFocusedKey=_.EditorContextKeys.hoverFocused.bindTo(l),d.append(this._resizableNode.domNode,this._hover.containerDomNode),this._resizableNode.domNode.style.zIndex="50",this._register(this._editor.onDidLayoutChange(()=>{this.isVisible&&this._updateMaxDimensions()})),this._register(this._editor.onDidChangeConfiguration(w=>{w.hasChanged(50)&&this._updateFont()}));const v=this._register(d.trackFocus(this._resizableNode.domNode));this._register(v.onDidFocus(()=>{this._hoverFocusedKey.set(!0)})),this._register(v.onDidBlur(()=>{this._hoverFocusedKey.set(!1)})),this._setRenderedHover(void 0),this._editor.addContentWidget(this)}dispose(){super.dispose(),this._renderedHover?.dispose(),this._editor.removeContentWidget(this)}getId(){return n.ID}static _applyDimensions(c,l,a){const r=typeof l=="number"?`${l}px`:l,u=typeof a=="number"?`${a}px`:a;c.style.width=r,c.style.height=u}_setContentsDomNodeDimensions(c,l){const a=this._hover.contentsDomNode;return n._applyDimensions(a,c,l)}_setContainerDomNodeDimensions(c,l){const a=this._hover.containerDomNode;return n._applyDimensions(a,c,l)}_setHoverWidgetDimensions(c,l){this._setContentsDomNodeDimensions(c,l),this._setContainerDomNodeDimensions(c,l),this._layoutContentWidget()}static _applyMaxDimensions(c,l,a){const r=typeof l=="number"?`${l}px`:l,u=typeof a=="number"?`${a}px`:a;c.style.maxWidth=r,c.style.maxHeight=u}_setHoverWidgetMaxDimensions(c,l){n._applyMaxDimensions(this._hover.contentsDomNode,c,l),n._applyMaxDimensions(this._hover.containerDomNode,c,l),this._hover.containerDomNode.style.setProperty("--vscode-hover-maxWidth",typeof c=="number"?`${c}px`:c),this._layoutContentWidget()}_setAdjustedHoverWidgetDimensions(c){this._setHoverWidgetMaxDimensions("none","none");const l=c.width,a=c.height;this._setHoverWidgetDimensions(l,a)}_updateResizableNodeMaxDimensions(){const c=this._findMaximumRenderingWidth()??1/0,l=this._findMaximumRenderingHeight()??1/0;this._resizableNode.maxSize=new d.Dimension(c,l),this._setHoverWidgetMaxDimensions(c,l)}_resize(c){n._lastDimensions=new d.Dimension(c.width,c.height),this._setAdjustedHoverWidgetDimensions(c),this._resizableNode.layout(c.height,c.width),this._updateResizableNodeMaxDimensions(),this._hover.scrollbar.scanDomNode(),this._editor.layoutContentWidget(this),this._onDidResize.fire()}_findAvailableSpaceVertically(){const c=this._renderedHover?.showAtPosition;if(c)return this._positionPreference===1?this._availableVerticalSpaceAbove(c):this._availableVerticalSpaceBelow(c)}_findMaximumRenderingHeight(){const c=this._findAvailableSpaceVertically();if(!c)return;let l=t;return Array.from(this._hover.contentsDomNode.children).forEach(a=>{l+=a.clientHeight}),Math.min(c,l)}_isHoverTextOverflowing(){this._hover.containerDomNode.style.setProperty("--vscode-hover-whiteSpace","nowrap"),this._hover.containerDomNode.style.setProperty("--vscode-hover-sourceWhiteSpace","nowrap");const c=Array.from(this._hover.contentsDomNode.children).some(l=>l.scrollWidth>l.clientWidth);return this._hover.containerDomNode.style.removeProperty("--vscode-hover-whiteSpace"),this._hover.containerDomNode.style.removeProperty("--vscode-hover-sourceWhiteSpace"),c}_findMaximumRenderingWidth(){if(!this._editor||!this._editor.hasModel())return;const c=this._isHoverTextOverflowing(),l=typeof this._contentWidth>"u"?0:this._contentWidth-2;return c||this._hover.containerDomNode.clientWidththis._renderedHover.closestMouseDistance+4?!1:(this._renderedHover.closestMouseDistance=Math.min(this._renderedHover.closestMouseDistance,r),!0)}_setRenderedHover(c){this._renderedHover?.dispose(),this._renderedHover=c,this._hoverVisibleKey.set(!!c),this._hover.containerDomNode.classList.toggle("hidden",!c)}_updateFont(){const{fontSize:c,lineHeight:l}=this._editor.getOption(50),a=this._hover.contentsDomNode;a.style.fontSize=`${c}px`,a.style.lineHeight=`${l/c}`,Array.prototype.slice.call(this._hover.contentsDomNode.getElementsByClassName("code")).forEach(u=>this._editor.applyFontInfo(u))}_updateContent(c){const l=this._hover.contentsDomNode;l.style.paddingBottom="",l.textContent="",l.appendChild(c)}_layoutContentWidget(){this._editor.layoutContentWidget(this),this._hover.onContentsChanged()}_updateMaxDimensions(){const c=Math.max(this._editor.getLayoutInfo().height/4,250,n._lastDimensions.height),l=Math.max(this._editor.getLayoutInfo().width*.66,500,n._lastDimensions.width);this._setHoverWidgetMaxDimensions(l,c)}_render(c){this._setRenderedHover(c),this._updateFont(),this._updateContent(c.domNode),this._updateMaxDimensions(),this.onContentsChanged(),this._editor.render()}getPosition(){return this._renderedHover?{position:this._renderedHover.showAtPosition,secondaryPosition:this._renderedHover.showAtSecondaryPosition,positionAffinity:this._renderedHover.shouldAppearBeforeContent?3:void 0,preference:[this._positionPreference??1]}:null}show(c){if(!this._editor||!this._editor.hasModel())return;this._render(c);const l=d.getTotalHeight(this._hover.containerDomNode),a=c.showAtPosition;this._positionPreference=this._findPositionPreference(l,a)??1,this.onContentsChanged(),c.shouldFocus&&this._hover.containerDomNode.focus(),this._onDidResize.fire();const u=this._hover.containerDomNode.ownerDocument.activeElement===this._hover.containerDomNode&&(0,b.getHoverAccessibleViewHint)(this._configurationService.getValue("accessibility.verbosity.hover")===!0&&this._accessibilityService.isScreenReaderOptimized(),this._keybindingService.lookupKeybinding("editor.action.accessibleView")?.getAriaLabel()??"");u&&(this._hover.contentsDomNode.ariaLabel=this._hover.contentsDomNode.textContent+", "+u)}hide(){if(!this._renderedHover)return;const c=this._renderedHover.shouldFocus||this._hoverFocusedKey.get();this._setRenderedHover(void 0),this._resizableNode.maxSize=new d.Dimension(1/0,1/0),this._resizableNode.clearSashHoverState(),this._hoverFocusedKey.set(!1),this._editor.layoutContentWidget(this),c&&this._editor.focus()}_removeConstraintsRenderNormally(){const c=this._editor.getLayoutInfo();this._resizableNode.layout(c.height,c.width),this._setHoverWidgetDimensions("auto","auto")}setMinimumDimensions(c){this._minimumSize=new d.Dimension(Math.max(this._minimumSize.width,c.width),Math.max(this._minimumSize.height,c.height)),this._updateMinimumWidth()}_updateMinimumWidth(){const c=typeof this._contentWidth>"u"?this._minimumSize.width:Math.min(this._contentWidth,this._minimumSize.width);this._resizableNode.minSize=new d.Dimension(c,this._minimumSize.height)}onContentsChanged(){this._removeConstraintsRenderNormally();const c=this._hover.containerDomNode;let l=d.getTotalHeight(c),a=d.getTotalWidth(c);if(this._resizableNode.layout(l,a),this._setHoverWidgetDimensions(a,l),l=d.getTotalHeight(c),a=d.getTotalWidth(c),this._contentWidth=a,this._updateMinimumWidth(),this._resizableNode.layout(l,a),this._renderedHover?.showAtPosition){const r=d.getTotalHeight(this._hover.containerDomNode);this._positionPreference=this._findPositionPreference(r,this._renderedHover.showAtPosition)}this._layoutContentWidget()}focus(){this._hover.containerDomNode.focus()}scrollUp(){const c=this._hover.scrollbar.getScrollPosition().scrollTop,l=this._editor.getOption(50);this._hover.scrollbar.setScrollPosition({scrollTop:c-l.lineHeight})}scrollDown(){const c=this._hover.scrollbar.getScrollPosition().scrollTop,l=this._editor.getOption(50);this._hover.scrollbar.setScrollPosition({scrollTop:c+l.lineHeight})}scrollLeft(){const c=this._hover.scrollbar.getScrollPosition().scrollLeft;this._hover.scrollbar.setScrollPosition({scrollLeft:c-o})}scrollRight(){const c=this._hover.scrollbar.getScrollPosition().scrollLeft;this._hover.scrollbar.setScrollPosition({scrollLeft:c+o})}pageUp(){const c=this._hover.scrollbar.getScrollPosition().scrollTop,l=this._hover.scrollbar.getScrollDimensions().height;this._hover.scrollbar.setScrollPosition({scrollTop:c-l})}pageDown(){const c=this._hover.scrollbar.getScrollPosition().scrollTop,l=this._hover.scrollbar.getScrollDimensions().height;this._hover.scrollbar.setScrollPosition({scrollTop:c+l})}goToTop(){this._hover.scrollbar.setScrollPosition({scrollTop:0})}goToBottom(){this._hover.scrollbar.setScrollPosition({scrollTop:this._hover.scrollbar.getScrollDimensions().scrollHeight})}};e.ContentHoverWidget=i,e.ContentHoverWidget=i=n=ke([ce(1,E.IContextKeyService),ce(2,y.IConfigurationService),ce(3,m.IAccessibilityService),ce(4,k.IKeybindingService)],i);function s(g,c,l,a,r,u){const C=l+r/2,f=a+u/2,h=Math.max(Math.abs(g-C)-r/2,0),v=Math.max(Math.abs(c-f)-u/2,0);return Math.sqrt(h*h+v*v)}}),define(ne[392],se([1,0,12]),function(oe,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.KeybindingResolver=e.NoMatchingKb=void 0,e.NoMatchingKb={kind:0};const k={kind:1};function I(_,b,p){return{kind:2,commandId:_,commandArgs:b,isBubble:p}}class E{constructor(b,p,n){this._log=n,this._defaultKeybindings=b,this._defaultBoundCommands=new Map;for(const o of b){const t=o.command;t&&t.charAt(0)!=="-"&&this._defaultBoundCommands.set(t,!0)}this._map=new Map,this._lookupMap=new Map,this._keybindings=E.handleRemovals([].concat(b).concat(p));for(let o=0,t=this._keybindings.length;o"u"){this._map.set(b,[p]),this._addToLookupMap(p);return}for(let o=n.length-1;o>=0;o--){const t=n[o];if(t.command===p.command)continue;let i=!0;for(let s=1;s"u"?(p=[b],this._lookupMap.set(b.command,p)):p.push(b)}_removeFromLookupMap(b){if(!b.command)return;const p=this._lookupMap.get(b.command);if(!(typeof p>"u")){for(let n=0,o=p.length;n"u"||n.length===0)return null;if(n.length===1)return n[0];for(let o=n.length-1;o>=0;o--){const t=n[o];if(p.contextMatchesRules(t.when))return t}return n[n.length-1]}resolve(b,p,n){const o=[...p,n];this._log(`| Resolving ${o}`);const t=this._map.get(o[0]);if(t===void 0)return this._log("\\ No keybinding entries."),e.NoMatchingKb;let i=null;if(o.length<2)i=t;else{i=[];for(let g=0,c=t.length;gl.chords.length)continue;let a=!0;for(let r=1;r=0;n--){const o=p[n];if(E._contextMatchesRules(b,o.when))return o}return null}static _contextMatchesRules(b,p){return p?p.evaluate(b):!0}}e.KeybindingResolver=E;function y(_){return _?`${_.serialize()}`:"no when condition"}function m(_){return _.extensionId?_.isBuiltinExtension?`built-in extension ${_.extensionId}`:`user extension ${_.extensionId}`:_.isDefault?"built-in":"user"}}),define(ne[691],se([1,0,14,8,6,300,2,3,392]),function(oe,e,d,k,I,E,y,m,_){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractKeybindingService=void 0;const b=/^(cursor|delete|undo|redo|tab|editor\.action\.clipboard)/;class p extends y.Disposable{get onDidUpdateKeybindings(){return this._onDidUpdateKeybindings?this._onDidUpdateKeybindings.event:I.Event.None}get inChordMode(){return this._currentChords.length>0}constructor(t,i,s,g,c){super(),this._contextKeyService=t,this._commandService=i,this._telemetryService=s,this._notificationService=g,this._logService=c,this._onDidUpdateKeybindings=this._register(new I.Emitter),this._currentChords=[],this._currentChordChecker=new d.IntervalTimer,this._currentChordStatusMessage=null,this._ignoreSingleModifiers=n.EMPTY,this._currentSingleModifier=null,this._currentSingleModifierClearTimeout=new d.TimeoutTimer,this._currentlyDispatchingCommandId=null,this._logging=!1}dispose(){super.dispose()}_log(t){this._logging&&this._logService.info(`[KeybindingService]: ${t}`)}getKeybindings(){return this._getResolver().getKeybindings()}lookupKeybinding(t,i){const s=this._getResolver().lookupPrimaryKeybinding(t,i||this._contextKeyService);if(s)return s.resolvedKeybinding}dispatchEvent(t,i){return this._dispatch(t,i)}softDispatch(t,i){this._log("/ Soft dispatching keyboard event");const s=this.resolveKeyboardEvent(t);if(s.hasMultipleChords())return console.warn("keyboard event should not be mapped to multiple chords"),_.NoMatchingKb;const[g]=s.getDispatchChords();if(g===null)return this._log("\\ Keyboard event cannot be dispatched"),_.NoMatchingKb;const c=this._contextKeyService.getContext(i),l=this._currentChords.map(({keypress:a})=>a);return this._getResolver().resolve(c,l,g)}_scheduleLeaveChordMode(){const t=Date.now();this._currentChordChecker.cancelAndSet(()=>{if(!this._documentHasFocus()){this._leaveChordMode();return}Date.now()-t>5e3&&this._leaveChordMode()},500)}_expectAnotherChord(t,i){switch(this._currentChords.push({keypress:t,label:i}),this._currentChords.length){case 0:throw(0,k.illegalState)("impossible");case 1:this._currentChordStatusMessage=this._notificationService.status(m.localize(1538,"({0}) was pressed. Waiting for second key of chord...",i));break;default:{const s=this._currentChords.map(({label:g})=>g).join(", ");this._currentChordStatusMessage=this._notificationService.status(m.localize(1539,"({0}) was pressed. Waiting for next key of chord...",s))}}this._scheduleLeaveChordMode(),E.IME.enabled&&E.IME.disable()}_leaveChordMode(){this._currentChordStatusMessage&&(this._currentChordStatusMessage.dispose(),this._currentChordStatusMessage=null),this._currentChordChecker.cancel(),this._currentChords=[],E.IME.enable()}_dispatch(t,i){return this._doDispatch(this.resolveKeyboardEvent(t),i,!1)}_singleModifierDispatch(t,i){const s=this.resolveKeyboardEvent(t),[g]=s.getSingleModifierDispatchChords();if(g)return this._ignoreSingleModifiers.has(g)?(this._log(`+ Ignoring single modifier ${g} due to it being pressed together with other keys.`),this._ignoreSingleModifiers=n.EMPTY,this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,!1):(this._ignoreSingleModifiers=n.EMPTY,this._currentSingleModifier===null?(this._log(`+ Storing single modifier for possible chord ${g}.`),this._currentSingleModifier=g,this._currentSingleModifierClearTimeout.cancelAndSet(()=>{this._log("+ Clearing single modifier due to 300ms elapsed."),this._currentSingleModifier=null},300),!1):g===this._currentSingleModifier?(this._log(`/ Dispatching single modifier chord ${g} ${g}`),this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,this._doDispatch(s,i,!0)):(this._log(`+ Clearing single modifier due to modifier mismatch: ${this._currentSingleModifier} ${g}`),this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,!1));const[c]=s.getChords();return this._ignoreSingleModifiers=new n(c),this._currentSingleModifier!==null&&this._log("+ Clearing single modifier due to other key up."),this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,!1}_doDispatch(t,i,s=!1){let g=!1;if(t.hasMultipleChords())return console.warn("Unexpected keyboard event mapped to multiple chords"),!1;let c=null,l=null;if(s){const[C]=t.getSingleModifierDispatchChords();c=C,l=C?[C]:[]}else[c]=t.getDispatchChords(),l=this._currentChords.map(({keypress:C})=>C);if(c===null)return this._log("\\ Keyboard event cannot be dispatched in keydown phase."),g;const a=this._contextKeyService.getContext(i),r=t.getLabel(),u=this._getResolver().resolve(a,l,c);switch(u.kind){case 0:{if(this._logService.trace("KeybindingService#dispatch",r,"[ No matching keybinding ]"),this.inChordMode){const C=this._currentChords.map(({label:f})=>f).join(", ");this._log(`+ Leaving multi-chord mode: Nothing bound to "${C}, ${r}".`),this._notificationService.status(m.localize(1540,"The key combination ({0}, {1}) is not a command.",C,r),{hideAfter:10*1e3}),this._leaveChordMode(),g=!0}return g}case 1:return this._logService.trace("KeybindingService#dispatch",r,"[ Several keybindings match - more chords needed ]"),g=!0,this._expectAnotherChord(c,r),this._log(this._currentChords.length===1?"+ Entering multi-chord mode...":"+ Continuing multi-chord mode..."),g;case 2:{if(this._logService.trace("KeybindingService#dispatch",r,`[ Will dispatch command ${u.commandId} ]`),u.commandId===null||u.commandId===""){if(this.inChordMode){const C=this._currentChords.map(({label:f})=>f).join(", ");this._log(`+ Leaving chord mode: Nothing bound to "${C}, ${r}".`),this._notificationService.status(m.localize(1541,"The key combination ({0}, {1}) is not a command.",C,r),{hideAfter:10*1e3}),this._leaveChordMode(),g=!0}}else{this.inChordMode&&this._leaveChordMode(),u.isBubble||(g=!0),this._log(`+ Invoking command ${u.commandId}.`),this._currentlyDispatchingCommandId=u.commandId;try{typeof u.commandArgs>"u"?this._commandService.executeCommand(u.commandId).then(void 0,C=>this._notificationService.warn(C)):this._commandService.executeCommand(u.commandId,u.commandArgs).then(void 0,C=>this._notificationService.warn(C))}finally{this._currentlyDispatchingCommandId=null}b.test(u.commandId)||this._telemetryService.publicLog2("workbenchActionExecuted",{id:u.commandId,from:"keybinding",detail:t.getUserSettingsLabel()??void 0})}return g}}}mightProducePrintableCharacter(t){return t.ctrlKey||t.metaKey?!1:t.keyCode>=31&&t.keyCode<=56||t.keyCode>=21&&t.keyCode<=30}}e.AbstractKeybindingService=p;class n{static{this.EMPTY=new n(null)}constructor(t){this._ctrlKey=t?t.ctrlKey:!1,this._shiftKey=t?t.shiftKey:!1,this._altKey=t?t.altKey:!1,this._metaKey=t?t.metaKey:!1}has(t){switch(t){case"ctrl":return this._ctrlKey;case"shift":return this._shiftKey;case"alt":return this._altKey;case"meta":return this._metaKey}}}}),define(ne[393],se([1,0]),function(oe,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ResolvedKeybindingItem=void 0,e.toEmptyArrayIfContainsNull=k;class d{constructor(E,y,m,_,b,p,n){this._resolvedKeybindingItemBrand=void 0,this.resolvedKeybinding=E,this.chords=E?k(E.getDispatchChords()):[],E&&this.chords.length===0&&(this.chords=k(E.getSingleModifierDispatchChords())),this.bubble=y?y.charCodeAt(0)===94:!1,this.command=this.bubble?y.substr(1):y,this.commandArgs=m,this.when=_,this.isDefault=b,this.extensionId=p,this.isBuiltinExtension=n}}e.ResolvedKeybindingItem=d;function k(I){const E=[];for(let y=0,m=I.length;ythis._toKeyCodeChord(n)));return p.length>0?[new y(p,b)]:[]}}e.USLayoutResolvedKeybinding=y}),define(ne[181],se([1,0,7]),function(oe,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ILabelService=void 0,e.ILabelService=(0,d.createDecorator)("labelService")}),define(ne[119],se([1,0,7]),function(oe,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ILayoutService=void 0,e.ILayoutService=(0,d.createDecorator)("layoutService")}),define(ne[394],se([1,0,5,52,13,6,34,49,119]),function(oe,e,d,k,I,E,y,m,_){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.EditorScopedLayoutService=void 0;let b=class{get mainContainer(){return(0,I.firstOrDefault)(this._codeEditorService.listCodeEditors())?.getContainerDomNode()??k.mainWindow.document.body}get activeContainer(){return(this._codeEditorService.getFocusedCodeEditor()??this._codeEditorService.getActiveCodeEditor())?.getContainerDomNode()??this.mainContainer}get mainContainerDimension(){return d.getClientArea(this.mainContainer)}get activeContainerDimension(){return d.getClientArea(this.activeContainer)}get containers(){return(0,I.coalesce)(this._codeEditorService.listCodeEditors().map(o=>o.getContainerDomNode()))}getContainer(){return this.activeContainer}whenContainerStylesLoaded(){}focus(){this._codeEditorService.getFocusedCodeEditor()?.focus()}constructor(o){this._codeEditorService=o,this.onDidLayoutMainContainer=E.Event.None,this.onDidLayoutActiveContainer=E.Event.None,this.onDidLayoutContainer=E.Event.None,this.onDidChangeActiveContainer=E.Event.None,this.onDidAddContainer=E.Event.None,this.mainContainerOffset={top:0,quickPickTop:0},this.activeContainerOffset={top:0,quickPickTop:0}}};b=ke([ce(0,y.ICodeEditorService)],b);let p=class extends b{get mainContainer(){return this._container}constructor(o,t){super(t),this._container=o}};e.EditorScopedLayoutService=p,e.EditorScopedLayoutService=p=ke([ce(1,y.ICodeEditorService)],p),(0,m.registerSingleton)(_.ILayoutService,b,1)}),define(ne[693],se([1,0,5,52,6,2,61,28,12,119]),function(oe,e,d,k,I,E,y,m,_,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.AccessibilityService=void 0;let p=class extends E.Disposable{constructor(o,t,i){super(),this._contextKeyService=o,this._layoutService=t,this._configurationService=i,this._accessibilitySupport=0,this._onDidChangeScreenReaderOptimized=new I.Emitter,this._onDidChangeReducedMotion=new I.Emitter,this._onDidChangeLinkUnderline=new I.Emitter,this._accessibilityModeEnabledContext=y.CONTEXT_ACCESSIBILITY_MODE_ENABLED.bindTo(this._contextKeyService);const s=()=>this._accessibilityModeEnabledContext.set(this.isScreenReaderOptimized());this._register(this._configurationService.onDidChangeConfiguration(c=>{c.affectsConfiguration("editor.accessibilitySupport")&&(s(),this._onDidChangeScreenReaderOptimized.fire()),c.affectsConfiguration("workbench.reduceMotion")&&(this._configMotionReduced=this._configurationService.getValue("workbench.reduceMotion"),this._onDidChangeReducedMotion.fire())})),s(),this._register(this.onDidChangeScreenReaderOptimized(()=>s()));const g=k.mainWindow.matchMedia("(prefers-reduced-motion: reduce)");this._systemMotionReduced=g.matches,this._configMotionReduced=this._configurationService.getValue("workbench.reduceMotion"),this._linkUnderlinesEnabled=this._configurationService.getValue("accessibility.underlineLinks"),this.initReducedMotionListeners(g),this.initLinkUnderlineListeners()}initReducedMotionListeners(o){this._register((0,d.addDisposableListener)(o,"change",()=>{this._systemMotionReduced=o.matches,this._configMotionReduced==="auto"&&this._onDidChangeReducedMotion.fire()}));const t=()=>{const i=this.isMotionReduced();this._layoutService.mainContainer.classList.toggle("reduce-motion",i),this._layoutService.mainContainer.classList.toggle("enable-motion",!i)};t(),this._register(this.onDidChangeReducedMotion(()=>t()))}initLinkUnderlineListeners(){this._register(this._configurationService.onDidChangeConfiguration(t=>{if(t.affectsConfiguration("accessibility.underlineLinks")){const i=this._configurationService.getValue("accessibility.underlineLinks");this._linkUnderlinesEnabled=i,this._onDidChangeLinkUnderline.fire()}}));const o=()=>{const t=this._linkUnderlinesEnabled;this._layoutService.mainContainer.classList.toggle("underline-links",t)};o(),this._register(this.onDidChangeLinkUnderlines(()=>o()))}onDidChangeLinkUnderlines(o){return this._onDidChangeLinkUnderline.event(o)}get onDidChangeScreenReaderOptimized(){return this._onDidChangeScreenReaderOptimized.event}isScreenReaderOptimized(){const o=this._configurationService.getValue("editor.accessibilitySupport");return o==="on"||o==="auto"&&this._accessibilitySupport===2}get onDidChangeReducedMotion(){return this._onDidChangeReducedMotion.event}isMotionReduced(){const o=this._configMotionReduced;return o==="on"||o==="auto"&&this._systemMotionReduced}getAccessibilitySupport(){return this._accessibilitySupport}};e.AccessibilityService=p,e.AccessibilityService=p=ke([ce(0,_.IContextKeyService),ce(1,b.ILayoutService),ce(2,m.IConfigurationService)],p)}),define(ne[395],se([1,0,353,2,119,5]),function(oe,e,d,k,I,E){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ContextViewService=e.ContextViewHandler=void 0;let y=class extends k.Disposable{constructor(b){super(),this.layoutService=b,this.contextView=this._register(new d.ContextView(this.layoutService.mainContainer,1)),this.layout(),this._register(b.onDidLayoutContainer(()=>this.layout()))}showContextView(b,p,n){let o;p?p===this.layoutService.getContainer((0,E.getWindow)(p))?o=1:n?o=3:o=2:o=1,this.contextView.setContainer(p??this.layoutService.activeContainer,o),this.contextView.show(b);const t={close:()=>{this.openContextView===t&&this.hideContextView()}};return this.openContextView=t,t}layout(){this.contextView.layout()}hideContextView(b){this.contextView.hide(b),this.openContextView=void 0}};e.ContextViewHandler=y,e.ContextViewHandler=y=ke([ce(0,I.ILayoutService)],y);class m extends y{getContextViewElement(){return this.contextView.getViewElement()}}e.ContextViewService=m}),define(ne[62],se([1,0,6,2,12,7]),function(oe,e,d,k,I,E){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CONTEXT_LOG_LEVEL=e.MultiplexLogger=e.ConsoleLogger=e.AbstractLogger=e.DEFAULT_LOG_LEVEL=e.LogLevel=e.ILogService=void 0,e.LogLevelToString=p,e.ILogService=(0,E.createDecorator)("logService");var y;(function(n){n[n.Off=0]="Off",n[n.Trace=1]="Trace",n[n.Debug=2]="Debug",n[n.Info=3]="Info",n[n.Warning=4]="Warning",n[n.Error=5]="Error"})(y||(e.LogLevel=y={})),e.DEFAULT_LOG_LEVEL=y.Info;class m extends k.Disposable{constructor(){super(...arguments),this.level=e.DEFAULT_LOG_LEVEL,this._onDidChangeLogLevel=this._register(new d.Emitter),this.onDidChangeLogLevel=this._onDidChangeLogLevel.event}setLevel(o){this.level!==o&&(this.level=o,this._onDidChangeLogLevel.fire(this.level))}getLevel(){return this.level}checkLogLevel(o){return this.level!==y.Off&&this.level<=o}}e.AbstractLogger=m;class _ extends m{constructor(o=e.DEFAULT_LOG_LEVEL,t=!0){super(),this.useColors=t,this.setLevel(o)}trace(o,...t){this.checkLogLevel(y.Trace)&&(this.useColors?console.log("%cTRACE","color: #888",o,...t):console.log(o,...t))}debug(o,...t){this.checkLogLevel(y.Debug)&&(this.useColors?console.log("%cDEBUG","background: #eee; color: #888",o,...t):console.log(o,...t))}info(o,...t){this.checkLogLevel(y.Info)&&(this.useColors?console.log("%c INFO","color: #33f",o,...t):console.log(o,...t))}warn(o,...t){this.checkLogLevel(y.Warning)&&(this.useColors?console.log("%c WARN","color: #993",o,...t):console.log(o,...t))}error(o,...t){this.checkLogLevel(y.Error)&&(this.useColors?console.log("%c ERR","color: #f33",o,...t):console.error(o,...t))}}e.ConsoleLogger=_;class b extends m{constructor(o){super(),this.loggers=o,o.length&&this.setLevel(o[0].getLevel())}setLevel(o){for(const t of this.loggers)t.setLevel(o);super.setLevel(o)}trace(o,...t){for(const i of this.loggers)i.trace(o,...t)}debug(o,...t){for(const i of this.loggers)i.debug(o,...t)}info(o,...t){for(const i of this.loggers)i.info(o,...t)}warn(o,...t){for(const i of this.loggers)i.warn(o,...t)}error(o,...t){for(const i of this.loggers)i.error(o,...t)}dispose(){for(const o of this.loggers)o.dispose();super.dispose()}}e.MultiplexLogger=b;function p(n){switch(n){case y.Trace:return"trace";case y.Debug:return"debug";case y.Info:return"info";case y.Warning:return"warn";case y.Error:return"error";case y.Off:return"off"}}e.CONTEXT_LOG_LEVEL=new I.RawContextKey("logLevel",p(y.Info))}),define(ne[212],se([1,0,64,5,93,47,296,14,6,2,128,11,310,23,61,62]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TextAreaWrapper=e.ClipboardEventUtils=e.TextAreaInput=e.InMemoryClipboardMetadataManager=e.CopyOptions=e.TextAreaSyntethicEvents=void 0;var g;(function(u){u.Tap="-monaco-textarea-synthetic-tap"})(g||(e.TextAreaSyntethicEvents=g={})),e.CopyOptions={forceCopyWithSyntaxHighlighting:!1};class c{static{this.INSTANCE=new c}constructor(){this._lastState=null}set(C,f){this._lastState={lastCopiedValue:C,data:f}}get(C){return this._lastState&&this._lastState.lastCopiedValue===C?this._lastState.data:(this._lastState=null,null)}}e.InMemoryClipboardMetadataManager=c;class l{constructor(){this._lastTypeTextLength=0}handleCompositionUpdate(C){C=C||"";const f={text:C,replacePrevCharCnt:this._lastTypeTextLength,replaceNextCharCnt:0,positionDelta:0};return this._lastTypeTextLength=C.length,f}}let a=class extends b.Disposable{get textAreaState(){return this._textAreaState}constructor(C,f,h,v,w,S){super(),this._host=C,this._textArea=f,this._OS=h,this._browser=v,this._accessibilityService=w,this._logService=S,this._onFocus=this._register(new _.Emitter),this.onFocus=this._onFocus.event,this._onBlur=this._register(new _.Emitter),this.onBlur=this._onBlur.event,this._onKeyDown=this._register(new _.Emitter),this.onKeyDown=this._onKeyDown.event,this._onKeyUp=this._register(new _.Emitter),this.onKeyUp=this._onKeyUp.event,this._onCut=this._register(new _.Emitter),this.onCut=this._onCut.event,this._onPaste=this._register(new _.Emitter),this.onPaste=this._onPaste.event,this._onType=this._register(new _.Emitter),this.onType=this._onType.event,this._onCompositionStart=this._register(new _.Emitter),this.onCompositionStart=this._onCompositionStart.event,this._onCompositionUpdate=this._register(new _.Emitter),this.onCompositionUpdate=this._onCompositionUpdate.event,this._onCompositionEnd=this._register(new _.Emitter),this.onCompositionEnd=this._onCompositionEnd.event,this._onSelectionChangeRequest=this._register(new _.Emitter),this.onSelectionChangeRequest=this._onSelectionChangeRequest.event,this._asyncFocusGainWriteScreenReaderContent=this._register(new b.MutableDisposable),this._asyncTriggerCut=this._register(new m.RunOnceScheduler(()=>this._onCut.fire(),0)),this._textAreaState=o.TextAreaState.EMPTY,this._selectionChangeListener=null,this._accessibilityService.isScreenReaderOptimized()&&this.writeNativeTextAreaContent("ctor"),this._register(_.Event.runAndSubscribe(this._accessibilityService.onDidChangeScreenReaderOptimized,()=>{this._accessibilityService.isScreenReaderOptimized()&&!this._asyncFocusGainWriteScreenReaderContent.value?this._asyncFocusGainWriteScreenReaderContent.value=this._register(new m.RunOnceScheduler(()=>this.writeNativeTextAreaContent("asyncFocusGain"),0)):this._asyncFocusGainWriteScreenReaderContent.clear()})),this._hasFocus=!1,this._currentComposition=null;let L=null;this._register(this._textArea.onKeyDown(D=>{const T=new E.StandardKeyboardEvent(D);(T.keyCode===114||this._currentComposition&&T.keyCode===1)&&T.stopPropagation(),T.equals(9)&&T.preventDefault(),L=T,this._onKeyDown.fire(T)})),this._register(this._textArea.onKeyUp(D=>{const T=new E.StandardKeyboardEvent(D);this._onKeyUp.fire(T)})),this._register(this._textArea.onCompositionStart(D=>{o._debugComposition&&console.log("[compositionstart]",D);const T=new l;if(this._currentComposition){this._currentComposition=T;return}if(this._currentComposition=T,this._OS===2&&L&&L.equals(114)&&this._textAreaState.selectionStart===this._textAreaState.selectionEnd&&this._textAreaState.selectionStart>0&&this._textAreaState.value.substr(this._textAreaState.selectionStart-1,1)===D.data&&(L.code==="ArrowRight"||L.code==="ArrowLeft")){o._debugComposition&&console.log("[compositionstart] Handling long press case on macOS + arrow key",D),T.handleCompositionUpdate("x"),this._onCompositionStart.fire({data:D.data});return}if(this._browser.isAndroid){this._onCompositionStart.fire({data:D.data});return}this._onCompositionStart.fire({data:D.data})})),this._register(this._textArea.onCompositionUpdate(D=>{o._debugComposition&&console.log("[compositionupdate]",D);const T=this._currentComposition;if(!T)return;if(this._browser.isAndroid){const A=o.TextAreaState.readFromTextArea(this._textArea,this._textAreaState),P=o.TextAreaState.deduceAndroidCompositionInput(this._textAreaState,A);this._textAreaState=A,this._onType.fire(P),this._onCompositionUpdate.fire(D);return}const M=T.handleCompositionUpdate(D.data);this._textAreaState=o.TextAreaState.readFromTextArea(this._textArea,this._textAreaState),this._onType.fire(M),this._onCompositionUpdate.fire(D)})),this._register(this._textArea.onCompositionEnd(D=>{o._debugComposition&&console.log("[compositionend]",D);const T=this._currentComposition;if(!T)return;if(this._currentComposition=null,this._browser.isAndroid){const A=o.TextAreaState.readFromTextArea(this._textArea,this._textAreaState),P=o.TextAreaState.deduceAndroidCompositionInput(this._textAreaState,A);this._textAreaState=A,this._onType.fire(P),this._onCompositionEnd.fire();return}const M=T.handleCompositionUpdate(D.data);this._textAreaState=o.TextAreaState.readFromTextArea(this._textArea,this._textAreaState),this._onType.fire(M),this._onCompositionEnd.fire()})),this._register(this._textArea.onInput(D=>{if(o._debugComposition&&console.log("[input]",D),this._textArea.setIgnoreSelectionChangeTime("received input event"),this._currentComposition)return;const T=o.TextAreaState.readFromTextArea(this._textArea,this._textAreaState),M=o.TextAreaState.deduceInput(this._textAreaState,T,this._OS===2);M.replacePrevCharCnt===0&&M.text.length===1&&(n.isHighSurrogate(M.text.charCodeAt(0))||M.text.charCodeAt(0)===127)||(this._textAreaState=T,(M.text!==""||M.replacePrevCharCnt!==0||M.replaceNextCharCnt!==0||M.positionDelta!==0)&&this._onType.fire(M))})),this._register(this._textArea.onCut(D=>{this._textArea.setIgnoreSelectionChangeTime("received cut event"),this._ensureClipboardGetsEditorSelection(D),this._asyncTriggerCut.schedule()})),this._register(this._textArea.onCopy(D=>{this._ensureClipboardGetsEditorSelection(D)})),this._register(this._textArea.onPaste(D=>{if(this._textArea.setIgnoreSelectionChangeTime("received paste event"),D.preventDefault(),!D.clipboardData)return;let[T,M]=e.ClipboardEventUtils.getTextData(D.clipboardData);T&&(M=M||c.INSTANCE.get(T),this._onPaste.fire({text:T,metadata:M}))})),this._register(this._textArea.onFocus(()=>{const D=this._hasFocus;this._setHasFocus(!0),this._accessibilityService.isScreenReaderOptimized()&&this._browser.isSafari&&!D&&this._hasFocus&&(this._asyncFocusGainWriteScreenReaderContent.value||(this._asyncFocusGainWriteScreenReaderContent.value=new m.RunOnceScheduler(()=>this.writeNativeTextAreaContent("asyncFocusGain"),0)),this._asyncFocusGainWriteScreenReaderContent.value.schedule())})),this._register(this._textArea.onBlur(()=>{this._currentComposition&&(this._currentComposition=null,this.writeNativeTextAreaContent("blurWithoutCompositionEnd"),this._onCompositionEnd.fire()),this._setHasFocus(!1)})),this._register(this._textArea.onSyntheticTap(()=>{this._browser.isAndroid&&this._currentComposition&&(this._currentComposition=null,this.writeNativeTextAreaContent("tapWithoutCompositionEnd"),this._onCompositionEnd.fire())}))}_installSelectionChangeListener(){let C=0;return k.addDisposableListener(this._textArea.ownerDocument,"selectionchange",f=>{if(y.inputLatency.onSelectionChange(),!this._hasFocus||this._currentComposition||!this._browser.isChrome)return;const h=Date.now(),v=h-C;if(C=h,v<5)return;const w=h-this._textArea.getIgnoreSelectionChangeTime();if(this._textArea.resetSelectionChangeTime(),w<100||!this._textAreaState.selection)return;const S=this._textArea.getValue();if(this._textAreaState.value!==S)return;const L=this._textArea.getSelectionStart(),D=this._textArea.getSelectionEnd();if(this._textAreaState.selectionStart===L&&this._textAreaState.selectionEnd===D)return;const T=this._textAreaState.deduceEditorPosition(L),M=this._host.deduceModelPosition(T[0],T[1],T[2]),A=this._textAreaState.deduceEditorPosition(D),P=this._host.deduceModelPosition(A[0],A[1],A[2]),N=new t.Selection(M.lineNumber,M.column,P.lineNumber,P.column);this._onSelectionChangeRequest.fire(N)})}dispose(){super.dispose(),this._selectionChangeListener&&(this._selectionChangeListener.dispose(),this._selectionChangeListener=null)}focusTextArea(){this._setHasFocus(!0),this.refreshFocusState()}isFocused(){return this._hasFocus}refreshFocusState(){this._setHasFocus(this._textArea.hasFocus())}_setHasFocus(C){this._hasFocus!==C&&(this._hasFocus=C,this._selectionChangeListener&&(this._selectionChangeListener.dispose(),this._selectionChangeListener=null),this._hasFocus&&(this._selectionChangeListener=this._installSelectionChangeListener()),this._hasFocus&&this.writeNativeTextAreaContent("focusgain"),this._hasFocus?this._onFocus.fire():this._onBlur.fire())}_setAndWriteTextAreaState(C,f){this._hasFocus||(f=f.collapseSelection()),f.writeToTextArea(C,this._textArea,this._hasFocus),this._textAreaState=f}writeNativeTextAreaContent(C){!this._accessibilityService.isScreenReaderOptimized()&&C==="render"||this._currentComposition||(this._logService.trace(`writeTextAreaState(reason: ${C})`),this._setAndWriteTextAreaState(C,this._host.getScreenReaderContent()))}_ensureClipboardGetsEditorSelection(C){const f=this._host.getDataToCopy(),h={version:1,isFromEmptySelection:f.isFromEmptySelection,multicursorText:f.multicursorText,mode:f.mode};c.INSTANCE.set(this._browser.isFirefox?f.text.replace(/\r\n/g,` +`):f.text,h),C.preventDefault(),C.clipboardData&&e.ClipboardEventUtils.setTextData(C.clipboardData,f.text,f.html,h)}};e.TextAreaInput=a,e.TextAreaInput=a=ke([ce(4,i.IAccessibilityService),ce(5,s.ILogService)],a),e.ClipboardEventUtils={getTextData(u){const C=u.getData(p.Mimes.text);let f=null;const h=u.getData("vscode-editor-data");if(typeof h=="string")try{f=JSON.parse(h),f.version!==1&&(f=null)}catch{}return C.length===0&&f===null&&u.files.length>0?[Array.prototype.slice.call(u.files,0).map(w=>w.name).join(` +`),null]:[C,f]},setTextData(u,C,f,h){u.setData(p.Mimes.text,C),typeof f=="string"&&u.setData("text/html",f),u.setData("vscode-editor-data",JSON.stringify(h))}};class r extends b.Disposable{get ownerDocument(){return this._actual.ownerDocument}constructor(C){super(),this._actual=C,this.onKeyDown=this._register(new I.DomEmitter(this._actual,"keydown")).event,this.onKeyUp=this._register(new I.DomEmitter(this._actual,"keyup")).event,this.onCompositionStart=this._register(new I.DomEmitter(this._actual,"compositionstart")).event,this.onCompositionUpdate=this._register(new I.DomEmitter(this._actual,"compositionupdate")).event,this.onCompositionEnd=this._register(new I.DomEmitter(this._actual,"compositionend")).event,this.onBeforeInput=this._register(new I.DomEmitter(this._actual,"beforeinput")).event,this.onInput=this._register(new I.DomEmitter(this._actual,"input")).event,this.onCut=this._register(new I.DomEmitter(this._actual,"cut")).event,this.onCopy=this._register(new I.DomEmitter(this._actual,"copy")).event,this.onPaste=this._register(new I.DomEmitter(this._actual,"paste")).event,this.onFocus=this._register(new I.DomEmitter(this._actual,"focus")).event,this.onBlur=this._register(new I.DomEmitter(this._actual,"blur")).event,this._onSyntheticTap=this._register(new _.Emitter),this.onSyntheticTap=this._onSyntheticTap.event,this._ignoreSelectionChangeTime=0,this._register(this.onKeyDown(()=>y.inputLatency.onKeyDown())),this._register(this.onBeforeInput(()=>y.inputLatency.onBeforeInput())),this._register(this.onInput(()=>y.inputLatency.onInput())),this._register(this.onKeyUp(()=>y.inputLatency.onKeyUp())),this._register(k.addDisposableListener(this._actual,g.Tap,()=>this._onSyntheticTap.fire()))}hasFocus(){const C=k.getShadowRoot(this._actual);return C?C.activeElement===this._actual:this._actual.isConnected?k.getActiveElement()===this._actual:!1}setIgnoreSelectionChangeTime(C){this._ignoreSelectionChangeTime=Date.now()}getIgnoreSelectionChangeTime(){return this._ignoreSelectionChangeTime}resetSelectionChangeTime(){this._ignoreSelectionChangeTime=0}getValue(){return this._actual.value}setValue(C,f){const h=this._actual;h.value!==f&&(this.setIgnoreSelectionChangeTime("setValue"),h.value=f)}getSelectionStart(){return this._actual.selectionDirection==="backward"?this._actual.selectionEnd:this._actual.selectionStart}getSelectionEnd(){return this._actual.selectionDirection==="backward"?this._actual.selectionStart:this._actual.selectionEnd}setSelectionRange(C,f,h){const v=this._actual;let w=null;const S=k.getShadowRoot(v);S?w=S.activeElement:w=k.getActiveElement();const L=k.getWindow(w),D=w===v,T=v.selectionStart,M=v.selectionEnd;if(D&&T===f&&M===h){d.isFirefox&&L.parent!==L&&v.focus();return}if(D){this.setIgnoreSelectionChangeTime("setSelectionRange"),v.setSelectionRange(f,h),d.isFirefox&&L.parent!==L&&v.focus();return}try{const A=k.saveParentsScrollTop(v);this.setIgnoreSelectionChangeTime("setSelectionRange"),v.focus(),v.setSelectionRange(f,h),k.restoreParentsScrollTop(v,A)}catch{}}}e.TextAreaWrapper=r}),define(ne[79],se([1,0,129,45,141,271,49,7,62,42]),function(oe,e,d,k,I,E,y,m,_,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.LanguageFeatureDebounceService=e.ILanguageFeatureDebounceService=void 0,e.ILanguageFeatureDebounceService=(0,m.createDecorator)("ILanguageFeatureDebounceService");var p;(function(i){const s=new WeakMap;let g=0;function c(l){let a=s.get(l);return a===void 0&&(a=++g,s.set(l,a)),a}i.of=c})(p||(p={}));class n{constructor(s){this._default=s}get(s){return this._default}update(s,g){return this._default}default(){return this._default}}class o{constructor(s,g,c,l,a,r){this._logService=s,this._name=g,this._registry=c,this._default=l,this._min=a,this._max=r,this._cache=new k.LRUCache(50,.7)}_key(s){return s.id+this._registry.all(s).reduce((g,c)=>(0,d.doHash)(p.of(c),g),0)}get(s){const g=this._key(s),c=this._cache.get(g);return c?(0,I.clamp)(c.value,this._min,this._max):this.default()}update(s,g){const c=this._key(s);let l=this._cache.get(c);l||(l=new I.SlidingWindowAverage(6),this._cache.set(c,l));const a=(0,I.clamp)(l.update(g),this._min,this._max);return(0,b.matchesScheme)(s.uri,"output")||this._logService.trace(`[DEBOUNCE: ${this._name}] for ${s.uri.toString()} is ${a}ms`),a}_overall(){const s=new I.MovingAverage;for(const[,g]of this._cache)s.update(g.value);return s.value}default(){const s=this._overall()|0||this._default;return(0,I.clamp)(s,this._min,this._max)}}let t=class{constructor(s,g){this._logService=s,this._data=new Map,this._isDev=g.isExtensionDevelopment||!g.isBuilt}for(s,g,c){const l=c?.min??50,a=c?.max??l**2,r=c?.key??void 0,u=`${p.of(s)},${l}${r?","+r:""}`;let C=this._data.get(u);return C||(this._isDev?(this._logService.debug(`[DEBOUNCE: ${g}] is disabled in developed mode`),C=new n(l*1.5)):C=new o(this._logService,g,s,this._overallAverage()|0||l*1.5,l,a),this._data.set(u,C)),C}_overallAverage(){const s=new I.MovingAverage;for(const g of this._data.values())s.update(g.default());return s.value}};e.LanguageFeatureDebounceService=t,e.LanguageFeatureDebounceService=t=ke([ce(0,_.ILogService),ce(1,E.IEnvironmentService)],t),(0,y.registerSingleton)(e.ILanguageFeatureDebounceService,t,1)}),define(ne[182],se([1,0,13,18,8,53,45,9,4,79,7,49,51,2,17]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OutlineModelService=e.IOutlineModelService=e.OutlineModel=e.OutlineGroup=e.OutlineElement=e.TreeElement=void 0;class s{remove(){this.parent?.children.delete(this.id)}static findId(u,C){let f;typeof u=="string"?f=`${C.id}/${u}`:(f=`${C.id}/${u.name}`,C.children.get(f)!==void 0&&(f=`${C.id}/${u.name}_${u.range.startLineNumber}_${u.range.startColumn}`));let h=f;for(let v=0;C.children.get(h)!==void 0;v++)h=`${f}_${v}`;return h}static empty(u){return u.children.size===0}}e.TreeElement=s;class g extends s{constructor(u,C,f){super(),this.id=u,this.parent=C,this.symbol=f,this.children=new Map}}e.OutlineElement=g;class c extends s{constructor(u,C,f,h){super(),this.id=u,this.parent=C,this.label=f,this.order=h,this.children=new Map}}e.OutlineGroup=c;class l extends s{static create(u,C,f){const h=new k.CancellationTokenSource(f),v=new l(C.uri),w=u.ordered(C),S=w.map((D,T)=>{const M=s.findId(`provider_${T}`,v),A=new c(M,v,D.displayName??"Unknown Outline Provider",T);return Promise.resolve(D.provideDocumentSymbols(C,h.token)).then(P=>{for(const N of P||[])l._makeOutlineElement(N,A);return A},P=>((0,I.onUnexpectedExternalError)(P),A)).then(P=>{s.empty(P)?P.remove():v._groups.set(M,P)})}),L=u.onDidChange(()=>{const D=u.ordered(C);(0,d.equals)(D,w)||h.cancel()});return Promise.all(S).then(()=>h.token.isCancellationRequested&&!f.isCancellationRequested?l.create(u,C,f):v._compact()).finally(()=>{h.dispose(),L.dispose(),h.dispose()})}static _makeOutlineElement(u,C){const f=s.findId(u,C),h=new g(f,C,u);if(u.children)for(const v of u.children)l._makeOutlineElement(v,h);C.children.set(h.id,h)}constructor(u){super(),this.uri=u,this.id="root",this.parent=void 0,this._groups=new Map,this.children=new Map,this.id="root",this.parent=void 0}_compact(){let u=0;for(const[C,f]of this._groups)f.children.size===0?this._groups.delete(C):u+=1;if(u!==1)this.children=this._groups;else{const C=E.Iterable.first(this._groups.values());for(const[,f]of C.children)f.parent=this,this.children.set(f.id,f)}return this}getTopLevelSymbols(){const u=[];for(const C of this.children.values())C instanceof g?u.push(C.symbol):u.push(...E.Iterable.map(C.children.values(),f=>f.symbol));return u.sort((C,f)=>_.Range.compareRangesUsingStarts(C.range,f.range))}asListOfDocumentSymbols(){const u=this.getTopLevelSymbols(),C=[];return l._flattenDocumentSymbols(C,u,""),C.sort((f,h)=>m.Position.compare(_.Range.getStartPosition(f.range),_.Range.getStartPosition(h.range))||m.Position.compare(_.Range.getEndPosition(h.range),_.Range.getEndPosition(f.range)))}static _flattenDocumentSymbols(u,C,f){for(const h of C)u.push({kind:h.kind,tags:h.tags,name:h.name,detail:h.detail,containerName:h.containerName||f,range:h.range,selectionRange:h.selectionRange,children:void 0}),h.children&&l._flattenDocumentSymbols(u,h.children,h.name)}}e.OutlineModel=l,e.IOutlineModelService=(0,p.createDecorator)("IOutlineModelService");let a=class{constructor(u,C,f){this._languageFeaturesService=u,this._disposables=new t.DisposableStore,this._cache=new y.LRUCache(10,.7),this._debounceInformation=C.for(u.documentSymbolProvider,"DocumentSymbols",{min:350}),this._disposables.add(f.onModelRemoved(h=>{this._cache.delete(h.id)}))}dispose(){this._disposables.dispose()}async getOrCreate(u,C){const f=this._languageFeaturesService.documentSymbolProvider,h=f.ordered(u);let v=this._cache.get(u.id);if(!v||v.versionId!==u.getVersionId()||!(0,d.equals)(v.provider,h)){const S=new k.CancellationTokenSource;v={versionId:u.getVersionId(),provider:h,promiseCnt:0,source:S,promise:l.create(f,u,S.token),model:void 0},this._cache.set(u.id,v);const L=Date.now();v.promise.then(D=>{v.model=D,this._debounceInformation.update(u,Date.now()-L)}).catch(D=>{this._cache.delete(u.id)})}if(v.model)return v.model;v.promiseCnt+=1;const w=C.onCancellationRequested(()=>{--v.promiseCnt===0&&(v.source.cancel(),this._cache.delete(u.id))});try{return await v.promise}finally{w.dispose()}}};e.OutlineModelService=a,e.OutlineModelService=a=ke([ce(0,i.ILanguageFeaturesService),ce(1,b.ILanguageFeatureDebounceService),ce(2,o.IModelService)],a),(0,n.registerSingleton)(e.IOutlineModelService,a,1)}),define(ne[694],se([1,0,13,21,383,88,17,182,2,6]),function(oe,e,d,k,I,E,y,m,_,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0});let p=class extends _.Disposable{constructor(o,t,i){super(),this._textModel=o,this._languageFeaturesService=t,this._outlineModelService=i,this._currentModel=(0,k.observableValue)(this,void 0);const s=(0,k.observableSignalFromEvent)("documentSymbolProvider.onDidChange",this._languageFeaturesService.documentSymbolProvider.onDidChange),g=(0,k.observableSignalFromEvent)("_textModel.onDidChangeContent",b.Event.debounce(c=>this._textModel.onDidChangeContent(c),()=>{},100));this._register((0,k.autorunWithStore)(async(c,l)=>{s.read(c),g.read(c);const a=l.add(new E.DisposableCancellationTokenSource),r=await this._outlineModelService.getOrCreate(this._textModel,a.token);l.isDisposed||this._currentModel.set(r,void 0)}))}getBreadcrumbItems(o,t){const i=this._currentModel.read(t);if(!i)return[];const s=i.asListOfDocumentSymbols().filter(g=>o.contains(g.range.startLineNumber)&&!o.contains(g.range.endLineNumber));return s.sort((0,d.reverseOrder)((0,d.compareBy)(g=>g.range.endLineNumber-g.range.startLineNumber,d.numberComparator))),s.map(g=>({name:g.name,kind:g.kind,startLineNumber:g.range.startLineNumber}))}};p=ke([ce(1,y.ILanguageFeaturesService),ce(2,m.IOutlineModelService)],p),I.HideUnchangedRegionsFeature.setBreadcrumbsSourceFactory((n,o)=>o.createInstance(p,n))}),define(ne[695],se([1,0,18,19,22,78,182,24]),function(oe,e,d,k,I,E,y,m){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),m.CommandsRegistry.registerCommand("_executeDocumentSymbolProvider",async function(_,...b){const[p]=b;(0,k.assertType)(I.URI.isUri(p));const n=_.get(y.IOutlineModelService),t=await _.get(E.ITextModelService).createModelReference(p);try{return(await n.getOrCreate(t.object.textEditorModel,d.CancellationToken.None)).getTopLevelSymbols()}finally{t.dispose()}})}),define(ne[696],se([1,0,64,5,52,14,6,129,2,22,119,62]),function(oe,e,d,k,I,E,y,m,_,b,p,n){"use strict";var o;Object.defineProperty(e,"__esModule",{value:!0}),e.BrowserClipboardService=void 0;const t="application/vnd.code.resources";let i=class extends _.Disposable{static{o=this}constructor(g,c){super(),this.layoutService=g,this.logService=c,this.mapTextToType=new Map,this.findText="",this.resources=[],this.resourcesStateHash=void 0,(d.isSafari||d.isWebkitWebView)&&this.installWebKitWriteTextWorkaround(),this._register(y.Event.runAndSubscribe(k.onDidRegisterWindow,({window:l,disposables:a})=>{a.add((0,k.addDisposableListener)(l.document,"copy",()=>this.clearResourcesState()))},{window:I.mainWindow,disposables:this._store}))}installWebKitWriteTextWorkaround(){const g=()=>{const c=new E.DeferredPromise;this.webKitPendingClipboardWritePromise&&!this.webKitPendingClipboardWritePromise.isSettled&&this.webKitPendingClipboardWritePromise.cancel(),this.webKitPendingClipboardWritePromise=c,(0,k.getActiveWindow)().navigator.clipboard.write([new ClipboardItem({"text/plain":c.p})]).catch(async l=>{(!(l instanceof Error)||l.name!=="NotAllowedError"||!c.isRejected)&&this.logService.error(l)})};this._register(y.Event.runAndSubscribe(this.layoutService.onDidAddContainer,({container:c,disposables:l})=>{l.add((0,k.addDisposableListener)(c,"click",g)),l.add((0,k.addDisposableListener)(c,"keydown",g))},{container:this.layoutService.mainContainer,disposables:this._store}))}async writeText(g,c){if(this.clearResourcesState(),c){this.mapTextToType.set(c,g);return}if(this.webKitPendingClipboardWritePromise)return this.webKitPendingClipboardWritePromise.complete(g);try{return await(0,k.getActiveWindow)().navigator.clipboard.writeText(g)}catch(l){console.error(l)}this.fallbackWriteText(g)}fallbackWriteText(g){const c=(0,k.getActiveDocument)(),l=c.activeElement,a=c.body.appendChild((0,k.$)("textarea",{"aria-hidden":!0}));a.style.height="1px",a.style.width="1px",a.style.position="absolute",a.value=g,a.focus(),a.select(),c.execCommand("copy"),(0,k.isHTMLElement)(l)&&l.focus(),a.remove()}async readText(g){if(g)return this.mapTextToType.get(g)||"";try{return await(0,k.getActiveWindow)().navigator.clipboard.readText()}catch(c){console.error(c)}return""}async readFindText(){return this.findText}async writeFindText(g){this.findText=g}static{this.MAX_RESOURCE_STATE_SOURCE_LENGTH=1e3}async readResources(){try{const c=await(0,k.getActiveWindow)().navigator.clipboard.read();for(const l of c)if(l.types.includes(`web ${t}`)){const a=await l.getType(`web ${t}`);return JSON.parse(await a.text()).map(u=>b.URI.from(u))}}catch{}const g=await this.computeResourcesStateHash();return this.resourcesStateHash!==g&&this.clearResourcesState(),this.resources}async computeResourcesStateHash(){if(this.resources.length===0)return;const g=await this.readText();return(0,m.hash)(g.substring(0,o.MAX_RESOURCE_STATE_SOURCE_LENGTH))}clearInternalState(){this.clearResourcesState()}clearResourcesState(){this.resources=[],this.resourcesStateHash=void 0}};e.BrowserClipboardService=i,e.BrowserClipboardService=i=o=ke([ce(0,p.ILayoutService),ce(1,n.ILogService)],i)}),define(ne[697],se([1,0,2,62]),function(oe,e,d,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.LogService=void 0;class I extends d.Disposable{constructor(y,m=[]){super(),this.logger=new k.MultiplexLogger([y,...m]),this._register(y.onDidChangeLogLevel(_=>this.setLevel(_)))}get onDidChangeLogLevel(){return this.logger.onDidChangeLogLevel}setLevel(y){this.logger.setLevel(y)}getLevel(){return this.logger.getLevel()}trace(y,...m){this.logger.trace(y,...m)}debug(y,...m){this.logger.debug(y,...m)}info(y,...m){this.logger.info(y,...m)}warn(y,...m){this.logger.warn(y,...m)}error(y,...m){this.logger.error(y,...m)}}e.LogService=I}),define(ne[108],se([1,0,111,3,7]),function(oe,e,d,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.IMarkerService=e.IMarkerData=e.MarkerSeverity=void 0;var E;(function(m){m[m.Hint=1]="Hint",m[m.Info=2]="Info",m[m.Warning=4]="Warning",m[m.Error=8]="Error"})(E||(e.MarkerSeverity=E={})),function(m){function _(t,i){return i-t}m.compare=_;const b=Object.create(null);b[m.Error]=(0,k.localize)(1569,"Error"),b[m.Warning]=(0,k.localize)(1570,"Warning"),b[m.Info]=(0,k.localize)(1571,"Info");function p(t){return b[t]||""}m.toString=p;function n(t){switch(t){case d.default.Error:return m.Error;case d.default.Warning:return m.Warning;case d.default.Info:return m.Info;case d.default.Ignore:return m.Hint}}m.fromSeverity=n;function o(t){switch(t){case m.Error:return d.default.Error;case m.Warning:return d.default.Warning;case m.Info:return d.default.Info;case m.Hint:return d.default.Ignore}}m.toSeverity=o}(E||(e.MarkerSeverity=E={}));var y;(function(m){const _="";function b(n){return p(n,!0)}m.makeKey=b;function p(n,o){const t=[_];return n.source?t.push(n.source.replace("\xA6","\\\xA6")):t.push(_),n.code?typeof n.code=="string"?t.push(n.code.replace("\xA6","\\\xA6")):t.push(n.code.value.replace("\xA6","\\\xA6")):t.push(_),n.severity!==void 0&&n.severity!==null?t.push(E.toString(n.severity)):t.push(_),n.message&&o?t.push(n.message.replace("\xA6","\\\xA6")):t.push(_),n.startLineNumber!==void 0&&n.startLineNumber!==null?t.push(n.startLineNumber.toString()):t.push(_),n.startColumn!==void 0&&n.startColumn!==null?t.push(n.startColumn.toString()):t.push(_),n.endLineNumber!==void 0&&n.endLineNumber!==null?t.push(n.endLineNumber.toString()):t.push(_),n.endColumn!==void 0&&n.endColumn!==null?t.push(n.endColumn.toString()):t.push(_),t.push(_),t.join("\xA6")}m.makeKeyOptionalMessage=p})(y||(e.IMarkerData=y={})),e.IMarkerService=(0,I.createDecorator)("markerService")}),define(ne[698],se([1,0,13,6,2,73,11,22,4,49,7,108,28]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.IMarkerNavigationService=e.MarkerList=e.MarkerCoordinate=void 0;class t{constructor(c,l,a){this.marker=c,this.index=l,this.total=a}}e.MarkerCoordinate=t;let i=class{constructor(c,l,a){this._markerService=l,this._configService=a,this._onDidChange=new k.Emitter,this.onDidChange=this._onDidChange.event,this._dispoables=new I.DisposableStore,this._markers=[],this._nextIdx=-1,m.URI.isUri(c)?this._resourceFilter=f=>f.toString()===c.toString():c&&(this._resourceFilter=c);const r=this._configService.getValue("problems.sortOrder"),u=(f,h)=>{let v=(0,y.compare)(f.resource.toString(),h.resource.toString());return v===0&&(r==="position"?v=_.Range.compareRangesUsingStarts(f,h)||n.MarkerSeverity.compare(f.severity,h.severity):v=n.MarkerSeverity.compare(f.severity,h.severity)||_.Range.compareRangesUsingStarts(f,h)),v},C=()=>{this._markers=this._markerService.read({resource:m.URI.isUri(c)?c:void 0,severities:n.MarkerSeverity.Error|n.MarkerSeverity.Warning|n.MarkerSeverity.Info}),typeof c=="function"&&(this._markers=this._markers.filter(f=>this._resourceFilter(f.resource))),this._markers.sort(u)};C(),this._dispoables.add(l.onMarkerChanged(f=>{(!this._resourceFilter||f.some(h=>this._resourceFilter(h)))&&(C(),this._nextIdx=-1,this._onDidChange.fire())}))}dispose(){this._dispoables.dispose(),this._onDidChange.dispose()}matches(c){return!this._resourceFilter&&!c?!0:!this._resourceFilter||!c?!1:this._resourceFilter(c)}get selected(){const c=this._markers[this._nextIdx];return c&&new t(c,this._nextIdx+1,this._markers.length)}_initIdx(c,l,a){let r=!1,u=this._markers.findIndex(C=>C.resource.toString()===c.uri.toString());u<0&&(u=(0,d.binarySearch)(this._markers,{resource:c.uri},(C,f)=>(0,y.compare)(C.resource.toString(),f.resource.toString())),u<0&&(u=~u));for(let C=u;Cr.resource.toString()===c.toString());if(!(a<0)){for(;ai[1])}}class p{constructor(t){this.errors=0,this.infos=0,this.warnings=0,this.unknowns=0,this._data=new E.ResourceMap,this._service=t,this._subscription=t.onMarkerChanged(this._update,this)}dispose(){this._subscription.dispose()}_update(t){for(const i of t){const s=this._data.get(i);s&&this._substract(s);const g=this._resourceStats(i);this._add(g),this._data.set(i,g)}}_resourceStats(t){const i={errors:0,warnings:0,infos:0,unknowns:0};if(e.unsupportedSchemas.has(t.scheme))return i;for(const{severity:s}of this._service.read({resource:t}))s===_.MarkerSeverity.Error?i.errors+=1:s===_.MarkerSeverity.Warning?i.warnings+=1:s===_.MarkerSeverity.Info?i.infos+=1:i.unknowns+=1;return i}_substract(t){this.errors-=t.errors,this.warnings-=t.warnings,this.infos-=t.infos,this.unknowns-=t.unknowns}_add(t){this.errors+=t.errors,this.warnings+=t.warnings,this.infos+=t.infos,this.unknowns+=t.unknowns}}class n{constructor(){this._onMarkerChanged=new k.DebounceEmitter({delay:0,merge:n._merge}),this.onMarkerChanged=this._onMarkerChanged.event,this._data=new b,this._stats=new p(this)}dispose(){this._stats.dispose(),this._onMarkerChanged.dispose()}remove(t,i){for(const s of i||[])this.changeOne(t,s,[])}changeOne(t,i,s){if((0,d.isFalsyOrEmpty)(s))this._data.delete(i,t)&&this._onMarkerChanged.fire([i]);else{const g=[];for(const c of s){const l=n._toMarker(t,i,c);l&&g.push(l)}this._data.set(i,t,g),this._onMarkerChanged.fire([i])}}static _toMarker(t,i,s){let{code:g,severity:c,message:l,source:a,startLineNumber:r,startColumn:u,endLineNumber:C,endColumn:f,relatedInformation:h,tags:v}=s;if(l)return r=r>0?r:1,u=u>0?u:1,C=C>=r?C:r,f=f>0?f:u,{resource:i,owner:t,code:g,severity:c,message:l,source:a,startLineNumber:r,startColumn:u,endLineNumber:C,endColumn:f,relatedInformation:h,tags:v}}changeAll(t,i){const s=[],g=this._data.values(t);if(g)for(const c of g){const l=I.Iterable.first(c);l&&(s.push(l.resource),this._data.delete(l.resource,t))}if((0,d.isNonEmptyArray)(i)){const c=new E.ResourceMap;for(const{resource:l,marker:a}of i){const r=n._toMarker(t,l,a);if(!r)continue;const u=c.get(l);u?u.push(r):(c.set(l,[r]),s.push(l))}for(const[l,a]of c)this._data.set(l,t,a)}s.length>0&&this._onMarkerChanged.fire(s)}read(t=Object.create(null)){let{owner:i,resource:s,severities:g,take:c}=t;if((!c||c<0)&&(c=-1),i&&s){const l=this._data.get(s,i);if(l){const a=[];for(const r of l)if(n._accept(r,g)){const u=a.push(r);if(c>0&&u===c)break}return a}else return[]}else if(!i&&!s){const l=[];for(const a of this._data.values())for(const r of a)if(n._accept(r,g)){const u=l.push(r);if(c>0&&u===c)return l}return l}else{const l=this._data.values(s??i),a=[];for(const r of l)for(const u of r)if(n._accept(u,g)){const C=a.push(u);if(c>0&&C===c)return a}return a}}static _accept(t,i){return i===void 0||(i&t.severity)===t.severity}static _merge(t){const i=new E.ResourceMap;for(const s of t)for(const g of s)i.set(g,!0);return Array.from(i.keys())}}e.MarkerService=n}),define(ne[50],se([1,0,111,7]),function(oe,e,d,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.NoOpNotification=e.INotificationService=e.Severity=void 0,e.Severity=d.default,e.INotificationService=(0,k.createDecorator)("notificationService");class I{}e.NoOpNotification=I}),define(ne[396],se([1,0,5,258,41,346,8,6,2,152,268,3,12,58,7,31,50,508]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g){"use strict";var c;Object.defineProperty(e,"__esModule",{value:!0}),e.PostEditWidgetManager=void 0;let l=class extends _.Disposable{static{c=this}static{this.baseId="editor.widget.postEditWidget"}constructor(u,C,f,h,v,w,S,L,D,T){super(),this.typeId=u,this.editor=C,this.showCommand=h,this.range=v,this.edits=w,this.onSelectNewEdit=S,this._contextMenuService=L,this._keybindingService=T,this.allowEditorOverflow=!0,this.suppressMouseDown=!0,this.create(),this.visibleContext=f.bindTo(D),this.visibleContext.set(!0),this._register((0,_.toDisposable)(()=>this.visibleContext.reset())),this.editor.addContentWidget(this),this.editor.layoutContentWidget(this),this._register((0,_.toDisposable)(()=>this.editor.removeContentWidget(this))),this._register(this.editor.onDidChangeCursorPosition(M=>{v.containsPosition(M.position)||this.dispose()})),this._register(m.Event.runAndSubscribe(T.onDidUpdateKeybindings,()=>{this._updateButtonTitle()}))}_updateButtonTitle(){const u=this._keybindingService.lookupKeybinding(this.showCommand.id)?.getLabel();this.button.element.title=this.showCommand.label+(u?` (${u})`:"")}create(){this.domNode=d.$(".post-edit-widget"),this.button=this._register(new k.Button(this.domNode,{supportIcons:!0})),this.button.label="$(insert)",this._register(d.addDisposableListener(this.domNode,d.EventType.CLICK,()=>this.showSelector()))}getId(){return c.baseId+"."+this.typeId}getDomNode(){return this.domNode}getPosition(){return{position:this.range.getEndPosition(),preference:[2]}}showSelector(){this._contextMenuService.showContextMenu({getAnchor:()=>{const u=d.getDomNodePagePosition(this.button.element);return{x:u.left+u.width,y:u.top+u.height}},getActions:()=>this.edits.allEdits.map((u,C)=>(0,I.toAction)({id:"",label:u.title,checked:C===this.edits.activeEditIndex,run:()=>{if(C!==this.edits.activeEditIndex)return this.onSelectNewEdit(C)}}))})}};l=c=ke([ce(7,t.IContextMenuService),ce(8,o.IContextKeyService),ce(9,s.IKeybindingService)],l);let a=class extends _.Disposable{constructor(u,C,f,h,v,w,S){super(),this._id=u,this._editor=C,this._visibleContext=f,this._showCommand=h,this._instantiationService=v,this._bulkEditService=w,this._notificationService=S,this._currentWidget=this._register(new _.MutableDisposable),this._register(m.Event.any(C.onDidChangeModel,C.onDidChangeModelContent)(()=>this.clear()))}async applyEditAndShowIfNeeded(u,C,f,h,v){const w=this._editor.getModel();if(!w||!u.length)return;const S=C.allEdits.at(C.activeEditIndex);if(!S)return;const L=async F=>{const x=this._editor.getModel();x&&(await x.undo(),this.applyEditAndShowIfNeeded(u,{activeEditIndex:F,allEdits:C.allEdits},f,h,v))},D=(F,x)=>{(0,y.isCancellationError)(F)||(this._notificationService.error(x),f&&this.show(u[0],C,L))};let T;try{T=await h(S,v)}catch(F){return D(F,(0,n.localize)(845,`Error resolving edit '{0}': +{1}`,S.title,(0,E.toErrorMessage)(F)))}if(v.isCancellationRequested)return;const M=(0,p.createCombinedWorkspaceEdit)(w.uri,u,T),A=u[0],P=w.deltaDecorations([],[{range:A,options:{description:"paste-line-suffix",stickiness:0}}]);this._editor.focus();let N,O;try{N=await this._bulkEditService.apply(M,{editor:this._editor,token:v}),O=w.getDecorationRange(P[0])}catch(F){return D(F,(0,n.localize)(846,`Error applying edit '{0}': +{1}`,S.title,(0,E.toErrorMessage)(F)))}finally{w.deltaDecorations(P,[])}v.isCancellationRequested||f&&N.isApplied&&C.allEdits.length>1&&this.show(O??A,C,L)}show(u,C,f){this.clear(),this._editor.hasModel()&&(this._currentWidget.value=this._instantiationService.createInstance(l,this._id,this._editor,this._visibleContext,this._showCommand,u,C,f))}clear(){this._currentWidget.clear()}tryShowSelector(){this._currentWidget.value?.showSelector()}};e.PostEditWidgetManager=a,e.PostEditWidgetManager=a=ke([ce(4,i.IInstantiationService),ce(5,b.IBulkEditService),ce(6,g.INotificationService)],a)}),define(ne[397],se([1,0,21,189]),function(oe,e,d,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.observableConfigValue=I,e.bindContextKey=E;function I(y,m,_){return(0,k.observableFromEventOpts)({debugName:()=>`Configuration Key "${y}"`},b=>_.onDidChangeConfiguration(p=>{p.affectsConfiguration(y)&&b(p)}),()=>_.getValue(y)??m)}function E(y,m,_){const b=y.bindTo(m);return(0,d.autorunOpts)({debugName:()=>`Set Context Key "${y.key}"`},p=>{b.set(_(p))})}}),define(ne[700],se([1,0,349,171,21,7]),function(oe,e,d,k,I,E){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.wrapInReloadableClass1=_;class y{constructor(n){this.instantiationService=n}init(...n){}}function m(p,n){return class extends n{constructor(){super(...arguments),this._autorun=void 0}init(...t){this._autorun=(0,I.autorunWithStore)((i,s)=>{const g=(0,k.readHotReloadableExport)(p(),i);s.add(this.instantiationService.createInstance(g,...t))})}dispose(){this._autorun?.dispose()}}}function _(p){return(0,d.isHotReloadEnabled)()?m(p,b):p()}let b=class extends y{constructor(n,o){super(o),this.init(n)}};b=ke([ce(1,E.IInstantiationService)],b)}),define(ne[59],se([1,0,7]),function(oe,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.IOpenerService=void 0,e.extractSelection=k,e.IOpenerService=(0,d.createDecorator)("openerService");function k(I){let E;const y=/^L?(\d+)(?:,(\d+))?(-L?(\d+)(?:,(\d+))?)?/.exec(I.fragment);return y&&(E={startLineNumber:parseInt(y[1]),startColumn:y[2]?parseInt(y[2]):1,endLineNumber:y[4]?parseInt(y[4]):void 0,endColumn:y[4]?y[5]?parseInt(y[5]):1:void 0},I=I.with({fragment:""})),{selection:E,uri:I}}}),define(ne[701],se([1,0,5,52,18,73,45,252,42,48,22,34,24,673,59]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OpenerService=void 0;let s=class{constructor(a){this._commandService=a}async open(a,r){if(!(0,_.matchesScheme)(a,_.Schemas.command))return!1;if(!r?.allowCommands||(typeof a=="string"&&(a=p.URI.parse(a)),Array.isArray(r.allowCommands)&&!r.allowCommands.includes(a.path)))return!0;let u=[];try{u=(0,m.parse)(decodeURIComponent(a.query))}catch{try{u=(0,m.parse)(a.query)}catch{}}return Array.isArray(u)||(u=[u]),await this._commandService.executeCommand(a.path,...u),!0}};s=ke([ce(0,o.ICommandService)],s);let g=class{constructor(a){this._editorService=a}async open(a,r){typeof a=="string"&&(a=p.URI.parse(a));const{selection:u,uri:C}=(0,i.extractSelection)(a);return a=C,a.scheme===_.Schemas.file&&(a=(0,b.normalizePath)(a)),await this._editorService.openCodeEditor({resource:a,options:{selection:u,source:r?.fromUserGesture?t.EditorOpenSource.USER:t.EditorOpenSource.API,...r?.editorOptions}},this._editorService.getFocusedCodeEditor(),r?.openToSide),!0}};g=ke([ce(0,n.ICodeEditorService)],g);let c=class{constructor(a,r){this._openers=new E.LinkedList,this._validators=new E.LinkedList,this._resolvers=new E.LinkedList,this._resolvedUriTargets=new y.ResourceMap(u=>u.with({path:null,fragment:null,query:null}).toString()),this._externalOpeners=new E.LinkedList,this._defaultExternalOpener={openExternal:async u=>((0,_.matchesSomeScheme)(u,_.Schemas.http,_.Schemas.https)?d.windowOpenNoOpener(u):k.mainWindow.location.href=u,!0)},this._openers.push({open:async(u,C)=>C?.openExternal||(0,_.matchesSomeScheme)(u,_.Schemas.mailto,_.Schemas.http,_.Schemas.https,_.Schemas.vsls)?(await this._doOpenExternal(u,C),!0):!1}),this._openers.push(new s(r)),this._openers.push(new g(a))}registerOpener(a){return{dispose:this._openers.unshift(a)}}async open(a,r){const u=typeof a=="string"?p.URI.parse(a):a,C=this._resolvedUriTargets.get(u)??a;for(const f of this._validators)if(!await f.shouldOpen(C,r))return!1;for(const f of this._openers)if(await f.open(a,r))return!0;return!1}async resolveExternalUri(a,r){for(const u of this._resolvers)try{const C=await u.resolveExternalUri(a,r);if(C)return this._resolvedUriTargets.has(C.resolved)||this._resolvedUriTargets.set(C.resolved,a),C}catch{}throw new Error("Could not resolve external URI: "+a.toString())}async _doOpenExternal(a,r){const u=typeof a=="string"?p.URI.parse(a):a;let C;try{C=(await this.resolveExternalUri(u,r)).resolved}catch{C=u}let f;if(typeof a=="string"&&u.toString()===C.toString()?f=a:f=encodeURI(C.toString(!0)),r?.allowContributedOpeners){const h=typeof r?.allowContributedOpeners=="string"?r?.allowContributedOpeners:void 0;for(const v of this._externalOpeners)if(await v.openExternal(f,{sourceUri:u,preferredOpenerId:h},I.CancellationToken.None))return!0}return this._defaultExternalOpener.openExternal(f,{sourceUri:u},I.CancellationToken.None)}dispose(){this._validators.clear()}};e.OpenerService=c,e.OpenerService=c=ke([ce(0,n.ICodeEditorService),ce(1,o.ICommandService)],c)}),define(ne[702],se([1,0,5,93,47,69,6,2,59,44,118,543]),function(oe,e,d,k,I,E,y,m,_,b,p){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Link=void 0;let n=class extends m.Disposable{get enabled(){return this._enabled}set enabled(t){t?(this.el.setAttribute("aria-disabled","false"),this.el.tabIndex=0,this.el.style.pointerEvents="auto",this.el.style.opacity="1",this.el.style.cursor="pointer",this._enabled=!1):(this.el.setAttribute("aria-disabled","true"),this.el.tabIndex=-1,this.el.style.pointerEvents="none",this.el.style.opacity="0.4",this.el.style.cursor="default",this._enabled=!0),this._enabled=t}constructor(t,i,s={},g,c){super(),this._link=i,this._hoverService=g,this._enabled=!0,this.el=(0,d.append)(t,(0,d.$)("a.monaco-link",{tabIndex:i.tabIndex??0,href:i.href},i.label)),this.hoverDelegate=s.hoverDelegate??(0,b.getDefaultHoverDelegate)("mouse"),this.setTooltip(i.title),this.el.setAttribute("role","button");const l=this._register(new k.DomEmitter(this.el,"click")),a=this._register(new k.DomEmitter(this.el,"keypress")),r=y.Event.chain(a.event,f=>f.map(h=>new I.StandardKeyboardEvent(h)).filter(h=>h.keyCode===3)),u=this._register(new k.DomEmitter(this.el,E.EventType.Tap)).event;this._register(E.Gesture.addTarget(this.el));const C=y.Event.any(l.event,r,u);this._register(C(f=>{this.enabled&&(d.EventHelper.stop(f,!0),s?.opener?s.opener(this._link.href):c.open(this._link.href,{allowCommands:!0}))})),this.enabled=!0}setTooltip(t){this.hoverDelegate.showNativeHover?this.el.title=t??"":!this.hover&&t?this.hover=this._register(this._hoverService.setupManagedHover(this.hoverDelegate,this.el,t)):this.hover&&this.hover.update(t)}};e.Link=n,e.Link=n=ke([ce(3,p.IHoverService),ce(4,_.IOpenerService)],n)}),define(ne[96],se([1,0,7]),function(oe,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.IEditorProgressService=e.Progress=e.emptyProgressRunner=e.IProgressService=void 0,e.IProgressService=(0,d.createDecorator)("progressService"),e.emptyProgressRunner=Object.freeze({total(){},worked(){},done(){}});class k{static{this.None=Object.freeze({report(){}})}constructor(E){this.callback=E}report(E){this._value=E,this.callback(this._value)}}e.Progress=k,e.IEditorProgressService=(0,d.createDecorator)("editorProgressService")}),define(ne[703],se([1,0,14,18,2,19]),function(oe,e,d,k,I,E){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.PickerQuickAccessProvider=e.TriggerAction=void 0;var y;(function(p){p[p.NO_ACTION=0]="NO_ACTION",p[p.CLOSE_PICKER=1]="CLOSE_PICKER",p[p.REFRESH_PICKER=2]="REFRESH_PICKER",p[p.REMOVE_ITEM=3]="REMOVE_ITEM"})(y||(e.TriggerAction=y={}));function m(p){const n=p;return Array.isArray(n.items)}function _(p){const n=p;return!!n.picks&&n.additionalPicks instanceof Promise}class b extends I.Disposable{constructor(n,o){super(),this.prefix=n,this.options=o}provide(n,o,t){const i=new I.DisposableStore;n.canAcceptInBackground=!!this.options?.canAcceptInBackground,n.matchOnLabel=n.matchOnDescription=n.matchOnDetail=n.sortByLabel=!1;let s;const g=i.add(new I.MutableDisposable),c=async()=>{const a=g.value=new I.DisposableStore;s?.dispose(!0),n.busy=!1,s=new k.CancellationTokenSource(o);const r=s.token;let u=n.value.substring(this.prefix.length);this.options?.shouldSkipTrimPickFilter||(u=u.trim());const C=this._getPicks(u,a,r,t),f=(v,w)=>{let S,L;if(m(v)?(S=v.items,L=v.active):S=v,S.length===0){if(w)return!1;(u.length>0||n.hideInput)&&this.options?.noResultsPick&&((0,E.isFunction)(this.options.noResultsPick)?S=[this.options.noResultsPick(u)]:S=[this.options.noResultsPick])}return n.items=S,L&&(n.activeItems=[L]),!0},h=async v=>{let w=!1,S=!1;await Promise.all([(async()=>{typeof v.mergeDelay=="number"&&(await(0,d.timeout)(v.mergeDelay),r.isCancellationRequested)||S||(w=f(v.picks,!0))})(),(async()=>{n.busy=!0;try{const L=await v.additionalPicks;if(r.isCancellationRequested)return;let D,T;m(v.picks)?(D=v.picks.items,T=v.picks.active):D=v.picks;let M,A;if(m(L)?(M=L.items,A=L.active):M=L,M.length>0||!w){let P;if(!T&&!A){const N=n.activeItems[0];N&&D.indexOf(N)!==-1&&(P=N)}f({items:[...D,...M],active:T||A||P})}}finally{r.isCancellationRequested||(n.busy=!1),S=!0}})()])};if(C!==null)if(_(C))await h(C);else if(!(C instanceof Promise))f(C);else{n.busy=!0;try{const v=await C;if(r.isCancellationRequested)return;_(v)?await h(v):f(v)}finally{r.isCancellationRequested||(n.busy=!1)}}};i.add(n.onDidChangeValue(()=>c())),c(),i.add(n.onDidAccept(a=>{if(t?.handleAccept){a.inBackground||n.hide(),t.handleAccept?.(n.activeItems[0]);return}const[r]=n.selectedItems;typeof r?.accept=="function"&&(a.inBackground||n.hide(),r.accept(n.keyMods,a))}));const l=async(a,r)=>{if(typeof r.trigger!="function")return;const u=r.buttons?.indexOf(a)??-1;if(u>=0){const C=r.trigger(u,n.keyMods),f=typeof C=="number"?C:await C;if(o.isCancellationRequested)return;switch(f){case y.NO_ACTION:break;case y.CLOSE_PICKER:n.hide();break;case y.REFRESH_PICKER:c();break;case y.REMOVE_ITEM:{const h=n.items.indexOf(r);if(h!==-1){const v=n.items.slice(),w=v.splice(h,1),S=n.activeItems.filter(D=>D!==w[0]),L=n.keepScrollPosition;n.keepScrollPosition=!0,n.items=v,S&&(n.activeItems=S),n.keepScrollPosition=L}break}}}};return i.add(n.onDidTriggerItemButton(({button:a,item:r})=>l(a,r))),i.add(n.onDidTriggerSeparatorButton(({button:a,separator:r})=>l(a,r))),i}}e.PickerQuickAccessProvider=b}),define(ne[704],se([1,0,5,260,2,111,228]),function(oe,e,d,k,I,E){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.QuickInputBox=void 0;const y=d.$;class m extends I.Disposable{constructor(b,p,n){super(),this.parent=b,this.onKeyDown=t=>d.addStandardDisposableListener(this.findInput.inputBox.inputElement,d.EventType.KEY_DOWN,t),this.onDidChange=t=>this.findInput.onDidChange(t),this.container=d.append(this.parent,y(".quick-input-box")),this.findInput=this._register(new k.FindInput(this.container,void 0,{label:"",inputBoxStyles:p,toggleStyles:n}));const o=this.findInput.inputBox.inputElement;o.role="combobox",o.ariaHasPopup="menu",o.ariaAutoComplete="list",o.ariaExpanded="true"}get value(){return this.findInput.getValue()}set value(b){this.findInput.setValue(b)}select(b=null){this.findInput.inputBox.select(b)}getSelection(){return this.findInput.inputBox.getSelection()}isSelectionAtEnd(){return this.findInput.inputBox.isSelectionAtEnd()}get placeholder(){return this.findInput.inputBox.inputElement.getAttribute("placeholder")||""}set placeholder(b){this.findInput.inputBox.setPlaceHolder(b)}get password(){return this.findInput.inputBox.inputElement.type==="password"}set password(b){this.findInput.inputBox.inputElement.type=b?"password":"text"}set enabled(b){this.findInput.inputBox.inputElement.toggleAttribute("readonly",!b)}set toggles(b){this.findInput.setAdditionalToggles(b)}setAttribute(b,p){this.findInput.inputBox.inputElement.setAttribute(b,p)}showDecoration(b){b===E.default.Ignore?this.findInput.clearMessage():this.findInput.showMessage({type:b===E.default.Info?1:b===E.default.Warning?2:3,content:""})}stylesForType(b){return this.findInput.inputBox.stylesForType(b===E.default.Info?1:b===E.default.Warning?2:3)}setFocus(){this.findInput.focus()}layout(){this.findInput.inputBox.layout()}}e.QuickInputBox=m}),define(ne[398],se([1,0,5,93,6,47,69,114,187,446,3,228]),function(oe,e,d,k,I,E,y,m,_,b,p){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.quickInputButtonToAction=i,e.renderQuickInputDescription=s;const n={},o=new _.IdGenerator("quick-input-button-icon-");function t(g){if(!g)return;let c;const l=g.dark.toString();return n[l]?c=n[l]:(c=o.nextId(),d.createCSSRule(`.${c}, .hc-light .${c}`,`background-image: ${d.asCSSUrl(g.light||g.dark)}`),d.createCSSRule(`.vs-dark .${c}, .hc-black .${c}`,`background-image: ${d.asCSSUrl(g.dark)}`),n[l]=c),c}function i(g,c,l){let a=g.iconClass||t(g.iconPath);return g.alwaysVisible&&(a=a?`${a} always-visible`:"always-visible"),{id:c,label:"",tooltip:g.tooltip||"",class:a,enabled:!0,run:l}}function s(g,c,l){d.reset(c);const a=(0,b.parseLinkedText)(g);let r=0;for(const u of a.nodes)if(typeof u=="string")c.append(...(0,m.renderLabelWithIcons)(u));else{let C=u.title;!C&&u.href.startsWith("command:")?C=(0,p.localize)(1598,"Click to execute command '{0}'",u.href.substring(8)):C||(C=u.href);const f=d.$("a",{href:u.href,title:C,tabIndex:r++},u.label);f.style.textDecoration="underline";const h=D=>{d.isEventLike(D)&&d.EventHelper.stop(D,!0),l.callback(u.href)},v=l.disposables.add(new k.DomEmitter(f,d.EventType.CLICK)).event,w=l.disposables.add(new k.DomEmitter(f,d.EventType.KEY_DOWN)).event,S=I.Event.chain(w,D=>D.filter(T=>{const M=new E.StandardKeyboardEvent(T);return M.equals(10)||M.equals(3)}));l.disposables.add(y.Gesture.addTarget(f));const L=l.disposables.add(new k.DomEmitter(f,y.EventType.Tap)).event;I.Event.any(v,L,S)(h,null,l.disposables),c.appendChild(f)}}}),define(ne[66],se([1,0,7]),function(oe,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.IQuickInputService=e.quickPickItemScorerAccessor=e.QuickPickItemScorerAccessor=e.QuickInputButtonLocation=e.QuickPickFocus=e.ItemActivation=e.QuickInputHideReason=e.NO_KEY_MODS=void 0,e.NO_KEY_MODS={ctrlCmd:!1,alt:!1};var k;(function(_){_[_.Blur=1]="Blur",_[_.Gesture=2]="Gesture",_[_.Other=3]="Other"})(k||(e.QuickInputHideReason=k={}));var I;(function(_){_[_.NONE=0]="NONE",_[_.FIRST=1]="FIRST",_[_.SECOND=2]="SECOND",_[_.LAST=3]="LAST"})(I||(e.ItemActivation=I={}));var E;(function(_){_[_.First=1]="First",_[_.Second=2]="Second",_[_.Last=3]="Last",_[_.Next=4]="Next",_[_.Previous=5]="Previous",_[_.NextPage=6]="NextPage",_[_.PreviousPage=7]="PreviousPage",_[_.NextSeparator=8]="NextSeparator",_[_.PreviousSeparator=9]="PreviousSeparator"})(E||(e.QuickPickFocus=E={}));var y;(function(_){_[_.Title=1]="Title",_[_.Inline=2]="Inline"})(y||(e.QuickInputButtonLocation=y={}));class m{constructor(b){this.options=b}}e.QuickPickItemScorerAccessor=m,e.quickPickItemScorerAccessor=new m,e.IQuickInputService=(0,d.createDecorator)("quickInputService")}),define(ne[272],se([1,0,5,47,175,13,14,26,6,2,16,111,30,3,66,398,28,118,12,228]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.QuickInputHoverDelegate=e.InputBox=e.QuickPick=e.backButton=e.endOfQuickInputBoxContext=e.EndOfQuickInputBoxContextKey=e.endOfQuickInputBoxContextKeyValue=e.QuickInputTypeContextKey=e.quickInputTypeContextKeyValue=e.inQuickInputContext=e.InQuickInputContextKey=e.inQuickInputContextKeyValue=void 0,e.inQuickInputContextKeyValue="inQuickInput",e.InQuickInputContextKey=new l.RawContextKey(e.inQuickInputContextKeyValue,!1,(0,t.localize)(1580,"Whether keyboard focus is inside the quick input control")),e.inQuickInputContext=l.ContextKeyExpr.has(e.inQuickInputContextKeyValue),e.quickInputTypeContextKeyValue="quickInputType",e.QuickInputTypeContextKey=new l.RawContextKey(e.quickInputTypeContextKeyValue,void 0,(0,t.localize)(1581,"The type of the currently visible quick input")),e.endOfQuickInputBoxContextKeyValue="cursorAtEndOfQuickInputBox",e.EndOfQuickInputBoxContextKey=new l.RawContextKey(e.endOfQuickInputBoxContextKeyValue,!1,(0,t.localize)(1582,"Whether the cursor in the quick input is at the end of the input box")),e.endOfQuickInputBoxContext=l.ContextKeyExpr.has(e.endOfQuickInputBoxContextKeyValue),e.backButton={iconClass:o.ThemeIcon.asClassName(m.Codicon.quickInputBack),tooltip:(0,t.localize)(1583,"Back"),handle:-1};class a extends b.Disposable{static{this.noPromptMessage=(0,t.localize)(1584,"Press 'Enter' to confirm your input or 'Escape' to cancel")}constructor(h){super(),this.ui=h,this._widgetUpdated=!1,this.visible=!1,this._enabled=!0,this._busy=!1,this._ignoreFocusOut=!1,this._leftButtons=[],this._rightButtons=[],this._inlineButtons=[],this.buttonsUpdated=!1,this._toggles=[],this.togglesUpdated=!1,this.noValidationMessage=a.noPromptMessage,this._severity=n.default.Ignore,this.onDidTriggerButtonEmitter=this._register(new _.Emitter),this.onDidHideEmitter=this._register(new _.Emitter),this.onWillHideEmitter=this._register(new _.Emitter),this.onDisposeEmitter=this._register(new _.Emitter),this.visibleDisposables=this._register(new b.DisposableStore),this.onDidHide=this.onDidHideEmitter.event}get title(){return this._title}set title(h){this._title=h,this.update()}get description(){return this._description}set description(h){this._description=h,this.update()}get step(){return this._steps}set step(h){this._steps=h,this.update()}get totalSteps(){return this._totalSteps}set totalSteps(h){this._totalSteps=h,this.update()}get enabled(){return this._enabled}set enabled(h){this._enabled=h,this.update()}get contextKey(){return this._contextKey}set contextKey(h){this._contextKey=h,this.update()}get busy(){return this._busy}set busy(h){this._busy=h,this.update()}get ignoreFocusOut(){return this._ignoreFocusOut}set ignoreFocusOut(h){const v=this._ignoreFocusOut!==h&&!p.isIOS;this._ignoreFocusOut=h&&!p.isIOS,v&&this.update()}get titleButtons(){return this._leftButtons.length?[...this._leftButtons,this._rightButtons]:this._rightButtons}get buttons(){return[...this._leftButtons,...this._rightButtons,...this._inlineButtons]}set buttons(h){this._leftButtons=h.filter(v=>v===e.backButton),this._rightButtons=h.filter(v=>v!==e.backButton&&v.location!==i.QuickInputButtonLocation.Inline),this._inlineButtons=h.filter(v=>v.location===i.QuickInputButtonLocation.Inline),this.buttonsUpdated=!0,this.update()}get toggles(){return this._toggles}set toggles(h){this._toggles=h??[],this.togglesUpdated=!0,this.update()}get validationMessage(){return this._validationMessage}set validationMessage(h){this._validationMessage=h,this.update()}get severity(){return this._severity}set severity(h){this._severity=h,this.update()}show(){this.visible||(this.visibleDisposables.add(this.ui.onDidTriggerButton(h=>{this.buttons.indexOf(h)!==-1&&this.onDidTriggerButtonEmitter.fire(h)})),this.ui.show(this),this.visible=!0,this._lastValidationMessage=void 0,this._lastSeverity=void 0,this.buttons.length&&(this.buttonsUpdated=!0),this.toggles.length&&(this.togglesUpdated=!0),this.update())}hide(){this.visible&&this.ui.hide()}didHide(h=i.QuickInputHideReason.Other){this.visible=!1,this.visibleDisposables.clear(),this.onDidHideEmitter.fire({reason:h})}willHide(h=i.QuickInputHideReason.Other){this.onWillHideEmitter.fire({reason:h})}update(){if(!this.visible)return;const h=this.getTitle();h&&this.ui.title.textContent!==h?this.ui.title.textContent=h:!h&&this.ui.title.innerHTML!==" "&&(this.ui.title.innerText="\xA0");const v=this.getDescription();if(this.ui.description1.textContent!==v&&(this.ui.description1.textContent=v),this.ui.description2.textContent!==v&&(this.ui.description2.textContent=v),this._widgetUpdated&&(this._widgetUpdated=!1,this._widget?d.reset(this.ui.widget,this._widget):d.reset(this.ui.widget)),this.busy&&!this.busyDelay&&(this.busyDelay=new y.TimeoutTimer,this.busyDelay.setIfNotSet(()=>{this.visible&&this.ui.progressBar.infinite()},800)),!this.busy&&this.busyDelay&&(this.ui.progressBar.stop(),this.busyDelay.cancel(),this.busyDelay=void 0),this.buttonsUpdated){this.buttonsUpdated=!1,this.ui.leftActionBar.clear();const S=this._leftButtons.map((T,M)=>(0,s.quickInputButtonToAction)(T,`id-${M}`,async()=>this.onDidTriggerButtonEmitter.fire(T)));this.ui.leftActionBar.push(S,{icon:!0,label:!1}),this.ui.rightActionBar.clear();const L=this._rightButtons.map((T,M)=>(0,s.quickInputButtonToAction)(T,`id-${M}`,async()=>this.onDidTriggerButtonEmitter.fire(T)));this.ui.rightActionBar.push(L,{icon:!0,label:!1}),this.ui.inlineActionBar.clear();const D=this._inlineButtons.map((T,M)=>(0,s.quickInputButtonToAction)(T,`id-${M}`,async()=>this.onDidTriggerButtonEmitter.fire(T)));this.ui.inlineActionBar.push(D,{icon:!0,label:!1})}if(this.togglesUpdated){this.togglesUpdated=!1;const S=this.toggles?.filter(L=>L instanceof I.Toggle)??[];this.ui.inputBox.toggles=S}this.ui.ignoreFocusOut=this.ignoreFocusOut,this.ui.setEnabled(this.enabled),this.ui.setContextKey(this.contextKey);const w=this.validationMessage||this.noValidationMessage;this._lastValidationMessage!==w&&(this._lastValidationMessage=w,d.reset(this.ui.message),(0,s.renderQuickInputDescription)(w,this.ui.message,{callback:S=>{this.ui.linkOpenerDelegate(S)},disposables:this.visibleDisposables})),this._lastSeverity!==this.severity&&(this._lastSeverity=this.severity,this.showMessageDecoration(this.severity))}getTitle(){return this.title&&this.step?`${this.title} (${this.getSteps()})`:this.title?this.title:this.step?this.getSteps():""}getDescription(){return this.description||""}getSteps(){return this.step&&this.totalSteps?(0,t.localize)(1585,"{0}/{1}",this.step,this.totalSteps):this.step?String(this.step):""}showMessageDecoration(h){if(this.ui.inputBox.showDecoration(h),h!==n.default.Ignore){const v=this.ui.inputBox.stylesForType(h);this.ui.message.style.color=v.foreground?`${v.foreground}`:"",this.ui.message.style.backgroundColor=v.background?`${v.background}`:"",this.ui.message.style.border=v.border?`1px solid ${v.border}`:"",this.ui.message.style.marginBottom="-2px"}else this.ui.message.style.color="",this.ui.message.style.backgroundColor="",this.ui.message.style.border="",this.ui.message.style.marginBottom=""}dispose(){this.hide(),this.onDisposeEmitter.fire(),super.dispose()}}class r extends a{constructor(){super(...arguments),this._value="",this.onDidChangeValueEmitter=this._register(new _.Emitter),this.onWillAcceptEmitter=this._register(new _.Emitter),this.onDidAcceptEmitter=this._register(new _.Emitter),this.onDidCustomEmitter=this._register(new _.Emitter),this._items=[],this.itemsUpdated=!1,this._canSelectMany=!1,this._canAcceptInBackground=!1,this._matchOnDescription=!1,this._matchOnDetail=!1,this._matchOnLabel=!0,this._matchOnLabelMode="fuzzy",this._sortByLabel=!0,this._keepScrollPosition=!1,this._itemActivation=i.ItemActivation.FIRST,this._activeItems=[],this.activeItemsUpdated=!1,this.activeItemsToConfirm=[],this.onDidChangeActiveEmitter=this._register(new _.Emitter),this._selectedItems=[],this.selectedItemsUpdated=!1,this.selectedItemsToConfirm=[],this.onDidChangeSelectionEmitter=this._register(new _.Emitter),this.onDidTriggerItemButtonEmitter=this._register(new _.Emitter),this.onDidTriggerSeparatorButtonEmitter=this._register(new _.Emitter),this.valueSelectionUpdated=!0,this._ok="default",this._customButton=!1,this._focusEventBufferer=new _.EventBufferer,this.type="quickPick",this.filterValue=h=>h,this.onDidChangeValue=this.onDidChangeValueEmitter.event,this.onWillAccept=this.onWillAcceptEmitter.event,this.onDidAccept=this.onDidAcceptEmitter.event,this.onDidChangeActive=this.onDidChangeActiveEmitter.event,this.onDidChangeSelection=this.onDidChangeSelectionEmitter.event,this.onDidTriggerItemButton=this.onDidTriggerItemButtonEmitter.event,this.onDidTriggerSeparatorButton=this.onDidTriggerSeparatorButtonEmitter.event}static{this.DEFAULT_ARIA_LABEL=(0,t.localize)(1586,"Type to narrow down results.")}get quickNavigate(){return this._quickNavigate}set quickNavigate(h){this._quickNavigate=h,this.update()}get value(){return this._value}set value(h){this.doSetValue(h)}doSetValue(h,v){this._value!==h&&(this._value=h,v||this.update(),this.visible&&this.ui.list.filter(this.filterValue(this._value))&&this.trySelectFirst(),this.onDidChangeValueEmitter.fire(this._value))}set ariaLabel(h){this._ariaLabel=h,this.update()}get ariaLabel(){return this._ariaLabel}get placeholder(){return this._placeholder}set placeholder(h){this._placeholder=h,this.update()}get items(){return this._items}get scrollTop(){return this.ui.list.scrollTop}set scrollTop(h){this.ui.list.scrollTop=h}set items(h){this._items=h,this.itemsUpdated=!0,this.update()}get canSelectMany(){return this._canSelectMany}set canSelectMany(h){this._canSelectMany=h,this.update()}get canAcceptInBackground(){return this._canAcceptInBackground}set canAcceptInBackground(h){this._canAcceptInBackground=h}get matchOnDescription(){return this._matchOnDescription}set matchOnDescription(h){this._matchOnDescription=h,this.update()}get matchOnDetail(){return this._matchOnDetail}set matchOnDetail(h){this._matchOnDetail=h,this.update()}get matchOnLabel(){return this._matchOnLabel}set matchOnLabel(h){this._matchOnLabel=h,this.update()}get matchOnLabelMode(){return this._matchOnLabelMode}set matchOnLabelMode(h){this._matchOnLabelMode=h,this.update()}get sortByLabel(){return this._sortByLabel}set sortByLabel(h){this._sortByLabel=h,this.update()}get keepScrollPosition(){return this._keepScrollPosition}set keepScrollPosition(h){this._keepScrollPosition=h}get itemActivation(){return this._itemActivation}set itemActivation(h){this._itemActivation=h}get activeItems(){return this._activeItems}set activeItems(h){this._activeItems=h,this.activeItemsUpdated=!0,this.update()}get selectedItems(){return this._selectedItems}set selectedItems(h){this._selectedItems=h,this.selectedItemsUpdated=!0,this.update()}get keyMods(){return this._quickNavigate?i.NO_KEY_MODS:this.ui.keyMods}get valueSelection(){const h=this.ui.inputBox.getSelection();if(h)return[h.start,h.end]}set valueSelection(h){this._valueSelection=h,this.valueSelectionUpdated=!0,this.update()}get customButton(){return this._customButton}set customButton(h){this._customButton=h,this.update()}get customLabel(){return this._customButtonLabel}set customLabel(h){this._customButtonLabel=h,this.update()}get customHover(){return this._customButtonHover}set customHover(h){this._customButtonHover=h,this.update()}get ok(){return this._ok}set ok(h){this._ok=h,this.update()}get hideInput(){return!!this._hideInput}set hideInput(h){this._hideInput=h,this.update()}trySelectFirst(){this.canSelectMany||this.ui.list.focus(i.QuickPickFocus.First)}show(){this.visible||(this.visibleDisposables.add(this.ui.inputBox.onDidChange(h=>{this.doSetValue(h,!0)})),this.visibleDisposables.add(this.ui.onDidAccept(()=>{this.canSelectMany?this.ui.list.getCheckedElements().length||(this._selectedItems=[],this.onDidChangeSelectionEmitter.fire(this.selectedItems)):this.activeItems[0]&&(this._selectedItems=[this.activeItems[0]],this.onDidChangeSelectionEmitter.fire(this.selectedItems)),this.handleAccept(!1)})),this.visibleDisposables.add(this.ui.onDidCustom(()=>{this.onDidCustomEmitter.fire()})),this.visibleDisposables.add(this._focusEventBufferer.wrapEvent(this.ui.list.onDidChangeFocus,(h,v)=>v)(h=>{this.activeItemsUpdated||this.activeItemsToConfirm!==this._activeItems&&(0,E.equals)(h,this._activeItems,(v,w)=>v===w)||(this._activeItems=h,this.onDidChangeActiveEmitter.fire(h))})),this.visibleDisposables.add(this.ui.list.onDidChangeSelection(({items:h,event:v})=>{if(this.canSelectMany){h.length&&this.ui.list.setSelectedElements([]);return}this.selectedItemsToConfirm!==this._selectedItems&&(0,E.equals)(h,this._selectedItems,(w,S)=>w===S)||(this._selectedItems=h,this.onDidChangeSelectionEmitter.fire(h),h.length&&this.handleAccept(d.isMouseEvent(v)&&v.button===1))})),this.visibleDisposables.add(this.ui.list.onChangedCheckedElements(h=>{!this.canSelectMany||!this.visible||this.selectedItemsToConfirm!==this._selectedItems&&(0,E.equals)(h,this._selectedItems,(v,w)=>v===w)||(this._selectedItems=h,this.onDidChangeSelectionEmitter.fire(h))})),this.visibleDisposables.add(this.ui.list.onButtonTriggered(h=>this.onDidTriggerItemButtonEmitter.fire(h))),this.visibleDisposables.add(this.ui.list.onSeparatorButtonTriggered(h=>this.onDidTriggerSeparatorButtonEmitter.fire(h))),this.visibleDisposables.add(this.registerQuickNavigation()),this.valueSelectionUpdated=!0),super.show()}handleAccept(h){let v=!1;this.onWillAcceptEmitter.fire({veto:()=>v=!0}),v||this.onDidAcceptEmitter.fire({inBackground:h})}registerQuickNavigation(){return d.addDisposableListener(this.ui.container,d.EventType.KEY_UP,h=>{if(this.canSelectMany||!this._quickNavigate)return;const v=new k.StandardKeyboardEvent(h),w=v.keyCode;this._quickNavigate.keybindings.some(D=>{const T=D.getChords();return T.length>1?!1:T[0].shiftKey&&w===4?!(v.ctrlKey||v.altKey||v.metaKey):!!(T[0].altKey&&w===6||T[0].ctrlKey&&w===5||T[0].metaKey&&w===57)})&&(this.activeItems[0]&&(this._selectedItems=[this.activeItems[0]],this.onDidChangeSelectionEmitter.fire(this.selectedItems),this.handleAccept(!1)),this._quickNavigate=void 0)})}update(){if(!this.visible)return;const h=this.keepScrollPosition?this.scrollTop:0,v=!!this.description,w={title:!!this.title||!!this.step||!!this.titleButtons.length,description:v,checkAll:this.canSelectMany&&!this._hideCheckAll,checkBox:this.canSelectMany,inputBox:!this._hideInput,progressBar:!this._hideInput||v,visibleCount:!0,count:this.canSelectMany&&!this._hideCountBadge,ok:this.ok==="default"?this.canSelectMany:this.ok,list:!0,message:!!this.validationMessage,customButton:this.customButton};this.ui.setVisibilities(w),super.update(),this.ui.inputBox.value!==this.value&&(this.ui.inputBox.value=this.value),this.valueSelectionUpdated&&(this.valueSelectionUpdated=!1,this.ui.inputBox.select(this._valueSelection&&{start:this._valueSelection[0],end:this._valueSelection[1]})),this.ui.inputBox.placeholder!==(this.placeholder||"")&&(this.ui.inputBox.placeholder=this.placeholder||"");let S=this.ariaLabel;!S&&w.inputBox&&(S=this.placeholder||r.DEFAULT_ARIA_LABEL,this.title&&(S+=` - ${this.title}`)),this.ui.list.ariaLabel!==S&&(this.ui.list.ariaLabel=S??null),this.ui.list.matchOnDescription=this.matchOnDescription,this.ui.list.matchOnDetail=this.matchOnDetail,this.ui.list.matchOnLabel=this.matchOnLabel,this.ui.list.matchOnLabelMode=this.matchOnLabelMode,this.ui.list.sortByLabel=this.sortByLabel,this.itemsUpdated&&(this.itemsUpdated=!1,this._focusEventBufferer.bufferEvents(()=>{switch(this.ui.list.setElements(this.items),this.ui.list.shouldLoop=!this.canSelectMany,this.ui.list.filter(this.filterValue(this.ui.inputBox.value)),this._itemActivation){case i.ItemActivation.NONE:this._itemActivation=i.ItemActivation.FIRST;break;case i.ItemActivation.SECOND:this.ui.list.focus(i.QuickPickFocus.Second),this._itemActivation=i.ItemActivation.FIRST;break;case i.ItemActivation.LAST:this.ui.list.focus(i.QuickPickFocus.Last),this._itemActivation=i.ItemActivation.FIRST;break;default:this.trySelectFirst();break}})),this.ui.container.classList.contains("show-checkboxes")!==!!this.canSelectMany&&(this.canSelectMany?this.ui.list.clearFocus():this.trySelectFirst()),this.activeItemsUpdated&&(this.activeItemsUpdated=!1,this.activeItemsToConfirm=this._activeItems,this.ui.list.setFocusedElements(this.activeItems),this.activeItemsToConfirm===this._activeItems&&(this.activeItemsToConfirm=null)),this.selectedItemsUpdated&&(this.selectedItemsUpdated=!1,this.selectedItemsToConfirm=this._selectedItems,this.canSelectMany?this.ui.list.setCheckedElements(this.selectedItems):this.ui.list.setSelectedElements(this.selectedItems),this.selectedItemsToConfirm===this._selectedItems&&(this.selectedItemsToConfirm=null)),this.ui.customButton.label=this.customLabel||"",this.ui.customButton.element.title=this.customHover||"",w.inputBox||(this.ui.list.domFocus(),this.canSelectMany&&this.ui.list.focus(i.QuickPickFocus.First)),this.keepScrollPosition&&(this.scrollTop=h)}focus(h){this.ui.list.focus(h),this.canSelectMany&&this.ui.list.domFocus()}accept(h){h&&!this._canAcceptInBackground||this.activeItems[0]&&(this._selectedItems=[this.activeItems[0]],this.onDidChangeSelectionEmitter.fire(this.selectedItems),this.handleAccept(h??!1))}}e.QuickPick=r;class u extends a{constructor(){super(...arguments),this._value="",this.valueSelectionUpdated=!0,this._password=!1,this.onDidValueChangeEmitter=this._register(new _.Emitter),this.onDidAcceptEmitter=this._register(new _.Emitter),this.type="inputBox",this.onDidChangeValue=this.onDidValueChangeEmitter.event,this.onDidAccept=this.onDidAcceptEmitter.event}get value(){return this._value}set value(h){this._value=h||"",this.update()}get placeholder(){return this._placeholder}set placeholder(h){this._placeholder=h,this.update()}get password(){return this._password}set password(h){this._password=h,this.update()}show(){this.visible||(this.visibleDisposables.add(this.ui.inputBox.onDidChange(h=>{h!==this.value&&(this._value=h,this.onDidValueChangeEmitter.fire(h))})),this.visibleDisposables.add(this.ui.onDidAccept(()=>this.onDidAcceptEmitter.fire())),this.valueSelectionUpdated=!0),super.show()}update(){if(!this.visible)return;this.ui.container.classList.remove("hidden-input");const h={title:!!this.title||!!this.step||!!this.titleButtons.length,description:!!this.description||!!this.step,inputBox:!0,message:!0,progressBar:!0};this.ui.setVisibilities(h),super.update(),this.ui.inputBox.value!==this.value&&(this.ui.inputBox.value=this.value),this.valueSelectionUpdated&&(this.valueSelectionUpdated=!1,this.ui.inputBox.select(this._valueSelection&&{start:this._valueSelection[0],end:this._valueSelection[1]})),this.ui.inputBox.placeholder!==(this.placeholder||"")&&(this.ui.inputBox.placeholder=this.placeholder||""),this.ui.inputBox.password!==this.password&&(this.ui.inputBox.password=this.password)}}e.InputBox=u;let C=class extends c.WorkbenchHoverDelegate{constructor(h,v){super("element",!1,w=>this.getOverrideOptions(w),h,v)}getOverrideOptions(h){const v=(d.isHTMLElement(h.content)?h.content.textContent??"":typeof h.content=="string"?h.content:h.content.value).includes(` +`);return{persistence:{hideOnKeyDown:!1},appearance:{showHoverHint:v,skipFadeInAnimation:!0}}}};e.QuickInputHoverDelegate=C,e.QuickInputHoverDelegate=C=ke([ce(0,g.IConfigurationService),ce(1,c.IHoverService)],C)}),define(ne[38],se([1,0,90,19]),function(oe,e,d,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Registry=void 0;class I{constructor(){this.data=new Map}add(y,m){d.ok(k.isString(y)),d.ok(k.isObject(m)),d.ok(!this.data.has(y),"There is already an extension with this id"),this.data.set(y,m)}as(y){return this.data.get(y)||null}}e.Registry=new I}),define(ne[399],se([1,0,38]),function(oe,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.LocalSelectionTransfer=e.Extensions=e.CodeDataTransfers=void 0,e.CodeDataTransfers={EDITORS:"CodeEditors",FILES:"CodeFiles"};class k{}e.Extensions={DragAndDropContribution:"workbench.contributions.dragAndDrop"},d.Registry.add(e.Extensions.DragAndDropContribution,new k);class I{static{this.INSTANCE=new I}constructor(){}static getInstance(){return I.INSTANCE}hasData(y){return y&&y===this.proto}getData(y){if(this.hasData(y))return this.data}}e.LocalSelectionTransfer=I}),define(ne[400],se([1,0,224,194,128,22,399]),function(oe,e,d,k,I,E,y){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.toVSDataTransfer=m,e.toExternalVSDataTransfer=p;function m(n){const o=new k.VSDataTransfer;for(const t of n.items){const i=t.type;if(t.kind==="string"){const s=new Promise(g=>t.getAsString(g));o.append(i,(0,k.createStringDataTransferItem)(s))}else if(t.kind==="file"){const s=t.getAsFile();s&&o.append(i,_(s))}}return o}function _(n){const o=n.path?E.URI.parse(n.path):void 0;return(0,k.createFileDataTransferItem)(n.name,o,async()=>new Uint8Array(await n.arrayBuffer()))}const b=Object.freeze([y.CodeDataTransfers.EDITORS,y.CodeDataTransfers.FILES,d.DataTransfers.RESOURCES,d.DataTransfers.INTERNAL_URI_LIST]);function p(n,o=!1){const t=m(n),i=t.get(d.DataTransfers.INTERNAL_URI_LIST);if(i)t.replace(I.Mimes.uriList,i);else if(o||!t.has(I.Mimes.uriList)){const s=[];for(const g of n.items){const c=g.getAsFile();if(c){const l=c.path;try{l?s.push(E.URI.file(l).toString()):s.push(E.URI.parse(c.name,!0).toString())}catch{}}}s.length&&t.replace(I.Mimes.uriList,(0,k.createStringDataTransferItem)(k.UriList.create(s)))}for(const s of b)t.delete(s);return t}}),define(ne[273],se([1,0,6,38]),function(oe,e,d,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Extensions=void 0,e.Extensions={JSONContribution:"base.contributions.json"};function I(m){return m.length>0&&m.charAt(m.length-1)==="#"?m.substring(0,m.length-1):m}class E{constructor(){this._onDidChangeSchema=new d.Emitter,this.schemasById={}}registerSchema(_,b){this.schemasById[I(_)]=b,this._onDidChangeSchema.fire(_)}notifySchemaChanged(_){this._onDidChangeSchema.fire(_)}}const y=new E;k.Registry.add(e.Extensions.JSONContribution,y)}),define(ne[109],se([1,0,13,6,19,3,28,273,38]),function(oe,e,d,k,I,E,y,m,_){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OVERRIDE_PROPERTY_REGEX=e.OVERRIDE_PROPERTY_PATTERN=e.resourceLanguageSettingsSchemaId=e.resourceSettings=e.windowSettings=e.machineOverridableSettings=e.machineSettings=e.applicationSettings=e.allSettings=e.Extensions=void 0,e.overrideIdentifiersFromKey=t,e.getDefaultValue=i,e.validateProperty=g,e.Extensions={Configuration:"base.contributions.configuration"},e.allSettings={properties:{},patternProperties:{}},e.applicationSettings={properties:{},patternProperties:{}},e.machineSettings={properties:{},patternProperties:{}},e.machineOverridableSettings={properties:{},patternProperties:{}},e.windowSettings={properties:{},patternProperties:{}},e.resourceSettings={properties:{},patternProperties:{}},e.resourceLanguageSettingsSchemaId="vscode://schemas/settings/resourceLanguage";const b=_.Registry.as(m.Extensions.JSONContribution);class p{constructor(){this.registeredConfigurationDefaults=[],this.overrideIdentifiers=new Set,this._onDidSchemaChange=new k.Emitter,this._onDidUpdateConfiguration=new k.Emitter,this.configurationDefaultsOverrides=new Map,this.defaultLanguageConfigurationOverridesNode={id:"defaultOverrides",title:E.localize(1503,"Default Language Configuration Overrides"),properties:{}},this.configurationContributors=[this.defaultLanguageConfigurationOverridesNode],this.resourceLanguageSettingsSchema={properties:{},patternProperties:{},additionalProperties:!0,allowTrailingCommas:!0,allowComments:!0},this.configurationProperties={},this.policyConfigurations=new Map,this.excludedConfigurationProperties={},b.registerSchema(e.resourceLanguageSettingsSchemaId,this.resourceLanguageSettingsSchema),this.registerOverridePropertyPatternKey()}registerConfiguration(l,a=!0){this.registerConfigurations([l],a)}registerConfigurations(l,a=!0){const r=new Set;this.doRegisterConfigurations(l,a,r),b.registerSchema(e.resourceLanguageSettingsSchemaId,this.resourceLanguageSettingsSchema),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire({properties:r})}registerDefaultConfigurations(l){const a=new Set;this.doRegisterDefaultConfigurations(l,a),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire({properties:a,defaultsOverrides:!0})}doRegisterDefaultConfigurations(l,a){this.registeredConfigurationDefaults.push(...l);const r=[];for(const{overrides:u,source:C}of l)for(const f in u){a.add(f);const h=this.configurationDefaultsOverrides.get(f)??this.configurationDefaultsOverrides.set(f,{configurationDefaultOverrides:[]}).get(f),v=u[f];if(h.configurationDefaultOverrides.push({value:v,source:C}),e.OVERRIDE_PROPERTY_REGEX.test(f)){const w=this.mergeDefaultConfigurationsForOverrideIdentifier(f,v,C,h.configurationDefaultOverrideValue);if(!w)continue;h.configurationDefaultOverrideValue=w,this.updateDefaultOverrideProperty(f,w,C),r.push(...t(f))}else{const w=this.mergeDefaultConfigurationsForConfigurationProperty(f,v,C,h.configurationDefaultOverrideValue);if(!w)continue;h.configurationDefaultOverrideValue=w;const S=this.configurationProperties[f];S&&(this.updatePropertyDefaultValue(f,S),this.updateSchema(f,S))}}this.doRegisterOverrideIdentifiers(r)}updateDefaultOverrideProperty(l,a,r){const u={type:"object",default:a.value,description:E.localize(1504,"Configure settings to be overridden for the {0} language.",(0,y.getLanguageTagSettingPlainKey)(l)),$ref:e.resourceLanguageSettingsSchemaId,defaultDefaultValue:a.value,source:r,defaultValueSource:r};this.configurationProperties[l]=u,this.defaultLanguageConfigurationOverridesNode.properties[l]=u}mergeDefaultConfigurationsForOverrideIdentifier(l,a,r,u){const C=u?.value||{},f=u?.source??new Map;if(!(f instanceof Map)){console.error("objectConfigurationSources is not a Map");return}for(const h of Object.keys(a)){const v=a[h];if(I.isObject(v)&&(I.isUndefined(C[h])||I.isObject(C[h]))){if(C[h]={...C[h]??{},...v},r)for(const S in v)f.set(`${h}.${S}`,r)}else C[h]=v,r?f.set(h,r):f.delete(h)}return{value:C,source:f}}mergeDefaultConfigurationsForConfigurationProperty(l,a,r,u){const C=this.configurationProperties[l],f=u?.value??C?.defaultDefaultValue;let h=r;if(I.isObject(a)&&(C!==void 0&&C.type==="object"||C===void 0&&(I.isUndefined(f)||I.isObject(f)))){if(h=u?.source??new Map,!(h instanceof Map)){console.error("defaultValueSource is not a Map");return}for(const w in a)r&&h.set(`${l}.${w}`,r);a={...I.isObject(f)?f:{},...a}}return{value:a,source:h}}registerOverrideIdentifiers(l){this.doRegisterOverrideIdentifiers(l),this._onDidSchemaChange.fire()}doRegisterOverrideIdentifiers(l){for(const a of l)this.overrideIdentifiers.add(a);this.updateOverridePropertyPatternKey()}doRegisterConfigurations(l,a,r){l.forEach(u=>{this.validateAndRegisterProperties(u,a,u.extensionInfo,u.restrictedProperties,void 0,r),this.configurationContributors.push(u),this.registerJSONConfiguration(u)})}validateAndRegisterProperties(l,a=!0,r,u,C=3,f){C=I.isUndefinedOrNull(l.scope)?C:l.scope;const h=l.properties;if(h)for(const w in h){const S=h[w];if(a&&g(w,S)){delete h[w];continue}if(S.source=r,S.defaultDefaultValue=h[w].default,this.updatePropertyDefaultValue(w,S),e.OVERRIDE_PROPERTY_REGEX.test(w)?S.scope=void 0:(S.scope=I.isUndefinedOrNull(S.scope)?C:S.scope,S.restricted=I.isUndefinedOrNull(S.restricted)?!!u?.includes(w):S.restricted),h[w].hasOwnProperty("included")&&!h[w].included){this.excludedConfigurationProperties[w]=h[w],delete h[w];continue}else this.configurationProperties[w]=h[w],h[w].policy?.name&&this.policyConfigurations.set(h[w].policy.name,w);!h[w].deprecationMessage&&h[w].markdownDeprecationMessage&&(h[w].deprecationMessage=h[w].markdownDeprecationMessage),f.add(w)}const v=l.allOf;if(v)for(const w of v)this.validateAndRegisterProperties(w,a,r,u,C,f)}getConfigurationProperties(){return this.configurationProperties}getPolicyConfigurations(){return this.policyConfigurations}registerJSONConfiguration(l){const a=r=>{const u=r.properties;if(u)for(const f in u)this.updateSchema(f,u[f]);r.allOf?.forEach(a)};a(l)}updateSchema(l,a){switch(e.allSettings.properties[l]=a,a.scope){case 1:e.applicationSettings.properties[l]=a;break;case 2:e.machineSettings.properties[l]=a;break;case 6:e.machineOverridableSettings.properties[l]=a;break;case 3:e.windowSettings.properties[l]=a;break;case 4:e.resourceSettings.properties[l]=a;break;case 5:e.resourceSettings.properties[l]=a,this.resourceLanguageSettingsSchema.properties[l]=a;break}}updateOverridePropertyPatternKey(){for(const l of this.overrideIdentifiers.values()){const a=`[${l}]`,r={type:"object",description:E.localize(1505,"Configure editor settings to be overridden for a language."),errorMessage:E.localize(1506,"This setting does not support per-language configuration."),$ref:e.resourceLanguageSettingsSchemaId};this.updatePropertyDefaultValue(a,r),e.allSettings.properties[a]=r,e.applicationSettings.properties[a]=r,e.machineSettings.properties[a]=r,e.machineOverridableSettings.properties[a]=r,e.windowSettings.properties[a]=r,e.resourceSettings.properties[a]=r}}registerOverridePropertyPatternKey(){const l={type:"object",description:E.localize(1507,"Configure editor settings to be overridden for a language."),errorMessage:E.localize(1508,"This setting does not support per-language configuration."),$ref:e.resourceLanguageSettingsSchemaId};e.allSettings.patternProperties[e.OVERRIDE_PROPERTY_PATTERN]=l,e.applicationSettings.patternProperties[e.OVERRIDE_PROPERTY_PATTERN]=l,e.machineSettings.patternProperties[e.OVERRIDE_PROPERTY_PATTERN]=l,e.machineOverridableSettings.patternProperties[e.OVERRIDE_PROPERTY_PATTERN]=l,e.windowSettings.patternProperties[e.OVERRIDE_PROPERTY_PATTERN]=l,e.resourceSettings.patternProperties[e.OVERRIDE_PROPERTY_PATTERN]=l,this._onDidSchemaChange.fire()}updatePropertyDefaultValue(l,a){const r=this.configurationDefaultsOverrides.get(l)?.configurationDefaultOverrideValue;let u,C;r&&(!a.disallowConfigurationDefault||!r.source)&&(u=r.value,C=r.source),I.isUndefined(u)&&(u=a.defaultDefaultValue,C=void 0),I.isUndefined(u)&&(u=i(a.type)),a.default=u,a.defaultValueSource=C}}const n="\\[([^\\]]+)\\]",o=new RegExp(n,"g");e.OVERRIDE_PROPERTY_PATTERN=`^(${n})+$`,e.OVERRIDE_PROPERTY_REGEX=new RegExp(e.OVERRIDE_PROPERTY_PATTERN);function t(c){const l=[];if(e.OVERRIDE_PROPERTY_REGEX.test(c)){let a=o.exec(c);for(;a?.length;){const r=a[1].trim();r&&l.push(r),a=o.exec(c)}}return(0,d.distinct)(l)}function i(c){switch(Array.isArray(c)?c[0]:c){case"boolean":return!1;case"integer":case"number":return 0;case"string":return"";case"array":return[];case"object":return{};default:return null}}const s=new p;_.Registry.add(e.Extensions.Configuration,s);function g(c,l){return c.trim()?e.OVERRIDE_PROPERTY_REGEX.test(c)?E.localize(1510,"Cannot register '{0}'. This matches property pattern '\\\\[.*\\\\]$' for describing language specific editor settings. Use 'configurationDefaults' contribution.",c):s.getConfigurationProperties()[c]!==void 0?E.localize(1511,"Cannot register '{0}'. This property is already registered.",c):l.policy?.name&&s.getPolicyConfigurations().get(l.policy?.name)!==void 0?E.localize(1512,"Cannot register '{0}'. The associated policy {1} is already registered with {2}.",c,l.policy?.name,s.getPolicyConfigurations().get(l.policy?.name)):null:E.localize(1509,"Cannot register an empty property")}}),define(ne[274],se([1,0,308,37,197,3,109,38]),function(oe,e,d,k,I,E,y,m){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.editorConfigurationBaseNode=void 0,e.isEditorConfigurationKey=o,e.isDiffEditorConfigurationKey=t,e.editorConfigurationBaseNode=Object.freeze({id:"editor",order:5,type:"object",title:E.localize(133,"Editor"),scope:5});const _={...e.editorConfigurationBaseNode,properties:{"editor.tabSize":{type:"number",default:I.EDITOR_MODEL_DEFAULTS.tabSize,minimum:1,markdownDescription:E.localize(134,"The number of spaces a tab is equal to. This setting is overridden based on the file contents when {0} is on.","`#editor.detectIndentation#`")},"editor.indentSize":{anyOf:[{type:"string",enum:["tabSize"]},{type:"number",minimum:1}],default:"tabSize",markdownDescription:E.localize(135,'The number of spaces used for indentation or `"tabSize"` to use the value from `#editor.tabSize#`. This setting is overridden based on the file contents when `#editor.detectIndentation#` is on.')},"editor.insertSpaces":{type:"boolean",default:I.EDITOR_MODEL_DEFAULTS.insertSpaces,markdownDescription:E.localize(136,"Insert spaces when pressing `Tab`. This setting is overridden based on the file contents when {0} is on.","`#editor.detectIndentation#`")},"editor.detectIndentation":{type:"boolean",default:I.EDITOR_MODEL_DEFAULTS.detectIndentation,markdownDescription:E.localize(137,"Controls whether {0} and {1} will be automatically detected when a file is opened based on the file contents.","`#editor.tabSize#`","`#editor.insertSpaces#`")},"editor.trimAutoWhitespace":{type:"boolean",default:I.EDITOR_MODEL_DEFAULTS.trimAutoWhitespace,description:E.localize(138,"Remove trailing auto inserted whitespace.")},"editor.largeFileOptimizations":{type:"boolean",default:I.EDITOR_MODEL_DEFAULTS.largeFileOptimizations,description:E.localize(139,"Special handling for large files to disable certain memory intensive features.")},"editor.wordBasedSuggestions":{enum:["off","currentDocument","matchingDocuments","allDocuments"],default:"matchingDocuments",enumDescriptions:[E.localize(140,"Turn off Word Based Suggestions."),E.localize(141,"Only suggest words from the active document."),E.localize(142,"Suggest words from all open documents of the same language."),E.localize(143,"Suggest words from all open documents.")],description:E.localize(144,"Controls whether completions should be computed based on words in the document and from which documents they are computed.")},"editor.semanticHighlighting.enabled":{enum:[!0,!1,"configuredByTheme"],enumDescriptions:[E.localize(145,"Semantic highlighting enabled for all color themes."),E.localize(146,"Semantic highlighting disabled for all color themes."),E.localize(147,"Semantic highlighting is configured by the current color theme's `semanticHighlighting` setting.")],default:"configuredByTheme",description:E.localize(148,"Controls whether the semanticHighlighting is shown for the languages that support it.")},"editor.stablePeek":{type:"boolean",default:!1,markdownDescription:E.localize(149,"Keep peek editors open even when double-clicking their content or when hitting `Escape`.")},"editor.maxTokenizationLineLength":{type:"integer",default:2e4,description:E.localize(150,"Lines above this length will not be tokenized for performance reasons")},"editor.experimental.asyncTokenization":{type:"boolean",default:!0,description:E.localize(151,"Controls whether the tokenization should happen asynchronously on a web worker."),tags:["experimental"]},"editor.experimental.asyncTokenizationLogging":{type:"boolean",default:!1,description:E.localize(152,"Controls whether async tokenization should be logged. For debugging only.")},"editor.experimental.asyncTokenizationVerification":{type:"boolean",default:!1,description:E.localize(153,"Controls whether async tokenization should be verified against legacy background tokenization. Might slow down tokenization. For debugging only."),tags:["experimental"]},"editor.experimental.treeSitterTelemetry":{type:"boolean",default:!1,markdownDescription:E.localize(154,"Controls whether tree sitter parsing should be turned on and telemetry collected. Setting `editor.experimental.preferTreeSitter` for specific languages will take precedence."),tags:["experimental"]},"editor.language.brackets":{type:["array","null"],default:null,description:E.localize(155,"Defines the bracket symbols that increase or decrease the indentation."),items:{type:"array",items:[{type:"string",description:E.localize(156,"The opening bracket character or string sequence.")},{type:"string",description:E.localize(157,"The closing bracket character or string sequence.")}]}},"editor.language.colorizedBracketPairs":{type:["array","null"],default:null,description:E.localize(158,"Defines the bracket pairs that are colorized by their nesting level if bracket pair colorization is enabled."),items:{type:"array",items:[{type:"string",description:E.localize(159,"The opening bracket character or string sequence.")},{type:"string",description:E.localize(160,"The closing bracket character or string sequence.")}]}},"diffEditor.maxComputationTime":{type:"number",default:d.diffEditorDefaultOptions.maxComputationTime,description:E.localize(161,"Timeout in milliseconds after which diff computation is cancelled. Use 0 for no timeout.")},"diffEditor.maxFileSize":{type:"number",default:d.diffEditorDefaultOptions.maxFileSize,description:E.localize(162,"Maximum file size in MB for which to compute diffs. Use 0 for no limit.")},"diffEditor.renderSideBySide":{type:"boolean",default:d.diffEditorDefaultOptions.renderSideBySide,description:E.localize(163,"Controls whether the diff editor shows the diff side by side or inline.")},"diffEditor.renderSideBySideInlineBreakpoint":{type:"number",default:d.diffEditorDefaultOptions.renderSideBySideInlineBreakpoint,description:E.localize(164,"If the diff editor width is smaller than this value, the inline view is used.")},"diffEditor.useInlineViewWhenSpaceIsLimited":{type:"boolean",default:d.diffEditorDefaultOptions.useInlineViewWhenSpaceIsLimited,description:E.localize(165,"If enabled and the editor width is too small, the inline view is used.")},"diffEditor.renderMarginRevertIcon":{type:"boolean",default:d.diffEditorDefaultOptions.renderMarginRevertIcon,description:E.localize(166,"When enabled, the diff editor shows arrows in its glyph margin to revert changes.")},"diffEditor.renderGutterMenu":{type:"boolean",default:d.diffEditorDefaultOptions.renderGutterMenu,description:E.localize(167,"When enabled, the diff editor shows a special gutter for revert and stage actions.")},"diffEditor.ignoreTrimWhitespace":{type:"boolean",default:d.diffEditorDefaultOptions.ignoreTrimWhitespace,description:E.localize(168,"When enabled, the diff editor ignores changes in leading or trailing whitespace.")},"diffEditor.renderIndicators":{type:"boolean",default:d.diffEditorDefaultOptions.renderIndicators,description:E.localize(169,"Controls whether the diff editor shows +/- indicators for added/removed changes.")},"diffEditor.codeLens":{type:"boolean",default:d.diffEditorDefaultOptions.diffCodeLens,description:E.localize(170,"Controls whether the editor shows CodeLens.")},"diffEditor.wordWrap":{type:"string",enum:["off","on","inherit"],default:d.diffEditorDefaultOptions.diffWordWrap,markdownEnumDescriptions:[E.localize(171,"Lines will never wrap."),E.localize(172,"Lines will wrap at the viewport width."),E.localize(173,"Lines will wrap according to the {0} setting.","`#editor.wordWrap#`")]},"diffEditor.diffAlgorithm":{type:"string",enum:["legacy","advanced"],default:d.diffEditorDefaultOptions.diffAlgorithm,markdownEnumDescriptions:[E.localize(174,"Uses the legacy diffing algorithm."),E.localize(175,"Uses the advanced diffing algorithm.")],tags:["experimental"]},"diffEditor.hideUnchangedRegions.enabled":{type:"boolean",default:d.diffEditorDefaultOptions.hideUnchangedRegions.enabled,markdownDescription:E.localize(176,"Controls whether the diff editor shows unchanged regions.")},"diffEditor.hideUnchangedRegions.revealLineCount":{type:"integer",default:d.diffEditorDefaultOptions.hideUnchangedRegions.revealLineCount,markdownDescription:E.localize(177,"Controls how many lines are used for unchanged regions."),minimum:1},"diffEditor.hideUnchangedRegions.minimumLineCount":{type:"integer",default:d.diffEditorDefaultOptions.hideUnchangedRegions.minimumLineCount,markdownDescription:E.localize(178,"Controls how many lines are used as a minimum for unchanged regions."),minimum:1},"diffEditor.hideUnchangedRegions.contextLineCount":{type:"integer",default:d.diffEditorDefaultOptions.hideUnchangedRegions.contextLineCount,markdownDescription:E.localize(179,"Controls how many lines are used as context when comparing unchanged regions."),minimum:1},"diffEditor.experimental.showMoves":{type:"boolean",default:d.diffEditorDefaultOptions.experimental.showMoves,markdownDescription:E.localize(180,"Controls whether the diff editor should show detected code moves.")},"diffEditor.experimental.showEmptyDecorations":{type:"boolean",default:d.diffEditorDefaultOptions.experimental.showEmptyDecorations,description:E.localize(181,"Controls whether the diff editor shows empty decorations to see where characters got inserted or deleted.")},"diffEditor.experimental.useTrueInlineView":{type:"boolean",default:d.diffEditorDefaultOptions.experimental.useTrueInlineView,description:E.localize(182,"If enabled and the editor uses the inline view, word changes are rendered inline.")}}};function b(s){return typeof s.type<"u"||typeof s.anyOf<"u"}for(const s of k.editorOptionsRegistry){const g=s.schema;if(typeof g<"u")if(b(g))_.properties[`editor.${s.name}`]=g;else for(const c in g)Object.hasOwnProperty.call(g,c)&&(_.properties[c]=g[c])}let p=null;function n(){return p===null&&(p=Object.create(null),Object.keys(_.properties).forEach(s=>{p[s]=!0})),p}function o(s){return n()[`editor.${s}`]||!1}function t(s){return n()[`diffEditor.${s}`]||!1}m.Registry.as(y.Extensions.Configuration).registerConfiguration(_)}),define(ne[70],se([1,0,3,6,38,128,109]),function(oe,e,d,k,I,E,y){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.PLAINTEXT_EXTENSION=e.PLAINTEXT_LANGUAGE_ID=e.ModesRegistry=e.EditorModesRegistry=e.Extensions=void 0,e.Extensions={ModesRegistry:"editor.modesRegistry"};class m{constructor(){this._onDidChangeLanguages=new k.Emitter,this.onDidChangeLanguages=this._onDidChangeLanguages.event,this._languages=[]}registerLanguage(b){return this._languages.push(b),this._onDidChangeLanguages.fire(void 0),{dispose:()=>{for(let p=0,n=this._languages.length;p{}};const r=new y.DisposableStore,u=r.add((0,d.renderMarkdown)(c,{...this._getRenderOptions(c,r),...l},a));return u.element.classList.add("rendered-markdown"),{element:u.element,dispose:()=>r.dispose()}}_getRenderOptions(c,l){return{codeBlockRenderer:async(a,r)=>{let u;a?u=this._languageService.getLanguageIdByLanguageName(a):this._options.editor&&(u=this._options.editor.getModel()?.getLanguageId()),u||(u=b.PLAINTEXT_LANGUAGE_ID);const C=await(0,p.tokenizeToString)(this._languageService,r,u),f=document.createElement("span");if(f.innerHTML=o._ttpTokenizer?.createHTML(C)??C,this._options.editor){const h=this._options.editor.getOption(50);(0,m.applyFontInfo)(f,h)}else this._options.codeBlockFontFamily&&(f.style.fontFamily=this._options.codeBlockFontFamily);return this._options.codeBlockFontSize!==void 0&&(f.style.fontSize=this._options.codeBlockFontSize),f},asyncRenderCallback:()=>this._onDidRenderAsync.fire(),actionHandler:{callback:a=>i(this._openerService,a,c.isTrusted),disposables:l}}}};e.MarkdownRenderer=t,e.MarkdownRenderer=t=o=ke([ce(1,_.ILanguageService),ce(2,n.IOpenerService)],t);async function i(g,c,l){try{return await g.open(c,{fromUserGesture:!0,allowContributedOpeners:!0,allowCommands:s(l)})}catch(a){return(0,I.onUnexpectedError)(a),!1}}function s(g){return g===!0?!0:g&&Array.isArray(g.enabledCommands)?g.enabledCommands:!1}}),define(ne[705],se([1,0,2,6,5,31,28,37,174,85,59,7,120,57,3,16,61,46,480]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.HoverWidget=void 0;const l=I.$;let a=class extends b.Widget{get _targetWindow(){return I.getWindow(this._target.targetElements[0])}get _targetDocumentElement(){return I.getWindow(this._target.targetElements[0]).document.documentElement}get isDisposed(){return this._isDisposed}get isMouseIn(){return this._lockMouseTracker.isMouseIn}get domNode(){return this._hover.containerDomNode}get onDispose(){return this._onDispose.event}get onRequestLayout(){return this._onRequestLayout.event}get anchor(){return this._hoverPosition===2?0:1}get x(){return this._x}get y(){return this._y}get isLocked(){return this._isLocked}set isLocked(f){this._isLocked!==f&&(this._isLocked=f,this._hoverContainer.classList.toggle("locked",this._isLocked))}constructor(f,h,v,w,S,L){super(),this._keybindingService=h,this._configurationService=v,this._openerService=w,this._instantiationService=S,this._accessibilityService=L,this._messageListeners=new d.DisposableStore,this._isDisposed=!1,this._forcePosition=!1,this._x=0,this._y=0,this._isLocked=!1,this._enableFocusTraps=!1,this._addedFocusTrap=!1,this._onDispose=this._register(new k.Emitter),this._onRequestLayout=this._register(new k.Emitter),this._linkHandler=f.linkHandler||(N=>(0,o.openLinkFromMarkdown)(this._openerService,N,(0,t.isMarkdownString)(f.content)?f.content.isTrusted:void 0)),this._target="targetElements"in f.target?f.target:new u(f.target),this._hoverPointer=f.appearance?.showPointer?l("div.workbench-hover-pointer"):void 0,this._hover=this._register(new _.HoverWidget),this._hover.containerDomNode.classList.add("workbench-hover","fadeIn"),f.appearance?.compact&&this._hover.containerDomNode.classList.add("workbench-hover","compact"),f.appearance?.skipFadeInAnimation&&this._hover.containerDomNode.classList.add("skip-fade-in"),f.additionalClasses&&this._hover.containerDomNode.classList.add(...f.additionalClasses),f.position?.forcePosition&&(this._forcePosition=!0),f.trapFocus&&(this._enableFocusTraps=!0),this._hoverPosition=f.position?.hoverPosition??3,this.onmousedown(this._hover.containerDomNode,N=>N.stopPropagation()),this.onkeydown(this._hover.containerDomNode,N=>{N.equals(9)&&this.dispose()}),this._register(I.addDisposableListener(this._targetWindow,"blur",()=>this.dispose()));const D=l("div.hover-row.markdown-hover"),T=l("div.hover-contents");if(typeof f.content=="string")T.textContent=f.content,T.style.whiteSpace="pre-wrap";else if(I.isHTMLElement(f.content))T.appendChild(f.content),T.classList.add("html-hover-contents");else{const N=f.content,O=this._instantiationService.createInstance(o.MarkdownRenderer,{codeBlockFontFamily:this._configurationService.getValue("editor").fontFamily||m.EDITOR_FONT_DEFAULTS.fontFamily}),{element:F}=O.render(N,{actionHandler:{callback:x=>this._linkHandler(x),disposables:this._messageListeners},asyncRenderCallback:()=>{T.classList.add("code-hover-contents"),this.layout(),this._onRequestLayout.fire()}});T.appendChild(F)}if(D.appendChild(T),this._hover.contentsDomNode.appendChild(D),f.actions&&f.actions.length>0){const N=l("div.hover-row.status-bar"),O=l("div.actions");f.actions.forEach(F=>{const x=this._keybindingService.lookupKeybinding(F.commandId),W=x?x.getLabel():null;_.HoverAction.render(O,{label:F.label,commandId:F.commandId,run:V=>{F.run(V),this.dispose()},iconClass:F.iconClass},W)}),N.appendChild(O),this._hover.containerDomNode.appendChild(N)}this._hoverContainer=l("div.workbench-hover-container"),this._hoverPointer&&this._hoverContainer.appendChild(this._hoverPointer),this._hoverContainer.appendChild(this._hover.containerDomNode);let M;if(f.actions&&f.actions.length>0?M=!1:f.persistence?.hideOnHover===void 0?M=typeof f.content=="string"||(0,t.isMarkdownString)(f.content)&&!f.content.value.includes("](")&&!f.content.value.includes(""):M=f.persistence.hideOnHover,f.appearance?.showHoverHint){const N=l("div.hover-row.status-bar"),O=l("div.info");O.textContent=(0,i.localize)(68,"Hold {0} key to mouse over",s.isMacintosh?"Option":"Alt"),N.appendChild(O),this._hover.containerDomNode.appendChild(N)}const A=[...this._target.targetElements];M||A.push(this._hoverContainer);const P=this._register(new r(A));if(this._register(P.onMouseOut(()=>{this._isLocked||this.dispose()})),M){const N=[...this._target.targetElements,this._hoverContainer];this._lockMouseTracker=this._register(new r(N)),this._register(this._lockMouseTracker.onMouseOut(()=>{this._isLocked||this.dispose()}))}else this._lockMouseTracker=P}addFocusTrap(){if(!this._enableFocusTraps||this._addedFocusTrap)return;this._addedFocusTrap=!0;const f=this._hover.containerDomNode,h=this.findLastFocusableChild(this._hover.containerDomNode);if(h){const v=I.prepend(this._hoverContainer,l("div")),w=I.append(this._hoverContainer,l("div"));v.tabIndex=0,w.tabIndex=0,this._register(I.addDisposableListener(w,"focus",S=>{f.focus(),S.preventDefault()})),this._register(I.addDisposableListener(v,"focus",S=>{h.focus(),S.preventDefault()}))}}findLastFocusableChild(f){if(f.hasChildNodes())for(let h=0;h=0)return S}const w=this.findLastFocusableChild(v);if(w)return w}}render(f){f.appendChild(this._hoverContainer);const v=this._hoverContainer.contains(this._hoverContainer.ownerDocument.activeElement)&&(0,_.getHoverAccessibleViewHint)(this._configurationService.getValue("accessibility.verbosity.hover")===!0&&this._accessibilityService.isScreenReaderOptimized(),this._keybindingService.lookupKeybinding("editor.action.accessibleView")?.getAriaLabel());v&&(0,c.status)(v),this.layout(),this.addFocusTrap()}layout(){this._hover.containerDomNode.classList.remove("right-aligned"),this._hover.contentsDomNode.style.maxHeight="";const f=A=>{const P=I.getDomNodeZoomLevel(A),N=A.getBoundingClientRect();return{top:N.top*P,bottom:N.bottom*P,right:N.right*P,left:N.left*P}},h=this._target.targetElements.map(A=>f(A)),{top:v,right:w,bottom:S,left:L}=h[0],D=w-L,T=S-v,M={top:v,right:w,bottom:S,left:L,width:D,height:T,center:{x:L+D/2,y:v+T/2}};if(this.adjustHorizontalHoverPosition(M),this.adjustVerticalHoverPosition(M),this.adjustHoverMaxHeight(M),this._hoverContainer.style.padding="",this._hoverContainer.style.margin="",this._hoverPointer){switch(this._hoverPosition){case 1:M.left+=3,M.right+=3,this._hoverContainer.style.paddingLeft="3px",this._hoverContainer.style.marginLeft="-3px";break;case 0:M.left-=3,M.right-=3,this._hoverContainer.style.paddingRight="3px",this._hoverContainer.style.marginRight="-3px";break;case 2:M.top+=3,M.bottom+=3,this._hoverContainer.style.paddingTop="3px",this._hoverContainer.style.marginTop="-3px";break;case 3:M.top-=3,M.bottom-=3,this._hoverContainer.style.paddingBottom="3px",this._hoverContainer.style.marginBottom="-3px";break}M.center.x=M.left+D/2,M.center.y=M.top+T/2}this.computeXCordinate(M),this.computeYCordinate(M),this._hoverPointer&&(this._hoverPointer.classList.remove("top"),this._hoverPointer.classList.remove("left"),this._hoverPointer.classList.remove("right"),this._hoverPointer.classList.remove("bottom"),this.setHoverPointerPosition(M)),this._hover.onContentsChanged()}computeXCordinate(f){const h=this._hover.containerDomNode.clientWidth+2;this._target.x!==void 0?this._x=this._target.x:this._hoverPosition===1?this._x=f.right:this._hoverPosition===0?this._x=f.left-h:(this._hoverPointer?this._x=f.center.x-this._hover.containerDomNode.clientWidth/2:this._x=f.left,this._x+h>=this._targetDocumentElement.clientWidth&&(this._hover.containerDomNode.classList.add("right-aligned"),this._x=Math.max(this._targetDocumentElement.clientWidth-h-2,this._targetDocumentElement.clientLeft))),this._xthis._targetWindow.innerHeight&&(this._y=f.bottom)}adjustHorizontalHoverPosition(f){if(this._target.x!==void 0)return;const h=this._hoverPointer?3:0;if(this._forcePosition){const v=h+2;this._hoverPosition===1?this._hover.containerDomNode.style.maxWidth=`${this._targetDocumentElement.clientWidth-f.right-v}px`:this._hoverPosition===0&&(this._hover.containerDomNode.style.maxWidth=`${f.left-v}px`);return}this._hoverPosition===1?this._targetDocumentElement.clientWidth-f.right=this._hover.containerDomNode.clientWidth+h?this._hoverPosition=0:this._hoverPosition=2):this._hoverPosition===0&&(f.left=this._hover.containerDomNode.clientWidth+h?this._hoverPosition=1:this._hoverPosition=2),f.left-this._hover.containerDomNode.clientWidth-h<=this._targetDocumentElement.clientLeft&&(this._hoverPosition=1))}adjustVerticalHoverPosition(f){if(this._target.y!==void 0||this._forcePosition)return;const h=this._hoverPointer?3:0;this._hoverPosition===3?f.top-this._hover.containerDomNode.clientHeight-h<0&&(this._hoverPosition=2):this._hoverPosition===2&&f.bottom+this._hover.containerDomNode.clientHeight+h>this._targetWindow.innerHeight&&(this._hoverPosition=3)}adjustHoverMaxHeight(f){let h=this._targetWindow.innerHeight/2;if(this._forcePosition){const v=(this._hoverPointer?3:0)+2;this._hoverPosition===3?h=Math.min(h,f.top-v):this._hoverPosition===2&&(h=Math.min(h,this._targetWindow.innerHeight-f.bottom-v))}if(this._hover.containerDomNode.style.maxHeight=`${h}px`,this._hover.contentsDomNode.clientHeightf.height?this._hoverPointer.style.top=`${f.center.y-(this._y-h)-3}px`:this._hoverPointer.style.top=`${Math.round(h/2)-3}px`;break}case 3:case 2:{this._hoverPointer.classList.add(this._hoverPosition===3?"bottom":"top");const h=this._hover.containerDomNode.clientWidth;let v=Math.round(h/2)-3;const w=this._x+v;(wf.right)&&(v=f.center.x-this._x-3),this._hoverPointer.style.left=`${v}px`;break}}}focus(){this._hover.containerDomNode.focus()}dispose(){this._isDisposed||(this._onDispose.fire(),this._hoverContainer.remove(),this._messageListeners.dispose(),this._target.dispose(),super.dispose()),this._isDisposed=!0}};e.HoverWidget=a,e.HoverWidget=a=ke([ce(1,E.IKeybindingService),ce(2,y.IConfigurationService),ce(3,p.IOpenerService),ce(4,n.IInstantiationService),ce(5,g.IAccessibilityService)],a);class r extends b.Widget{get onMouseOut(){return this._onMouseOut.event}get isMouseIn(){return this._isMouseIn}constructor(f){super(),this._elements=f,this._isMouseIn=!0,this._onMouseOut=this._register(new k.Emitter),this._elements.forEach(h=>this.onmouseover(h,()=>this._onTargetMouseOver(h))),this._elements.forEach(h=>this.onmouseleave(h,()=>this._onTargetMouseLeave(h)))}_onTargetMouseOver(f){this._isMouseIn=!0,this._clearEvaluateMouseStateTimeout(f)}_onTargetMouseLeave(f){this._isMouseIn=!1,this._evaluateMouseState(f)}_evaluateMouseState(f){this._clearEvaluateMouseStateTimeout(f),this._mouseTimeout=I.getWindow(f).setTimeout(()=>this._fireIfMouseOutside(),0)}_clearEvaluateMouseStateTimeout(f){this._mouseTimeout&&(I.getWindow(f).clearTimeout(this._mouseTimeout),this._mouseTimeout=void 0)}_fireIfMouseOutside(){this._isMouseIn||this._onMouseOut.fire()}}class u{constructor(f){this._element=f,this.targetElements=[this._element]}dispose(){}}}),define(ne[36],se([1,0,6,2,11,147,131,568,659,569,571,208,7,28,43,49,70,660]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ResolvedLanguageConfiguration=e.LanguageConfigurationRegistry=e.LanguageConfigurationChangeEvent=e.LanguageConfigurationService=e.ILanguageConfigurationService=e.LanguageConfigurationServiceChangeEvent=void 0,e.getIndentationAtPosition=h;class l{constructor(A){this.languageId=A}affects(A){return this.languageId?this.languageId===A:!0}}e.LanguageConfigurationServiceChangeEvent=l,e.ILanguageConfigurationService=(0,o.createDecorator)("languageConfigurationService");let a=class extends k.Disposable{constructor(A,P){super(),this.configurationService=A,this.languageService=P,this._registry=this._register(new D),this.onDidChangeEmitter=this._register(new d.Emitter),this.onDidChange=this.onDidChangeEmitter.event,this.configurations=new Map;const N=new Set(Object.values(u));this._register(this.configurationService.onDidChangeConfiguration(O=>{const F=O.change.keys.some(W=>N.has(W)),x=O.change.overrides.filter(([W,V])=>V.some(q=>N.has(q))).map(([W])=>W);if(F)this.configurations.clear(),this.onDidChangeEmitter.fire(new l(void 0));else for(const W of x)this.languageService.isRegisteredLanguageId(W)&&(this.configurations.delete(W),this.onDidChangeEmitter.fire(new l(W)))})),this._register(this._registry.onDidChange(O=>{this.configurations.delete(O.languageId),this.onDidChangeEmitter.fire(new l(O.languageId))}))}register(A,P,N){return this._registry.register(A,P,N)}getLanguageConfiguration(A){let P=this.configurations.get(A);return P||(P=r(A,this._registry,this.configurationService,this.languageService),this.configurations.set(A,P)),P}};e.LanguageConfigurationService=a,e.LanguageConfigurationService=a=ke([ce(0,t.IConfigurationService),ce(1,i.ILanguageService)],a);function r(M,A,P,N){let O=A.getLanguageConfiguration(M);if(!O){if(!N.isRegisteredLanguageId(M))return new T(M,{});O=new T(M,{})}const F=C(O.languageId,P),x=w([O.underlyingConfig,F]);return new T(O.languageId,x)}const u={brackets:"editor.language.brackets",colorizedBracketPairs:"editor.language.colorizedBracketPairs"};function C(M,A){const P=A.getValue(u.brackets,{overrideIdentifier:M}),N=A.getValue(u.colorizedBracketPairs,{overrideIdentifier:M});return{brackets:f(P),colorizedBracketPairs:f(N)}}function f(M){if(Array.isArray(M))return M.map(A=>{if(!(!Array.isArray(A)||A.length!==2))return[A[0],A[1]]}).filter(A=>!!A)}function h(M,A,P){const N=M.getLineContent(A);let O=I.getLeadingWhitespace(N);return O.length>P-1&&(O=O.substring(0,P-1)),O}class v{constructor(A){this.languageId=A,this._resolved=null,this._entries=[],this._order=0,this._resolved=null}register(A,P){const N=new S(A,P,++this._order);return this._entries.push(N),this._resolved=null,(0,k.toDisposable)(()=>{for(let O=0;OA.configuration)))}}function w(M){let A={comments:void 0,brackets:void 0,wordPattern:void 0,indentationRules:void 0,onEnterRules:void 0,autoClosingPairs:void 0,surroundingPairs:void 0,autoCloseBefore:void 0,folding:void 0,colorizedBracketPairs:void 0,__electricCharacterSupport:void 0};for(const P of M)A={comments:P.comments||A.comments,brackets:P.brackets||A.brackets,wordPattern:P.wordPattern||A.wordPattern,indentationRules:P.indentationRules||A.indentationRules,onEnterRules:P.onEnterRules||A.onEnterRules,autoClosingPairs:P.autoClosingPairs||A.autoClosingPairs,surroundingPairs:P.surroundingPairs||A.surroundingPairs,autoCloseBefore:P.autoCloseBefore||A.autoCloseBefore,folding:P.folding||A.folding,colorizedBracketPairs:P.colorizedBracketPairs||A.colorizedBracketPairs,__electricCharacterSupport:P.__electricCharacterSupport||A.__electricCharacterSupport};return A}class S{constructor(A,P,N){this.configuration=A,this.priority=P,this.order=N}static cmp(A,P){return A.priority===P.priority?A.order-P.order:A.priority-P.priority}}class L{constructor(A){this.languageId=A}}e.LanguageConfigurationChangeEvent=L;class D extends k.Disposable{constructor(){super(),this._entries=new Map,this._onDidChange=this._register(new d.Emitter),this.onDidChange=this._onDidChange.event,this._register(this.register(g.PLAINTEXT_LANGUAGE_ID,{brackets:[["(",")"],["[","]"],["{","}"]],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"`",close:"`"}],colorizedBracketPairs:[],folding:{offSide:!0}},0))}register(A,P,N=0){let O=this._entries.get(A);O||(O=new v(A),this._entries.set(A,O));const F=O.register(P,N);return this._onDidChange.fire(new L(A)),(0,k.toDisposable)(()=>{F.dispose(),this._onDidChange.fire(new L(A))})}getLanguageConfiguration(A){return this._entries.get(A)?.getResolvedConfiguration()||null}}e.LanguageConfigurationRegistry=D;class T{constructor(A,P){this.languageId=A,this.underlyingConfig=P,this._brackets=null,this._electricCharacter=null,this._onEnterSupport=this.underlyingConfig.brackets||this.underlyingConfig.indentationRules||this.underlyingConfig.onEnterRules?new p.OnEnterSupport(this.underlyingConfig):null,this.comments=T._handleComments(this.underlyingConfig),this.characterPair=new m.CharacterPairSupport(this.underlyingConfig),this.wordDefinition=this.underlyingConfig.wordPattern||E.DEFAULT_WORD_REGEXP,this.indentationRules=this.underlyingConfig.indentationRules,this.underlyingConfig.indentationRules?this.indentRulesSupport=new b.IndentRulesSupport(this.underlyingConfig.indentationRules):this.indentRulesSupport=null,this.foldingRules=this.underlyingConfig.folding||{},this.bracketsNew=new c.LanguageBracketsConfiguration(A,this.underlyingConfig)}getWordDefinition(){return(0,E.ensureValidWordDefinition)(this.wordDefinition)}get brackets(){return!this._brackets&&this.underlyingConfig.brackets&&(this._brackets=new n.RichEditBrackets(this.languageId,this.underlyingConfig.brackets)),this._brackets}get electricCharacter(){return this._electricCharacter||(this._electricCharacter=new _.BracketElectricCharacterSupport(this.brackets)),this._electricCharacter}onEnter(A,P,N,O){return this._onEnterSupport?this._onEnterSupport.onEnter(A,P,N,O):null}getAutoClosingPairs(){return new y.AutoClosingPairs(this.characterPair.getAutoClosingPairs())}getAutoCloseBeforeSet(A){return this.characterPair.getAutoCloseBeforeSet(A)}getSurroundingPairs(){return this.characterPair.getSurroundingPairs()}static _handleComments(A){const P=A.comments;if(!P)return null;const N={};if(P.lineComment&&(N.lineCommentToken=P.lineComment),P.blockComment){const[O,F]=P.blockComment;N.blockCommentStartToken=O,N.blockCommentEndToken=F}return N}}e.ResolvedLanguageConfiguration=T,(0,s.registerSingleton)(e.ILanguageConfigurationService,a,1)}),define(ne[401],se([1,0,14,2,361,646,4,36,666,51,211,13,62,54,8,17,232,105,55,52,5,373,326]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r,u,C){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.EditorWorkerClient=e.EditorWorkerService=void 0;const f=5*60*1e3;function h(T,M){const A=T.getModel(M);return!(!A||A.isTooLargeForSyncing())}let v=class extends k.Disposable{constructor(M,A,P,N,O,F){super(),this._languageConfigurationService=O,this._modelService=A,this._workerManager=this._register(new S(M,this._modelService)),this._logService=N,this._register(F.linkProvider.register({language:"*",hasAccessToAllModels:!0},{provideLinks:async(x,W)=>{if(!h(this._modelService,x.uri))return Promise.resolve({links:[]});const q=await(await this._workerWithResources([x.uri])).$computeLinks(x.uri.toString());return q&&{links:q}}})),this._register(F.completionProvider.register("*",new w(this._workerManager,P,this._modelService,this._languageConfigurationService)))}dispose(){super.dispose()}canComputeUnicodeHighlights(M){return h(this._modelService,M)}async computedUnicodeHighlights(M,A,P){return(await this._workerWithResources([M])).$computeUnicodeHighlights(M.toString(),A,P)}async computeDiff(M,A,P,N){const F=await(await this._workerWithResources([M,A],!0)).$computeDiff(M.toString(),A.toString(),P,N);if(!F)return null;return{identical:F.identical,quitEarly:F.quitEarly,changes:W(F.changes),moves:F.moves.map(V=>new g.MovedText(new c.LineRangeMapping(new l.LineRange(V[0],V[1]),new l.LineRange(V[2],V[3])),W(V[4])))};function W(V){return V.map(q=>new c.DetailedLineRangeMapping(new l.LineRange(q[0],q[1]),new l.LineRange(q[2],q[3]),q[4]?.map(H=>new c.RangeMapping(new y.Range(H[0],H[1],H[2],H[3]),new y.Range(H[4],H[5],H[6],H[7])))))}}async computeMoreMinimalEdits(M,A,P=!1){if((0,n.isNonEmptyArray)(A)){if(!h(this._modelService,M))return Promise.resolve(A);const N=t.StopWatch.create(),O=this._workerWithResources([M]).then(F=>F.$computeMoreMinimalEdits(M.toString(),A,P));return O.finally(()=>this._logService.trace("FORMAT#computeMoreMinimalEdits",M.toString(!0),N.elapsed())),Promise.race([O,(0,d.timeout)(1e3).then(()=>A)])}else return Promise.resolve(void 0)}canNavigateValueSet(M){return h(this._modelService,M)}async navigateValueSet(M,A,P){const N=this._modelService.getModel(M);if(!N)return null;const O=this._languageConfigurationService.getLanguageConfiguration(N.getLanguageId()).getWordDefinition(),F=O.source,x=O.flags;return(await this._workerWithResources([M])).$navigateValueSet(M.toString(),A,P,F,x)}canComputeWordRanges(M){return h(this._modelService,M)}async computeWordRanges(M,A){const P=this._modelService.getModel(M);if(!P)return Promise.resolve(null);const N=this._languageConfigurationService.getLanguageConfiguration(P.getLanguageId()).getWordDefinition(),O=N.source,F=N.flags;return(await this._workerWithResources([M])).$computeWordRanges(M.toString(),A,O,F)}async findSectionHeaders(M,A){return(await this._workerWithResources([M])).$findSectionHeaders(M.toString(),A)}async computeDefaultDocumentColors(M){return(await this._workerWithResources([M])).$computeDefaultDocumentColors(M.toString())}async _workerWithResources(M,A=!1){return await(await this._workerManager.withWorker()).workerWithSyncedResources(M,A)}};e.EditorWorkerService=v,e.EditorWorkerService=v=ke([ce(1,b.IModelService),ce(2,p.ITextResourceConfigurationService),ce(3,o.ILogService),ce(4,m.ILanguageConfigurationService),ce(5,s.ILanguageFeaturesService)],v);class w{constructor(M,A,P,N){this.languageConfigurationService=N,this._debugDisplayName="wordbasedCompletions",this._workerManager=M,this._configurationService=A,this._modelService=P}async provideCompletionItems(M,A){const P=this._configurationService.getValue(M.uri,A,"editor");if(P.wordBasedSuggestions==="off")return;const N=[];if(P.wordBasedSuggestions==="currentDocument")h(this._modelService,M.uri)&&N.push(M.uri);else for(const H of this._modelService.getModels())h(this._modelService,H.uri)&&(H===M?N.unshift(H.uri):(P.wordBasedSuggestions==="allDocuments"||H.getLanguageId()===M.getLanguageId())&&N.push(H.uri));if(N.length===0)return;const O=this.languageConfigurationService.getLanguageConfiguration(M.getLanguageId()).getWordDefinition(),F=M.getWordAtPosition(A),x=F?new y.Range(A.lineNumber,F.startColumn,A.lineNumber,F.endColumn):y.Range.fromPositions(A),W=x.setEndPosition(A.lineNumber,A.column),q=await(await this._workerManager.withWorker()).textualSuggest(N,F?.word,O);if(q)return{duration:q.duration,suggestions:q.words.map(H=>({kind:18,label:H,insertText:H,range:{insert:W,replace:x}}))}}}let S=class extends k.Disposable{constructor(M,A){super(),this._workerDescriptor=M,this._modelService=A,this._editorWorkerClient=null,this._lastWorkerUsedTime=new Date().getTime(),this._register(new r.WindowIntervalTimer).cancelAndSet(()=>this._checkStopIdleWorker(),Math.round(f/2),a.mainWindow),this._register(this._modelService.onModelRemoved(N=>this._checkStopEmptyWorker()))}dispose(){this._editorWorkerClient&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null),super.dispose()}_checkStopEmptyWorker(){if(!this._editorWorkerClient)return;this._modelService.getModels().length===0&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null)}_checkStopIdleWorker(){if(!this._editorWorkerClient)return;new Date().getTime()-this._lastWorkerUsedTime>f&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null)}withWorker(){return this._lastWorkerUsedTime=new Date().getTime(),this._editorWorkerClient||(this._editorWorkerClient=new D(this._workerDescriptor,!1,this._modelService)),Promise.resolve(this._editorWorkerClient)}};S=ke([ce(1,b.IModelService)],S);class L{constructor(M){this._instance=M,this.proxy=this._instance}dispose(){this._instance.dispose()}setChannel(M,A){throw new Error("Not supported")}}let D=class extends k.Disposable{constructor(M,A,P){super(),this._workerDescriptor=M,this._disposed=!1,this._modelService=P,this._keepIdleModels=A,this._worker=null,this._modelManager=null}fhr(M,A){throw new Error("Not implemented!")}_getOrCreateWorker(){if(!this._worker)try{this._worker=this._register((0,E.createWebWorker)(this._workerDescriptor)),C.EditorWorkerHost.setChannel(this._worker,this._createEditorWorkerHost())}catch(M){(0,I.logOnceWebWorkerWarning)(M),this._worker=this._createFallbackLocalWorker()}return this._worker}async _getProxy(){try{const M=this._getOrCreateWorker().proxy;return await M.$ping(),M}catch(M){return(0,I.logOnceWebWorkerWarning)(M),this._worker=this._createFallbackLocalWorker(),this._worker.proxy}}_createFallbackLocalWorker(){return new L(new _.EditorSimpleWorker(this._createEditorWorkerHost(),null))}_createEditorWorkerHost(){return{$fhr:(M,A)=>this.fhr(M,A)}}_getOrCreateModelManager(M){return this._modelManager||(this._modelManager=this._register(new u.WorkerTextModelSyncClient(M,this._modelService,this._keepIdleModels))),this._modelManager}async workerWithSyncedResources(M,A=!1){if(this._disposed)return Promise.reject((0,i.canceled)());const P=await this._getProxy();return this._getOrCreateModelManager(P).ensureSyncedResources(M,A),P}async textualSuggest(M,A,P){const N=await this.workerWithSyncedResources(M),O=P.source,F=P.flags;return N.$textualSuggest(M.map(x=>x.toString()),A,O,F)}dispose(){super.dispose(),this._disposed=!0}};e.EditorWorkerClient=D,e.EditorWorkerClient=D=ke([ce(2,b.IModelService)],D)}),define(ne[275],se([1,0,131,36,240]),function(oe,e,d,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getEnterAction=E;function E(y,m,_,b){m.tokenization.forceTokenization(_.startLineNumber);const p=m.getLanguageIdAtPosition(_.startLineNumber,_.startColumn),n=b.getLanguageConfiguration(p);if(!n)return null;const t=new I.IndentationContextProcessor(m,b).getProcessedTokenContextAroundRange(_),i=t.previousLineProcessedTokens.getLineContent(),s=t.beforeRangeProcessedTokens.getLineContent(),g=t.afterRangeProcessedTokens.getLineContent(),c=n.onEnter(y,i,s,g);if(!c)return null;const l=c.indentAction;let a=c.appendText;const r=c.removeText||0;a?l===d.IndentAction.Indent&&(a=" "+a):l===d.IndentAction.Indent||l===d.IndentAction.IndentOutdent?a=" ":a="";let u=(0,k.getIndentationAtPosition)(m,_.startLineNumber,_.startColumn);return r&&(u=u.substring(0,u.length-r)),{indentAction:l,appendText:a,removeText:r,indentation:u}}}),define(ne[183],se([1,0,11,94,4,23,275,36]),function(oe,e,d,k,I,E,y,m){"use strict";var _;Object.defineProperty(e,"__esModule",{value:!0}),e.ShiftCommand=void 0;const b=Object.create(null);function p(o,t){if(t<=0)return"";b[o]||(b[o]=["",o]);const i=b[o];for(let s=i.length;s<=t;s++)i[s]=i[s-1]+o;return i[t]}let n=_=class{static unshiftIndent(t,i,s,g,c){const l=k.CursorColumns.visibleColumnFromColumn(t,i,s);if(c){const a=p(" ",g),u=k.CursorColumns.prevIndentTabStop(l,g)/g;return p(a,u)}else{const a=" ",u=k.CursorColumns.prevRenderTabStop(l,s)/s;return p(a,u)}}static shiftIndent(t,i,s,g,c){const l=k.CursorColumns.visibleColumnFromColumn(t,i,s);if(c){const a=p(" ",g),u=k.CursorColumns.nextIndentTabStop(l,g)/g;return p(a,u)}else{const a=" ",u=k.CursorColumns.nextRenderTabStop(l,s)/s;return p(a,u)}}constructor(t,i,s){this._languageConfigurationService=s,this._opts=i,this._selection=t,this._selectionId=null,this._useLastEditRangeForCursorEndPosition=!1,this._selectionStartColumnStaysPut=!1}_addEditOperation(t,i,s){this._useLastEditRangeForCursorEndPosition?t.addTrackedEditOperation(i,s):t.addEditOperation(i,s)}getEditOperations(t,i){const s=this._selection.startLineNumber;let g=this._selection.endLineNumber;this._selection.endColumn===1&&s!==g&&(g=g-1);const{tabSize:c,indentSize:l,insertSpaces:a}=this._opts,r=s===g;if(this._opts.useTabStops){this._selection.isEmpty()&&/^\s*$/.test(t.getLineContent(s))&&(this._useLastEditRangeForCursorEndPosition=!0);let u=0,C=0;for(let f=s;f<=g;f++,u=C){C=0;const h=t.getLineContent(f);let v=d.firstNonWhitespaceIndex(h);if(this._opts.isUnshift&&(h.length===0||v===0)||!r&&!this._opts.isUnshift&&h.length===0)continue;if(v===-1&&(v=h.length),f>1&&k.CursorColumns.visibleColumnFromColumn(h,v+1,c)%l!==0&&t.tokenization.isCheapToTokenize(f-1)){const L=(0,y.getEnterAction)(this._opts.autoIndent,t,new I.Range(f-1,t.getLineMaxColumn(f-1),f-1,t.getLineMaxColumn(f-1)),this._languageConfigurationService);if(L){if(C=u,L.appendText)for(let D=0,T=L.appendText.length;Dx(H,K),unshiftIndent:K=>W(H,K)},H.languageConfigurationService);if(Q===null)return null;const G=(0,o.getIndentationAtPosition)(z,U.startLineNumber,U.startColumn);return Q===H.normalizeIndentation(G)?null:Q}static _getIndentationAndAutoClosingPairEdits(H,z,U,j,Q){const G=U.map(({selection:R,indentation:J})=>{if(Q!==null){const ie=this._getEditFromIndentationAndSelection(H,z,J,R,j,!1);return new T(ie,R,j,Q)}else{const ie=this._getEditFromIndentationAndSelection(H,z,J,R,j,!0);return F(ie.range,ie.text,!1)}}),K={shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!1};return new m.EditOperationResult(4,G,K)}static _getEditFromIndentationAndSelection(H,z,U,j,Q,G=!0){const K=j.startLineNumber,R=z.getLineFirstNonWhitespaceColumn(K);let J=H.normalizeIndentation(U);if(R!==0){const ue=z.getLineContent(K);J+=ue.substring(R-1,j.startColumn-1)}return J+=G?Q:"",{range:new b.Range(K,1,j.endLineNumber,j.endColumn),text:J}}}e.AutoIndentOperation=g;class c{static getEdits(H,z,U,j,Q,G){if(O(z,U,j,Q,G))return this._runAutoClosingOvertype(H,j,G)}static _runAutoClosingOvertype(H,z,U){const j=[];for(let Q=0,G=z.length;Qnew I.ReplaceCommand(new b.Range(K.positionLineNumber,K.positionColumn,K.positionLineNumber,K.positionColumn+1),"",!1));return new m.EditOperationResult(4,G,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!1})}}}e.AutoClosingOvertypeWithInterceptorsOperation=l;class a{static getEdits(H,z,U,j,Q,G){if(!G){const K=this.getAutoClosingPairClose(H,z,U,j,Q);if(K!==null)return this._runAutoClosingOpenCharType(U,j,Q,K)}}static _runAutoClosingOpenCharType(H,z,U,j){const Q=[];for(let G=0,K=H.length;G{const ee=ae.getPosition();return Q?{lineNumber:ee.lineNumber,beforeColumn:ee.column-j.length,afterColumn:ee.column}:{lineNumber:ee.lineNumber,beforeColumn:ee.column,afterColumn:ee.column}}),K=this._findAutoClosingPairOpen(H,z,G.map(ae=>new p.Position(ae.lineNumber,ae.beforeColumn)),j);if(!K)return null;let R,J;if((0,m.isQuote)(j)?(R=H.autoClosingQuotes,J=H.shouldAutoCloseBefore.quote):(H.blockCommentStartToken?K.open.includes(H.blockCommentStartToken):!1)?(R=H.autoClosingComments,J=H.shouldAutoCloseBefore.comment):(R=H.autoClosingBrackets,J=H.shouldAutoCloseBefore.bracket),R==="never")return null;const ue=this._findContainedAutoClosingPair(H,K),he=ue?ue.close:"";let pe=!0;for(const ae of G){const{lineNumber:ee,beforeColumn:de,afterColumn:ge}=ae,X=z.getLineContent(ee),B=X.substring(0,de-1),$=X.substring(ge-1);if($.startsWith(he)||(pe=!1),$.length>0){const re=$.charAt(0);if(!this._isBeforeClosingBrace(H,$)&&!J(re))return null}if(K.open.length===1&&(j==="'"||j==='"')&&R!=="always"){const re=(0,_.getMapForWordSeparators)(H.wordSeparators,[]);if(B.length>0){const le=B.charCodeAt(B.length-1);if(re.get(le)===0)return null}}if(!z.tokenization.isCheapToTokenize(ee))return null;z.tokenization.forceTokenization(ee);const Y=z.tokenization.getLineTokens(ee),Z=(0,t.createScopedLineTokens)(Y,de-1);if(!K.shouldAutoClose(Z,de-Z.firstCharOffset))return null;const te=K.findNeutralCharacter();if(te){const re=z.tokenization.getTokenTypeIfInsertingCharacter(ee,de,te);if(!K.isOK(re))return null}}return pe?K.close.substring(0,K.close.length-he.length):K.close}static _findContainedAutoClosingPair(H,z){if(z.open.length<=1)return null;const U=z.close.charAt(z.close.length-1),j=H.autoClosingPairs.autoClosingPairsCloseByEnd.get(U)||[];let Q=null;for(const G of j)G.open!==z.open&&z.open.includes(G.open)&&z.close.endsWith(G.close)&&(!Q||G.open.length>Q.open.length)&&(Q=G);return Q}static _findAutoClosingPairOpen(H,z,U,j){const Q=H.autoClosingPairs.autoClosingPairsOpenByEnd.get(j);if(!Q)return null;let G=null;for(const K of Q)if(G===null||K.open.length>G.open.length){let R=!0;for(const J of U)if(z.getValueInRange(new b.Range(J.lineNumber,J.column-K.open.length+1,J.lineNumber,J.column))+j!==K.open){R=!1;break}R&&(G=K)}return G}static _isBeforeClosingBrace(H,z){const U=z.charAt(0),j=H.autoClosingPairs.autoClosingPairsOpenByStart.get(U)||[],Q=H.autoClosingPairs.autoClosingPairsCloseByStart.get(U)||[],G=j.some(R=>z.startsWith(R.open)),K=Q.some(R=>z.startsWith(R.close));return!G&&K}}e.AutoClosingOpenCharTypeOperation=a;class r{static getEdits(H,z,U,j,Q){if(!Q&&this._isSurroundSelectionType(H,z,U,j))return this._runSurroundSelectionType(H,U,j)}static _runSurroundSelectionType(H,z,U){const j=[];for(let Q=0,G=z.length;Q=4){const R=(0,i.getIndentForEnter)(H.autoIndent,z,j,{unshiftIndent:J=>W(H,J),shiftIndent:J=>x(H,J),normalizeIndentation:J=>H.normalizeIndentation(J)},H.languageConfigurationService);if(R){let J=H.visibleColumnFromColumn(z,j.getEndPosition());const ie=j.endColumn,ue=z.getLineContent(j.endLineNumber),he=k.firstNonWhitespaceIndex(ue);if(he>=0?j=j.setEndPosition(j.endLineNumber,Math.max(j.endColumn,he+1)):j=j.setEndPosition(j.endLineNumber,z.getLineMaxColumn(j.endLineNumber)),U)return new I.ReplaceCommandWithoutChangingPosition(j,` +`+H.normalizeIndentation(R.afterEnter),!0);{let pe=0;return ie<=he+1&&(H.insertSpaces||(J=Math.ceil(J/H.indentSize)),pe=Math.min(J+1-H.normalizeIndentation(R.afterEnter).length-1,0)),new I.ReplaceCommandWithOffsetCursorState(j,` +`+H.normalizeIndentation(R.afterEnter),0,pe,!0)}}}return F(j,` +`+H.normalizeIndentation(K),U)}static lineInsertBefore(H,z,U){if(z===null||U===null)return[];const j=[];for(let Q=0,G=U.length;Qthis._compositionType(U,ie,Q,G,K,R));return new m.EditOperationResult(4,J,{shouldPushStackElementBefore:A(H,4),shouldPushStackElementAfter:!1})}static _compositionType(H,z,U,j,Q,G){if(!z.isEmpty())return null;const K=z.getPosition(),R=Math.max(1,K.column-j),J=Math.min(H.getLineMaxColumn(K.lineNumber),K.column+Q),ie=new b.Range(K.lineNumber,R,K.lineNumber,J);return H.getValueInRange(ie)===U&&G===0?null:new I.ReplaceCommandWithOffsetCursorState(ie,U,0,G)}}e.CompositionOperation=v;class w{static getEdits(H,z,U){const j=[];for(let G=0,K=z.length;G1){let K;for(K=U-1;K>=1;K--){const ie=z.getLineContent(K);if(k.lastNonWhitespaceIndex(ie)>=0)break}if(K<1)return null;const R=z.getLineMaxColumn(K),J=(0,s.getEnterAction)(H.autoIndent,z,new b.Range(K,R,K,R),H.languageConfigurationService);J&&(Q=J.indentation+J.appendText)}return j&&(j===n.IndentAction.Indent&&(Q=x(H,Q)),j===n.IndentAction.Outdent&&(Q=W(H,Q)),Q=H.normalizeIndentation(Q)),Q||null}static _replaceJumpToNextIndent(H,z,U,j){let Q="";const G=U.getStartPosition();if(H.insertSpaces){const K=H.visibleColumnFromColumn(z,G),R=H.indentSize,J=R-K%R;for(let ie=0;ie2?J.charCodeAt(R.column-2):0)===92&&ue)return!1;if(q.autoClosingOvertype==="auto"){let pe=!1;for(let ae=0,ee=U.length;ae0){const f=this._cursors.getSelections();for(let h=0;hL&&(w=w.slice(0,L),S=!0);const D=c.from(this._model,this);return this._cursors.setStates(w),this._cursors.normalize(),this._columnSelectData=null,this._validateAutoClosedActions(),this._emitStateChangedIfNecessary(f,h,v,D,S)}setCursorColumnSelectData(f){this._columnSelectData=f}revealAll(f,h,v,w,S,L){const D=this._cursors.getViewPositions();let T=null,M=null;D.length>1?M=this._cursors.getViewSelections():T=p.Range.fromPositions(D[0],D[0]),f.emitViewEvent(new t.ViewRevealRangeRequestEvent(h,v,T,M,w,S,L))}revealPrimary(f,h,v,w,S,L){const T=[this._cursors.getPrimaryCursor().viewState.selection];f.emitViewEvent(new t.ViewRevealRangeRequestEvent(h,v,null,T,w,S,L))}saveState(){const f=[],h=this._cursors.getSelections();for(let v=0,w=h.length;v0){const S=E.CursorState.fromModelSelections(v.resultingSelection);this.setStates(f,"modelChange",v.isUndoing?5:v.isRedoing?6:2,S)&&this.revealAll(f,"modelChange",!1,0,!0,0)}else{const S=this._cursors.readSelectionFromMarkers();this.setStates(f,"modelChange",2,E.CursorState.fromModelSelections(S))}}}getSelection(){return this._cursors.getPrimaryCursor().modelState.selection}getTopMostViewPosition(){return this._cursors.getTopMostViewPosition()}getBottomMostViewPosition(){return this._cursors.getBottomMostViewPosition()}getCursorColumnSelectData(){if(this._columnSelectData)return this._columnSelectData;const f=this._cursors.getPrimaryCursor(),h=f.viewState.selectionStart.getStartPosition(),v=f.viewState.position;return{isReal:!1,fromViewLineNumber:h.lineNumber,fromViewVisualColumn:this.context.cursorConfig.visibleColumnFromColumn(this._viewModel,h),toViewLineNumber:v.lineNumber,toViewVisualColumn:this.context.cursorConfig.visibleColumnFromColumn(this._viewModel,v)}}getSelections(){return this._cursors.getSelections()}setSelections(f,h,v,w){this.setStates(f,h,w,E.CursorState.fromModelSelections(v))}getPrevEditOperationType(){return this._prevEditOperationType}setPrevEditOperationType(f){this._prevEditOperationType=f}_pushAutoClosedAction(f,h){const v=[],w=[];for(let D=0,T=f.length;D0&&this._pushAutoClosedAction(v,w),this._prevEditOperationType=f.type}f.shouldPushStackElementAfter&&this._model.pushStackElement()}_interpretCommandResult(f){(!f||f.length===0)&&(f=this._cursors.readSelectionFromMarkers()),this._columnSelectData=null,this._cursors.setSelections(f),this._cursors.normalize()}_emitStateChangedIfNecessary(f,h,v,w,S){const L=c.from(this._model,this);if(L.equals(w))return!1;const D=this._cursors.getSelections(),T=this._cursors.getViewSelections();if(f.emitViewEvent(new t.ViewCursorStateChangedEvent(T,D,v)),!w||w.cursorState.length!==L.cursorState.length||L.cursorState.some((M,A)=>!M.modelState.equals(w.cursorState[A].modelState))){const M=w?w.cursorState.map(P=>P.modelState.selection):null,A=w?w.modelVersionId:0;f.emitOutgoingEvent(new s.CursorStateChangedEvent(M,D,A,L.modelVersionId,h||"keyboard",v,S))}return!0}_findAutoClosingPairs(f){if(!f.length)return null;const h=[];for(let v=0,w=f.length;v=0)return null;const L=S.text.match(/([)\]}>'"`])([^)\]}>'"`]*)$/);if(!L)return null;const D=L[1],T=this.context.cursorConfig.autoClosingPairs.autoClosingPairsCloseSingleChar.get(D);if(!T||T.length!==1)return null;const M=T[0].open,A=S.text.length-L[2].length-1,P=S.text.lastIndexOf(M,A-1);if(P===-1)return null;h.push([P,A])}return h}executeEdits(f,h,v,w){let S=null;h==="snippet"&&(S=this._findAutoClosingPairs(v)),S&&(v[0]._isTracked=!0);const L=[],D=[],T=this._model.pushEditOperations(this.getSelections(),v,M=>{if(S)for(let P=0,N=S.length;P0&&this._pushAutoClosedAction(L,D)}_executeEdit(f,h,v,w=0){if(this.context.cursorConfig.readOnly)return;const S=c.from(this._model,this);this._cursors.stopTrackingSelections(),this._isHandling=!0;try{this._cursors.ensureValidState(),f()}catch(L){(0,d.onUnexpectedError)(L)}this._isHandling=!1,this._cursors.startTrackingSelections(),this._validateAutoClosedActions(),this._emitStateChangedIfNecessary(h,v,w,S,!1)&&this.revealAll(h,v,!1,0,!0,0)}getAutoClosedCharacters(){return l.getAllAutoClosedCharacters(this._autoClosedActions)}startComposition(f){this._compositionState=new u(this._model,this.getSelections())}endComposition(f,h){const v=this._compositionState?this._compositionState.deduceOutcome(this._model,this.getSelections()):null;this._compositionState=null,this._executeEdit(()=>{h==="keyboard"&&this._executeEditOperation(_.TypeOperations.compositionEndWithInterceptors(this._prevEditOperationType,this.context.cursorConfig,this._model,v,this.getSelections(),this.getAutoClosedCharacters()))},f,h)}type(f,h,v){this._executeEdit(()=>{if(v==="keyboard"){const w=h.length;let S=0;for(;S{const M=T.getPosition();return new n.Selection(M.lineNumber,M.column+S,M.lineNumber,M.column+S)});this.setSelections(f,L,D,0)}return}this._executeEdit(()=>{this._executeEditOperation(_.TypeOperations.compositionType(this._prevEditOperationType,this.context.cursorConfig,this._model,this.getSelections(),h,v,w,S))},f,L)}paste(f,h,v,w,S){this._executeEdit(()=>{this._executeEditOperation(_.TypeOperations.paste(this.context.cursorConfig,this._model,this.getSelections(),h,v,w||[]))},f,S,4)}cut(f,h){this._executeEdit(()=>{this._executeEditOperation(m.DeleteOperations.cut(this.context.cursorConfig,this._model,this.getSelections()))},f,h)}executeCommand(f,h,v){this._executeEdit(()=>{this._cursors.killSecondaryCursors(),this._executeEditOperation(new E.EditOperationResult(0,[h],{shouldPushStackElementBefore:!1,shouldPushStackElementAfter:!1}))},f,v)}executeCommands(f,h,v){this._executeEdit(()=>{this._executeEditOperation(new E.EditOperationResult(0,h,{shouldPushStackElementBefore:!1,shouldPushStackElementAfter:!1}))},f,v)}}e.CursorsController=g;class c{static from(f,h){return new c(f.getVersionId(),h.getCursorStates())}constructor(f,h){this.modelVersionId=f,this.cursorState=h}equals(f){if(!f||this.modelVersionId!==f.modelVersionId||this.cursorState.length!==f.cursorState.length)return!1;for(let h=0,v=this.cursorState.length;h=h.length||!h[v].strictContainsRange(f[v]))return!1;return!0}}class a{static executeCommands(f,h,v){const w={model:f,selectionsBefore:h,trackedRanges:[],trackedRangesDirection:[]},S=this._innerExecuteCommands(w,v);for(let L=0,D=w.trackedRanges.length;L0&&(L[0]._isTracked=!0);let D=f.model.pushEditOperations(f.selectionsBefore,L,M=>{const A=[];for(let O=0;OO.identifier.minor-F.identifier.minor,N=[];for(let O=0;O0?(A[O].sort(P),N[O]=h[O].computeCursorState(f.model,{getInverseEditOperations:()=>A[O],getTrackedSelection:F=>{const x=parseInt(F,10),W=f.model._getTrackedRange(f.trackedRanges[x]);return f.trackedRangesDirection[x]===0?new n.Selection(W.startLineNumber,W.startColumn,W.endLineNumber,W.endColumn):new n.Selection(W.endLineNumber,W.endColumn,W.startLineNumber,W.startColumn)}})):N[O]=f.selectionsBefore[O];return N});D||(D=f.selectionsBefore);const T=[];for(const M in S)S.hasOwnProperty(M)&&T.push(parseInt(M,10));T.sort((M,A)=>A-M);for(const M of T)D.splice(M,1);return D}static _arrayIsEmpty(f){for(let h=0,v=f.length;h{p.Range.isEmpty(P)&&N===""||w.push({identifier:{major:h,minor:S++},range:P,text:N,forceMoveMarkers:O,isAutoWhitespaceEdit:v.insertsAutoWhitespace})};let D=!1;const A={addEditOperation:L,addTrackedEditOperation:(P,N,O)=>{D=!0,L(P,N,O)},trackSelection:(P,N)=>{const O=n.Selection.liftSelection(P);let F;if(O.isEmpty())if(typeof N=="boolean")N?F=2:F=3;else{const V=f.model.getLineMaxColumn(O.startLineNumber);O.startColumn===V?F=2:F=3}else F=1;const x=f.trackedRanges.length,W=f.model._setTrackedRange(null,O,F);return f.trackedRanges[x]=W,f.trackedRangesDirection[x]=O.getDirection(),x.toString()}};try{v.getEditOperations(f.model,A)}catch(P){return(0,d.onUnexpectedError)(P),{operations:[],hadTrackedEditOperation:!1}}return{operations:w,hadTrackedEditOperation:D}}static _getLoserCursorMap(f){f=f.slice(0),f.sort((v,w)=>-p.Range.compareRangesUsingEnds(v.range,w.range));const h={};for(let v=1;vS.identifier.major?L=w.identifier.major:L=S.identifier.major,h[L.toString()]=!0;for(let D=0;D0&&v--}}return h}}e.CommandExecutor=a;class r{constructor(f,h,v){this.text=f,this.startSelection=h,this.endSelection=v}}class u{static _capture(f,h){const v=[];for(const w of h){if(w.startLineNumber!==w.endLineNumber)return null;v.push(new r(f.getLineContent(w.startLineNumber),w.startColumn-1,w.endColumn-1))}return v}constructor(f,h){this._original=u._capture(f,h)}deduceOutcome(f,h){if(!this._original)return null;const v=u._capture(f,h);if(!v||this._original.length!==v.length)return null;const w=[];for(let S=0,L=this._original.length;S{M.affects(this._languageId)&&this._onDidChangeLanguageConfiguration.fire({})})),this._register(k.Event.filter(b.TreeSitterTokenizationRegistry.onDidChange,M=>M.changedLanguages.includes(this._languageId))(()=>{this.createPreferredTokenProvider()})),this.createPreferredTokenProvider()}createGrammarTokens(){return this._register(new C(this._languageService.languageIdCodec,this._textModel,()=>this._languageId,this._attachedViews))}createTreeSitterTokens(){return this._register(new s.TreeSitterTokens(this._treeSitterService,this._languageService.languageIdCodec,this._textModel,()=>this._languageId))}createTokens(h){const v=this._tokens!==void 0;this._tokens?.dispose(),this._tokens=h?this.createTreeSitterTokens():this.createGrammarTokens(),this._tokensDisposables.clear(),this._tokensDisposables.add(this._tokens.onDidChangeTokens(w=>{this._emitModelTokensChangedEvent(w)})),this._tokensDisposables.add(this._tokens.onDidChangeBackgroundTokenizationState(w=>{this._bracketPairsTextModelPart.handleDidChangeBackgroundTokenizationState()})),v&&this._tokens.resetTokenization()}createPreferredTokenProvider(){b.TreeSitterTokenizationRegistry.get(this._languageId)?this._tokens instanceof s.TreeSitterTokens||this.createTokens(!0):this._tokens instanceof C||this.createTokens(!1)}handleLanguageConfigurationServiceChange(h){h.affects(this._languageId)&&this._onDidChangeLanguageConfiguration.fire({})}handleDidChangeContent(h){if(h.isFlush)this._semanticTokens.flush();else if(!h.isEolChange)for(const v of h.changes){const[w,S,L]=(0,E.countEOL)(v.text);this._semanticTokens.acceptEdit(v.range,w,S,L,v.text.length>0?v.text.charCodeAt(0):0)}this._tokens.handleDidChangeContent(h)}handleDidChangeAttached(){this._tokens.handleDidChangeAttached()}getLineTokens(h){this.validateLineNumber(h);const v=this._tokens.getLineTokens(h);return this._semanticTokens.addSparseTokens(h,v)}_emitModelTokensChangedEvent(h){this._textModel._isDisposing()||(this._bracketPairsTextModelPart.handleDidChangeTokens(h),this._onDidChangeTokens.fire(h))}validateLineNumber(h){if(h<1||h>this._textModel.getLineCount())throw new d.BugIndicatingError("Illegal value for lineNumber")}get hasTokens(){return this._tokens.hasTokens}resetTokenization(){this._tokens.resetTokenization()}get backgroundTokenizationState(){return this._tokens.backgroundTokenizationState}forceTokenization(h){this.validateLineNumber(h),this._tokens.forceTokenization(h)}hasAccurateTokensForLine(h){return this.validateLineNumber(h),this._tokens.hasAccurateTokensForLine(h)}isCheapToTokenize(h){return this.validateLineNumber(h),this._tokens.isCheapToTokenize(h)}tokenizeIfCheap(h){this.validateLineNumber(h),this._tokens.tokenizeIfCheap(h)}getTokenTypeIfInsertingCharacter(h,v,w){return this._tokens.getTokenTypeIfInsertingCharacter(h,v,w)}tokenizeLineWithEdit(h,v,w){return this._tokens.tokenizeLineWithEdit(h,v,w)}setSemanticTokens(h,v){this._semanticTokens.set(h,v),this._emitModelTokensChangedEvent({semanticTokensApplied:h!==null,ranges:[{fromLineNumber:1,toLineNumber:this._textModel.getLineCount()}]})}hasCompleteSemanticTokens(){return this._semanticTokens.isComplete()}hasSomeSemanticTokens(){return!this._semanticTokens.isEmpty()}setPartialSemanticTokens(h,v){if(this.hasCompleteSemanticTokens())return;const w=this._textModel.validateRange(this._semanticTokens.setPartial(h,v));this._emitModelTokensChangedEvent({semanticTokensApplied:!0,ranges:[{fromLineNumber:w.startLineNumber,toLineNumber:w.endLineNumber}]})}getWordAtPosition(h){this.assertNotDisposed();const v=this._textModel.validatePosition(h),w=this._textModel.getLineContent(v.lineNumber),S=this.getLineTokens(v.lineNumber),L=S.findTokenIndexAtOffset(v.column-1),[D,T]=r._findLanguageBoundaries(S,L),M=(0,_.getWordAtText)(v.column,this.getLanguageConfiguration(S.getLanguageId(L)).getWordDefinition(),w.substring(D,T),D);if(M&&M.startColumn<=h.column&&h.column<=M.endColumn)return M;if(L>0&&D===v.column-1){const[A,P]=r._findLanguageBoundaries(S,L-1),N=(0,_.getWordAtText)(v.column,this.getLanguageConfiguration(S.getLanguageId(L-1)).getWordDefinition(),w.substring(A,P),A);if(N&&N.startColumn<=h.column&&h.column<=N.endColumn)return N}return null}getLanguageConfiguration(h){return this._languageConfigurationService.getLanguageConfiguration(h)}static _findLanguageBoundaries(h,v){const w=h.getLanguageId(v);let S=0;for(let D=v;D>=0&&h.getLanguageId(D)===w;D--)S=h.getStartOffset(D);let L=h.getLineContent().length;for(let D=v,T=h.getCount();D{const D=this.getLanguageId();L.changedLanguages.indexOf(D)!==-1&&this.resetTokenization()})),this.resetTokenization(),this._register(S.onDidChangeVisibleRanges(({view:L,state:D})=>{if(D){let T=this._attachedViewStates.get(L);T||(T=new i.AttachedViewHandler(()=>this.refreshRanges(T.lineRanges)),this._attachedViewStates.set(L,T)),T.handleStateChange(D)}else this._attachedViewStates.deleteAndDispose(L)}))}resetTokenization(h=!0){this._tokens.flush(),this._debugBackgroundTokens?.flush(),this._debugBackgroundStates&&(this._debugBackgroundStates=new t.TrackingTokenizationStateStore(this._textModel.getLineCount())),h&&this._onDidChangeTokens.fire({semanticTokensApplied:!1,ranges:[{fromLineNumber:1,toLineNumber:this._textModel.getLineCount()}]});const v=()=>{if(this._textModel.isTooLargeForTokenization())return[null,null];const L=b.TokenizationRegistry.get(this.getLanguageId());if(!L)return[null,null];let D;try{D=L.getInitialState()}catch(T){return(0,d.onUnexpectedError)(T),[null,null]}return[L,D]},[w,S]=v();if(w&&S?this._tokenizer=new t.TokenizerWithStateStoreAndTextModel(this._textModel.getLineCount(),w,this._textModel,this._languageIdCodec):this._tokenizer=null,this._backgroundTokenizer.clear(),this._defaultBackgroundTokenizer=null,this._tokenizer){const L={setTokens:D=>{this.setTokens(D)},backgroundTokenizationFinished:()=>{if(this._backgroundTokenizationState===2)return;const D=2;this._backgroundTokenizationState=D,this._onDidChangeBackgroundTokenizationState.fire()},setEndState:(D,T)=>{if(!this._tokenizer)return;const M=this._tokenizer.store.getFirstInvalidEndStateLineNumber();M!==null&&D>=M&&this._tokenizer?.store.setEndState(D,T)}};w&&w.createBackgroundTokenizer&&!w.backgroundTokenizerShouldOnlyVerifyTokens&&(this._backgroundTokenizer.value=w.createBackgroundTokenizer(this._textModel,L)),!this._backgroundTokenizer.value&&!this._textModel.isTooLargeForTokenization()&&(this._backgroundTokenizer.value=this._defaultBackgroundTokenizer=new t.DefaultBackgroundTokenizer(this._tokenizer,L),this._defaultBackgroundTokenizer.handleChanges()),w?.backgroundTokenizerShouldOnlyVerifyTokens&&w.createBackgroundTokenizer?(this._debugBackgroundTokens=new l.ContiguousTokensStore(this._languageIdCodec),this._debugBackgroundStates=new t.TrackingTokenizationStateStore(this._textModel.getLineCount()),this._debugBackgroundTokenizer.clear(),this._debugBackgroundTokenizer.value=w.createBackgroundTokenizer(this._textModel,{setTokens:D=>{this._debugBackgroundTokens?.setMultilineTokens(D,this._textModel)},backgroundTokenizationFinished(){},setEndState:(D,T)=>{this._debugBackgroundStates?.setEndState(D,T)}})):(this._debugBackgroundTokens=void 0,this._debugBackgroundStates=void 0,this._debugBackgroundTokenizer.value=void 0)}this.refreshAllVisibleLineTokens()}handleDidChangeAttached(){this._defaultBackgroundTokenizer?.handleChanges()}handleDidChangeContent(h){if(h.isFlush)this.resetTokenization(!1);else if(!h.isEolChange){for(const v of h.changes){const[w,S]=(0,E.countEOL)(v.text);this._tokens.acceptEdit(v.range,w,S),this._debugBackgroundTokens?.acceptEdit(v.range,w,S)}this._debugBackgroundStates?.acceptChanges(h.changes),this._tokenizer&&this._tokenizer.store.acceptChanges(h.changes),this._defaultBackgroundTokenizer?.handleChanges()}}setTokens(h){const{changes:v}=this._tokens.setMultilineTokens(h,this._textModel);return v.length>0&&this._onDidChangeTokens.fire({semanticTokensApplied:!1,ranges:v}),{changes:v}}refreshAllVisibleLineTokens(){const h=y.LineRange.joinMany([...this._attachedViewStates].map(([v,w])=>w.lineRanges));this.refreshRanges(h)}refreshRanges(h){for(const v of h)this.refreshRange(v.startLineNumber,v.endLineNumberExclusive-1)}refreshRange(h,v){if(!this._tokenizer)return;h=Math.max(1,Math.min(this._textModel.getLineCount(),h)),v=Math.min(this._textModel.getLineCount(),v);const w=new c.ContiguousMultilineTokensBuilder,{heuristicTokens:S}=this._tokenizer.tokenizeHeuristically(w,h,v),L=this.setTokens(w.finalize());if(S)for(const D of L.changes)this._backgroundTokenizer.value?.requestTokens(D.fromLineNumber,D.toLineNumber+1);this._defaultBackgroundTokenizer?.checkFinished()}forceTokenization(h){const v=new c.ContiguousMultilineTokensBuilder;this._tokenizer?.updateTokensUntilLine(v,h),this.setTokens(v.finalize()),this._defaultBackgroundTokenizer?.checkFinished()}hasAccurateTokensForLine(h){return this._tokenizer?this._tokenizer.hasAccurateTokensForLine(h):!0}isCheapToTokenize(h){return this._tokenizer?this._tokenizer.isCheapToTokenize(h):!0}getLineTokens(h){const v=this._textModel.getLineContent(h),w=this._tokens.getTokens(this._textModel.getLanguageId(),h-1,v);if(this._debugBackgroundTokens&&this._debugBackgroundStates&&this._tokenizer&&this._debugBackgroundStates.getFirstInvalidEndStateLineNumberOrMax()>h&&this._tokenizer.store.getFirstInvalidEndStateLineNumberOrMax()>h){const S=this._debugBackgroundTokens.getTokens(this._textModel.getLanguageId(),h-1,v);!w.equals(S)&&this._debugBackgroundTokenizer.value?.reportMismatchingTokens&&this._debugBackgroundTokenizer.value.reportMismatchingTokens(h)}return w}getTokenTypeIfInsertingCharacter(h,v,w){if(!this._tokenizer)return 0;const S=this._textModel.validatePosition(new m.Position(h,v));return this.forceTokenization(S.lineNumber),this._tokenizer.getTokenTypeIfInsertingCharacter(S,w)}tokenizeLineWithEdit(h,v,w){if(!this._tokenizer)return null;const S=this._textModel.validatePosition(h);return this.forceTokenization(S.lineNumber),this._tokenizer.tokenizeLineWithEdit(S,v,w)}get hasTokens(){return this._tokens.hasTokens}}}),define(ne[708],se([1,0,42,48,22,70,382,30]),function(oe,e,d,k,I,E,y,m){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getIconClasses=b;const _=/(?:\/|^)(?:([^\/]+)\/)?([^\/]+)$/;function b(o,t,i,s,g){if(m.ThemeIcon.isThemeIcon(g))return[`codicon-${g.id}`,"predefined-file-icon"];if(I.URI.isUri(g))return[];const c=s===y.FileKind.ROOT_FOLDER?["rootfolder-icon"]:s===y.FileKind.FOLDER?["folder-icon"]:["file-icon"];if(i){let l;if(i.scheme===d.Schemas.data)l=k.DataUri.parseMetaData(i).get(k.DataUri.META_DATA_LABEL);else{const a=i.path.match(_);a?(l=n(a[2].toLowerCase()),a[1]&&c.push(`${n(a[1].toLowerCase())}-name-dir-icon`)):l=n(i.authority.toLowerCase())}if(s===y.FileKind.ROOT_FOLDER)c.push(`${l}-root-name-folder-icon`);else if(s===y.FileKind.FOLDER)c.push(`${l}-name-folder-icon`);else{if(l){if(c.push(`${l}-name-file-icon`),c.push("name-file-icon"),l.length<=255){const r=l.split(".");for(let u=1;u{h.mime===f.mime||h.userConfigured||(f.extension&&h.extension===f.extension&&console.warn(`Overwriting extension <<${f.extension}>> to now point to mime <<${f.mime}>>`),f.filename&&h.filename===f.filename&&console.warn(`Overwriting filename <<${f.filename}>> to now point to mime <<${f.mime}>>`),f.filepattern&&h.filepattern===f.filepattern&&console.warn(`Overwriting filepattern <<${f.filepattern}>> to now point to mime <<${f.mime}>>`),f.firstline&&h.firstline===f.firstline&&console.warn(`Overwriting firstline <<${f.firstline}>> to now point to mime <<${f.mime}>>`))})}function i(r,u){return{id:r.id,mime:r.mime,filename:r.filename,extension:r.extension,filepattern:r.filepattern,firstline:r.firstline,userConfigured:u,filenameLowercase:r.filename?r.filename.toLowerCase():void 0,extensionLowercase:r.extension?r.extension.toLowerCase():void 0,filepatternLowercase:r.filepattern?(0,d.parse)(r.filepattern.toLowerCase()):void 0,filepatternOnPath:r.filepattern?r.filepattern.indexOf(E.posix.sep)>=0:!1}}function s(){b=b.filter(r=>r.userConfigured),p=[]}function g(r,u){return c(r,u).map(C=>C.id)}function c(r,u){let C;if(r)switch(r.scheme){case I.Schemas.file:C=r.fsPath;break;case I.Schemas.data:{C=y.DataUri.parseMetaData(r).get(y.DataUri.META_DATA_LABEL);break}case I.Schemas.vscodeNotebookCell:C=void 0;break;default:C=r.path}if(!C)return[{id:"unknown",mime:k.Mimes.unknown}];C=C.toLowerCase();const f=(0,E.basename)(C),h=l(C,f,n);if(h)return[h,{id:_.PLAINTEXT_LANGUAGE_ID,mime:k.Mimes.text}];const v=l(C,f,p);if(v)return[v,{id:_.PLAINTEXT_LANGUAGE_ID,mime:k.Mimes.text}];if(u){const w=a(u);if(w)return[w,{id:_.PLAINTEXT_LANGUAGE_ID,mime:k.Mimes.text}]}return[{id:"unknown",mime:k.Mimes.unknown}]}function l(r,u,C){let f,h,v;for(let w=C.length-1;w>=0;w--){const S=C[w];if(u===S.filenameLowercase){f=S;break}if(S.filepattern&&(!h||S.filepattern.length>h.filepattern.length)){const L=S.filepatternOnPath?r:u;S.filepatternLowercase?.(L)&&(h=S)}S.extension&&(!v||S.extension.length>v.extension.length)&&u.endsWith(S.extensionLowercase)&&(v=S)}if(f)return f;if(h)return h;if(v)return v}function a(r){if((0,m.startsWithUTF8BOM)(r)&&(r=r.substr(1)),r.length>0)for(let u=b.length-1;u>=0;u--){const C=b[u];if(!C.firstline)continue;const f=r.match(C.firstline);if(f&&f.length>0)return C}}}),define(ne[710],se([1,0,6,2,11,709,70,109,38]),function(oe,e,d,k,I,E,y,m,_){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.LanguagesRegistry=e.LanguageIdCodec=void 0;const b=Object.prototype.hasOwnProperty,p="vs.editor.nullLanguage";class n{constructor(){this._languageIdToLanguage=[],this._languageToLanguageId=new Map,this._register(p,0),this._register(y.PLAINTEXT_LANGUAGE_ID,1),this._nextLanguageId=2}_register(i,s){this._languageIdToLanguage[s]=i,this._languageToLanguageId.set(i,s)}register(i){if(this._languageToLanguageId.has(i))return;const s=this._nextLanguageId++;this._register(i,s)}encodeLanguageId(i){return this._languageToLanguageId.get(i)||0}decodeLanguageId(i){return this._languageIdToLanguage[i]||p}}e.LanguageIdCodec=n;class o extends k.Disposable{static{this.instanceCount=0}constructor(i=!0,s=!1){super(),this._onDidChange=this._register(new d.Emitter),this.onDidChange=this._onDidChange.event,o.instanceCount++,this._warnOnOverwrite=s,this.languageIdCodec=new n,this._dynamicLanguages=[],this._languages={},this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},i&&(this._initializeFromRegistry(),this._register(y.ModesRegistry.onDidChangeLanguages(g=>{this._initializeFromRegistry()})))}dispose(){o.instanceCount--,super.dispose()}_initializeFromRegistry(){this._languages={},this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},(0,E.clearPlatformLanguageAssociations)();const i=[].concat(y.ModesRegistry.getLanguages()).concat(this._dynamicLanguages);this._registerLanguages(i)}_registerLanguages(i){for(const s of i)this._registerLanguage(s);this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},Object.keys(this._languages).forEach(s=>{const g=this._languages[s];g.name&&(this._nameMap[g.name]=g.identifier),g.aliases.forEach(c=>{this._lowercaseNameMap[c.toLowerCase()]=g.identifier}),g.mimetypes.forEach(c=>{this._mimeTypesMap[c]=g.identifier})}),_.Registry.as(m.Extensions.Configuration).registerOverrideIdentifiers(this.getRegisteredLanguageIds()),this._onDidChange.fire()}_registerLanguage(i){const s=i.id;let g;b.call(this._languages,s)?g=this._languages[s]:(this.languageIdCodec.register(s),g={identifier:s,name:null,mimetypes:[],aliases:[],extensions:[],filenames:[],configurationFiles:[],icons:[]},this._languages[s]=g),this._mergeLanguage(g,i)}_mergeLanguage(i,s){const g=s.id;let c=null;if(Array.isArray(s.mimetypes)&&s.mimetypes.length>0&&(i.mimetypes.push(...s.mimetypes),c=s.mimetypes[0]),c||(c=`text/x-${g}`,i.mimetypes.push(c)),Array.isArray(s.extensions)){s.configuration?i.extensions=s.extensions.concat(i.extensions):i.extensions=i.extensions.concat(s.extensions);for(const r of s.extensions)(0,E.registerPlatformLanguageAssociation)({id:g,mime:c,extension:r},this._warnOnOverwrite)}if(Array.isArray(s.filenames))for(const r of s.filenames)(0,E.registerPlatformLanguageAssociation)({id:g,mime:c,filename:r},this._warnOnOverwrite),i.filenames.push(r);if(Array.isArray(s.filenamePatterns))for(const r of s.filenamePatterns)(0,E.registerPlatformLanguageAssociation)({id:g,mime:c,filepattern:r},this._warnOnOverwrite);if(typeof s.firstLine=="string"&&s.firstLine.length>0){let r=s.firstLine;r.charAt(0)!=="^"&&(r="^"+r);try{const u=new RegExp(r);(0,I.regExpLeadsToEndlessLoop)(u)||(0,E.registerPlatformLanguageAssociation)({id:g,mime:c,firstline:u},this._warnOnOverwrite)}catch(u){console.warn(`[${s.id}]: Invalid regular expression \`${r}\`: `,u)}}i.aliases.push(g);let l=null;if(typeof s.aliases<"u"&&Array.isArray(s.aliases)&&(s.aliases.length===0?l=[null]:l=s.aliases),l!==null)for(const r of l)!r||r.length===0||i.aliases.push(r);const a=l!==null&&l.length>0;if(!(a&&l[0]===null)){const r=(a?l[0]:null)||g;(a||!i.name)&&(i.name=r)}s.configuration&&i.configurationFiles.push(s.configuration),s.icon&&i.icons.push(s.icon)}isRegisteredLanguageId(i){return i?b.call(this._languages,i):!1}getRegisteredLanguageIds(){return Object.keys(this._languages)}getLanguageIdByLanguageName(i){const s=i.toLowerCase();return b.call(this._lowercaseNameMap,s)?this._lowercaseNameMap[s]:null}getLanguageIdByMimeType(i){return i&&b.call(this._mimeTypesMap,i)?this._mimeTypesMap[i]:null}guessLanguageIdByFilepathOrFirstLine(i,s){return!i&&!s?[]:(0,E.getLanguageIds)(i,s)}}e.LanguagesRegistry=o}),define(ne[711],se([1,0,6,2,710,13,27,70,21]),function(oe,e,d,k,I,E,y,m,_){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.LanguageService=void 0;class b extends k.Disposable{static{this.instanceCount=0}constructor(o=!1){super(),this._onDidRequestBasicLanguageFeatures=this._register(new d.Emitter),this.onDidRequestBasicLanguageFeatures=this._onDidRequestBasicLanguageFeatures.event,this._onDidRequestRichLanguageFeatures=this._register(new d.Emitter),this.onDidRequestRichLanguageFeatures=this._onDidRequestRichLanguageFeatures.event,this._onDidChange=this._register(new d.Emitter({leakWarningThreshold:200})),this.onDidChange=this._onDidChange.event,this._requestedBasicLanguages=new Set,this._requestedRichLanguages=new Set,b.instanceCount++,this._registry=this._register(new I.LanguagesRegistry(!0,o)),this.languageIdCodec=this._registry.languageIdCodec,this._register(this._registry.onDidChange(()=>this._onDidChange.fire()))}dispose(){b.instanceCount--,super.dispose()}isRegisteredLanguageId(o){return this._registry.isRegisteredLanguageId(o)}getLanguageIdByLanguageName(o){return this._registry.getLanguageIdByLanguageName(o)}getLanguageIdByMimeType(o){return this._registry.getLanguageIdByMimeType(o)}guessLanguageIdByFilepathOrFirstLine(o,t){const i=this._registry.guessLanguageIdByFilepathOrFirstLine(o,t);return(0,E.firstOrDefault)(i,null)}createById(o){return new p(this.onDidChange,()=>this._createAndGetLanguageIdentifier(o))}createByFilepathOrFirstLine(o,t){return new p(this.onDidChange,()=>{const i=this.guessLanguageIdByFilepathOrFirstLine(o,t);return this._createAndGetLanguageIdentifier(i)})}_createAndGetLanguageIdentifier(o){return(!o||!this.isRegisteredLanguageId(o))&&(o=m.PLAINTEXT_LANGUAGE_ID),o}requestBasicLanguageFeatures(o){this._requestedBasicLanguages.has(o)||(this._requestedBasicLanguages.add(o),this._onDidRequestBasicLanguageFeatures.fire(o))}requestRichLanguageFeatures(o){this._requestedRichLanguages.has(o)||(this._requestedRichLanguages.add(o),this.requestBasicLanguageFeatures(o),y.TokenizationRegistry.getOrCreate(o),this._onDidRequestRichLanguageFeatures.fire(o))}}e.LanguageService=b;class p{constructor(o,t){this._value=(0,_.observableFromEvent)(this,o,()=>t()),this.onDidChange=d.Event.fromObservable(this._value)}get languageId(){return this._value.get()}}}),define(ne[712],se([1,0,5,2,120,43,376,59,174,669,210]),function(oe,e,d,k,I,E,y,m,_,b,p){"use strict";var n;Object.defineProperty(e,"__esModule",{value:!0}),e.MarginHoverWidget=void 0;const o=d.$;let t=class extends k.Disposable{static{n=this}static{this.ID="editor.contrib.modesGlyphHoverWidget"}constructor(s,g,c){super(),this._renderDisposeables=this._register(new k.DisposableStore),this._editor=s,this._isVisible=!1,this._messages=[],this._hover=this._register(new _.HoverWidget),this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible),this._markdownRenderer=this._register(new I.MarkdownRenderer({editor:this._editor},g,c)),this._computer=new b.MarginHoverComputer(this._editor),this._hoverOperation=this._register(new y.HoverOperation(this._editor,this._computer)),this._register(this._hoverOperation.onResult(l=>{this._withResult(l.value)})),this._register(this._editor.onDidChangeModelDecorations(()=>this._onModelDecorationsChanged())),this._register(this._editor.onDidChangeConfiguration(l=>{l.hasChanged(50)&&this._updateFont()})),this._register(d.addStandardDisposableListener(this._hover.containerDomNode,"mouseleave",l=>{this._onMouseLeave(l)})),this._editor.addOverlayWidget(this)}dispose(){this._editor.removeOverlayWidget(this),super.dispose()}getId(){return n.ID}getDomNode(){return this._hover.containerDomNode}getPosition(){return null}_updateFont(){Array.prototype.slice.call(this._hover.contentsDomNode.getElementsByClassName("code")).forEach(g=>this._editor.applyFontInfo(g))}_onModelDecorationsChanged(){this._isVisible&&(this._hoverOperation.cancel(),this._hoverOperation.start(0))}showsOrWillShow(s){const g=s.target;return g.type===2&&g.detail.glyphMarginLane?(this._startShowingAt(g.position.lineNumber,g.detail.glyphMarginLane),!0):g.type===3?(this._startShowingAt(g.position.lineNumber,"lineNo"),!0):!1}_startShowingAt(s,g){this._computer.lineNumber===s&&this._computer.lane===g||(this._hoverOperation.cancel(),this.hide(),this._computer.lineNumber=s,this._computer.lane=g,this._hoverOperation.start(0))}hide(){this._computer.lineNumber=-1,this._hoverOperation.cancel(),this._isVisible&&(this._isVisible=!1,this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible))}_withResult(s){this._messages=s,this._messages.length>0?this._renderMessages(this._computer.lineNumber,this._messages):this.hide()}_renderMessages(s,g){this._renderDisposeables.clear();const c=document.createDocumentFragment();for(const l of g){const a=o("div.hover-row.markdown-hover"),r=d.append(a,o("div.hover-contents")),u=this._renderDisposeables.add(this._markdownRenderer.render(l.value));r.appendChild(u.element),c.appendChild(a)}this._updateContents(c),this._showAt(s)}_updateContents(s){this._hover.contentsDomNode.textContent="",this._hover.contentsDomNode.appendChild(s),this._updateFont()}_showAt(s){this._isVisible||(this._isVisible=!0,this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible));const g=this._editor.getLayoutInfo(),c=this._editor.getTopForLineNumber(s),l=this._editor.getScrollTop(),a=this._editor.getOption(67),r=this._hover.containerDomNode.clientHeight,u=c-l-(r-a)/2,C=g.glyphMarginLeft+g.glyphMarginWidth+(this._computer.lane==="lineNo"?g.lineNumbersWidth:0);this._hover.containerDomNode.style.left=`${C}px`,this._hover.containerDomNode.style.top=`${Math.max(Math.round(u),0)}px`}_onMouseLeave(s){const g=this._editor.getDomNode();(!g||!(0,p.isMousePositionWithinElement)(g,s.x,s.y))&&this.hide()}};e.MarginHoverWidget=t,e.MarginHoverWidget=t=n=ke([ce(1,E.ILanguageService),ce(2,m.IOpenerService)],t)}),define(ne[713],se([1,0,2,7,14,210,712,196]),function(oe,e,d,k,I,E,y){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.MarginHoverController=void 0;const m=!1;let _=class extends d.Disposable{static{this.ID="editor.contrib.marginHover"}constructor(p,n){super(),this._editor=p,this._instantiationService=n,this.shouldKeepOpenOnEditorMouseMoveOrLeave=!1,this._listenersStore=new d.DisposableStore,this._hoverState={mouseDown:!1},this._reactToEditorMouseMoveRunner=this._register(new I.RunOnceScheduler(()=>this._reactToEditorMouseMove(this._mouseMoveEvent),0)),this._hookListeners(),this._register(this._editor.onDidChangeConfiguration(o=>{o.hasChanged(60)&&(this._unhookListeners(),this._hookListeners())}))}_hookListeners(){const p=this._editor.getOption(60);this._hoverSettings={enabled:p.enabled,sticky:p.sticky,hidingDelay:p.hidingDelay},p.enabled?(this._listenersStore.add(this._editor.onMouseDown(n=>this._onEditorMouseDown(n))),this._listenersStore.add(this._editor.onMouseUp(()=>this._onEditorMouseUp())),this._listenersStore.add(this._editor.onMouseMove(n=>this._onEditorMouseMove(n))),this._listenersStore.add(this._editor.onKeyDown(n=>this._onKeyDown(n)))):(this._listenersStore.add(this._editor.onMouseMove(n=>this._onEditorMouseMove(n))),this._listenersStore.add(this._editor.onKeyDown(n=>this._onKeyDown(n)))),this._listenersStore.add(this._editor.onMouseLeave(n=>this._onEditorMouseLeave(n))),this._listenersStore.add(this._editor.onDidChangeModel(()=>{this._cancelScheduler(),this._hideWidgets()})),this._listenersStore.add(this._editor.onDidChangeModelContent(()=>this._cancelScheduler())),this._listenersStore.add(this._editor.onDidScrollChange(n=>this._onEditorScrollChanged(n)))}_unhookListeners(){this._listenersStore.clear()}_cancelScheduler(){this._mouseMoveEvent=void 0,this._reactToEditorMouseMoveRunner.cancel()}_onEditorScrollChanged(p){(p.scrollTopChanged||p.scrollLeftChanged)&&this._hideWidgets()}_onEditorMouseDown(p){this._hoverState.mouseDown=!0,!this._isMouseOnMarginHoverWidget(p)&&this._hideWidgets()}_isMouseOnMarginHoverWidget(p){const n=this._glyphWidget?.getDomNode();return n?(0,E.isMousePositionWithinElement)(n,p.event.posx,p.event.posy):!1}_onEditorMouseUp(){this._hoverState.mouseDown=!1}_onEditorMouseLeave(p){this.shouldKeepOpenOnEditorMouseMoveOrLeave||(this._cancelScheduler(),this._isMouseOnMarginHoverWidget(p))||m||this._hideWidgets()}_shouldNotRecomputeCurrentHoverWidget(p){const n=this._hoverSettings.sticky,o=this._isMouseOnMarginHoverWidget(p);return n&&o}_onEditorMouseMove(p){if(this.shouldKeepOpenOnEditorMouseMoveOrLeave)return;if(this._mouseMoveEvent=p,this._shouldNotRecomputeCurrentHoverWidget(p)){this._reactToEditorMouseMoveRunner.cancel();return}this._reactToEditorMouseMove(p)}_reactToEditorMouseMove(p){!p||this._tryShowHoverWidget(p)||m||this._hideWidgets()}_tryShowHoverWidget(p){return this._getOrCreateGlyphWidget().showsOrWillShow(p)}_onKeyDown(p){this._editor.hasModel()&&(p.keyCode===5||p.keyCode===6||p.keyCode===57||p.keyCode===4||this._hideWidgets())}_hideWidgets(){m||this._glyphWidget?.hide()}_getOrCreateGlyphWidget(){return this._glyphWidget||(this._glyphWidget=this._instantiationService.createInstance(y.MarginHoverWidget,this._editor)),this._glyphWidget}dispose(){super.dispose(),this._unhookListeners(),this._listenersStore.dispose(),this._glyphWidget?.dispose()}};e.MarginHoverController=_,e.MarginHoverController=_=ke([ce(1,k.IInstantiationService)],_)}),define(ne[714],se([1,0,11,183,75,230,23,240]),function(oe,e,d,k,I,E,y,m){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getReindentEditOperations=_;function _(p,n,o,t){if(p.getLineCount()===1&&p.getLineMaxColumn(1)===1)return[];const i=n.getLanguageConfiguration(p.getLanguageId()).indentRulesSupport;if(!i)return[];const s=new m.ProcessedIndentRulesSupport(p,i,n);for(t=Math.min(t,p.getLineCount());o<=t&&s.shouldIgnore(o);)o++;if(o>t-1)return[];const{tabSize:g,indentSize:c,insertSpaces:l}=p.getOptions(),a=(v,w)=>(w=w||1,k.ShiftCommand.shiftIndent(v,v.length+w,g,c,l)),r=(v,w)=>(w=w||1,k.ShiftCommand.unshiftIndent(v,v.length+w,g,c,l)),u=[],C=p.getLineContent(o);let f=d.getLeadingWhitespace(C),h=f;s.shouldIncrease(o)?(h=a(h),f=a(f)):s.shouldIndentNextLine(o)&&(h=a(h)),o++;for(let v=o;v<=t;v++){if(b(p,v))continue;const w=p.getLineContent(v),S=d.getLeadingWhitespace(w),L=h;s.shouldDecrease(v,L)&&(h=r(h),f=r(f)),S!==h&&u.push(I.EditOperation.replaceMove(new y.Selection(v,1,v,S.length+1),(0,E.normalizeIndentation)(h,c,l))),!s.shouldIgnore(v)&&(s.shouldIncrease(v,L)?(f=a(f),h=f):s.shouldIndentNextLine(v,L)?h=a(h):h=f)}return u}function b(p,n){return p.tokenization.isCheapToTokenize(n)?p.tokenization.getLineTokens(n).getStandardTokenType(0)===2:!1}}),define(ne[715],se([1,0,18,102,82,2,21,4,104,113,27,36,17,378,246]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.InlineCompletionWithUpdatedRange=e.UpToDateInlineCompletions=e.InlineCompletionsSource=void 0;let s=class extends E.Disposable{constructor(f,h,v,w,S){super(),this.textModel=f,this.versionId=h,this._debounceValue=v,this.languageFeaturesService=w,this.languageConfigurationService=S,this._updateOperation=this._register(new E.MutableDisposable),this.inlineCompletions=(0,y.disposableObservableValue)("inlineCompletions",void 0),this.suggestWidgetInlineCompletions=(0,y.disposableObservableValue)("suggestWidgetInlineCompletions",void 0),this._register(this.textModel.onDidChangeContent(()=>{this._updateOperation.clear()}))}fetch(f,h,v){const w=new c(f,h,this.textModel.getVersionId()),S=h.selectedSuggestionInfo?this.suggestWidgetInlineCompletions:this.inlineCompletions;if(this._updateOperation.value?.request.satisfies(w))return this._updateOperation.value.promise;if(S.get()?.request.satisfies(w))return Promise.resolve(!0);const L=!!this._updateOperation.value;this._updateOperation.clear();const D=new d.CancellationTokenSource,T=(async()=>{if((L||h.triggerKind===p.InlineCompletionTriggerKind.Automatic)&&await g(this._debounceValue.get(this.textModel),D.token),D.token.isCancellationRequested||this._store.isDisposed||this.textModel.getVersionId()!==w.versionId)return!1;const P=new Date,N=await(0,t.provideInlineCompletions)(this.languageFeaturesService.inlineCompletionsProvider,f,this.textModel,h,D.token,this.languageConfigurationService);if(D.token.isCancellationRequested||this._store.isDisposed||this.textModel.getVersionId()!==w.versionId)return!1;const O=new Date;this._debounceValue.update(this.textModel,O.getTime()-P.getTime());const F=new a(N,w,this.textModel,this.versionId);if(v){const x=v.toInlineCompletion(void 0);v.canBeReused(this.textModel,f)&&!N.has(x)&&F.prepend(v.inlineCompletion,x.range,!0)}return this._updateOperation.clear(),(0,y.transaction)(x=>{S.set(F,x)}),!0})(),M=new l(w,D,T);return this._updateOperation.value=M,T}clear(f){this._updateOperation.clear(),this.inlineCompletions.set(void 0,f),this.suggestWidgetInlineCompletions.set(void 0,f)}clearSuggestWidgetInlineCompletions(f){this._updateOperation.value?.request.context.selectedSuggestionInfo&&this._updateOperation.clear(),this.suggestWidgetInlineCompletions.set(void 0,f)}cancelUpdate(){this._updateOperation.clear()}};e.InlineCompletionsSource=s,e.InlineCompletionsSource=s=ke([ce(3,o.ILanguageFeaturesService),ce(4,n.ILanguageConfigurationService)],s);function g(C,f){return new Promise(h=>{let v;const w=setTimeout(()=>{v&&v.dispose(),h()},C);f&&(v=f.onCancellationRequested(()=>{clearTimeout(w),v&&v.dispose(),h()}))})}class c{constructor(f,h,v){this.position=f,this.context=h,this.versionId=v}satisfies(f){return this.position.equals(f.position)&&(0,k.equalsIfDefined)(this.context.selectedSuggestionInfo,f.context.selectedSuggestionInfo,(0,k.itemEquals)())&&(f.context.triggerKind===p.InlineCompletionTriggerKind.Automatic||this.context.triggerKind===p.InlineCompletionTriggerKind.Explicit)&&this.versionId===f.versionId}}class l{constructor(f,h,v){this.request=f,this.cancellationTokenSource=h,this.promise=v}dispose(){this.cancellationTokenSource.cancel()}}class a{get inlineCompletions(){return this._inlineCompletions}constructor(f,h,v,w){this.inlineCompletionProviderResult=f,this.request=h,this._textModel=v,this._versionId=w,this._refCount=1,this._prependedInlineCompletionItems=[];const S=v.deltaDecorations([],f.completions.map(L=>({range:L.range,options:{description:"inline-completion-tracking-range"}})));this._inlineCompletions=f.completions.map((L,D)=>new r(L,S[D],this._textModel,this._versionId))}clone(){return this._refCount++,this}dispose(){if(this._refCount--,this._refCount===0){setTimeout(()=>{this._textModel.isDisposed()||this._textModel.deltaDecorations(this._inlineCompletions.map(f=>f.decorationId),[])},0),this.inlineCompletionProviderResult.dispose();for(const f of this._prependedInlineCompletionItems)f.source.removeRef()}}prepend(f,h,v){v&&f.source.addRef();const w=this._textModel.deltaDecorations([],[{range:h,options:{description:"inline-completion-tracking-range"}}])[0];this._inlineCompletions.unshift(new r(f,w,this._textModel,this._versionId)),this._prependedInlineCompletionItems.push(f)}}e.UpToDateInlineCompletions=a;class r{get forwardStable(){return this.inlineCompletion.source.inlineCompletions.enableForwardStability??!1}constructor(f,h,v,w){this.inlineCompletion=f,this.decorationId=h,this._textModel=v,this._modelVersion=w,this.semanticId=JSON.stringify([this.inlineCompletion.filterText,this.inlineCompletion.insertText,this.inlineCompletion.range.getStartPosition().toString()]),this._updatedRange=(0,y.derivedOpts)({owner:this,equalsFn:m.Range.equalsRange},S=>(this._modelVersion.read(S),this._textModel.getDecorationRange(this.decorationId)))}toInlineCompletion(f){return this.inlineCompletion.withRange(this._updatedRange.read(f)??u)}toSingleTextEdit(f){return new _.SingleTextEdit(this._updatedRange.read(f)??u,this.inlineCompletion.insertText)}isVisible(f,h,v){const w=(0,i.singleTextRemoveCommonPrefix)(this._toFilterTextReplacement(v),f),S=this._updatedRange.read(v);if(!S||!this.inlineCompletion.range.getStartPosition().equals(S.getStartPosition())||h.lineNumber!==w.range.startLineNumber)return!1;const L=f.getValueInRange(w.range,1),D=w.text,T=Math.max(0,h.column-w.range.startColumn);let M=D.substring(0,T),A=D.substring(T),P=L.substring(0,T),N=L.substring(T);const O=f.getLineIndentColumn(w.range.startLineNumber);return w.range.startColumn<=O&&(P=P.trimStart(),P.length===0&&(N=N.trimStart()),M=M.trimStart(),M.length===0&&(A=A.trimStart())),M.startsWith(P)&&!!(0,I.matchesSubString)(N,A)}canBeReused(f,h){const v=this._updatedRange.read(void 0);return!!v&&v.containsPosition(h)&&this.isVisible(f,h,void 0)&&b.TextLength.ofRange(v).isGreaterThanOrEqualTo(b.TextLength.ofRange(this.inlineCompletion.range))}_toFilterTextReplacement(f){return new _.SingleTextEdit(this._updatedRange.read(f)??u,this.inlineCompletion.filterText)}}e.InlineCompletionWithUpdatedRange=r;const u=new m.Range(1,1,1,1)}),define(ne[716],se([1,0,11,183,4,23,131,36,338,241,275]),function(oe,e,d,k,I,E,y,m,_,b,p){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.MoveLinesCommand=void 0;let n=class{constructor(t,i,s,g){this._languageConfigurationService=g,this._selection=t,this._isMovingDown=i,this._autoIndent=s,this._selectionId=null,this._moveEndLineSelectionShrink=!1}getEditOperations(t,i){const s=()=>t.getLanguageId(),g=(f,h)=>t.getLanguageIdAtPosition(f,h),c=t.getLineCount();if(this._isMovingDown&&this._selection.endLineNumber===c){this._selectionId=i.trackSelection(this._selection);return}if(!this._isMovingDown&&this._selection.startLineNumber===1){this._selectionId=i.trackSelection(this._selection);return}this._moveEndPositionDown=!1;let l=this._selection;l.startLineNumberT===l.startLineNumber?t.tokenization.getLineTokens(f):t.tokenization.getLineTokens(T),getLanguageId:s,getLanguageIdAtPosition:g},getLineContent:T=>T===l.startLineNumber?t.getLineContent(f):t.getLineContent(T)},D=(0,b.getGoodIndentForLine)(this._autoIndent,L,t.getLanguageIdAtPosition(f,1),l.startLineNumber,C,this._languageConfigurationService);if(D!==null){const T=d.getLeadingWhitespace(t.getLineContent(f)),M=_.getSpaceCnt(D,a),A=_.getSpaceCnt(T,a);M!==A&&(v=_.generateIndent(M,a,u)+this.trimStart(h))}}i.addEditOperation(new I.Range(l.startLineNumber,1,l.startLineNumber,1),v+` +`);const S=this.matchEnterRuleMovingDown(t,C,a,l.startLineNumber,f,v);if(S!==null)S!==0&&this.getIndentEditsOfMovingBlock(t,i,l,a,u,S);else{const L={tokenization:{getLineTokens:T=>T===l.startLineNumber?t.tokenization.getLineTokens(f):T>=l.startLineNumber+1&&T<=l.endLineNumber+1?t.tokenization.getLineTokens(T-1):t.tokenization.getLineTokens(T),getLanguageId:s,getLanguageIdAtPosition:g},getLineContent:T=>T===l.startLineNumber?v:T>=l.startLineNumber+1&&T<=l.endLineNumber+1?t.getLineContent(T-1):t.getLineContent(T)},D=(0,b.getGoodIndentForLine)(this._autoIndent,L,t.getLanguageIdAtPosition(f,1),l.startLineNumber+1,C,this._languageConfigurationService);if(D!==null){const T=d.getLeadingWhitespace(t.getLineContent(l.startLineNumber)),M=_.getSpaceCnt(D,a),A=_.getSpaceCnt(T,a);if(M!==A){const P=M-A;this.getIndentEditsOfMovingBlock(t,i,l,a,u,P)}}}}else i.addEditOperation(new I.Range(l.startLineNumber,1,l.startLineNumber,1),v+` +`)}else if(f=l.startLineNumber-1,h=t.getLineContent(f),i.addEditOperation(new I.Range(f,1,f+1,1),null),i.addEditOperation(new I.Range(l.endLineNumber,t.getLineMaxColumn(l.endLineNumber),l.endLineNumber,t.getLineMaxColumn(l.endLineNumber)),` +`+h),this.shouldAutoIndent(t,l)){const v={tokenization:{getLineTokens:S=>S===f?t.tokenization.getLineTokens(l.startLineNumber):t.tokenization.getLineTokens(S),getLanguageId:s,getLanguageIdAtPosition:g},getLineContent:S=>S===f?t.getLineContent(l.startLineNumber):t.getLineContent(S)},w=this.matchEnterRule(t,C,a,l.startLineNumber,l.startLineNumber-2);if(w!==null)w!==0&&this.getIndentEditsOfMovingBlock(t,i,l,a,u,w);else{const S=(0,b.getGoodIndentForLine)(this._autoIndent,v,t.getLanguageIdAtPosition(l.startLineNumber,1),f,C,this._languageConfigurationService);if(S!==null){const L=d.getLeadingWhitespace(t.getLineContent(l.startLineNumber)),D=_.getSpaceCnt(S,a),T=_.getSpaceCnt(L,a);if(D!==T){const M=D-T;this.getIndentEditsOfMovingBlock(t,i,l,a,u,M)}}}}}this._selectionId=i.trackSelection(l)}buildIndentConverter(t,i,s){return{shiftIndent:g=>k.ShiftCommand.shiftIndent(g,g.length+1,t,i,s),unshiftIndent:g=>k.ShiftCommand.unshiftIndent(g,g.length+1,t,i,s)}}parseEnterResult(t,i,s,g,c){if(c){let l=c.indentation;c.indentAction===y.IndentAction.None||c.indentAction===y.IndentAction.Indent?l=c.indentation+c.appendText:c.indentAction===y.IndentAction.IndentOutdent?l=c.indentation:c.indentAction===y.IndentAction.Outdent&&(l=i.unshiftIndent(c.indentation)+c.appendText);const a=t.getLineContent(g);if(this.trimStart(a).indexOf(this.trimStart(l))>=0){const r=d.getLeadingWhitespace(t.getLineContent(g));let u=d.getLeadingWhitespace(l);const C=(0,b.getIndentMetadata)(t,g,this._languageConfigurationService);C!==null&&C&2&&(u=i.unshiftIndent(u));const f=_.getSpaceCnt(u,s),h=_.getSpaceCnt(r,s);return f-h}}return null}matchEnterRuleMovingDown(t,i,s,g,c,l){if(d.lastNonWhitespaceIndex(l)>=0){const a=t.getLineMaxColumn(c),r=(0,p.getEnterAction)(this._autoIndent,t,new I.Range(c,a,c,a),this._languageConfigurationService);return this.parseEnterResult(t,i,s,g,r)}else{let a=g-1;for(;a>=1;){const C=t.getLineContent(a);if(d.lastNonWhitespaceIndex(C)>=0)break;a--}if(a<1||g>t.getLineCount())return null;const r=t.getLineMaxColumn(a),u=(0,p.getEnterAction)(this._autoIndent,t,new I.Range(a,r,a,r),this._languageConfigurationService);return this.parseEnterResult(t,i,s,g,u)}}matchEnterRule(t,i,s,g,c,l){let a=c;for(;a>=1;){let C;if(a===c&&l!==void 0?C=l:C=t.getLineContent(a),d.lastNonWhitespaceIndex(C)>=0)break;a--}if(a<1||g>t.getLineCount())return null;const r=t.getLineMaxColumn(a),u=(0,p.getEnterAction)(this._autoIndent,t,new I.Range(a,r,a,r),this._languageConfigurationService);return this.parseEnterResult(t,i,s,g,u)}trimStart(t){return t.replace(/^\s+/,"")}shouldAutoIndent(t,i){if(this._autoIndent<4||!t.tokenization.isCheapToTokenize(i.startLineNumber))return!1;const s=t.getLanguageIdAtPosition(i.startLineNumber,1),g=t.getLanguageIdAtPosition(i.endLineNumber,1);return!(s!==g||this._languageConfigurationService.getLanguageConfiguration(s).indentRulesSupport===null)}getIndentEditsOfMovingBlock(t,i,s,g,c,l){for(let a=s.startLineNumber;a<=s.endLineNumber;a++){const r=t.getLineContent(a),u=d.getLeadingWhitespace(r),f=_.getSpaceCnt(u,g)+l,h=_.generateIndent(f,g,c);h!==u&&(i.addEditOperation(new I.Range(a,1,a,u.length+1),h),a===s.endLineNumber&&s.endColumn<=u.length+1&&h===""&&(this._moveEndLineSelectionShrink=!0))}}computeCursorState(t,i){let s=i.getTrackedSelection(this._selectionId);return this._moveEndPositionDown&&(s=s.setEndPosition(s.endLineNumber+1,1)),this._moveEndLineSelectionShrink&&s.startLineNumber{a.hasChanged(50)&&this._configureFont()}))}dispose(){this._disposables.dispose(),this._renderDisposeable.dispose()}_configureFont(){const c=this._editor.getOptions(),l=c.get(50),a=l.getMassagedFontFamily(),r=c.get(120)||l.fontSize,u=c.get(121)||l.lineHeight,C=l.fontWeight,f=`${r}px`,h=`${u}px`;this.domNode.style.fontSize=f,this.domNode.style.lineHeight=`${u/r}`,this.domNode.style.fontWeight=C,this.domNode.style.fontFeatureSettings=l.fontFeatureSettings,this._type.style.fontFamily=a,this._close.style.height=h,this._close.style.width=h}getLayoutInfo(){const c=this._editor.getOption(121)||this._editor.getOption(50).lineHeight,l=this._borderWidth,a=l*2;return{lineHeight:c,borderWidth:l,borderHeight:a,verticalPadding:22,horizontalPadding:14}}renderLoading(){this._type.textContent=n.localize(1345,"Loading..."),this._docs.textContent="",this.domNode.classList.remove("no-docs","no-type"),this.layout(this.size.width,this.getLayoutInfo().lineHeight*2),this._onDidChangeContents.fire(this)}renderItem(c,l){this._renderDisposeable.clear();let{detail:a,documentation:r}=c.completion;if(l){let u="";u+=`score: ${c.score[0]} +`,u+=`prefix: ${c.word??"(no prefix)"} +`,u+=`word: ${c.completion.filterText?c.completion.filterText+" (filterText)":c.textLabel} +`,u+=`distance: ${c.distance} (localityBonus-setting) +`,u+=`index: ${c.idx}, based on ${c.completion.sortText&&`sortText: "${c.completion.sortText}"`||"label"} +`,u+=`commit_chars: ${c.completion.commitCharacters?.join("")} +`,r=new m.MarkdownString().appendCodeblock("empty",u),a=`Provider: ${c.provider._debugDisplayName}`}if(!l&&!t(c)){this.clearContents();return}if(this.domNode.classList.remove("no-docs","no-type"),a){const u=a.length>1e5?`${a.substr(0,1e5)}\u2026`:a;this._type.textContent=u,this._type.title=u,d.show(this._type),this._type.classList.toggle("auto-wrap",!/\r?\n^\s+/gmi.test(u))}else d.clearNode(this._type),this._type.title="",d.hide(this._type),this.domNode.classList.add("no-type");if(d.clearNode(this._docs),typeof r=="string")this._docs.classList.remove("markdown-docs"),this._docs.textContent=r;else if(r){this._docs.classList.add("markdown-docs"),d.clearNode(this._docs);const u=this._markdownRenderer.render(r);this._docs.appendChild(u.element),this._renderDisposeable.add(u),this._renderDisposeable.add(this._markdownRenderer.onDidRenderAsync(()=>{this.layout(this._size.width,this._type.clientHeight+this._docs.clientHeight),this._onDidChangeContents.fire(this)}))}this.domNode.style.userSelect="text",this.domNode.tabIndex=-1,this._close.onmousedown=u=>{u.preventDefault(),u.stopPropagation()},this._close.onclick=u=>{u.preventDefault(),u.stopPropagation(),this._onDidClose.fire()},this._body.scrollTop=0,this.layout(this._size.width,this._type.clientHeight+this._docs.clientHeight),this._onDidChangeContents.fire(this)}clearContents(){this.domNode.classList.add("no-docs"),this._type.textContent="",this._docs.textContent=""}get isEmpty(){return this.domNode.classList.contains("no-docs")}get size(){return this._size}layout(c,l){const a=new d.Dimension(c,l);d.Dimension.equals(a,this._size)||(this._size=a,d.size(this.domNode,c,l)),this._scrollbar.scanDomNode()}scrollDown(c=8){this._body.scrollTop+=c}scrollUp(c=8){this._body.scrollTop-=c}scrollTop(){this._body.scrollTop=0}scrollBottom(){this._body.scrollTop=this._body.scrollHeight}pageDown(){this.scrollDown(80)}pageUp(){this.scrollUp(80)}set borderWidth(c){this._borderWidth=c}get borderWidth(){return this._borderWidth}};e.SuggestDetailsWidget=i,e.SuggestDetailsWidget=i=ke([ce(1,o.IInstantiationService)],i);class s{constructor(c,l){this.widget=c,this._editor=l,this.allowEditorOverflow=!0,this._disposables=new _.DisposableStore,this._added=!1,this._preferAlignAtTop=!0,this._resizable=new p.ResizableHTMLElement,this._resizable.domNode.classList.add("suggest-details-container"),this._resizable.domNode.appendChild(c.domNode),this._resizable.enableSashes(!1,!0,!0,!1);let a,r,u=0,C=0;this._disposables.add(this._resizable.onDidWillResize(()=>{a=this._topLeft,r=this._resizable.size})),this._disposables.add(this._resizable.onDidResize(f=>{if(a&&r){this.widget.layout(f.dimension.width,f.dimension.height);let h=!1;f.west&&(C=r.width-f.dimension.width,h=!0),f.north&&(u=r.height-f.dimension.height,h=!0),h&&this._applyTopLeft({top:a.top+u,left:a.left+C})}f.done&&(a=void 0,r=void 0,u=0,C=0,this._userSize=f.dimension)})),this._disposables.add(this.widget.onDidChangeContents(()=>{this._anchorBox&&this._placeAtAnchor(this._anchorBox,this._userSize??this.widget.size,this._preferAlignAtTop)}))}dispose(){this._resizable.dispose(),this._disposables.dispose(),this.hide()}getId(){return"suggest.details"}getDomNode(){return this._resizable.domNode}getPosition(){return this._topLeft?{preference:this._topLeft}:null}show(){this._added||(this._editor.addOverlayWidget(this),this._added=!0)}hide(c=!1){this._resizable.clearSashHoverState(),this._added&&(this._editor.removeOverlayWidget(this),this._added=!1,this._anchorBox=void 0,this._topLeft=void 0),c&&(this._userSize=void 0,this.widget.clearContents())}placeAtAnchor(c,l){const a=c.getBoundingClientRect();this._anchorBox=a,this._preferAlignAtTop=l,this._placeAtAnchor(this._anchorBox,this._userSize??this.widget.size,l)}_placeAtAnchor(c,l,a){const r=d.getClientArea(this.getDomNode().ownerDocument.body),u=this.widget.getLayoutInfo(),C=new d.Dimension(220,2*u.lineHeight),f=c.top,h=function(){const x=r.width-(c.left+c.width+u.borderWidth+u.horizontalPadding),W=-u.borderWidth+c.left+c.width,V=new d.Dimension(x,r.height-c.top-u.borderHeight-u.verticalPadding),q=V.with(void 0,c.top+c.height-u.borderHeight-u.verticalPadding);return{top:f,left:W,fit:x-l.width,maxSizeTop:V,maxSizeBottom:q,minSize:C.with(Math.min(x,C.width))}}(),v=function(){const x=c.left-u.borderWidth-u.horizontalPadding,W=Math.max(u.horizontalPadding,c.left-l.width-u.borderWidth),V=new d.Dimension(x,r.height-c.top-u.borderHeight-u.verticalPadding),q=V.with(void 0,c.top+c.height-u.borderHeight-u.verticalPadding);return{top:f,left:W,fit:x-l.width,maxSizeTop:V,maxSizeBottom:q,minSize:C.with(Math.min(x,C.width))}}(),w=function(){const x=c.left,W=-u.borderWidth+c.top+c.height,V=new d.Dimension(c.width-u.borderHeight,r.height-c.top-c.height-u.verticalPadding);return{top:W,left:x,fit:V.height-l.height,maxSizeBottom:V,maxSizeTop:V,minSize:C.with(V.width)}}(),S=[h,v,w],L=S.find(x=>x.fit>=0)??S.sort((x,W)=>W.fit-x.fit)[0],D=c.top+c.height-u.borderHeight;let T,M=l.height;const A=Math.max(L.maxSizeTop.height,L.maxSizeBottom.height);M>A&&(M=A);let P;a?M<=L.maxSizeTop.height?(T=!0,P=L.maxSizeTop):(T=!1,P=L.maxSizeBottom):M<=L.maxSizeBottom.height?(T=!1,P=L.maxSizeBottom):(T=!0,P=L.maxSizeTop);let{top:N,left:O}=L;!T&&M>c.height&&(N=D-M);const F=this._editor.getDomNode();if(F){const x=F.getBoundingClientRect();N-=x.top,O-=x.left}this._applyTopLeft({left:O,top:N}),this._resizable.enableSashes(!T,L===h,T,L!==h),this._resizable.minSize=L.minSize,this._resizable.maxSize=P,this._resizable.layout(M,Math.min(P.width,l.width)),this.widget.layout(this._resizable.size.width,this._resizable.size.height)}_applyTopLeft(c){this._topLeft=c,this._editor.layoutOverlayWidget(this)}}e.SuggestDetailsOverlay=s}),define(ne[403],se([1,0,13,45,60,19,22,28,109,38]),function(oe,e,d,k,I,E,y,m,_,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ConfigurationChangeEvent=e.Configuration=e.ConfigurationModelParser=e.ConfigurationModel=void 0;function p(g){return Object.isFrozen(g)?g:I.deepFreeze(g)}class n{static createEmptyModel(c){return new n({},[],[],void 0,c)}constructor(c,l,a,r,u){this._contents=c,this._keys=l,this._overrides=a,this.raw=r,this.logService=u,this.overrideConfigurations=new Map}get rawConfiguration(){if(!this._rawConfiguration)if(this.raw?.length){const c=this.raw.map(l=>{if(l instanceof n)return l;const a=new o("",this.logService);return a.parseRaw(l),a.configurationModel});this._rawConfiguration=c.reduce((l,a)=>a===l?a:l.merge(a),c[0])}else this._rawConfiguration=this;return this._rawConfiguration}get contents(){return this._contents}get overrides(){return this._overrides}get keys(){return this._keys}isEmpty(){return this._keys.length===0&&Object.keys(this._contents).length===0&&this._overrides.length===0}getValue(c){return c?(0,m.getConfigurationValue)(this.contents,c):this.contents}inspect(c,l){const a=this;return{get value(){return p(a.rawConfiguration.getValue(c))},get override(){return l?p(a.rawConfiguration.getOverrideValue(c,l)):void 0},get merged(){return p(l?a.rawConfiguration.override(l).getValue(c):a.rawConfiguration.getValue(c))},get overrides(){const r=[];for(const{contents:u,identifiers:C,keys:f}of a.rawConfiguration.overrides){const h=new n(u,f,[],void 0,a.logService).getValue(c);h!==void 0&&r.push({identifiers:C,value:h})}return r.length?p(r):void 0}}}getOverrideValue(c,l){const a=this.getContentsForOverrideIdentifer(l);return a?c?(0,m.getConfigurationValue)(a,c):a:void 0}override(c){let l=this.overrideConfigurations.get(c);return l||(l=this.createOverrideConfigurationModel(c),this.overrideConfigurations.set(c,l)),l}merge(...c){const l=I.deepClone(this.contents),a=I.deepClone(this.overrides),r=[...this.keys],u=this.raw?.length?[...this.raw]:[this];for(const C of c)if(u.push(...C.raw?.length?C.raw:[C]),!C.isEmpty()){this.mergeContents(l,C.contents);for(const f of C.overrides){const[h]=a.filter(v=>d.equals(v.identifiers,f.identifiers));h?(this.mergeContents(h.contents,f.contents),h.keys.push(...f.keys),h.keys=d.distinct(h.keys)):a.push(I.deepClone(f))}for(const f of C.keys)r.indexOf(f)===-1&&r.push(f)}return new n(l,r,a,u.every(C=>C instanceof n)?void 0:u,this.logService)}createOverrideConfigurationModel(c){const l=this.getContentsForOverrideIdentifer(c);if(!l||typeof l!="object"||!Object.keys(l).length)return this;const a={};for(const r of d.distinct([...Object.keys(this.contents),...Object.keys(l)])){let u=this.contents[r];const C=l[r];C&&(typeof u=="object"&&typeof C=="object"?(u=I.deepClone(u),this.mergeContents(u,C)):u=C),a[r]=u}return new n(a,this.keys,this.overrides,void 0,this.logService)}mergeContents(c,l){for(const a of Object.keys(l)){if(a in c&&E.isObject(c[a])&&E.isObject(l[a])){this.mergeContents(c[a],l[a]);continue}c[a]=I.deepClone(l[a])}}getContentsForOverrideIdentifer(c){let l=null,a=null;const r=u=>{u&&(a?this.mergeContents(a,u):a=I.deepClone(u))};for(const u of this.overrides)u.identifiers.length===1&&u.identifiers[0]===c?l=u.contents:u.identifiers.includes(c)&&r(u.contents);return r(l),a}toJSON(){return{contents:this.contents,overrides:this.overrides,keys:this.keys}}setValue(c,l){this.updateValue(c,l,!1)}removeValue(c){const l=this.keys.indexOf(c);l!==-1&&(this.keys.splice(l,1),(0,m.removeFromValueTree)(this.contents,c),_.OVERRIDE_PROPERTY_REGEX.test(c)&&this.overrides.splice(this.overrides.findIndex(a=>d.equals(a.identifiers,(0,_.overrideIdentifiersFromKey)(c))),1))}updateValue(c,l,a){if((0,m.addToValueTree)(this.contents,c,l,r=>this.logService.error(r)),a=a||this.keys.indexOf(c)===-1,a&&this.keys.push(c),_.OVERRIDE_PROPERTY_REGEX.test(c)){const r=(0,_.overrideIdentifiersFromKey)(c),u={identifiers:r,keys:Object.keys(this.contents[c]),contents:(0,m.toValuesTree)(this.contents[c],f=>this.logService.error(f))},C=this.overrides.findIndex(f=>d.equals(f.identifiers,r));C!==-1?this.overrides[C]=u:this.overrides.push(u)}}}e.ConfigurationModel=n;class o{constructor(c,l){this._name=c,this.logService=l,this._raw=null,this._configurationModel=null,this._restrictedConfigurations=[]}get configurationModel(){return this._configurationModel||n.createEmptyModel(this.logService)}parseRaw(c,l){this._raw=c;const{contents:a,keys:r,overrides:u,restricted:C,hasExcludedProperties:f}=this.doParseRaw(c,l);this._configurationModel=new n(a,r,u,f?[c]:void 0,this.logService),this._restrictedConfigurations=C||[]}doParseRaw(c,l){const a=b.Registry.as(_.Extensions.Configuration).getConfigurationProperties(),r=this.filter(c,a,!0,l);c=r.raw;const u=(0,m.toValuesTree)(c,h=>this.logService.error(`Conflict in settings file ${this._name}: ${h}`)),C=Object.keys(c),f=this.toOverrides(c,h=>this.logService.error(`Conflict in settings file ${this._name}: ${h}`));return{contents:u,keys:C,overrides:f,restricted:r.restricted,hasExcludedProperties:r.hasExcludedProperties}}filter(c,l,a,r){let u=!1;if(!r?.scopes&&!r?.skipRestricted&&!r?.exclude?.length)return{raw:c,restricted:[],hasExcludedProperties:u};const C={},f=[];for(const h in c)if(_.OVERRIDE_PROPERTY_REGEX.test(h)&&a){const v=this.filter(c[h],l,!1,r);C[h]=v.raw,u=u||v.hasExcludedProperties,f.push(...v.restricted)}else{const v=l[h],w=v?typeof v.scope<"u"?v.scope:3:void 0;v?.restricted&&f.push(h),!r.exclude?.includes(h)&&(r.include?.includes(h)||(w===void 0||r.scopes===void 0||r.scopes.includes(w))&&!(r.skipRestricted&&v?.restricted))?C[h]=c[h]:u=!0}return{raw:C,restricted:f,hasExcludedProperties:u}}toOverrides(c,l){const a=[];for(const r of Object.keys(c))if(_.OVERRIDE_PROPERTY_REGEX.test(r)){const u={};for(const C in c[r])u[C]=c[r][C];a.push({identifiers:(0,_.overrideIdentifiersFromKey)(r),keys:Object.keys(u),contents:(0,m.toValuesTree)(u,l)})}return a}}e.ConfigurationModelParser=o;class t{constructor(c,l,a,r,u,C,f,h,v,w,S,L,D){this.key=c,this.overrides=l,this._value=a,this.overrideIdentifiers=r,this.defaultConfiguration=u,this.policyConfiguration=C,this.applicationConfiguration=f,this.userConfiguration=h,this.localUserConfiguration=v,this.remoteUserConfiguration=w,this.workspaceConfiguration=S,this.folderConfigurationModel=L,this.memoryConfigurationModel=D}toInspectValue(c){return c?.value!==void 0||c?.override!==void 0||c?.overrides!==void 0?c:void 0}get userInspectValue(){return this._userInspectValue||(this._userInspectValue=this.userConfiguration.inspect(this.key,this.overrides.overrideIdentifier)),this._userInspectValue}get user(){return this.toInspectValue(this.userInspectValue)}}class i{constructor(c,l,a,r,u,C,f,h,v,w){this._defaultConfiguration=c,this._policyConfiguration=l,this._applicationConfiguration=a,this._localUserConfiguration=r,this._remoteUserConfiguration=u,this._workspaceConfiguration=C,this._folderConfigurations=f,this._memoryConfiguration=h,this._memoryConfigurationByResource=v,this.logService=w,this._workspaceConsolidatedConfiguration=null,this._foldersConsolidatedConfigurations=new k.ResourceMap,this._userConfiguration=null}getValue(c,l,a){return this.getConsolidatedConfigurationModel(c,l,a).getValue(c)}updateValue(c,l,a={}){let r;a.resource?(r=this._memoryConfigurationByResource.get(a.resource),r||(r=n.createEmptyModel(this.logService),this._memoryConfigurationByResource.set(a.resource,r))):r=this._memoryConfiguration,l===void 0?r.removeValue(c):r.setValue(c,l),a.resource||(this._workspaceConsolidatedConfiguration=null)}inspect(c,l,a){const r=this.getConsolidatedConfigurationModel(c,l,a),u=this.getFolderConfigurationModelForResource(l.resource,a),C=l.resource?this._memoryConfigurationByResource.get(l.resource)||this._memoryConfiguration:this._memoryConfiguration,f=new Set;for(const h of r.overrides)for(const v of h.identifiers)r.getOverrideValue(c,v)!==void 0&&f.add(v);return new t(c,l,r.getValue(c),f.size?[...f]:void 0,this._defaultConfiguration,this._policyConfiguration.isEmpty()?void 0:this._policyConfiguration,this.applicationConfiguration.isEmpty()?void 0:this.applicationConfiguration,this.userConfiguration,this.localUserConfiguration,this.remoteUserConfiguration,a?this._workspaceConfiguration:void 0,u||void 0,C)}get applicationConfiguration(){return this._applicationConfiguration}get userConfiguration(){return this._userConfiguration||(this._userConfiguration=this._remoteUserConfiguration.isEmpty()?this._localUserConfiguration:this._localUserConfiguration.merge(this._remoteUserConfiguration)),this._userConfiguration}get localUserConfiguration(){return this._localUserConfiguration}get remoteUserConfiguration(){return this._remoteUserConfiguration}getConsolidatedConfigurationModel(c,l,a){let r=this.getConsolidatedConfigurationModelForResource(l,a);return l.overrideIdentifier&&(r=r.override(l.overrideIdentifier)),!this._policyConfiguration.isEmpty()&&this._policyConfiguration.getValue(c)!==void 0&&(r=r.merge(this._policyConfiguration)),r}getConsolidatedConfigurationModelForResource({resource:c},l){let a=this.getWorkspaceConsolidatedConfiguration();if(l&&c){const r=l.getFolder(c);r&&(a=this.getFolderConsolidatedConfiguration(r.uri)||a);const u=this._memoryConfigurationByResource.get(c);u&&(a=a.merge(u))}return a}getWorkspaceConsolidatedConfiguration(){return this._workspaceConsolidatedConfiguration||(this._workspaceConsolidatedConfiguration=this._defaultConfiguration.merge(this.applicationConfiguration,this.userConfiguration,this._workspaceConfiguration,this._memoryConfiguration)),this._workspaceConsolidatedConfiguration}getFolderConsolidatedConfiguration(c){let l=this._foldersConsolidatedConfigurations.get(c);if(!l){const a=this.getWorkspaceConsolidatedConfiguration(),r=this._folderConfigurations.get(c);r?(l=a.merge(r),this._foldersConsolidatedConfigurations.set(c,l)):l=a}return l}getFolderConfigurationModelForResource(c,l){if(l&&c){const a=l.getFolder(c);if(a)return this._folderConfigurations.get(a.uri)}}toData(){return{defaults:{contents:this._defaultConfiguration.contents,overrides:this._defaultConfiguration.overrides,keys:this._defaultConfiguration.keys},policy:{contents:this._policyConfiguration.contents,overrides:this._policyConfiguration.overrides,keys:this._policyConfiguration.keys},application:{contents:this.applicationConfiguration.contents,overrides:this.applicationConfiguration.overrides,keys:this.applicationConfiguration.keys},user:{contents:this.userConfiguration.contents,overrides:this.userConfiguration.overrides,keys:this.userConfiguration.keys},workspace:{contents:this._workspaceConfiguration.contents,overrides:this._workspaceConfiguration.overrides,keys:this._workspaceConfiguration.keys},folders:[...this._folderConfigurations.keys()].reduce((c,l)=>{const{contents:a,overrides:r,keys:u}=this._folderConfigurations.get(l);return c.push([l,{contents:a,overrides:r,keys:u}]),c},[])}}static parse(c,l){const a=this.parseConfigurationModel(c.defaults,l),r=this.parseConfigurationModel(c.policy,l),u=this.parseConfigurationModel(c.application,l),C=this.parseConfigurationModel(c.user,l),f=this.parseConfigurationModel(c.workspace,l),h=c.folders.reduce((v,w)=>(v.set(y.URI.revive(w[0]),this.parseConfigurationModel(w[1],l)),v),new k.ResourceMap);return new i(a,r,u,C,n.createEmptyModel(l),f,h,n.createEmptyModel(l),new k.ResourceMap,l)}static parseConfigurationModel(c,l){return new n(c.contents,c.keys,c.overrides,void 0,l)}}e.Configuration=i;class s{constructor(c,l,a,r,u){this.change=c,this.previous=l,this.currentConfiguraiton=a,this.currentWorkspace=r,this.logService=u,this._marker=` +`,this._markerCode1=this._marker.charCodeAt(0),this._markerCode2=46,this.affectedKeys=new Set,this._previousConfiguration=void 0;for(const C of c.keys)this.affectedKeys.add(C);for(const[,C]of c.overrides)for(const f of C)this.affectedKeys.add(f);this._affectsConfigStr=this._marker;for(const C of this.affectedKeys)this._affectsConfigStr+=C+this._marker}get previousConfiguration(){return!this._previousConfiguration&&this.previous&&(this._previousConfiguration=i.parse(this.previous.data,this.logService)),this._previousConfiguration}affectsConfiguration(c,l){const a=this._marker+c,r=this._affectsConfigStr.indexOf(a);if(r<0)return!1;const u=r+a.length;if(u>=this._affectsConfigStr.length)return!1;const C=this._affectsConfigStr.charCodeAt(u);if(C!==this._markerCode1&&C!==this._markerCode2)return!1;if(l){const f=this.previousConfiguration?this.previousConfiguration.getValue(c,l,this.previous?.workspace):void 0,h=this.currentConfiguraiton.getValue(c,l,this.currentWorkspace);return!I.equals(f,h)}return!0}}e.ConfigurationChangeEvent=s}),define(ne[717],se([1,0,2,403,109,38]),function(oe,e,d,k,I,E){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DefaultConfiguration=void 0;class y extends d.Disposable{get configurationModel(){return this._configurationModel}constructor(_){super(),this.logService=_,this._configurationModel=k.ConfigurationModel.createEmptyModel(this.logService)}reload(){return this.resetConfigurationModel(),this.configurationModel}getConfigurationDefaultOverrides(){return{}}resetConfigurationModel(){this._configurationModel=k.ConfigurationModel.createEmptyModel(this.logService);const _=E.Registry.as(I.Extensions.Configuration).getConfigurationProperties();this.updateConfigurationModel(Object.keys(_),_)}updateConfigurationModel(_,b){const p=this.getConfigurationDefaultOverrides();for(const n of _){const o=p[n],t=b[n];o!==void 0?this._configurationModel.setValue(n,o):t?this._configurationModel.setValue(n,t.default):this._configurationModel.removeValue(n)}}}e.DefaultConfiguration=y}),define(ne[121],se([1,0,140,16,24,38,2,73]),function(oe,e,d,k,I,E,y,m){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Extensions=e.KeybindingsRegistry=void 0;class _{constructor(){this._coreKeybindings=new m.LinkedList,this._extensionKeybindings=[],this._cachedMergedKeybindings=null}static bindToCurrentPlatform(n){if(k.OS===1){if(n&&n.win)return n.win}else if(k.OS===2){if(n&&n.mac)return n.mac}else if(n&&n.linux)return n.linux;return n}registerKeybindingRule(n){const o=_.bindToCurrentPlatform(n),t=new y.DisposableStore;if(o&&o.primary){const i=(0,d.decodeKeybinding)(o.primary,k.OS);i&&t.add(this._registerDefaultKeybinding(i,n.id,n.args,n.weight,0,n.when))}if(o&&Array.isArray(o.secondary))for(let i=0,s=o.secondary.length;i{c(),this._cachedMergedKeybindings=null})}getDefaultKeybindings(){return this._cachedMergedKeybindings||(this._cachedMergedKeybindings=Array.from(this._coreKeybindings).concat(this._extensionKeybindings),this._cachedMergedKeybindings.sort(b)),this._cachedMergedKeybindings.slice(0)}}e.KeybindingsRegistry=new _,e.Extensions={EditorModes:"platform.keybindingsRegistry"},E.Registry.add(e.Extensions.EditorModes,e.KeybindingsRegistry);function b(p,n){if(p.weight1!==n.weight1)return p.weight1-n.weight1;if(p.command&&n.command){if(p.commandn.command)return 1}return p.weight2-n.weight2}}),define(ne[29],se([1,0,41,30,6,2,73,24,12,7,121]),function(oe,e,d,k,I,E,y,m,_,b,p){"use strict";var n;Object.defineProperty(e,"__esModule",{value:!0}),e.Action2=e.MenuItemAction=e.SubmenuItemAction=e.MenuRegistry=e.IMenuService=e.MenuId=void 0,e.isIMenuItem=o,e.isISubmenuItem=t,e.registerAction2=a;function o(r){return r.command!==void 0}function t(r){return r.submenu!==void 0}class i{static{this._instances=new Map}static{this.CommandPalette=new i("CommandPalette")}static{this.DebugBreakpointsContext=new i("DebugBreakpointsContext")}static{this.DebugCallStackContext=new i("DebugCallStackContext")}static{this.DebugConsoleContext=new i("DebugConsoleContext")}static{this.DebugVariablesContext=new i("DebugVariablesContext")}static{this.NotebookVariablesContext=new i("NotebookVariablesContext")}static{this.DebugHoverContext=new i("DebugHoverContext")}static{this.DebugWatchContext=new i("DebugWatchContext")}static{this.DebugToolBar=new i("DebugToolBar")}static{this.DebugToolBarStop=new i("DebugToolBarStop")}static{this.DebugCallStackToolbar=new i("DebugCallStackToolbar")}static{this.DebugCreateConfiguration=new i("DebugCreateConfiguration")}static{this.EditorContext=new i("EditorContext")}static{this.SimpleEditorContext=new i("SimpleEditorContext")}static{this.EditorContent=new i("EditorContent")}static{this.EditorLineNumberContext=new i("EditorLineNumberContext")}static{this.EditorContextCopy=new i("EditorContextCopy")}static{this.EditorContextPeek=new i("EditorContextPeek")}static{this.EditorContextShare=new i("EditorContextShare")}static{this.EditorTitle=new i("EditorTitle")}static{this.EditorTitleRun=new i("EditorTitleRun")}static{this.EditorTitleContext=new i("EditorTitleContext")}static{this.EditorTitleContextShare=new i("EditorTitleContextShare")}static{this.EmptyEditorGroup=new i("EmptyEditorGroup")}static{this.EmptyEditorGroupContext=new i("EmptyEditorGroupContext")}static{this.EditorTabsBarContext=new i("EditorTabsBarContext")}static{this.EditorTabsBarShowTabsSubmenu=new i("EditorTabsBarShowTabsSubmenu")}static{this.EditorTabsBarShowTabsZenModeSubmenu=new i("EditorTabsBarShowTabsZenModeSubmenu")}static{this.EditorActionsPositionSubmenu=new i("EditorActionsPositionSubmenu")}static{this.ExplorerContext=new i("ExplorerContext")}static{this.ExplorerContextShare=new i("ExplorerContextShare")}static{this.ExtensionContext=new i("ExtensionContext")}static{this.GlobalActivity=new i("GlobalActivity")}static{this.CommandCenter=new i("CommandCenter")}static{this.CommandCenterCenter=new i("CommandCenterCenter")}static{this.LayoutControlMenuSubmenu=new i("LayoutControlMenuSubmenu")}static{this.LayoutControlMenu=new i("LayoutControlMenu")}static{this.MenubarMainMenu=new i("MenubarMainMenu")}static{this.MenubarAppearanceMenu=new i("MenubarAppearanceMenu")}static{this.MenubarDebugMenu=new i("MenubarDebugMenu")}static{this.MenubarEditMenu=new i("MenubarEditMenu")}static{this.MenubarCopy=new i("MenubarCopy")}static{this.MenubarFileMenu=new i("MenubarFileMenu")}static{this.MenubarGoMenu=new i("MenubarGoMenu")}static{this.MenubarHelpMenu=new i("MenubarHelpMenu")}static{this.MenubarLayoutMenu=new i("MenubarLayoutMenu")}static{this.MenubarNewBreakpointMenu=new i("MenubarNewBreakpointMenu")}static{this.PanelAlignmentMenu=new i("PanelAlignmentMenu")}static{this.PanelPositionMenu=new i("PanelPositionMenu")}static{this.ActivityBarPositionMenu=new i("ActivityBarPositionMenu")}static{this.MenubarPreferencesMenu=new i("MenubarPreferencesMenu")}static{this.MenubarRecentMenu=new i("MenubarRecentMenu")}static{this.MenubarSelectionMenu=new i("MenubarSelectionMenu")}static{this.MenubarShare=new i("MenubarShare")}static{this.MenubarSwitchEditorMenu=new i("MenubarSwitchEditorMenu")}static{this.MenubarSwitchGroupMenu=new i("MenubarSwitchGroupMenu")}static{this.MenubarTerminalMenu=new i("MenubarTerminalMenu")}static{this.MenubarViewMenu=new i("MenubarViewMenu")}static{this.MenubarHomeMenu=new i("MenubarHomeMenu")}static{this.OpenEditorsContext=new i("OpenEditorsContext")}static{this.OpenEditorsContextShare=new i("OpenEditorsContextShare")}static{this.ProblemsPanelContext=new i("ProblemsPanelContext")}static{this.SCMInputBox=new i("SCMInputBox")}static{this.SCMChangesSeparator=new i("SCMChangesSeparator")}static{this.SCMChangesContext=new i("SCMChangesContext")}static{this.SCMIncomingChanges=new i("SCMIncomingChanges")}static{this.SCMIncomingChangesContext=new i("SCMIncomingChangesContext")}static{this.SCMIncomingChangesSetting=new i("SCMIncomingChangesSetting")}static{this.SCMOutgoingChanges=new i("SCMOutgoingChanges")}static{this.SCMOutgoingChangesContext=new i("SCMOutgoingChangesContext")}static{this.SCMOutgoingChangesSetting=new i("SCMOutgoingChangesSetting")}static{this.SCMIncomingChangesAllChangesContext=new i("SCMIncomingChangesAllChangesContext")}static{this.SCMIncomingChangesHistoryItemContext=new i("SCMIncomingChangesHistoryItemContext")}static{this.SCMOutgoingChangesAllChangesContext=new i("SCMOutgoingChangesAllChangesContext")}static{this.SCMOutgoingChangesHistoryItemContext=new i("SCMOutgoingChangesHistoryItemContext")}static{this.SCMChangeContext=new i("SCMChangeContext")}static{this.SCMResourceContext=new i("SCMResourceContext")}static{this.SCMResourceContextShare=new i("SCMResourceContextShare")}static{this.SCMResourceFolderContext=new i("SCMResourceFolderContext")}static{this.SCMResourceGroupContext=new i("SCMResourceGroupContext")}static{this.SCMSourceControl=new i("SCMSourceControl")}static{this.SCMSourceControlInline=new i("SCMSourceControlInline")}static{this.SCMSourceControlTitle=new i("SCMSourceControlTitle")}static{this.SCMHistoryTitle=new i("SCMHistoryTitle")}static{this.SCMTitle=new i("SCMTitle")}static{this.SearchContext=new i("SearchContext")}static{this.SearchActionMenu=new i("SearchActionContext")}static{this.StatusBarWindowIndicatorMenu=new i("StatusBarWindowIndicatorMenu")}static{this.StatusBarRemoteIndicatorMenu=new i("StatusBarRemoteIndicatorMenu")}static{this.StickyScrollContext=new i("StickyScrollContext")}static{this.TestItem=new i("TestItem")}static{this.TestItemGutter=new i("TestItemGutter")}static{this.TestProfilesContext=new i("TestProfilesContext")}static{this.TestMessageContext=new i("TestMessageContext")}static{this.TestMessageContent=new i("TestMessageContent")}static{this.TestPeekElement=new i("TestPeekElement")}static{this.TestPeekTitle=new i("TestPeekTitle")}static{this.TestCallStack=new i("TestCallStack")}static{this.TouchBarContext=new i("TouchBarContext")}static{this.TitleBarContext=new i("TitleBarContext")}static{this.TitleBarTitleContext=new i("TitleBarTitleContext")}static{this.TunnelContext=new i("TunnelContext")}static{this.TunnelPrivacy=new i("TunnelPrivacy")}static{this.TunnelProtocol=new i("TunnelProtocol")}static{this.TunnelPortInline=new i("TunnelInline")}static{this.TunnelTitle=new i("TunnelTitle")}static{this.TunnelLocalAddressInline=new i("TunnelLocalAddressInline")}static{this.TunnelOriginInline=new i("TunnelOriginInline")}static{this.ViewItemContext=new i("ViewItemContext")}static{this.ViewContainerTitle=new i("ViewContainerTitle")}static{this.ViewContainerTitleContext=new i("ViewContainerTitleContext")}static{this.ViewTitle=new i("ViewTitle")}static{this.ViewTitleContext=new i("ViewTitleContext")}static{this.CommentEditorActions=new i("CommentEditorActions")}static{this.CommentThreadTitle=new i("CommentThreadTitle")}static{this.CommentThreadActions=new i("CommentThreadActions")}static{this.CommentThreadAdditionalActions=new i("CommentThreadAdditionalActions")}static{this.CommentThreadTitleContext=new i("CommentThreadTitleContext")}static{this.CommentThreadCommentContext=new i("CommentThreadCommentContext")}static{this.CommentTitle=new i("CommentTitle")}static{this.CommentActions=new i("CommentActions")}static{this.CommentsViewThreadActions=new i("CommentsViewThreadActions")}static{this.InteractiveToolbar=new i("InteractiveToolbar")}static{this.InteractiveCellTitle=new i("InteractiveCellTitle")}static{this.InteractiveCellDelete=new i("InteractiveCellDelete")}static{this.InteractiveCellExecute=new i("InteractiveCellExecute")}static{this.InteractiveInputExecute=new i("InteractiveInputExecute")}static{this.InteractiveInputConfig=new i("InteractiveInputConfig")}static{this.ReplInputExecute=new i("ReplInputExecute")}static{this.IssueReporter=new i("IssueReporter")}static{this.NotebookToolbar=new i("NotebookToolbar")}static{this.NotebookStickyScrollContext=new i("NotebookStickyScrollContext")}static{this.NotebookCellTitle=new i("NotebookCellTitle")}static{this.NotebookCellDelete=new i("NotebookCellDelete")}static{this.NotebookCellInsert=new i("NotebookCellInsert")}static{this.NotebookCellBetween=new i("NotebookCellBetween")}static{this.NotebookCellListTop=new i("NotebookCellTop")}static{this.NotebookCellExecute=new i("NotebookCellExecute")}static{this.NotebookCellExecuteGoTo=new i("NotebookCellExecuteGoTo")}static{this.NotebookCellExecutePrimary=new i("NotebookCellExecutePrimary")}static{this.NotebookDiffCellInputTitle=new i("NotebookDiffCellInputTitle")}static{this.NotebookDiffCellMetadataTitle=new i("NotebookDiffCellMetadataTitle")}static{this.NotebookDiffCellOutputsTitle=new i("NotebookDiffCellOutputsTitle")}static{this.NotebookOutputToolbar=new i("NotebookOutputToolbar")}static{this.NotebookOutlineFilter=new i("NotebookOutlineFilter")}static{this.NotebookOutlineActionMenu=new i("NotebookOutlineActionMenu")}static{this.NotebookEditorLayoutConfigure=new i("NotebookEditorLayoutConfigure")}static{this.NotebookKernelSource=new i("NotebookKernelSource")}static{this.BulkEditTitle=new i("BulkEditTitle")}static{this.BulkEditContext=new i("BulkEditContext")}static{this.TimelineItemContext=new i("TimelineItemContext")}static{this.TimelineTitle=new i("TimelineTitle")}static{this.TimelineTitleContext=new i("TimelineTitleContext")}static{this.TimelineFilterSubMenu=new i("TimelineFilterSubMenu")}static{this.AccountsContext=new i("AccountsContext")}static{this.SidebarTitle=new i("SidebarTitle")}static{this.PanelTitle=new i("PanelTitle")}static{this.AuxiliaryBarTitle=new i("AuxiliaryBarTitle")}static{this.AuxiliaryBarHeader=new i("AuxiliaryBarHeader")}static{this.TerminalInstanceContext=new i("TerminalInstanceContext")}static{this.TerminalEditorInstanceContext=new i("TerminalEditorInstanceContext")}static{this.TerminalNewDropdownContext=new i("TerminalNewDropdownContext")}static{this.TerminalTabContext=new i("TerminalTabContext")}static{this.TerminalTabEmptyAreaContext=new i("TerminalTabEmptyAreaContext")}static{this.TerminalStickyScrollContext=new i("TerminalStickyScrollContext")}static{this.WebviewContext=new i("WebviewContext")}static{this.InlineCompletionsActions=new i("InlineCompletionsActions")}static{this.InlineEditsActions=new i("InlineEditsActions")}static{this.InlineEditActions=new i("InlineEditActions")}static{this.NewFile=new i("NewFile")}static{this.MergeInput1Toolbar=new i("MergeToolbar1Toolbar")}static{this.MergeInput2Toolbar=new i("MergeToolbar2Toolbar")}static{this.MergeBaseToolbar=new i("MergeBaseToolbar")}static{this.MergeInputResultToolbar=new i("MergeToolbarResultToolbar")}static{this.InlineSuggestionToolbar=new i("InlineSuggestionToolbar")}static{this.InlineEditToolbar=new i("InlineEditToolbar")}static{this.ChatContext=new i("ChatContext")}static{this.ChatCodeBlock=new i("ChatCodeblock")}static{this.ChatCompareBlock=new i("ChatCompareBlock")}static{this.ChatMessageTitle=new i("ChatMessageTitle")}static{this.ChatExecute=new i("ChatExecute")}static{this.ChatExecuteSecondary=new i("ChatExecuteSecondary")}static{this.ChatInputSide=new i("ChatInputSide")}static{this.AccessibleView=new i("AccessibleView")}static{this.MultiDiffEditorFileToolbar=new i("MultiDiffEditorFileToolbar")}static{this.DiffEditorHunkToolbar=new i("DiffEditorHunkToolbar")}static{this.DiffEditorSelectionToolbar=new i("DiffEditorSelectionToolbar")}constructor(u){if(i._instances.has(u))throw new TypeError(`MenuId with identifier '${u}' already exists. Use MenuId.for(ident) or a unique identifier`);i._instances.set(u,this),this.id=u}}e.MenuId=i,e.IMenuService=(0,b.createDecorator)("menuService");class s{static{this._all=new Map}static for(u){let C=this._all.get(u);return C||(C=new s(u),this._all.set(u,C)),C}static merge(u){const C=new Set;for(const f of u)f instanceof s&&C.add(f.id);return C}constructor(u){this.id=u,this.has=C=>C===u}}e.MenuRegistry=new class{constructor(){this._commands=new Map,this._menuItems=new Map,this._onDidChangeMenu=new I.MicrotaskEmitter({merge:s.merge}),this.onDidChangeMenu=this._onDidChangeMenu.event}addCommand(r){return this._commands.set(r.id,r),this._onDidChangeMenu.fire(s.for(i.CommandPalette)),(0,E.toDisposable)(()=>{this._commands.delete(r.id)&&this._onDidChangeMenu.fire(s.for(i.CommandPalette))})}getCommand(r){return this._commands.get(r)}getCommands(){const r=new Map;return this._commands.forEach((u,C)=>r.set(C,u)),r}appendMenuItem(r,u){let C=this._menuItems.get(r);C||(C=new y.LinkedList,this._menuItems.set(r,C));const f=C.push(u);return this._onDidChangeMenu.fire(s.for(r)),(0,E.toDisposable)(()=>{f(),this._onDidChangeMenu.fire(s.for(r))})}appendMenuItems(r){const u=new E.DisposableStore;for(const{id:C,item:f}of r)u.add(this.appendMenuItem(C,f));return u}getMenuItems(r){let u;return this._menuItems.has(r)?u=[...this._menuItems.get(r)]:u=[],r===i.CommandPalette&&this._appendImplicitItems(u),u}_appendImplicitItems(r){const u=new Set;for(const C of r)o(C)&&(u.add(C.command.id),C.alt&&u.add(C.alt.id));this._commands.forEach((C,f)=>{u.has(f)||r.push({command:C})})}};class g extends d.SubmenuAction{constructor(u,C,f){super(`submenuitem.${u.submenu.id}`,typeof u.title=="string"?u.title:u.title.value,f,"submenu"),this.item=u,this.hideActions=C}}e.SubmenuItemAction=g;let c=n=class{static label(u,C){return C?.renderShortTitle&&u.shortTitle?typeof u.shortTitle=="string"?u.shortTitle:u.shortTitle.value:typeof u.title=="string"?u.title:u.title.value}constructor(u,C,f,h,v,w,S){this.hideActions=h,this.menuKeybinding=v,this._commandService=S,this.id=u.id,this.label=n.label(u,f),this.tooltip=(typeof u.tooltip=="string"?u.tooltip:u.tooltip?.value)??"",this.enabled=!u.precondition||w.contextMatchesRules(u.precondition),this.checked=void 0;let L;if(u.toggled){const D=u.toggled.condition?u.toggled:{condition:u.toggled};this.checked=w.contextMatchesRules(D.condition),this.checked&&D.tooltip&&(this.tooltip=typeof D.tooltip=="string"?D.tooltip:D.tooltip.value),this.checked&&k.ThemeIcon.isThemeIcon(D.icon)&&(L=D.icon),this.checked&&D.title&&(this.label=typeof D.title=="string"?D.title:D.title.value)}L||(L=k.ThemeIcon.isThemeIcon(u.icon)?u.icon:void 0),this.item=u,this.alt=C?new n(C,void 0,f,h,void 0,w,S):void 0,this._options=f,this.class=L&&k.ThemeIcon.asClassName(L)}run(...u){let C=[];return this._options?.arg&&(C=[...C,this._options.arg]),this._options?.shouldForwardArgs&&(C=[...C,...u]),this._commandService.executeCommand(this.id,...C)}};e.MenuItemAction=c,e.MenuItemAction=c=n=ke([ce(5,_.IContextKeyService),ce(6,m.ICommandService)],c);class l{constructor(u){this.desc=u}}e.Action2=l;function a(r){const u=[],C=new r,{f1:f,menu:h,keybinding:v,...w}=C.desc;if(m.CommandsRegistry.getCommand(w.id))throw new Error(`Cannot register two commands with the same id: ${w.id}`);if(u.push(m.CommandsRegistry.registerCommand({id:w.id,handler:(S,...L)=>C.run(S,...L),metadata:w.metadata})),Array.isArray(h))for(const S of h)u.push(e.MenuRegistry.appendMenuItem(S.id,{command:{...w,precondition:S.precondition===null?void 0:w.precondition},...S}));else h&&u.push(e.MenuRegistry.appendMenuItem(h.id,{command:{...w,precondition:h.precondition===null?void 0:w.precondition},...h}));if(f&&(u.push(e.MenuRegistry.appendMenuItem(i.CommandPalette,{command:w,when:w.precondition})),u.push(e.MenuRegistry.addCommand(w))),Array.isArray(v))for(const S of v)u.push(p.KeybindingsRegistry.registerKeybindingRule({...S,id:w.id,when:w.precondition?_.ContextKeyExpr.and(w.precondition,S.when):S.when}));else v&&u.push(p.KeybindingsRegistry.registerKeybindingRule({...v,id:w.id,when:w.precondition?_.ContextKeyExpr.and(w.precondition,v.when):v.when}));return{dispose(){(0,E.dispose)(u)}}}}),define(ne[718],se([1,0,46,229,3,29]),function(oe,e,d,k,I,E){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ToggleTabFocusModeAction=void 0;class y extends E.Action2{static{this.ID="editor.action.toggleTabFocusMode"}constructor(){super({id:y.ID,title:I.localize2(1383,"Toggle Tab Key Moves Focus"),precondition:void 0,keybinding:{primary:2091,mac:{primary:1323},weight:100},metadata:{description:I.localize2(1384,"Determines whether the tab key moves focus around the workbench or inserts the tab character in the current editor. This is also called tab trapping, tab navigation, or tab focus mode.")},f1:!0})}run(){const b=!k.TabFocus.getTabFocusMode();k.TabFocus.setTabFocusMode(b),b?(0,d.alert)(I.localize(1381,"Pressing Tab will now move focus to the next focusable element")):(0,d.alert)(I.localize(1382,"Pressing Tab will now insert the tab character"))}}e.ToggleTabFocusModeAction=y,(0,E.registerAction2)(y)}),define(ne[404],se([1,0,260,641,12,121,3,2,5]),function(oe,e,d,k,I,E,y,m,_){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ContextScopedReplaceInput=e.ContextScopedFindInput=e.historyNavigationVisible=void 0,e.registerAndCreateHistoryNavigationContext=i,e.historyNavigationVisible=new I.RawContextKey("suggestWidgetVisible",!1,(0,y.localize)(1537,"Whether suggestion are visible"));const b="historyNavigationWidgetFocus",p="historyNavigationForwardsEnabled",n="historyNavigationBackwardsEnabled";let o;const t=[];function i(c,l){if(t.includes(l))throw new Error("Cannot register the same widget multiple times");t.push(l);const a=new m.DisposableStore,r=new I.RawContextKey(b,!1).bindTo(c),u=new I.RawContextKey(p,!0).bindTo(c),C=new I.RawContextKey(n,!0).bindTo(c),f=()=>{r.set(!0),o=l},h=()=>{r.set(!1),o===l&&(o=void 0)};return(0,_.isActiveElement)(l.element)&&f(),a.add(l.onDidFocus(()=>f())),a.add(l.onDidBlur(()=>h())),a.add((0,m.toDisposable)(()=>{t.splice(t.indexOf(l),1),h()})),{historyNavigationForwardsEnablement:u,historyNavigationBackwardsEnablement:C,dispose(){a.dispose()}}}let s=class extends d.FindInput{constructor(l,a,r,u){super(l,a,r);const C=this._register(u.createScoped(this.inputBox.element));this._register(i(C,this.inputBox))}};e.ContextScopedFindInput=s,e.ContextScopedFindInput=s=ke([ce(3,I.IContextKeyService)],s);let g=class extends k.ReplaceInput{constructor(l,a,r,u,C=!1){super(l,a,C,r);const f=this._register(u.createScoped(this.inputBox.element));this._register(i(f,this.inputBox))}};e.ContextScopedReplaceInput=g,e.ContextScopedReplaceInput=g=ke([ce(3,I.IContextKeyService)],g),E.KeybindingsRegistry.registerCommandAndKeybindingRule({id:"history.showPrevious",weight:200,when:I.ContextKeyExpr.and(I.ContextKeyExpr.has(b),I.ContextKeyExpr.equals(n,!0),I.ContextKeyExpr.not("isComposing"),e.historyNavigationVisible.isEqualTo(!1)),primary:16,secondary:[528],handler:c=>{o?.showPreviousValue()}}),E.KeybindingsRegistry.registerCommandAndKeybindingRule({id:"history.showNext",weight:200,when:I.ContextKeyExpr.and(I.ContextKeyExpr.has(b),I.ContextKeyExpr.equals(p,!0),I.ContextKeyExpr.not("isComposing"),e.historyNavigationVisible.isEqualTo(!1)),primary:18,secondary:[530],handler:c=>{o?.showNextValue()}})}),define(ne[155],se([1,0,18,8,82,2,54,19,22,9,4,78,135,3,29,24,12,17,404]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.QuickSuggestionsOptions=e.CompletionItemModel=e.CompletionOptions=e.CompletionItem=e.suggestWidgetStatusbarMenu=e.Context=void 0,e.getSnippetSuggestSupport=C,e.provideSuggestionItems=h,e.getSuggestionComparator=D,e.showSimpleSuggestions=T,e.Context={Visible:l.historyNavigationVisible,HasFocusedSuggestion:new g.RawContextKey("suggestWidgetHasFocusedSuggestion",!1,(0,t.localize)(1310,"Whether any suggestion is focused")),DetailsVisible:new g.RawContextKey("suggestWidgetDetailsVisible",!1,(0,t.localize)(1311,"Whether suggestion details are visible")),MultipleSuggestions:new g.RawContextKey("suggestWidgetMultipleSuggestions",!1,(0,t.localize)(1312,"Whether there are multiple suggestions to pick from")),MakesTextEdit:new g.RawContextKey("suggestionMakesTextEdit",!0,(0,t.localize)(1313,"Whether inserting the current suggestion yields in a change or has everything already been typed")),AcceptSuggestionsOnEnter:new g.RawContextKey("acceptSuggestionOnEnter",!0,(0,t.localize)(1314,"Whether suggestions are inserted when pressing Enter")),HasInsertAndReplaceRange:new g.RawContextKey("suggestionHasInsertAndReplaceRange",!1,(0,t.localize)(1315,"Whether the current suggestion has insert and replace behaviour")),InsertMode:new g.RawContextKey("suggestionInsertMode",void 0,{type:"string",description:(0,t.localize)(1316,"Whether the default behaviour is to insert or replace")}),CanResolve:new g.RawContextKey("suggestionCanResolve",!1,(0,t.localize)(1317,"Whether the current suggestion supports to resolve further details"))},e.suggestWidgetStatusbarMenu=new i.MenuId("suggestWidgetStatusBar");class a{constructor(P,N,O,F){this.position=P,this.completion=N,this.container=O,this.provider=F,this.isInvalid=!1,this.score=I.FuzzyScore.Default,this.distance=0,this.textLabel=typeof N.label=="string"?N.label:N.label?.label,this.labelLow=this.textLabel.toLowerCase(),this.isInvalid=!this.textLabel,this.sortTextLow=N.sortText&&N.sortText.toLowerCase(),this.filterTextLow=N.filterText&&N.filterText.toLowerCase(),this.extensionId=N.extensionId,p.Range.isIRange(N.range)?(this.editStart=new b.Position(N.range.startLineNumber,N.range.startColumn),this.editInsertEnd=new b.Position(N.range.endLineNumber,N.range.endColumn),this.editReplaceEnd=new b.Position(N.range.endLineNumber,N.range.endColumn),this.isInvalid=this.isInvalid||p.Range.spansMultipleLines(N.range)||N.range.startLineNumber!==P.lineNumber):(this.editStart=new b.Position(N.range.insert.startLineNumber,N.range.insert.startColumn),this.editInsertEnd=new b.Position(N.range.insert.endLineNumber,N.range.insert.endColumn),this.editReplaceEnd=new b.Position(N.range.replace.endLineNumber,N.range.replace.endColumn),this.isInvalid=this.isInvalid||p.Range.spansMultipleLines(N.range.insert)||p.Range.spansMultipleLines(N.range.replace)||N.range.insert.startLineNumber!==P.lineNumber||N.range.replace.startLineNumber!==P.lineNumber||N.range.insert.startColumn!==N.range.replace.startColumn),typeof F.resolveCompletionItem!="function"&&(this._resolveCache=Promise.resolve(),this._resolveDuration=0)}get isResolved(){return this._resolveDuration!==void 0}get resolveDuration(){return this._resolveDuration!==void 0?this._resolveDuration:-1}async resolve(P){if(!this._resolveCache){const N=P.onCancellationRequested(()=>{this._resolveCache=void 0,this._resolveDuration=void 0}),O=new y.StopWatch(!0);this._resolveCache=Promise.resolve(this.provider.resolveCompletionItem(this.completion,P)).then(F=>{Object.assign(this.completion,F),this._resolveDuration=O.elapsed()},F=>{(0,k.isCancellationError)(F)&&(this._resolveCache=void 0,this._resolveDuration=void 0)}).finally(()=>{N.dispose()})}return this._resolveCache}}e.CompletionItem=a;class r{static{this.default=new r}constructor(P=2,N=new Set,O=new Set,F=new Map,x=!0){this.snippetSortOrder=P,this.kindFilter=N,this.providerFilter=O,this.providerItemsToReuse=F,this.showDeprecated=x}}e.CompletionOptions=r;let u;function C(){return u}class f{constructor(P,N,O,F){this.items=P,this.needsClipboard=N,this.durations=O,this.disposable=F}}e.CompletionItemModel=f;async function h(A,P,N,O=r.default,F={triggerKind:0},x=d.CancellationToken.None){const W=new y.StopWatch;N=N.clone();const V=P.getWordAtPosition(N),q=V?new p.Range(N.lineNumber,V.startColumn,N.lineNumber,V.endColumn):p.Range.fromPositions(N),H={replace:q,insert:q.setEndPosition(N.lineNumber,N.column)},z=[],U=new E.DisposableStore,j=[];let Q=!1;const G=(R,J,ie)=>{let ue=!1;if(!J)return ue;for(const he of J.suggestions)if(!O.kindFilter.has(he.kind)){if(!O.showDeprecated&&he?.tags?.includes(1))continue;he.range||(he.range=H),he.sortText||(he.sortText=typeof he.label=="string"?he.label:he.label.label),!Q&&he.insertTextRules&&he.insertTextRules&4&&(Q=o.SnippetParser.guessNeedsClipboard(he.insertText)),z.push(new a(N,he,J,R)),ue=!0}return(0,E.isDisposable)(J)&&U.add(J),j.push({providerName:R._debugDisplayName??"unknown_provider",elapsedProvider:J.duration??-1,elapsedOverall:ie.elapsed()}),ue},K=(async()=>{if(!u||O.kindFilter.has(27))return;const R=O.providerItemsToReuse.get(u);if(R){R.forEach(ue=>z.push(ue));return}if(O.providerFilter.size>0&&!O.providerFilter.has(u))return;const J=new y.StopWatch,ie=await u.provideCompletionItems(P,N,F,x);G(u,ie,J)})();for(const R of A.orderedGroups(P)){let J=!1;if(await Promise.all(R.map(async ie=>{if(O.providerItemsToReuse.has(ie)){const ue=O.providerItemsToReuse.get(ie);ue.forEach(he=>z.push(he)),J=J||ue.length>0;return}if(!(O.providerFilter.size>0&&!O.providerFilter.has(ie)))try{const ue=new y.StopWatch,he=await ie.provideCompletionItems(P,N,F,x);J=G(ie,he,ue)||J}catch(ue){(0,k.onUnexpectedExternalError)(ue)}})),J||x.isCancellationRequested)break}return await K,x.isCancellationRequested?(U.dispose(),Promise.reject(new k.CancellationError)):new f(z.sort(D(O.snippetSortOrder)),Q,{entries:j,elapsed:W.elapsed()},U)}function v(A,P){if(A.sortTextLow&&P.sortTextLow){if(A.sortTextLowP.sortTextLow)return 1}return A.textLabelP.textLabel?1:A.completion.kind-P.completion.kind}function w(A,P){if(A.completion.kind!==P.completion.kind){if(A.completion.kind===27)return-1;if(P.completion.kind===27)return 1}return v(A,P)}function S(A,P){if(A.completion.kind!==P.completion.kind){if(A.completion.kind===27)return 1;if(P.completion.kind===27)return-1}return v(A,P)}const L=new Map;L.set(0,w),L.set(2,S),L.set(1,v);function D(A){return L.get(A)}s.CommandsRegistry.registerCommand("_executeCompletionItemProvider",async(A,...P)=>{const[N,O,F,x]=P;(0,m.assertType)(_.URI.isUri(N)),(0,m.assertType)(b.Position.isIPosition(O)),(0,m.assertType)(typeof F=="string"||!F),(0,m.assertType)(typeof x=="number"||!x);const{completionProvider:W}=A.get(c.ILanguageFeaturesService),V=await A.get(n.ITextModelService).createModelReference(N);try{const q={incomplete:!1,suggestions:[]},H=[],z=V.object.textEditorModel.validatePosition(O),U=await h(W,V.object.textEditorModel,z,void 0,{triggerCharacter:F??void 0,triggerKind:F?1:0});for(const j of U.items)H.length<(x??0)&&H.push(j.resolve(d.CancellationToken.None)),q.incomplete=q.incomplete||j.container.incomplete,q.suggestions.push(j.completion);try{return await Promise.all(H),q}finally{setTimeout(()=>U.disposable.dispose(),100)}}finally{V.dispose()}});function T(A,P){A.getContribution("editor.contrib.suggestController")?.triggerSuggest(new Set().add(P),void 0,!0)}class M{static isAllOff(P){return P.other==="off"&&P.comments==="off"&&P.strings==="off"}static isAllOn(P){return P.other==="on"&&P.comments==="on"&&P.strings==="on"}static valueFor(P,N){switch(N){case 1:return P.comments;case 2:return P.strings;default:return P.other}}}e.QuickSuggestionsOptions=M}),define(ne[719],se([1,0,16,3,12,179,121,272,66]),function(oe,e,d,k,I,E,y,m,_){"use strict";Object.defineProperty(e,"__esModule",{value:!0});const b={weight:200,when:I.ContextKeyExpr.and(I.ContextKeyExpr.equals(m.quickInputTypeContextKeyValue,"quickPick"),m.inQuickInputContext),metadata:{description:(0,k.localize)(1587,"Used while in the context of the quick pick. If you change one keybinding for this command, you should change all of the other keybindings (modifier variants) of this command as well.")}};function p(g,c={}){y.KeybindingsRegistry.registerCommandAndKeybindingRule({...b,...g,secondary:o(g.primary,g.secondary??[],c)})}const n=d.isMacintosh?256:2048;function o(g,c,l={}){return l.withAltMod&&c.push(512+g),l.withCtrlMod&&(c.push(n+g),l.withAltMod&&c.push(512+n+g)),l.withCmdMod&&d.isMacintosh&&(c.push(2048+g),l.withCtrlMod&&c.push(2304+g),l.withAltMod&&(c.push(2560+g),l.withCtrlMod&&c.push(2816+g))),c}function t(g,c){return l=>{const a=l.get(_.IQuickInputService).currentQuickInput;if(a)return c&&a.quickNavigate?a.focus(c):a.focus(g)}}p({id:"quickInput.pageNext",primary:12,handler:t(_.QuickPickFocus.NextPage)},{withAltMod:!0,withCtrlMod:!0,withCmdMod:!0}),p({id:"quickInput.pagePrevious",primary:11,handler:t(_.QuickPickFocus.PreviousPage)},{withAltMod:!0,withCtrlMod:!0,withCmdMod:!0}),p({id:"quickInput.first",primary:n+14,handler:t(_.QuickPickFocus.First)},{withAltMod:!0,withCmdMod:!0}),p({id:"quickInput.last",primary:n+13,handler:t(_.QuickPickFocus.Last)},{withAltMod:!0,withCmdMod:!0}),p({id:"quickInput.next",primary:18,handler:t(_.QuickPickFocus.Next)},{withCtrlMod:!0}),p({id:"quickInput.previous",primary:16,handler:t(_.QuickPickFocus.Previous)},{withCtrlMod:!0});const i=(0,k.localize)(1588,"If we're in quick access mode, this will navigate to the next item. If we are not in quick access mode, this will navigate to the next separator."),s=(0,k.localize)(1589,"If we're in quick access mode, this will navigate to the previous item. If we are not in quick access mode, this will navigate to the previous separator.");d.isMacintosh?(p({id:"quickInput.nextSeparatorWithQuickAccessFallback",primary:2066,handler:t(_.QuickPickFocus.NextSeparator,_.QuickPickFocus.Next),metadata:{description:i}}),p({id:"quickInput.nextSeparator",primary:2578,secondary:[2322],handler:t(_.QuickPickFocus.NextSeparator)},{withCtrlMod:!0}),p({id:"quickInput.previousSeparatorWithQuickAccessFallback",primary:2064,handler:t(_.QuickPickFocus.PreviousSeparator,_.QuickPickFocus.Previous),metadata:{description:s}}),p({id:"quickInput.previousSeparator",primary:2576,secondary:[2320],handler:t(_.QuickPickFocus.PreviousSeparator)},{withCtrlMod:!0})):(p({id:"quickInput.nextSeparatorWithQuickAccessFallback",primary:530,handler:t(_.QuickPickFocus.NextSeparator,_.QuickPickFocus.Next),metadata:{description:i}}),p({id:"quickInput.nextSeparator",primary:2578,handler:t(_.QuickPickFocus.NextSeparator)}),p({id:"quickInput.previousSeparatorWithQuickAccessFallback",primary:528,handler:t(_.QuickPickFocus.PreviousSeparator,_.QuickPickFocus.Previous),metadata:{description:s}}),p({id:"quickInput.previousSeparator",primary:2576,handler:t(_.QuickPickFocus.PreviousSeparator)})),p({id:"quickInput.acceptInBackground",when:I.ContextKeyExpr.and(b.when,I.ContextKeyExpr.or(E.InputFocusedContext.negate(),m.endOfQuickInputBoxContext)),primary:17,weight:250,handler:g=>{g.get(_.IQuickInputService).currentQuickInput?.accept(!0)}},{withAltMod:!0,withCtrlMod:!0,withCmdMod:!0})}),define(ne[156],se([1,0,13,2,38]),function(oe,e,d,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.QuickAccessRegistry=e.Extensions=e.DefaultQuickAccessFilterValue=void 0;var E;(function(m){m[m.PRESERVE=0]="PRESERVE",m[m.LAST=1]="LAST"})(E||(e.DefaultQuickAccessFilterValue=E={})),e.Extensions={Quickaccess:"workbench.contributions.quickaccess"};class y{constructor(){this.providers=[],this.defaultProvider=void 0}registerQuickAccessProvider(_){return _.prefix.length===0?this.defaultProvider=_:this.providers.push(_),this.providers.sort((b,p)=>p.prefix.length-b.prefix.length),(0,k.toDisposable)(()=>{this.providers.splice(this.providers.indexOf(_),1),this.defaultProvider===_&&(this.defaultProvider=void 0)})}getQuickAccessProviders(){return(0,d.coalesce)([this.defaultProvider,...this.providers])}getQuickAccessProvider(_){return _&&this.providers.find(p=>_.startsWith(p.prefix))||void 0||this.defaultProvider}}e.QuickAccessRegistry=y,I.Registry.add(e.Extensions.Quickaccess,new y)}),define(ne[720],se([1,0,3,38,2,31,156,66]),function(oe,e,d,k,I,E,y,m){"use strict";var _;Object.defineProperty(e,"__esModule",{value:!0}),e.HelpQuickAccessProvider=void 0;let b=class{static{_=this}static{this.PREFIX="?"}constructor(n,o){this.quickInputService=n,this.keybindingService=o,this.registry=k.Registry.as(y.Extensions.Quickaccess)}provide(n){const o=new I.DisposableStore;return o.add(n.onDidAccept(()=>{const[t]=n.selectedItems;t&&this.quickInputService.quickAccess.show(t.prefix,{preserveValue:!0})})),o.add(n.onDidChangeValue(t=>{const i=this.registry.getQuickAccessProvider(t.substr(_.PREFIX.length));i&&i.prefix&&i.prefix!==_.PREFIX&&this.quickInputService.quickAccess.show(i.prefix,{preserveValue:!0})})),n.items=this.getQuickAccessProviders().filter(t=>t.prefix!==_.PREFIX),o}getQuickAccessProviders(){return this.registry.getQuickAccessProviders().sort((o,t)=>o.prefix.localeCompare(t.prefix)).flatMap(o=>this.createPicks(o))}createPicks(n){return n.helpEntries.map(o=>{const t=o.prefix||n.prefix,i=t||"\u2026";return{prefix:t,label:i,keybinding:o.commandId?this.keybindingService.lookupKeybinding(o.commandId):void 0,ariaLabel:(0,d.localize)(1579,"{0}, {1}",i,o.description),description:o.description}})}};e.HelpQuickAccessProvider=b,e.HelpQuickAccessProvider=b=_=ke([ce(0,m.IQuickInputService),ce(1,E.IKeybindingService)],b)}),define(ne[721],se([1,0,38,156,107,720]),function(oe,e,d,k,I,E){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),d.Registry.as(k.Extensions.Quickaccess).registerQuickAccessProvider({ctor:E.HelpQuickAccessProvider,prefix:"",helpEntries:[{description:I.QuickHelpNLS.helpQuickAccessActionLabel}]})}),define(ne[722],se([1,0,14,18,6,2,7,156,66,38]),function(oe,e,d,k,I,E,y,m,_,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.QuickAccessController=void 0;let p=class extends E.Disposable{constructor(o,t){super(),this.quickInputService=o,this.instantiationService=t,this.registry=b.Registry.as(m.Extensions.Quickaccess),this.mapProviderToDescriptor=new Map,this.lastAcceptedPickerValues=new Map,this.visibleQuickAccess=void 0}show(o="",t){this.doShowOrPick(o,!1,t)}doShowOrPick(o,t,i){const[s,g]=this.getOrInstantiateProvider(o,i?.enabledProviderPrefixes),c=this.visibleQuickAccess,l=c?.descriptor;if(c&&g&&l===g){o!==g.prefix&&!i?.preserveValue&&(c.picker.value=o),this.adjustValueSelection(c.picker,g,i);return}if(g&&!i?.preserveValue){let v;if(c&&l&&l!==g){const w=c.value.substr(l.prefix.length);w&&(v=`${g.prefix}${w}`)}if(!v){const w=s?.defaultFilterValue;w===m.DefaultQuickAccessFilterValue.LAST?v=this.lastAcceptedPickerValues.get(g):typeof w=="string"&&(v=`${g.prefix}${w}`)}typeof v=="string"&&(o=v)}const a=c?.picker?.valueSelection,r=c?.picker?.value,u=new E.DisposableStore,C=u.add(this.quickInputService.createQuickPick({useSeparators:!0}));C.value=o,this.adjustValueSelection(C,g,i),C.placeholder=i?.placeholder??g?.placeholder,C.quickNavigate=i?.quickNavigateConfiguration,C.hideInput=!!C.quickNavigate&&!c,(typeof i?.itemActivation=="number"||i?.quickNavigateConfiguration)&&(C.itemActivation=i?.itemActivation??_.ItemActivation.SECOND),C.contextKey=g?.contextKey,C.filterValue=v=>v.substring(g?g.prefix.length:0);let f;t&&(f=new d.DeferredPromise,u.add(I.Event.once(C.onWillAccept)(v=>{v.veto(),C.hide()}))),u.add(this.registerPickerListeners(C,s,g,o,i));const h=u.add(new k.CancellationTokenSource);if(s&&u.add(s.provide(C,h.token,i?.providerOptions)),I.Event.once(C.onDidHide)(()=>{C.selectedItems.length===0&&h.cancel(),u.dispose(),f?.complete(C.selectedItems.slice(0))}),C.show(),a&&r===o&&(C.valueSelection=a),t)return f?.p}adjustValueSelection(o,t,i){let s;i?.preserveValue?s=[o.value.length,o.value.length]:s=[t?.prefix.length??0,o.value.length],o.valueSelection=s}registerPickerListeners(o,t,i,s,g){const c=new E.DisposableStore,l=this.visibleQuickAccess={picker:o,descriptor:i,value:s};return c.add((0,E.toDisposable)(()=>{l===this.visibleQuickAccess&&(this.visibleQuickAccess=void 0)})),c.add(o.onDidChangeValue(a=>{const[r]=this.getOrInstantiateProvider(a,g?.enabledProviderPrefixes);r!==t?this.show(a,{enabledProviderPrefixes:g?.enabledProviderPrefixes,preserveValue:!0,providerOptions:g?.providerOptions}):l.value=a})),i&&c.add(o.onDidAccept(()=>{this.lastAcceptedPickerValues.set(i,o.value)})),c}getOrInstantiateProvider(o,t){const i=this.registry.getQuickAccessProvider(o);if(!i||t&&!t?.includes(i.prefix))return[void 0,void 0];let s=this.mapProviderToDescriptor.get(i);return s||(s=this.instantiationService.createInstance(i.ctor),this.mapProviderToDescriptor.set(i,s)),[s,i]}};e.QuickAccessController=p,e.QuickAccessController=p=ke([ce(0,_.IQuickInputService),ce(1,y.IInstantiationService)],p)}),define(ne[723],se([1,0,26,30,111,544]),function(oe,e,d,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SeverityIcon=void 0;var E;(function(y){function m(_){switch(_){case I.default.Ignore:return"severity-ignore "+k.ThemeIcon.asClassName(d.Codicon.info);case I.default.Info:return k.ThemeIcon.asClassName(d.Codicon.info);case I.default.Warning:return k.ThemeIcon.asClassName(d.Codicon.warning);case I.default.Error:return k.ThemeIcon.asClassName(d.Codicon.error);default:return""}}y.className=m})(E||(e.SeverityIcon=E={}))}),define(ne[101],se([1,0,6,2,19,647,7]),function(oe,e,d,k,I,E,y){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.InMemoryStorageService=e.AbstractStorageService=e.WillSaveStateReason=e.IStorageService=e.TARGET_KEY=void 0,e.loadKeyTargets=_,e.TARGET_KEY="__$__targetStorageMarker",e.IStorageService=(0,y.createDecorator)("storageService");var m;(function(n){n[n.NONE=0]="NONE",n[n.SHUTDOWN=1]="SHUTDOWN"})(m||(e.WillSaveStateReason=m={}));function _(n){const o=n.get(e.TARGET_KEY);if(o)try{return JSON.parse(o)}catch{}return Object.create(null)}class b extends k.Disposable{static{this.DEFAULT_FLUSH_INTERVAL=60*1e3}constructor(o={flushInterval:b.DEFAULT_FLUSH_INTERVAL}){super(),this.options=o,this._onDidChangeValue=this._register(new d.PauseableEmitter),this._onDidChangeTarget=this._register(new d.PauseableEmitter),this._onWillSaveState=this._register(new d.Emitter),this.onWillSaveState=this._onWillSaveState.event,this._workspaceKeyTargets=void 0,this._profileKeyTargets=void 0,this._applicationKeyTargets=void 0}onDidChangeValue(o,t,i){return d.Event.filter(this._onDidChangeValue.event,s=>s.scope===o&&(t===void 0||s.key===t),i)}emitDidChangeValue(o,t){const{key:i,external:s}=t;if(i===e.TARGET_KEY){switch(o){case-1:this._applicationKeyTargets=void 0;break;case 0:this._profileKeyTargets=void 0;break;case 1:this._workspaceKeyTargets=void 0;break}this._onDidChangeTarget.fire({scope:o})}else this._onDidChangeValue.fire({scope:o,key:i,target:this.getKeyTargets(o)[i],external:s})}get(o,t,i){return this.getStorage(t)?.get(o,i)}getBoolean(o,t,i){return this.getStorage(t)?.getBoolean(o,i)}getNumber(o,t,i){return this.getStorage(t)?.getNumber(o,i)}store(o,t,i,s,g=!1){if((0,I.isUndefinedOrNull)(t)){this.remove(o,i,g);return}this.withPausedEmitters(()=>{this.updateKeyTarget(o,i,s),this.getStorage(i)?.set(o,t,g)})}remove(o,t,i=!1){this.withPausedEmitters(()=>{this.updateKeyTarget(o,t,void 0),this.getStorage(t)?.delete(o,i)})}withPausedEmitters(o){this._onDidChangeValue.pause(),this._onDidChangeTarget.pause();try{o()}finally{this._onDidChangeValue.resume(),this._onDidChangeTarget.resume()}}updateKeyTarget(o,t,i,s=!1){const g=this.getKeyTargets(t);typeof i=="number"?g[o]!==i&&(g[o]=i,this.getStorage(t)?.set(e.TARGET_KEY,JSON.stringify(g),s)):typeof g[o]=="number"&&(delete g[o],this.getStorage(t)?.set(e.TARGET_KEY,JSON.stringify(g),s))}get workspaceKeyTargets(){return this._workspaceKeyTargets||(this._workspaceKeyTargets=this.loadKeyTargets(1)),this._workspaceKeyTargets}get profileKeyTargets(){return this._profileKeyTargets||(this._profileKeyTargets=this.loadKeyTargets(0)),this._profileKeyTargets}get applicationKeyTargets(){return this._applicationKeyTargets||(this._applicationKeyTargets=this.loadKeyTargets(-1)),this._applicationKeyTargets}getKeyTargets(o){switch(o){case-1:return this.applicationKeyTargets;case 0:return this.profileKeyTargets;default:return this.workspaceKeyTargets}}loadKeyTargets(o){const t=this.getStorage(o);return t?_(t):Object.create(null)}}e.AbstractStorageService=b;class p extends b{constructor(){super(),this.applicationStorage=this._register(new E.Storage(new E.InMemoryStorageDatabase,{hint:E.StorageHint.STORAGE_IN_MEMORY})),this.profileStorage=this._register(new E.Storage(new E.InMemoryStorageDatabase,{hint:E.StorageHint.STORAGE_IN_MEMORY})),this.workspaceStorage=this._register(new E.Storage(new E.InMemoryStorageDatabase,{hint:E.StorageHint.STORAGE_IN_MEMORY})),this._register(this.workspaceStorage.onDidChangeStorage(o=>this.emitDidChangeValue(1,o))),this._register(this.profileStorage.onDidChangeStorage(o=>this.emitDidChangeValue(0,o))),this._register(this.applicationStorage.onDidChangeStorage(o=>this.emitDidChangeValue(-1,o)))}getStorage(o){switch(o){case-1:return this.applicationStorage;case 0:return this.profileStorage;default:return this.workspaceStorage}}}e.InMemoryStorageService=p}),define(ne[724],se([1,0,6,45,4,386,49,7,101,52,5]),function(oe,e,d,k,I,E,y,m,_,b,p){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CodeLensCache=e.ICodeLensCache=void 0,e.ICodeLensCache=(0,m.createDecorator)("ICodeLensCache");class n{constructor(i,s){this.lineCount=i,this.data=s}}let o=class{constructor(i){this._fakeProvider=new class{provideCodeLenses(){throw new Error("not supported")}},this._cache=new k.LRUCache(20,.75);const s="codelens/cache";(0,p.runWhenWindowIdle)(b.mainWindow,()=>i.remove(s,1));const g="codelens/cache2",c=i.get(g,1,"{}");this._deserialize(c);const l=d.Event.filter(i.onWillSaveState,a=>a.reason===_.WillSaveStateReason.SHUTDOWN);d.Event.once(l)(a=>{i.store(g,this._serialize(),1,1)})}put(i,s){const g=s.lenses.map(a=>({range:a.symbol.range,command:a.symbol.command&&{id:"",title:a.symbol.command?.title}})),c=new E.CodeLensModel;c.add({lenses:g,dispose:()=>{}},this._fakeProvider);const l=new n(i.getLineCount(),c);this._cache.set(i.uri.toString(),l)}get(i){const s=this._cache.get(i.uri.toString());return s&&s.lineCount===i.getLineCount()?s.data:void 0}delete(i){this._cache.delete(i.uri.toString())}_serialize(){const i=Object.create(null);for(const[s,g]of this._cache){const c=new Set;for(const l of g.data.lenses)c.add(l.symbol.range.startLineNumber);i[s]={lineCount:g.lineCount,lines:[...c.values()]}}return JSON.stringify(i)}_deserialize(i){try{const s=JSON.parse(i);for(const g in s){const c=s[g],l=[];for(const r of c.lines)l.push({range:new I.Range(r,1,r,11)});const a=new E.CodeLensModel;a.add({lenses:l,dispose(){}},this._fakeProvider),this._cache.set(g,new n(c.lineCount,a))}}catch{}}};e.CodeLensCache=o,e.CodeLensCache=o=ke([ce(0,_.IStorageService)],o),(0,y.registerSingleton)(e.ICodeLensCache,o,1)}),define(ne[405],se([1,0,14,2,45,225,27,28,49,7,101]),function(oe,e,d,k,I,E,y,m,_,b,p){"use strict";var n;Object.defineProperty(e,"__esModule",{value:!0}),e.ISuggestMemoryService=e.SuggestMemoryService=e.PrefixMemory=e.LRUMemory=e.NoMemory=e.Memory=void 0;class o{constructor(l){this.name=l}select(l,a,r){if(r.length===0)return 0;const u=r[0].score[0];for(let C=0;Cv&&L.type===r[w].completion.kind&&L.insertText===r[w].completion.insertText&&(v=L.touch,h=w),r[w].completion.preselect&&f===-1)return f=w}return h!==-1?h:f!==-1?f:0}toJSON(){return this._cache.toJSON()}fromJSON(l){this._cache.clear();const a=0;for(const[r,u]of l)u.touch=a,u.type=typeof u.type=="number"?u.type:y.CompletionItemKinds.fromString(u.type),this._cache.set(r,u);this._seq=this._cache.size}}e.LRUMemory=i;class s extends o{constructor(){super("recentlyUsedByPrefix"),this._trie=E.TernarySearchTree.forStrings(),this._seq=0}memorize(l,a,r){const{word:u}=l.getWordUntilPosition(a),C=`${l.getLanguageId()}/${u}`;this._trie.set(C,{type:r.completion.kind,insertText:r.completion.insertText,touch:this._seq++})}select(l,a,r){const{word:u}=l.getWordUntilPosition(a);if(!u)return super.select(l,a,r);const C=`${l.getLanguageId()}/${u}`;let f=this._trie.get(C);if(f||(f=this._trie.findSubstr(C)),f)for(let h=0;hl.push([r,a])),l.sort((a,r)=>-(a[1].touch-r[1].touch)).forEach((a,r)=>a[1].touch=r),l.slice(0,200)}fromJSON(l){if(this._trie.clear(),l.length>0){this._seq=l[0][1].touch+1;for(const[a,r]of l)r.type=typeof r.type=="number"?r.type:y.CompletionItemKinds.fromString(r.type),this._trie.set(a,r)}}}e.PrefixMemory=s;let g=class{static{n=this}static{this._strategyCtors=new Map([["recentlyUsedByPrefix",s],["recentlyUsed",i],["first",t]])}static{this._storagePrefix="suggest/memories"}constructor(l,a){this._storageService=l,this._configService=a,this._disposables=new k.DisposableStore,this._persistSoon=new d.RunOnceScheduler(()=>this._saveState(),500),this._disposables.add(l.onWillSaveState(r=>{r.reason===p.WillSaveStateReason.SHUTDOWN&&this._saveState()}))}dispose(){this._disposables.dispose(),this._persistSoon.dispose()}memorize(l,a,r){this._withStrategy(l,a).memorize(l,a,r),this._persistSoon.schedule()}select(l,a,r){return this._withStrategy(l,a).select(l,a,r)}_withStrategy(l,a){const r=this._configService.getValue("editor.suggestSelection",{overrideIdentifier:l.getLanguageIdAtPosition(a.lineNumber,a.column),resource:l.uri});if(this._strategy?.name!==r){this._saveState();const u=n._strategyCtors.get(r)||t;this._strategy=new u;try{const f=this._configService.getValue("editor.suggest.shareSuggestSelections")?0:1,h=this._storageService.get(`${n._storagePrefix}/${r}`,f);h&&this._strategy.fromJSON(JSON.parse(h))}catch{}}return this._strategy}_saveState(){if(this._strategy){const a=this._configService.getValue("editor.suggest.shareSuggestSelections")?0:1,r=JSON.stringify(this._strategy);this._storageService.store(`${n._storagePrefix}/${this._strategy.name}`,r,a,1)}}};e.SuggestMemoryService=g,e.SuggestMemoryService=g=n=ke([ce(0,p.IStorageService),ce(1,m.IConfigurationService)],g),e.ISuggestMemoryService=(0,b.createDecorator)("ISuggestMemories"),(0,_.registerSingleton)(e.ISuggestMemoryService,g,1)}),define(ne[406],se([1,0,14,6,2,29,24,12,41,101,13,3,31]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o){"use strict";var t,i;Object.defineProperty(e,"__esModule",{value:!0}),e.MenuService=void 0,e.createConfigureKeybindingAction=u;let s=class{constructor(f,h,v){this._commandService=f,this._keybindingService=h,this._hiddenStates=new g(v)}createMenu(f,h,v){return new a(f,this._hiddenStates,{emitEventsForSubmenuChanges:!1,eventDebounceDelay:50,...v},this._commandService,this._keybindingService,h)}getMenuActions(f,h,v){const w=new a(f,this._hiddenStates,{emitEventsForSubmenuChanges:!1,eventDebounceDelay:50,...v},this._commandService,this._keybindingService,h),S=w.getActions(v);return w.dispose(),S}resetHiddenStates(f){this._hiddenStates.reset(f)}};e.MenuService=s,e.MenuService=s=ke([ce(0,y.ICommandService),ce(1,o.IKeybindingService),ce(2,b.IStorageService)],s);let g=class{static{t=this}static{this._key="menu.hiddenCommands"}constructor(f){this._storageService=f,this._disposables=new I.DisposableStore,this._onDidChange=new k.Emitter,this.onDidChange=this._onDidChange.event,this._ignoreChangeEvent=!1,this._hiddenByDefaultCache=new Map;try{const h=f.get(t._key,0,"{}");this._data=JSON.parse(h)}catch{this._data=Object.create(null)}this._disposables.add(f.onDidChangeValue(0,t._key,this._disposables)(()=>{if(!this._ignoreChangeEvent)try{const h=f.get(t._key,0,"{}");this._data=JSON.parse(h)}catch(h){console.log("FAILED to read storage after UPDATE",h)}this._onDidChange.fire()}))}dispose(){this._onDidChange.dispose(),this._disposables.dispose()}_isHiddenByDefault(f,h){return this._hiddenByDefaultCache.get(`${f.id}/${h}`)??!1}setDefaultState(f,h,v){this._hiddenByDefaultCache.set(`${f.id}/${h}`,v)}isHidden(f,h){const v=this._isHiddenByDefault(f,h),w=this._data[f.id]?.includes(h)??!1;return v?!w:w}updateHidden(f,h,v){this._isHiddenByDefault(f,h)&&(v=!v);const S=this._data[f.id];if(v)S?S.indexOf(h)<0&&S.push(h):this._data[f.id]=[h];else if(S){const L=S.indexOf(h);L>=0&&(0,p.removeFastWithoutKeepingOrder)(S,L),S.length===0&&delete this._data[f.id]}this._persist()}reset(f){if(f===void 0)this._data=Object.create(null),this._persist();else{for(const{id:h}of f)this._data[h]&&delete this._data[h];this._persist()}}_persist(){try{this._ignoreChangeEvent=!0;const f=JSON.stringify(this._data);this._storageService.store(t._key,f,0,0)}finally{this._ignoreChangeEvent=!1}}};g=t=ke([ce(0,b.IStorageService)],g);class c{constructor(f,h){this._id=f,this._collectContextKeysForSubmenus=h,this._menuGroups=[],this._allMenuIds=new Set,this._structureContextKeys=new Set,this._preconditionContextKeys=new Set,this._toggledContextKeys=new Set,this.refresh()}get allMenuIds(){return this._allMenuIds}get structureContextKeys(){return this._structureContextKeys}get preconditionContextKeys(){return this._preconditionContextKeys}get toggledContextKeys(){return this._toggledContextKeys}refresh(){this._menuGroups.length=0,this._allMenuIds.clear(),this._structureContextKeys.clear(),this._preconditionContextKeys.clear(),this._toggledContextKeys.clear();const f=this._sort(E.MenuRegistry.getMenuItems(this._id));let h;for(const v of f){const w=v.group||"";(!h||h[0]!==w)&&(h=[w,[]],this._menuGroups.push(h)),h[1].push(v),this._collectContextKeysAndSubmenuIds(v)}this._allMenuIds.add(this._id)}_sort(f){return f}_collectContextKeysAndSubmenuIds(f){if(c._fillInKbExprKeys(f.when,this._structureContextKeys),(0,E.isIMenuItem)(f)){if(f.command.precondition&&c._fillInKbExprKeys(f.command.precondition,this._preconditionContextKeys),f.command.toggled){const h=f.command.toggled.condition||f.command.toggled;c._fillInKbExprKeys(h,this._toggledContextKeys)}}else this._collectContextKeysForSubmenus&&(E.MenuRegistry.getMenuItems(f.submenu).forEach(this._collectContextKeysAndSubmenuIds,this),this._allMenuIds.add(f.submenu))}static _fillInKbExprKeys(f,h){if(f)for(const v of f.keys())h.add(v)}}let l=i=class extends c{constructor(f,h,v,w,S,L){super(f,v),this._hiddenStates=h,this._commandService=w,this._keybindingService=S,this._contextKeyService=L,this.refresh()}createActionGroups(f){const h=[];for(const v of this._menuGroups){const[w,S]=v;let L;for(const D of S)if(this._contextKeyService.contextMatchesRules(D.when)){const T=(0,E.isIMenuItem)(D);T&&this._hiddenStates.setDefaultState(this._id,D.command.id,!!D.isHiddenByDefault);const M=r(this._id,T?D.command:D,this._hiddenStates);if(T){const A=u(this._commandService,this._keybindingService,D.command.id,D.when);(L??=[]).push(new E.MenuItemAction(D.command,D.alt,f,M,A,this._contextKeyService,this._commandService))}else{const A=new i(D.submenu,this._hiddenStates,this._collectContextKeysForSubmenus,this._commandService,this._keybindingService,this._contextKeyService).createActionGroups(f),P=_.Separator.join(...A.map(N=>N[1]));P.length>0&&(L??=[]).push(new E.SubmenuItemAction(D,M,P))}}L&&L.length>0&&h.push([w,L])}return h}_sort(f){return f.sort(i._compareMenuItems)}static _compareMenuItems(f,h){const v=f.group,w=h.group;if(v!==w){if(v){if(!w)return-1}else return 1;if(v==="navigation")return-1;if(w==="navigation")return 1;const D=v.localeCompare(w);if(D!==0)return D}const S=f.order||0,L=h.order||0;return SL?1:i._compareTitles((0,E.isIMenuItem)(f)?f.command.title:f.title,(0,E.isIMenuItem)(h)?h.command.title:h.title)}static _compareTitles(f,h){const v=typeof f=="string"?f:f.original,w=typeof h=="string"?h:h.original;return v.localeCompare(w)}};l=i=ke([ce(3,y.ICommandService),ce(4,o.IKeybindingService),ce(5,m.IContextKeyService)],l);let a=class{constructor(f,h,v,w,S,L){this._disposables=new I.DisposableStore,this._menuInfo=new l(f,h,v.emitEventsForSubmenuChanges,w,S,L);const D=new d.RunOnceScheduler(()=>{this._menuInfo.refresh(),this._onDidChange.fire({menu:this,isStructuralChange:!0,isEnablementChange:!0,isToggleChange:!0})},v.eventDebounceDelay);this._disposables.add(D),this._disposables.add(E.MenuRegistry.onDidChangeMenu(P=>{for(const N of this._menuInfo.allMenuIds)if(P.has(N)){D.schedule();break}}));const T=this._disposables.add(new I.DisposableStore),M=P=>{let N=!1,O=!1,F=!1;for(const x of P)if(N=N||x.isStructuralChange,O=O||x.isEnablementChange,F=F||x.isToggleChange,N&&O&&F)break;return{menu:this,isStructuralChange:N,isEnablementChange:O,isToggleChange:F}},A=()=>{T.add(L.onDidChangeContext(P=>{const N=P.affectsSome(this._menuInfo.structureContextKeys),O=P.affectsSome(this._menuInfo.preconditionContextKeys),F=P.affectsSome(this._menuInfo.toggledContextKeys);(N||O||F)&&this._onDidChange.fire({menu:this,isStructuralChange:N,isEnablementChange:O,isToggleChange:F})})),T.add(h.onDidChange(P=>{this._onDidChange.fire({menu:this,isStructuralChange:!0,isEnablementChange:!1,isToggleChange:!1})}))};this._onDidChange=new k.DebounceEmitter({onWillAddFirstListener:A,onDidRemoveLastListener:T.clear.bind(T),delay:v.eventDebounceDelay,merge:M}),this.onDidChange=this._onDidChange.event}getActions(f){return this._menuInfo.createActionGroups(f)}dispose(){this._disposables.dispose(),this._onDidChange.dispose()}};a=ke([ce(3,y.ICommandService),ce(4,o.IKeybindingService),ce(5,m.IContextKeyService)],a);function r(C,f,h){const v=(0,E.isISubmenuItem)(f)?f.submenu.id:f.id,w=typeof f.title=="string"?f.title:f.title.value,S=(0,_.toAction)({id:`hide/${C.id}/${v}`,label:(0,n.localize)(1490,"Hide '{0}'",w),run(){h.updateHidden(C,v,!0)}}),L=(0,_.toAction)({id:`toggle/${C.id}/${v}`,label:w,get checked(){return!h.isHidden(C,v)},run(){h.updateHidden(C,v,!!this.checked)}});return{hide:S,toggle:L,get isHidden(){return!L.checked}}}function u(C,f,h,v=void 0,w=!0){return(0,_.toAction)({id:`configureKeybinding/${h}`,label:(0,n.localize)(1491,"Configure Keybinding"),enabled:w,run(){const L=!!!f.lookupKeybinding(h)&&v?v.serialize():void 0;C.executeCommand("workbench.action.openGlobalKeybindings",`@command:${h}`+(L?` +when:${L}`:""))}})}}),define(ne[63],se([1,0,7]),function(oe,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ITelemetryService=void 0,e.ITelemetryService=(0,d.createDecorator)("telemetryService")}),define(ne[15],se([1,0,3,22,34,9,51,78,29,24,12,7,121,38,63,19,62,5]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SelectAllCommand=e.RedoCommand=e.UndoCommand=e.EditorExtensionsRegistry=e.EditorAction2=e.MultiEditorAction=e.EditorAction=e.EditorCommand=e.ProxyCommand=e.MultiCommand=e.Command=void 0,e.registerModelAndPositionCommand=v,e.registerEditorCommand=w,e.registerEditorAction=S,e.registerMultiEditorAction=L,e.registerInstantiatedEditorAction=D,e.registerEditorContribution=T;class l{constructor(F){this.id=F.id,this.precondition=F.precondition,this._kbOpts=F.kbOpts,this._menuOpts=F.menuOpts,this.metadata=F.metadata}register(){if(Array.isArray(this._menuOpts)?this._menuOpts.forEach(this._registerMenuItem,this):this._menuOpts&&this._registerMenuItem(this._menuOpts),this._kbOpts){const F=Array.isArray(this._kbOpts)?this._kbOpts:[this._kbOpts];for(const x of F){let W=x.kbExpr;this.precondition&&(W?W=p.ContextKeyExpr.and(W,this.precondition):W=this.precondition);const V={id:this.id,weight:x.weight,args:x.args,when:W,primary:x.primary,secondary:x.secondary,win:x.win,linux:x.linux,mac:x.mac};o.KeybindingsRegistry.registerKeybindingRule(V)}}b.CommandsRegistry.registerCommand({id:this.id,handler:(F,x)=>this.runCommand(F,x),metadata:this.metadata})}_registerMenuItem(F){_.MenuRegistry.appendMenuItem(F.menuId,{group:F.group,command:{id:this.id,title:F.title,icon:F.icon,precondition:this.precondition},when:F.when,order:F.order})}}e.Command=l;class a extends l{constructor(){super(...arguments),this._implementations=[]}addImplementation(F,x,W,V){return this._implementations.push({priority:F,name:x,implementation:W,when:V}),this._implementations.sort((q,H)=>H.priority-q.priority),{dispose:()=>{for(let q=0;q{if(z.get(p.IContextKeyService).contextMatchesRules(W??void 0))return V(z,H,x)})}runCommand(F,x){return u.runEditorCommand(F,x,this.precondition,(W,V,q)=>this.runEditorCommand(W,V,q))}}e.EditorCommand=u;class C extends u{static convertOptions(F){let x;Array.isArray(F.menuOpts)?x=F.menuOpts:F.menuOpts?x=[F.menuOpts]:x=[];function W(V){return V.menuId||(V.menuId=_.MenuId.EditorContext),V.title||(V.title=F.label),V.when=p.ContextKeyExpr.and(F.precondition,V.when),V}return Array.isArray(F.contextMenuOpts)?x.push(...F.contextMenuOpts.map(W)):F.contextMenuOpts&&x.push(W(F.contextMenuOpts)),F.menuOpts=x,F}constructor(F){super(C.convertOptions(F)),this.label=F.label,this.alias=F.alias}runEditorCommand(F,x,W){return this.reportTelemetry(F,x),this.run(F,x,W||{})}reportTelemetry(F,x){F.get(i.ITelemetryService).publicLog2("editorActionInvoked",{name:this.label,id:this.id})}}e.EditorAction=C;class f extends C{constructor(){super(...arguments),this._implementations=[]}addImplementation(F,x){return this._implementations.push([F,x]),this._implementations.sort((W,V)=>V[0]-W[0]),{dispose:()=>{for(let W=0;W{const H=q.get(p.IContextKeyService),z=q.get(g.ILogService);if(!H.contextMatchesRules(this.desc.precondition??void 0)){z.debug("[EditorAction2] NOT running command because its precondition is FALSE",this.desc.id,this.desc.precondition?.serialize());return}return this.runEditorCommand(q,V,...x)})}}e.EditorAction2=h;function v(O,F){b.CommandsRegistry.registerCommand(O,function(x,...W){const V=x.get(n.IInstantiationService),[q,H]=W;(0,s.assertType)(k.URI.isUri(q)),(0,s.assertType)(E.Position.isIPosition(H));const z=x.get(y.IModelService).getModel(q);if(z){const U=E.Position.lift(H);return V.invokeFunction(F,z,U,...W.slice(2))}return x.get(m.ITextModelService).createModelReference(q).then(U=>new Promise((j,Q)=>{try{const G=V.invokeFunction(F,U.object.textEditorModel,E.Position.lift(H),W.slice(2));j(G)}catch(G){Q(G)}}).finally(()=>{U.dispose()}))})}function w(O){return P.INSTANCE.registerEditorCommand(O),O}function S(O){const F=new O;return P.INSTANCE.registerEditorAction(F),F}function L(O){return P.INSTANCE.registerEditorAction(O),O}function D(O){P.INSTANCE.registerEditorAction(O)}function T(O,F,x){P.INSTANCE.registerEditorContribution(O,F,x)}var M;(function(O){function F(H){return P.INSTANCE.getEditorCommand(H)}O.getEditorCommand=F;function x(){return P.INSTANCE.getEditorActions()}O.getEditorActions=x;function W(){return P.INSTANCE.getEditorContributions()}O.getEditorContributions=W;function V(H){return P.INSTANCE.getEditorContributions().filter(z=>H.indexOf(z.id)>=0)}O.getSomeEditorContributions=V;function q(){return P.INSTANCE.getDiffEditorContributions()}O.getDiffEditorContributions=q})(M||(e.EditorExtensionsRegistry=M={}));const A={EditorCommonContributions:"editor.contributions"};class P{static{this.INSTANCE=new P}constructor(){this.editorContributions=[],this.diffEditorContributions=[],this.editorActions=[],this.editorCommands=Object.create(null)}registerEditorContribution(F,x,W){this.editorContributions.push({id:F,ctor:x,instantiation:W})}getEditorContributions(){return this.editorContributions.slice(0)}getDiffEditorContributions(){return this.diffEditorContributions.slice(0)}registerEditorAction(F){F.register(),this.editorActions.push(F)}getEditorActions(){return this.editorActions}registerEditorCommand(F){F.register(),this.editorCommands[F.id]=F}getEditorCommand(F){return this.editorCommands[F]||null}}t.Registry.add(A.EditorCommonContributions,P.INSTANCE);function N(O){return O.register(),O}e.UndoCommand=N(new a({id:"undo",precondition:void 0,kbOpts:{weight:0,primary:2104},menuOpts:[{menuId:_.MenuId.MenubarEditMenu,group:"1_do",title:d.localize(62,"&&Undo"),order:1},{menuId:_.MenuId.CommandPalette,group:"",title:d.localize(63,"Undo"),order:1}]})),N(new r(e.UndoCommand,{id:"default:undo",precondition:void 0})),e.RedoCommand=N(new a({id:"redo",precondition:void 0,kbOpts:{weight:0,primary:2103,secondary:[3128],mac:{primary:3128}},menuOpts:[{menuId:_.MenuId.MenubarEditMenu,group:"1_do",title:d.localize(64,"&&Redo"),order:2},{menuId:_.MenuId.CommandPalette,group:"",title:d.localize(65,"Redo"),order:1}]})),N(new r(e.RedoCommand,{id:"default:redo",precondition:void 0})),e.SelectAllCommand=N(new a({id:"editor.action.selectAll",precondition:void 0,kbOpts:{weight:0,kbExpr:null,primary:2079},menuOpts:[{menuId:_.MenuId.MenubarSelectionMenu,group:"1_basic",title:d.localize(66,"&&Select All"),order:1},{menuId:_.MenuId.CommandPalette,group:"",title:d.localize(67,"Select All"),order:1}]}))}),define(ne[214],se([1,0,3,64,19,46,15,34,565,76,234,235,276,9,4,20,12,121,5,213]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CoreEditingCommands=e.CoreNavigationCommands=e.RevealLine_=e.EditorScroll_=e.CoreEditorCommand=void 0;const r=0;class u extends y.EditorCommand{runEditorCommand(P,N,O){const F=N._getViewModel();F&&this.runCoreEditorCommand(F,O||{})}}e.CoreEditorCommand=u;var C;(function(A){const P=function(O){if(!I.isObject(O))return!1;const F=O;return!(!I.isString(F.to)||!I.isUndefined(F.by)&&!I.isString(F.by)||!I.isUndefined(F.value)&&!I.isNumber(F.value)||!I.isUndefined(F.revealCursor)&&!I.isBoolean(F.revealCursor))};A.metadata={description:"Scroll editor in the given direction",args:[{name:"Editor scroll argument object",description:"Property-value pairs that can be passed through this argument:\n * 'to': A mandatory direction value.\n ```\n 'up', 'down'\n ```\n * 'by': Unit to move. Default is computed based on 'to' value.\n ```\n 'line', 'wrappedLine', 'page', 'halfPage', 'editor'\n ```\n * 'value': Number of units to move. Default is '1'.\n * 'revealCursor': If 'true' reveals the cursor if it is outside view port.\n ",constraint:P,schema:{type:"object",required:["to"],properties:{to:{type:"string",enum:["up","down"]},by:{type:"string",enum:["line","wrappedLine","page","halfPage","editor"]},value:{type:"number",default:1},revealCursor:{type:"boolean"}}}}]},A.RawDirection={Up:"up",Right:"right",Down:"down",Left:"left"},A.RawUnit={Line:"line",WrappedLine:"wrappedLine",Page:"page",HalfPage:"halfPage",Editor:"editor",Column:"column"};function N(O){let F;switch(O.to){case A.RawDirection.Up:F=1;break;case A.RawDirection.Right:F=2;break;case A.RawDirection.Down:F=3;break;case A.RawDirection.Left:F=4;break;default:return null}let x;switch(O.by){case A.RawUnit.Line:x=1;break;case A.RawUnit.WrappedLine:x=2;break;case A.RawUnit.Page:x=3;break;case A.RawUnit.HalfPage:x=4;break;case A.RawUnit.Editor:x=5;break;case A.RawUnit.Column:x=6;break;default:x=2}const W=Math.floor(O.value||1),V=!!O.revealCursor;return{direction:F,unit:x,value:W,revealCursor:V,select:!!O.select}}A.parse=N})(C||(e.EditorScroll_=C={}));var f;(function(A){const P=function(N){if(!I.isObject(N))return!1;const O=N;return!(!I.isNumber(O.lineNumber)&&!I.isString(O.lineNumber)||!I.isUndefined(O.at)&&!I.isString(O.at))};A.metadata={description:"Reveal the given line at the given logical position",args:[{name:"Reveal line argument object",description:"Property-value pairs that can be passed through this argument:\n * 'lineNumber': A mandatory line number value.\n * 'at': Logical position at which line has to be revealed.\n ```\n 'top', 'center', 'bottom'\n ```\n ",constraint:P,schema:{type:"object",required:["lineNumber"],properties:{lineNumber:{type:["number","string"]},at:{type:"string",enum:["top","center","bottom"]}}}}]},A.RawAtArgument={Top:"top",Center:"center",Bottom:"bottom"}})(f||(e.RevealLine_=f={}));class h{constructor(P){P.addImplementation(1e4,"code-editor",(N,O)=>{const F=N.get(m.ICodeEditorService).getFocusedCodeEditor();return F&&F.hasTextFocus()?this._runEditorCommand(N,F,O):!1}),P.addImplementation(1e3,"generic-dom-input-textarea",(N,O)=>{const F=(0,l.getActiveElement)();return F&&["input","textarea"].indexOf(F.tagName.toLowerCase())>=0?(this.runDOMCommand(F),!0):!1}),P.addImplementation(0,"generic-dom",(N,O)=>{const F=N.get(m.ICodeEditorService).getActiveCodeEditor();return F?(F.focus(),this._runEditorCommand(N,F,O)):!1})}_runEditorCommand(P,N,O){const F=this.runEditorCommand(P,N,O);return F||!0}}var v;(function(A){class P extends u{constructor(ie){super(ie),this._inSelectionMode=ie.inSelectionMode}runCoreEditorCommand(ie,ue){if(!ue.position)return;ie.model.pushStackElement(),ie.setCursorStates(ue.source,3,[n.CursorMoveCommands.moveTo(ie,ie.getPrimaryCursorState(),this._inSelectionMode,ue.position,ue.viewPosition)])&&ue.revealType!==2&&ie.revealAllCursors(ue.source,!0,!0)}}A.MoveTo=(0,y.registerEditorCommand)(new P({id:"_moveTo",inSelectionMode:!1,precondition:void 0})),A.MoveToSelect=(0,y.registerEditorCommand)(new P({id:"_moveToSelect",inSelectionMode:!0,precondition:void 0}));class N extends u{runCoreEditorCommand(ie,ue){ie.model.pushStackElement();const he=this._getColumnSelectResult(ie,ie.getPrimaryCursorState(),ie.getCursorColumnSelectData(),ue);he!==null&&(ie.setCursorStates(ue.source,3,he.viewStates.map(pe=>b.CursorState.fromViewState(pe))),ie.setCursorColumnSelectData({isReal:!0,fromViewLineNumber:he.fromLineNumber,fromViewVisualColumn:he.fromVisualColumn,toViewLineNumber:he.toLineNumber,toViewVisualColumn:he.toVisualColumn}),he.reversed?ie.revealTopMostCursor(ue.source):ie.revealBottomMostCursor(ue.source))}}A.ColumnSelect=(0,y.registerEditorCommand)(new class extends N{constructor(){super({id:"columnSelect",precondition:void 0})}_getColumnSelectResult(J,ie,ue,he){if(typeof he.position>"u"||typeof he.viewPosition>"u"||typeof he.mouseColumn>"u")return null;const pe=J.model.validatePosition(he.position),ae=J.coordinatesConverter.validateViewPosition(new t.Position(he.viewPosition.lineNumber,he.viewPosition.column),pe),ee=he.doColumnSelect?ue.fromViewLineNumber:ae.lineNumber,de=he.doColumnSelect?ue.fromViewVisualColumn:he.mouseColumn-1;return _.ColumnSelection.columnSelect(J.cursorConfig,J,ee,de,ae.lineNumber,he.mouseColumn-1)}}),A.CursorColumnSelectLeft=(0,y.registerEditorCommand)(new class extends N{constructor(){super({id:"cursorColumnSelectLeft",precondition:void 0,kbOpts:{weight:r,kbExpr:s.EditorContextKeys.textInputFocus,primary:3599,linux:{primary:0}}})}_getColumnSelectResult(J,ie,ue,he){return _.ColumnSelection.columnSelectLeft(J.cursorConfig,J,ue)}}),A.CursorColumnSelectRight=(0,y.registerEditorCommand)(new class extends N{constructor(){super({id:"cursorColumnSelectRight",precondition:void 0,kbOpts:{weight:r,kbExpr:s.EditorContextKeys.textInputFocus,primary:3601,linux:{primary:0}}})}_getColumnSelectResult(J,ie,ue,he){return _.ColumnSelection.columnSelectRight(J.cursorConfig,J,ue)}});class O extends N{constructor(ie){super(ie),this._isPaged=ie.isPaged}_getColumnSelectResult(ie,ue,he,pe){return _.ColumnSelection.columnSelectUp(ie.cursorConfig,ie,he,this._isPaged)}}A.CursorColumnSelectUp=(0,y.registerEditorCommand)(new O({isPaged:!1,id:"cursorColumnSelectUp",precondition:void 0,kbOpts:{weight:r,kbExpr:s.EditorContextKeys.textInputFocus,primary:3600,linux:{primary:0}}})),A.CursorColumnSelectPageUp=(0,y.registerEditorCommand)(new O({isPaged:!0,id:"cursorColumnSelectPageUp",precondition:void 0,kbOpts:{weight:r,kbExpr:s.EditorContextKeys.textInputFocus,primary:3595,linux:{primary:0}}}));class F extends N{constructor(ie){super(ie),this._isPaged=ie.isPaged}_getColumnSelectResult(ie,ue,he,pe){return _.ColumnSelection.columnSelectDown(ie.cursorConfig,ie,he,this._isPaged)}}A.CursorColumnSelectDown=(0,y.registerEditorCommand)(new F({isPaged:!1,id:"cursorColumnSelectDown",precondition:void 0,kbOpts:{weight:r,kbExpr:s.EditorContextKeys.textInputFocus,primary:3602,linux:{primary:0}}})),A.CursorColumnSelectPageDown=(0,y.registerEditorCommand)(new F({isPaged:!0,id:"cursorColumnSelectPageDown",precondition:void 0,kbOpts:{weight:r,kbExpr:s.EditorContextKeys.textInputFocus,primary:3596,linux:{primary:0}}}));class x extends u{constructor(){super({id:"cursorMove",precondition:void 0,metadata:n.CursorMove.metadata})}runCoreEditorCommand(ie,ue){const he=n.CursorMove.parse(ue);he&&this._runCursorMove(ie,ue.source,he)}_runCursorMove(ie,ue,he){ie.model.pushStackElement(),ie.setCursorStates(ue,3,x._move(ie,ie.getCursorStates(),he)),ie.revealAllCursors(ue,!0)}static _move(ie,ue,he){const pe=he.select,ae=he.value;switch(he.direction){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:return n.CursorMoveCommands.simpleMove(ie,ue,he.direction,pe,ae,he.unit);case 11:case 13:case 12:case 14:return n.CursorMoveCommands.viewportMove(ie,ue,he.direction,pe,ae);default:return null}}}A.CursorMoveImpl=x,A.CursorMove=(0,y.registerEditorCommand)(new x);class W extends u{constructor(ie){super(ie),this._staticArgs=ie.args}runCoreEditorCommand(ie,ue){let he=this._staticArgs;this._staticArgs.value===-1&&(he={direction:this._staticArgs.direction,unit:this._staticArgs.unit,select:this._staticArgs.select,value:ue.pageSize||ie.cursorConfig.pageSize}),ie.model.pushStackElement(),ie.setCursorStates(ue.source,3,n.CursorMoveCommands.simpleMove(ie,ie.getCursorStates(),he.direction,he.select,he.value,he.unit)),ie.revealAllCursors(ue.source,!0)}}A.CursorLeft=(0,y.registerEditorCommand)(new W({args:{direction:0,unit:0,select:!1,value:1},id:"cursorLeft",precondition:void 0,kbOpts:{weight:r,kbExpr:s.EditorContextKeys.textInputFocus,primary:15,mac:{primary:15,secondary:[288]}}})),A.CursorLeftSelect=(0,y.registerEditorCommand)(new W({args:{direction:0,unit:0,select:!0,value:1},id:"cursorLeftSelect",precondition:void 0,kbOpts:{weight:r,kbExpr:s.EditorContextKeys.textInputFocus,primary:1039}})),A.CursorRight=(0,y.registerEditorCommand)(new W({args:{direction:1,unit:0,select:!1,value:1},id:"cursorRight",precondition:void 0,kbOpts:{weight:r,kbExpr:s.EditorContextKeys.textInputFocus,primary:17,mac:{primary:17,secondary:[292]}}})),A.CursorRightSelect=(0,y.registerEditorCommand)(new W({args:{direction:1,unit:0,select:!0,value:1},id:"cursorRightSelect",precondition:void 0,kbOpts:{weight:r,kbExpr:s.EditorContextKeys.textInputFocus,primary:1041}})),A.CursorUp=(0,y.registerEditorCommand)(new W({args:{direction:2,unit:2,select:!1,value:1},id:"cursorUp",precondition:void 0,kbOpts:{weight:r,kbExpr:s.EditorContextKeys.textInputFocus,primary:16,mac:{primary:16,secondary:[302]}}})),A.CursorUpSelect=(0,y.registerEditorCommand)(new W({args:{direction:2,unit:2,select:!0,value:1},id:"cursorUpSelect",precondition:void 0,kbOpts:{weight:r,kbExpr:s.EditorContextKeys.textInputFocus,primary:1040,secondary:[3088],mac:{primary:1040},linux:{primary:1040}}})),A.CursorPageUp=(0,y.registerEditorCommand)(new W({args:{direction:2,unit:2,select:!1,value:-1},id:"cursorPageUp",precondition:void 0,kbOpts:{weight:r,kbExpr:s.EditorContextKeys.textInputFocus,primary:11}})),A.CursorPageUpSelect=(0,y.registerEditorCommand)(new W({args:{direction:2,unit:2,select:!0,value:-1},id:"cursorPageUpSelect",precondition:void 0,kbOpts:{weight:r,kbExpr:s.EditorContextKeys.textInputFocus,primary:1035}})),A.CursorDown=(0,y.registerEditorCommand)(new W({args:{direction:3,unit:2,select:!1,value:1},id:"cursorDown",precondition:void 0,kbOpts:{weight:r,kbExpr:s.EditorContextKeys.textInputFocus,primary:18,mac:{primary:18,secondary:[300]}}})),A.CursorDownSelect=(0,y.registerEditorCommand)(new W({args:{direction:3,unit:2,select:!0,value:1},id:"cursorDownSelect",precondition:void 0,kbOpts:{weight:r,kbExpr:s.EditorContextKeys.textInputFocus,primary:1042,secondary:[3090],mac:{primary:1042},linux:{primary:1042}}})),A.CursorPageDown=(0,y.registerEditorCommand)(new W({args:{direction:3,unit:2,select:!1,value:-1},id:"cursorPageDown",precondition:void 0,kbOpts:{weight:r,kbExpr:s.EditorContextKeys.textInputFocus,primary:12}})),A.CursorPageDownSelect=(0,y.registerEditorCommand)(new W({args:{direction:3,unit:2,select:!0,value:-1},id:"cursorPageDownSelect",precondition:void 0,kbOpts:{weight:r,kbExpr:s.EditorContextKeys.textInputFocus,primary:1036}})),A.CreateCursor=(0,y.registerEditorCommand)(new class extends u{constructor(){super({id:"createCursor",precondition:void 0})}runCoreEditorCommand(J,ie){if(!ie.position)return;let ue;ie.wholeLine?ue=n.CursorMoveCommands.line(J,J.getPrimaryCursorState(),!1,ie.position,ie.viewPosition):ue=n.CursorMoveCommands.moveTo(J,J.getPrimaryCursorState(),!1,ie.position,ie.viewPosition);const he=J.getCursorStates();if(he.length>1){const pe=ue.modelState?ue.modelState.position:null,ae=ue.viewState?ue.viewState.position:null;for(let ee=0,de=he.length;eeae&&(pe=ae);const ee=new i.Range(pe,1,pe,J.model.getLineMaxColumn(pe));let de=0;if(ue.at)switch(ue.at){case f.RawAtArgument.Top:de=3;break;case f.RawAtArgument.Center:de=1;break;case f.RawAtArgument.Bottom:de=4;break;default:break}const ge=J.coordinatesConverter.convertModelRangeToViewRange(ee);J.revealRange(ie.source,!1,ge,de,0)}}),A.SelectAll=new class extends h{constructor(){super(y.SelectAllCommand)}runDOMCommand(J){k.isFirefox&&(J.focus(),J.select()),J.ownerDocument.execCommand("selectAll")}runEditorCommand(J,ie,ue){const he=ie._getViewModel();he&&this.runCoreEditorCommand(he,ue)}runCoreEditorCommand(J,ie){J.model.pushStackElement(),J.setCursorStates("keyboard",3,[n.CursorMoveCommands.selectAll(J,J.getPrimaryCursorState())])}},A.SetSelection=(0,y.registerEditorCommand)(new class extends u{constructor(){super({id:"setSelection",precondition:void 0})}runCoreEditorCommand(J,ie){ie.selection&&(J.model.pushStackElement(),J.setCursorStates(ie.source,3,[b.CursorState.fromModelSelection(ie.selection)]))}})})(v||(e.CoreNavigationCommands=v={}));const w=g.ContextKeyExpr.and(s.EditorContextKeys.textInputFocus,s.EditorContextKeys.columnSelection);function S(A,P){c.KeybindingsRegistry.registerKeybindingRule({id:A,primary:P,when:w,weight:r+1})}S(v.CursorColumnSelectLeft.id,1039),S(v.CursorColumnSelectRight.id,1041),S(v.CursorColumnSelectUp.id,1040),S(v.CursorColumnSelectPageUp.id,1035),S(v.CursorColumnSelectDown.id,1042),S(v.CursorColumnSelectPageDown.id,1036);function L(A){return A.register(),A}var D;(function(A){class P extends y.EditorCommand{runEditorCommand(O,F,x){const W=F._getViewModel();W&&this.runCoreEditingCommand(F,W,x||{})}}A.CoreEditingCommand=P,A.LineBreakInsert=(0,y.registerEditorCommand)(new class extends P{constructor(){super({id:"lineBreakInsert",precondition:s.EditorContextKeys.writable,kbOpts:{weight:r,kbExpr:s.EditorContextKeys.textInputFocus,primary:0,mac:{primary:301}}})}runCoreEditingCommand(N,O,F){N.pushUndoStop(),N.executeCommands(this.id,a.EnterOperation.lineBreakInsert(O.cursorConfig,O.model,O.getCursorStates().map(x=>x.modelState.selection)))}}),A.Outdent=(0,y.registerEditorCommand)(new class extends P{constructor(){super({id:"outdent",precondition:s.EditorContextKeys.writable,kbOpts:{weight:r,kbExpr:g.ContextKeyExpr.and(s.EditorContextKeys.editorTextFocus,s.EditorContextKeys.tabDoesNotMoveFocus),primary:1026}})}runCoreEditingCommand(N,O,F){N.pushUndoStop(),N.executeCommands(this.id,o.TypeOperations.outdent(O.cursorConfig,O.model,O.getCursorStates().map(x=>x.modelState.selection))),N.pushUndoStop()}}),A.Tab=(0,y.registerEditorCommand)(new class extends P{constructor(){super({id:"tab",precondition:s.EditorContextKeys.writable,kbOpts:{weight:r,kbExpr:g.ContextKeyExpr.and(s.EditorContextKeys.editorTextFocus,s.EditorContextKeys.tabDoesNotMoveFocus),primary:2}})}runCoreEditingCommand(N,O,F){N.pushUndoStop(),N.executeCommands(this.id,o.TypeOperations.tab(O.cursorConfig,O.model,O.getCursorStates().map(x=>x.modelState.selection))),N.pushUndoStop()}}),A.DeleteLeft=(0,y.registerEditorCommand)(new class extends P{constructor(){super({id:"deleteLeft",precondition:void 0,kbOpts:{weight:r,kbExpr:s.EditorContextKeys.textInputFocus,primary:1,secondary:[1025],mac:{primary:1,secondary:[1025,294,257]}}})}runCoreEditingCommand(N,O,F){const[x,W]=p.DeleteOperations.deleteLeft(O.getPrevEditOperationType(),O.cursorConfig,O.model,O.getCursorStates().map(V=>V.modelState.selection),O.getCursorAutoClosedCharacters());x&&N.pushUndoStop(),N.executeCommands(this.id,W),O.setPrevEditOperationType(2)}}),A.DeleteRight=(0,y.registerEditorCommand)(new class extends P{constructor(){super({id:"deleteRight",precondition:void 0,kbOpts:{weight:r,kbExpr:s.EditorContextKeys.textInputFocus,primary:20,mac:{primary:20,secondary:[290,276]}}})}runCoreEditingCommand(N,O,F){const[x,W]=p.DeleteOperations.deleteRight(O.getPrevEditOperationType(),O.cursorConfig,O.model,O.getCursorStates().map(V=>V.modelState.selection));x&&N.pushUndoStop(),N.executeCommands(this.id,W),O.setPrevEditOperationType(3)}}),A.Undo=new class extends h{constructor(){super(y.UndoCommand)}runDOMCommand(N){N.ownerDocument.execCommand("undo")}runEditorCommand(N,O,F){if(!(!O.hasModel()||O.getOption(92)===!0))return O.getModel().undo()}},A.Redo=new class extends h{constructor(){super(y.RedoCommand)}runDOMCommand(N){N.ownerDocument.execCommand("redo")}runEditorCommand(N,O,F){if(!(!O.hasModel()||O.getOption(92)===!0))return O.getModel().redo()}}})(D||(e.CoreEditingCommands=D={}));class T extends y.Command{constructor(P,N,O){super({id:P,precondition:void 0,metadata:O}),this._handlerId=N}runCommand(P,N){const O=P.get(m.ICodeEditorService).getFocusedCodeEditor();O&&O.trigger("keyboard",this._handlerId,N)}}function M(A,P){L(new T("default:"+A,A)),L(new T(A,A,P))}M("type",{description:"Type",args:[{name:"args",schema:{type:"object",required:["text"],properties:{text:{type:"string"}}}}]}),M("replacePreviousChar"),M("compositionType"),M("compositionStart"),M("compositionEnd"),M("paste"),M("cut")}),define(ne[725],se([1,0,266,15]),function(oe,e,d,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.MarkerDecorationsContribution=void 0;let I=class{static{this.ID="editor.contrib.markerDecorations"}constructor(y,m){}dispose(){}};e.MarkerDecorationsContribution=I,e.MarkerDecorationsContribution=I=ke([ce(1,d.IMarkerDecorationsService)],I),(0,k.registerEditorContribution)(I.ID,I,0)}),define(ne[726],se([1,0,214,9,16]),function(oe,e,d,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ViewController=void 0;class E{constructor(m,_,b,p){this.configuration=m,this.viewModel=_,this.userInputEvents=b,this.commandDelegate=p}paste(m,_,b,p){this.commandDelegate.paste(m,_,b,p)}type(m){this.commandDelegate.type(m)}compositionType(m,_,b,p){this.commandDelegate.compositionType(m,_,b,p)}compositionStart(){this.commandDelegate.startComposition()}compositionEnd(){this.commandDelegate.endComposition()}cut(){this.commandDelegate.cut()}setSelection(m){d.CoreNavigationCommands.SetSelection.runCoreEditorCommand(this.viewModel,{source:"keyboard",selection:m})}_validateViewColumn(m){const _=this.viewModel.getLineMinColumn(m.lineNumber);return m.column<_?new k.Position(m.lineNumber,_):m}_hasMulticursorModifier(m){switch(this.configuration.options.get(78)){case"altKey":return m.altKey;case"ctrlKey":return m.ctrlKey;case"metaKey":return m.metaKey;default:return!1}}_hasNonMulticursorModifier(m){switch(this.configuration.options.get(78)){case"altKey":return m.ctrlKey||m.metaKey;case"ctrlKey":return m.altKey||m.metaKey;case"metaKey":return m.ctrlKey||m.altKey;default:return!1}}dispatchMouse(m){const _=this.configuration.options,b=I.isLinux&&_.get(108),p=_.get(22);m.middleButton&&!b?this._columnSelect(m.position,m.mouseColumn,m.inSelectionMode):m.startedOnLineNumbers?this._hasMulticursorModifier(m)?m.inSelectionMode?this._lastCursorLineSelect(m.position,m.revealType):this._createCursor(m.position,!0):m.inSelectionMode?this._lineSelectDrag(m.position,m.revealType):this._lineSelect(m.position,m.revealType):m.mouseDownCount>=4?this._selectAll():m.mouseDownCount===3?this._hasMulticursorModifier(m)?m.inSelectionMode?this._lastCursorLineSelectDrag(m.position,m.revealType):this._lastCursorLineSelect(m.position,m.revealType):m.inSelectionMode?this._lineSelectDrag(m.position,m.revealType):this._lineSelect(m.position,m.revealType):m.mouseDownCount===2?m.onInjectedText||(this._hasMulticursorModifier(m)?this._lastCursorWordSelect(m.position,m.revealType):m.inSelectionMode?this._wordSelectDrag(m.position,m.revealType):this._wordSelect(m.position,m.revealType)):this._hasMulticursorModifier(m)?this._hasNonMulticursorModifier(m)||(m.shiftKey?this._columnSelect(m.position,m.mouseColumn,!0):m.inSelectionMode?this._lastCursorMoveToSelect(m.position,m.revealType):this._createCursor(m.position,!1)):m.inSelectionMode?m.altKey?this._columnSelect(m.position,m.mouseColumn,!0):p?this._columnSelect(m.position,m.mouseColumn,!0):this._moveToSelect(m.position,m.revealType):this.moveTo(m.position,m.revealType)}_usualArgs(m,_){return m=this._validateViewColumn(m),{source:"mouse",position:this._convertViewToModelPosition(m),viewPosition:m,revealType:_}}moveTo(m,_){d.CoreNavigationCommands.MoveTo.runCoreEditorCommand(this.viewModel,this._usualArgs(m,_))}_moveToSelect(m,_){d.CoreNavigationCommands.MoveToSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(m,_))}_columnSelect(m,_,b){m=this._validateViewColumn(m),d.CoreNavigationCommands.ColumnSelect.runCoreEditorCommand(this.viewModel,{source:"mouse",position:this._convertViewToModelPosition(m),viewPosition:m,mouseColumn:_,doColumnSelect:b})}_createCursor(m,_){m=this._validateViewColumn(m),d.CoreNavigationCommands.CreateCursor.runCoreEditorCommand(this.viewModel,{source:"mouse",position:this._convertViewToModelPosition(m),viewPosition:m,wholeLine:_})}_lastCursorMoveToSelect(m,_){d.CoreNavigationCommands.LastCursorMoveToSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(m,_))}_wordSelect(m,_){d.CoreNavigationCommands.WordSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(m,_))}_wordSelectDrag(m,_){d.CoreNavigationCommands.WordSelectDrag.runCoreEditorCommand(this.viewModel,this._usualArgs(m,_))}_lastCursorWordSelect(m,_){d.CoreNavigationCommands.LastCursorWordSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(m,_))}_lineSelect(m,_){d.CoreNavigationCommands.LineSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(m,_))}_lineSelectDrag(m,_){d.CoreNavigationCommands.LineSelectDrag.runCoreEditorCommand(this.viewModel,this._usualArgs(m,_))}_lastCursorLineSelect(m,_){d.CoreNavigationCommands.LastCursorLineSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(m,_))}_lastCursorLineSelectDrag(m,_){d.CoreNavigationCommands.LastCursorLineSelectDrag.runCoreEditorCommand(this.viewModel,this._usualArgs(m,_))}_selectAll(){d.CoreNavigationCommands.SelectAll.runCoreEditorCommand(this.viewModel,{source:"mouse"})}_convertViewToModelPosition(m){return this.viewModel.coordinatesConverter.convertViewPositionToModelPosition(m)}emitKeyDown(m){this.userInputEvents.emitKeyDown(m)}emitKeyUp(m){this.userInputEvents.emitKeyUp(m)}emitContextMenu(m){this.userInputEvents.emitContextMenu(m)}emitMouseMove(m){this.userInputEvents.emitMouseMove(m)}emitMouseLeave(m){this.userInputEvents.emitMouseLeave(m)}emitMouseUp(m){this.userInputEvents.emitMouseUp(m)}emitMouseDown(m){this.userInputEvents.emitMouseDown(m)}emitMouseDrag(m){this.userInputEvents.emitMouseDrag(m)}emitMouseDrop(m){this.userInputEvents.emitMouseDrop(m)}emitMouseDropCanceled(){this.userInputEvents.emitMouseDropCanceled()}emitMouseWheel(m){this.userInputEvents.emitMouseWheel(m)}}e.ViewController=E}),define(ne[215],se([1,0,49,7,6,54,55,105,100,63]),function(oe,e,d,k,I,E,y,m,_,b){"use strict";var p;Object.defineProperty(e,"__esModule",{value:!0}),e.WorkerBasedDocumentDiffProvider=e.WorkerBasedDiffProviderFactoryService=e.IDiffProviderFactoryService=void 0,e.IDiffProviderFactoryService=(0,k.createDecorator)("diffProviderFactoryService");let n=class{constructor(i){this.instantiationService=i}createDiffProvider(i){return this.instantiationService.createInstance(o,i)}};e.WorkerBasedDiffProviderFactoryService=n,e.WorkerBasedDiffProviderFactoryService=n=ke([ce(0,k.IInstantiationService)],n),(0,d.registerSingleton)(e.IDiffProviderFactoryService,n,1);let o=class{static{p=this}static{this.diffCache=new Map}constructor(i,s,g){this.editorWorkerService=s,this.telemetryService=g,this.onDidChangeEventEmitter=new I.Emitter,this.onDidChange=this.onDidChangeEventEmitter.event,this.diffAlgorithm="advanced",this.diffAlgorithmOnDidChangeSubscription=void 0,this.setOptions(i)}dispose(){this.diffAlgorithmOnDidChangeSubscription?.dispose()}async computeDiff(i,s,g,c){if(typeof this.diffAlgorithm!="string")return this.diffAlgorithm.computeDiff(i,s,g,c);if(i.isDisposed()||s.isDisposed())return{changes:[],identical:!0,quitEarly:!1,moves:[]};if(i.getLineCount()===1&&i.getLineMaxColumn(1)===1)return s.getLineCount()===1&&s.getLineMaxColumn(1)===1?{changes:[],identical:!0,quitEarly:!1,moves:[]}:{changes:[new m.DetailedLineRangeMapping(new y.LineRange(1,2),new y.LineRange(1,s.getLineCount()+1),[new m.RangeMapping(i.getFullModelRange(),s.getFullModelRange())])],identical:!1,quitEarly:!1,moves:[]};const l=JSON.stringify([i.uri.toString(),s.uri.toString()]),a=JSON.stringify([i.id,s.id,i.getAlternativeVersionId(),s.getAlternativeVersionId(),JSON.stringify(g)]),r=p.diffCache.get(l);if(r&&r.context===a)return r.result;const u=E.StopWatch.create(),C=await this.editorWorkerService.computeDiff(i.uri,s.uri,g,this.diffAlgorithm),f=u.elapsed();if(this.telemetryService.publicLog2("diffEditor.computeDiff",{timeMs:f,timedOut:C?.quitEarly??!0,detectedMoves:g.computeMoves?C?.moves.length??0:-1}),c.isCancellationRequested)return{changes:[],identical:!1,quitEarly:!0,moves:[]};if(!C)throw new Error("no diff result available");return p.diffCache.size>10&&p.diffCache.delete(p.diffCache.keys().next().value),p.diffCache.set(l,{result:C,context:a}),C}setOptions(i){let s=!1;i.diffAlgorithm&&this.diffAlgorithm!==i.diffAlgorithm&&(this.diffAlgorithmOnDidChangeSubscription?.dispose(),this.diffAlgorithmOnDidChangeSubscription=void 0,this.diffAlgorithm=i.diffAlgorithm,typeof i.diffAlgorithm!="string"&&(this.diffAlgorithmOnDidChangeSubscription=i.diffAlgorithm.onDidChange(()=>this.onDidChangeEventEmitter.fire())),s=!0),s&&this.onDidChangeEventEmitter.fire()}};e.WorkerBasedDocumentDiffProvider=o,e.WorkerBasedDocumentDiffProvider=o=p=ke([ce(1,_.IEditorWorkerService),ce(2,b.ITelemetryService)],o)}),define(ne[407],se([1,0,14,18,2,21,215,88,171,55,317,105,200,319,315,19,13,90]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.UnchangedRegion=e.DiffMapping=e.DiffState=e.DiffEditorViewModel=void 0;let l=class extends I.Disposable{setActiveMovedText(S){this._activeMovedText.set(S,void 0)}constructor(S,L,D){super(),this.model=S,this._options=L,this._diffProviderFactoryService=D,this._isDiffUpToDate=(0,E.observableValue)(this,!1),this.isDiffUpToDate=this._isDiffUpToDate,this._diff=(0,E.observableValue)(this,void 0),this.diff=this._diff,this._unchangedRegions=(0,E.observableValue)(this,void 0),this.unchangedRegions=(0,E.derived)(this,P=>this._options.hideUnchangedRegions.read(P)?this._unchangedRegions.read(P)?.regions??[]:((0,E.transaction)(N=>{for(const O of this._unchangedRegions.get()?.regions||[])O.collapseAll(N)}),[])),this.movedTextToCompare=(0,E.observableValue)(this,void 0),this._activeMovedText=(0,E.observableValue)(this,void 0),this._hoveredMovedText=(0,E.observableValue)(this,void 0),this.activeMovedText=(0,E.derived)(this,P=>this.movedTextToCompare.read(P)??this._hoveredMovedText.read(P)??this._activeMovedText.read(P)),this._cancellationTokenSource=new k.CancellationTokenSource,this._diffProvider=(0,E.derived)(this,P=>{const N=this._diffProviderFactoryService.createDiffProvider({diffAlgorithm:this._options.diffAlgorithm.read(P)}),O=(0,E.observableSignalFromEvent)("onDidChange",N.onDidChange);return{diffProvider:N,onChangeSignal:O}}),this._register((0,I.toDisposable)(()=>this._cancellationTokenSource.cancel()));const T=(0,E.observableSignal)("contentChangedSignal"),M=this._register(new d.RunOnceScheduler(()=>T.trigger(void 0),200));this._register((0,E.autorun)(P=>{const N=this._unchangedRegions.read(P);if(!N||N.regions.some(q=>q.isDragged.read(P)))return;const O=N.originalDecorationIds.map(q=>S.original.getDecorationRange(q)).map(q=>q?b.LineRange.fromRangeInclusive(q):void 0),F=N.modifiedDecorationIds.map(q=>S.modified.getDecorationRange(q)).map(q=>q?b.LineRange.fromRangeInclusive(q):void 0),x=N.regions.map((q,H)=>!O[H]||!F[H]?void 0:new f(O[H].startLineNumber,F[H].startLineNumber,O[H].length,q.visibleLineCountTop.read(P),q.visibleLineCountBottom.read(P))).filter(s.isDefined),W=[];let V=!1;for(const q of(0,g.groupAdjacentBy)(x,(H,z)=>H.getHiddenModifiedRange(P).endLineNumberExclusive===z.getHiddenModifiedRange(P).startLineNumber))if(q.length>1){V=!0;const H=q.reduce((U,j)=>U+j.lineCount,0),z=new f(q[0].originalLineNumber,q[0].modifiedLineNumber,H,q[0].visibleLineCountTop.get(),q[q.length-1].visibleLineCountBottom.get());W.push(z)}else W.push(q[0]);if(V){const q=S.original.deltaDecorations(N.originalDecorationIds,W.map(z=>({range:z.originalUnchangedRange.toInclusiveRange(),options:{description:"unchanged"}}))),H=S.modified.deltaDecorations(N.modifiedDecorationIds,W.map(z=>({range:z.modifiedUnchangedRange.toInclusiveRange(),options:{description:"unchanged"}})));(0,E.transaction)(z=>{this._unchangedRegions.set({regions:W,originalDecorationIds:q,modifiedDecorationIds:H},z)})}}));const A=(P,N,O)=>{const F=f.fromDiffs(P.changes,S.original.getLineCount(),S.modified.getLineCount(),this._options.hideUnchangedRegionsMinimumLineCount.read(O),this._options.hideUnchangedRegionsContextLineCount.read(O));let x;const W=this._unchangedRegions.get();if(W){const z=W.originalDecorationIds.map(G=>S.original.getDecorationRange(G)).map(G=>G?b.LineRange.fromRangeInclusive(G):void 0),U=W.modifiedDecorationIds.map(G=>S.modified.getDecorationRange(G)).map(G=>G?b.LineRange.fromRangeInclusive(G):void 0);let Q=(0,m.filterWithPrevious)(W.regions.map((G,K)=>{if(!z[K]||!U[K])return;const R=z[K].length;return new f(z[K].startLineNumber,U[K].startLineNumber,R,Math.min(G.visibleLineCountTop.get(),R),Math.min(G.visibleLineCountBottom.get(),R-G.visibleLineCountTop.get()))}).filter(s.isDefined),(G,K)=>!K||G.modifiedLineNumber>=K.modifiedLineNumber+K.lineCount&&G.originalLineNumber>=K.originalLineNumber+K.lineCount).map(G=>new n.LineRangeMapping(G.getHiddenOriginalRange(O),G.getHiddenModifiedRange(O)));Q=n.LineRangeMapping.clip(Q,b.LineRange.ofLength(1,S.original.getLineCount()),b.LineRange.ofLength(1,S.modified.getLineCount())),x=n.LineRangeMapping.inverse(Q,S.original.getLineCount(),S.modified.getLineCount())}const V=[];if(x)for(const z of F){const U=x.filter(j=>j.original.intersectsStrict(z.originalUnchangedRange)&&j.modified.intersectsStrict(z.modifiedUnchangedRange));V.push(...z.setVisibleRanges(U,N))}else V.push(...F);const q=S.original.deltaDecorations(W?.originalDecorationIds||[],V.map(z=>({range:z.originalUnchangedRange.toInclusiveRange(),options:{description:"unchanged"}}))),H=S.modified.deltaDecorations(W?.modifiedDecorationIds||[],V.map(z=>({range:z.modifiedUnchangedRange.toInclusiveRange(),options:{description:"unchanged"}})));this._unchangedRegions.set({regions:V,originalDecorationIds:q,modifiedDecorationIds:H},N)};this._register(S.modified.onDidChangeContent(P=>{if(this._diff.get()){const O=o.TextEditInfo.fromModelContentChanges(P.changes),F=(this._lastDiff,S.original,S.modified,void 0);F&&(this._lastDiff=F,(0,E.transaction)(x=>{this._diff.set(u.fromDiffResult(this._lastDiff),x),A(F,x);const W=this.movedTextToCompare.get();this.movedTextToCompare.set(W?this._lastDiff.moves.find(V=>V.lineRangeMapping.modified.intersect(W.lineRangeMapping.modified)):void 0,x)}))}this._isDiffUpToDate.set(!1,void 0),M.schedule()})),this._register(S.original.onDidChangeContent(P=>{if(this._diff.get()){const O=o.TextEditInfo.fromModelContentChanges(P.changes),F=(this._lastDiff,S.original,S.modified,void 0);F&&(this._lastDiff=F,(0,E.transaction)(x=>{this._diff.set(u.fromDiffResult(this._lastDiff),x),A(F,x);const W=this.movedTextToCompare.get();this.movedTextToCompare.set(W?this._lastDiff.moves.find(V=>V.lineRangeMapping.modified.intersect(W.lineRangeMapping.modified)):void 0,x)}))}this._isDiffUpToDate.set(!1,void 0),M.schedule()})),this._register((0,E.autorunWithStore)(async(P,N)=>{this._options.hideUnchangedRegionsMinimumLineCount.read(P),this._options.hideUnchangedRegionsContextLineCount.read(P),M.cancel(),T.read(P);const O=this._diffProvider.read(P);O.onChangeSignal.read(P),(0,_.readHotReloadableExport)(p.DefaultLinesDiffComputer,P),(0,_.readHotReloadableExport)(i.optimizeSequenceDiffs,P),this._isDiffUpToDate.set(!1,void 0);let F=[];N.add(S.original.onDidChangeContent(V=>{const q=o.TextEditInfo.fromModelContentChanges(V.changes);F=(0,t.combineTextEditInfos)(F,q)}));let x=[];N.add(S.modified.onDidChangeContent(V=>{const q=o.TextEditInfo.fromModelContentChanges(V.changes);x=(0,t.combineTextEditInfos)(x,q)}));let W=await O.diffProvider.computeDiff(S.original,S.modified,{ignoreTrimWhitespace:this._options.ignoreTrimWhitespace.read(P),maxComputationTimeMs:this._options.maxComputationTimeMs.read(P),computeMoves:this._options.showMoves.read(P)},this._cancellationTokenSource.token);this._cancellationTokenSource.token.isCancellationRequested||S.original.isDisposed()||S.modified.isDisposed()||(W=a(W,S.original,S.modified),W=(S.original,S.modified,void 0)??W,W=(S.original,S.modified,void 0)??W,(0,E.transaction)(V=>{A(W,V),this._lastDiff=W;const q=u.fromDiffResult(W);this._diff.set(q,V),this._isDiffUpToDate.set(!0,V);const H=this.movedTextToCompare.get();this.movedTextToCompare.set(H?this._lastDiff.moves.find(z=>z.lineRangeMapping.modified.intersect(H.lineRangeMapping.modified)):void 0,V)}))}))}ensureModifiedLineIsVisible(S,L,D){if(this.diff.get()?.mappings.length===0)return;const T=this._unchangedRegions.get()?.regions||[];for(const M of T)if(M.getHiddenModifiedRange(void 0).contains(S)){M.showModifiedLine(S,L,D);return}}ensureOriginalLineIsVisible(S,L,D){if(this.diff.get()?.mappings.length===0)return;const T=this._unchangedRegions.get()?.regions||[];for(const M of T)if(M.getHiddenOriginalRange(void 0).contains(S)){M.showOriginalLine(S,L,D);return}}async waitForDiff(){await(0,E.waitForState)(this.isDiffUpToDate,S=>S)}serializeState(){return{collapsedRegions:this._unchangedRegions.get()?.regions.map(L=>({range:L.getHiddenModifiedRange(void 0).serialize()}))}}restoreSerializedState(S){const L=S.collapsedRegions?.map(T=>b.LineRange.deserialize(T.range)),D=this._unchangedRegions.get();!D||!L||(0,E.transaction)(T=>{for(const M of D.regions)for(const A of L)if(M.modifiedUnchangedRange.intersect(A)){M.setHiddenModifiedRange(A,T);break}})}};e.DiffEditorViewModel=l,e.DiffEditorViewModel=l=ke([ce(2,y.IDiffProviderFactoryService)],l);function a(w,S,L){return{changes:w.changes.map(D=>new n.DetailedLineRangeMapping(D.original,D.modified,D.innerChanges?D.innerChanges.map(T=>r(T,S,L)):void 0)),moves:w.moves,identical:w.identical,quitEarly:w.quitEarly}}function r(w,S,L){let D=w.originalRange,T=w.modifiedRange;return D.startColumn===1&&T.startColumn===1&&(D.endColumn!==1||T.endColumn!==1)&&D.endColumn===S.getLineMaxColumn(D.endLineNumber)&&T.endColumn===L.getLineMaxColumn(T.endLineNumber)&&D.endLineNumbernew C(L)),S.moves||[],S.identical,S.quitEarly)}constructor(S,L,D,T){this.mappings=S,this.movedTexts=L,this.identical=D,this.quitEarly=T}}e.DiffState=u;class C{constructor(S){this.lineRangeMapping=S}}e.DiffMapping=C;class f{static fromDiffs(S,L,D,T,M){const A=n.DetailedLineRangeMapping.inverse(S,L,D),P=[];for(const N of A){let O=N.original.startLineNumber,F=N.modified.startLineNumber,x=N.original.length;const W=O===1&&F===1,V=O+x===L+1&&F+x===D+1;(W||V)&&x>=M+T?(W&&!V&&(x-=M),V&&!W&&(O+=M,F+=M,x-=M),P.push(new f(O,F,x,0,0))):x>=M*2+T&&(O+=M,F+=M,x-=M*2,P.push(new f(O,F,x,0,0)))}return P}get originalUnchangedRange(){return b.LineRange.ofLength(this.originalLineNumber,this.lineCount)}get modifiedUnchangedRange(){return b.LineRange.ofLength(this.modifiedLineNumber,this.lineCount)}constructor(S,L,D,T,M){this.originalLineNumber=S,this.modifiedLineNumber=L,this.lineCount=D,this._visibleLineCountTop=(0,E.observableValue)(this,0),this.visibleLineCountTop=this._visibleLineCountTop,this._visibleLineCountBottom=(0,E.observableValue)(this,0),this.visibleLineCountBottom=this._visibleLineCountBottom,this._shouldHideControls=(0,E.derived)(this,N=>this.visibleLineCountTop.read(N)+this.visibleLineCountBottom.read(N)===this.lineCount&&!this.isDragged.read(N)),this.isDragged=(0,E.observableValue)(this,void 0);const A=Math.max(Math.min(T,this.lineCount),0),P=Math.max(Math.min(M,this.lineCount-T),0);(0,c.softAssert)(T===A),(0,c.softAssert)(M===P),this._visibleLineCountTop.set(A,void 0),this._visibleLineCountBottom.set(P,void 0)}setVisibleRanges(S,L){const D=[],T=new b.LineRangeSet(S.map(N=>N.modified)).subtractFrom(this.modifiedUnchangedRange);let M=this.originalLineNumber,A=this.modifiedLineNumber;const P=this.modifiedLineNumber+this.lineCount;if(T.ranges.length===0)this.showAll(L),D.push(this);else{let N=0;for(const O of T.ranges){const F=N===T.ranges.length-1;N++;const x=(F?P:O.endLineNumberExclusive)-A,W=new f(M,A,x,0,0);W.setHiddenModifiedRange(O,L),D.push(W),M=W.originalUnchangedRange.endLineNumberExclusive,A=W.modifiedUnchangedRange.endLineNumberExclusive}}return D}shouldHideControls(S){return this._shouldHideControls.read(S)}getHiddenOriginalRange(S){return b.LineRange.ofLength(this.originalLineNumber+this._visibleLineCountTop.read(S),this.lineCount-this._visibleLineCountTop.read(S)-this._visibleLineCountBottom.read(S))}getHiddenModifiedRange(S){return b.LineRange.ofLength(this.modifiedLineNumber+this._visibleLineCountTop.read(S),this.lineCount-this._visibleLineCountTop.read(S)-this._visibleLineCountBottom.read(S))}setHiddenModifiedRange(S,L){const D=S.startLineNumber-this.modifiedLineNumber,T=this.modifiedLineNumber+this.lineCount-S.endLineNumberExclusive;this.setState(D,T,L)}getMaxVisibleLineCountTop(){return this.lineCount-this._visibleLineCountBottom.get()}getMaxVisibleLineCountBottom(){return this.lineCount-this._visibleLineCountTop.get()}showMoreAbove(S=10,L){const D=this.getMaxVisibleLineCountTop();this._visibleLineCountTop.set(Math.min(this._visibleLineCountTop.get()+S,D),L)}showMoreBelow(S=10,L){const D=this.lineCount-this._visibleLineCountTop.get();this._visibleLineCountBottom.set(Math.min(this._visibleLineCountBottom.get()+S,D),L)}showAll(S){this._visibleLineCountBottom.set(this.lineCount-this._visibleLineCountTop.get(),S)}showModifiedLine(S,L,D){const T=S+1-(this.modifiedLineNumber+this._visibleLineCountTop.get()),M=this.modifiedLineNumber-this._visibleLineCountBottom.get()+this.lineCount-S;L===0&&Tthis.selectionAnchorSetContextKey.reset())}setSelectionAnchor(){if(this.editor.hasModel()){const c=this.editor.getPosition();this.editor.changeDecorations(l=>{this.decorationId&&l.removeDecoration(this.decorationId),this.decorationId=l.addDecoration(y.Selection.fromPositions(c,c),{description:"selection-anchor",stickiness:1,hoverMessage:new k.MarkdownString().appendText((0,_.localize)(710,"Selection Anchor")),className:"selection-anchor"})}),this.selectionAnchorSetContextKey.set(!!this.decorationId),(0,d.alert)((0,_.localize)(711,"Anchor set at {0}:{1}",c.lineNumber,c.column))}}goToSelectionAnchor(){if(this.editor.hasModel()&&this.decorationId){const c=this.editor.getModel().getDecorationRange(this.decorationId);c&&this.editor.setPosition(c.getStartPosition())}}selectFromAnchorToCursor(){if(this.editor.hasModel()&&this.decorationId){const c=this.editor.getModel().getDecorationRange(this.decorationId);if(c){const l=this.editor.getPosition();this.editor.setSelection(y.Selection.fromPositions(c.getStartPosition(),l)),this.cancelSelectionAnchor()}}}cancelSelectionAnchor(){if(this.decorationId){const c=this.decorationId;this.editor.changeDecorations(l=>{l.removeDecoration(c),this.decorationId=void 0}),this.selectionAnchorSetContextKey.set(!1)}}dispose(){this.cancelSelectionAnchor(),this.modelChangeListener.dispose()}};n=p=ke([ce(1,b.IContextKeyService)],n);class o extends E.EditorAction{constructor(){super({id:"editor.action.setSelectionAnchor",label:(0,_.localize)(712,"Set Selection Anchor"),alias:"Set Selection Anchor",precondition:void 0,kbOpts:{kbExpr:m.EditorContextKeys.editorTextFocus,primary:(0,I.KeyChord)(2089,2080),weight:100}})}async run(c,l){n.get(l)?.setSelectionAnchor()}}class t extends E.EditorAction{constructor(){super({id:"editor.action.goToSelectionAnchor",label:(0,_.localize)(713,"Go to Selection Anchor"),alias:"Go to Selection Anchor",precondition:e.SelectionAnchorSet})}async run(c,l){n.get(l)?.goToSelectionAnchor()}}class i extends E.EditorAction{constructor(){super({id:"editor.action.selectFromAnchorToCursor",label:(0,_.localize)(714,"Select from Anchor to Cursor"),alias:"Select from Anchor to Cursor",precondition:e.SelectionAnchorSet,kbOpts:{kbExpr:m.EditorContextKeys.editorTextFocus,primary:(0,I.KeyChord)(2089,2089),weight:100}})}async run(c,l){n.get(l)?.selectFromAnchorToCursor()}}class s extends E.EditorAction{constructor(){super({id:"editor.action.cancelSelectionAnchor",label:(0,_.localize)(715,"Cancel Selection Anchor"),alias:"Cancel Selection Anchor",precondition:e.SelectionAnchorSet,kbOpts:{kbExpr:m.EditorContextKeys.editorTextFocus,primary:9,weight:100}})}async run(c,l){n.get(l)?.cancelSelectionAnchor()}}(0,E.registerEditorContribution)(n.ID,n,4),(0,E.registerEditorAction)(o),(0,E.registerEditorAction)(t),(0,E.registerEditorAction)(i),(0,E.registerEditorAction)(s)}),define(ne[728],se([1,0,15,20,607,3]),function(oe,e,d,k,I,E){"use strict";Object.defineProperty(e,"__esModule",{value:!0});class y extends d.EditorAction{constructor(p,n){super(n),this.left=p}run(p,n){if(!n.hasModel())return;const o=[],t=n.getSelections();for(const i of t)o.push(new I.MoveCaretCommand(i,this.left));n.pushUndoStop(),n.executeCommands(this.id,o),n.pushUndoStop()}}class m extends y{constructor(){super(!0,{id:"editor.action.moveCarretLeftAction",label:E.localize(722,"Move Selected Text Left"),alias:"Move Selected Text Left",precondition:k.EditorContextKeys.writable})}}class _ extends y{constructor(){super(!1,{id:"editor.action.moveCarretRightAction",label:E.localize(723,"Move Selected Text Right"),alias:"Move Selected Text Right",precondition:k.EditorContextKeys.writable})}}(0,d.registerEditorAction)(m),(0,d.registerEditorAction)(_)}),define(ne[729],se([1,0,15,146,233,4,20,3]),function(oe,e,d,k,I,E,y,m){"use strict";Object.defineProperty(e,"__esModule",{value:!0});class _ extends d.EditorAction{constructor(){super({id:"editor.action.transposeLetters",label:m.localize(724,"Transpose Letters"),alias:"Transpose Letters",precondition:y.EditorContextKeys.writable,kbOpts:{kbExpr:y.EditorContextKeys.textInputFocus,primary:0,mac:{primary:306},weight:100}})}run(p,n){if(!n.hasModel())return;const o=n.getModel(),t=[],i=n.getSelections();for(const s of i){if(!s.isEmpty())continue;const g=s.startLineNumber,c=s.startColumn,l=o.getLineMaxColumn(g);if(g===1&&(c===1||c===2&&l===2))continue;const a=c===l?s.getPosition():I.MoveOperations.rightPosition(o,s.getPosition().lineNumber,s.getPosition().column),r=I.MoveOperations.leftPosition(o,a),u=I.MoveOperations.leftPosition(o,r),C=o.getValueInRange(E.Range.fromPositions(u,r)),f=o.getValueInRange(E.Range.fromPositions(r,a)),h=E.Range.fromPositions(u,a);t.push(new k.ReplaceCommand(h,f+C))}t.length>0&&(n.pushUndoStop(),n.executeCommands(this.id,t),n.pushUndoStop())}}(0,d.registerEditorAction)(_)}),define(ne[730],se([1,0,72,15,4,20,36,333,609,3,29]),function(oe,e,d,k,I,E,y,m,_,b,p){"use strict";Object.defineProperty(e,"__esModule",{value:!0});class n extends k.EditorAction{constructor(c,l){super(l),this._type=c}run(c,l){const a=c.get(y.ILanguageConfigurationService);if(!l.hasModel())return;const r=l.getModel(),u=[],C=r.getOptions(),f=l.getOption(23),h=l.getSelections().map((w,S)=>({selection:w,index:S,ignoreFirstLine:!1}));h.sort((w,S)=>I.Range.compareRangesUsingStarts(w.selection,S.selection));let v=h[0];for(let w=1;w{this._undoStack=[],this._redoStack=[]})),this._register(o.onDidChangeModelContent(t=>{this._undoStack=[],this._redoStack=[]})),this._register(o.onDidChangeCursorSelection(t=>{if(this._isCursorUndoRedo||!t.oldSelections||t.oldModelVersionId!==t.modelVersionId)return;const i=new y(t.oldSelections);this._undoStack.length>0&&this._undoStack[this._undoStack.length-1].cursorState.equals(i)||(this._undoStack.push(new m(i,o.getScrollTop(),o.getScrollLeft())),this._redoStack=[],this._undoStack.length>50&&this._undoStack.shift())}))}cursorUndo(){!this._editor.hasModel()||this._undoStack.length===0||(this._redoStack.push(new m(new y(this._editor.getSelections()),this._editor.getScrollTop(),this._editor.getScrollLeft())),this._applyState(this._undoStack.pop()))}cursorRedo(){!this._editor.hasModel()||this._redoStack.length===0||(this._undoStack.push(new m(new y(this._editor.getSelections()),this._editor.getScrollTop(),this._editor.getScrollLeft())),this._applyState(this._redoStack.pop()))}_applyState(o){this._isCursorUndoRedo=!0,this._editor.setSelections(o.cursorState.selections),this._editor.setScrollPosition({scrollTop:o.scrollTop,scrollLeft:o.scrollLeft}),this._isCursorUndoRedo=!1}}e.CursorUndoRedoController=_;class b extends k.EditorAction{constructor(){super({id:"cursorUndo",label:E.localize(821,"Cursor Undo"),alias:"Cursor Undo",precondition:void 0,kbOpts:{kbExpr:I.EditorContextKeys.textInputFocus,primary:2099,weight:100}})}run(o,t,i){_.get(t)?.cursorUndo()}}e.CursorUndo=b;class p extends k.EditorAction{constructor(){super({id:"cursorRedo",label:E.localize(822,"Cursor Redo"),alias:"Cursor Redo",precondition:void 0})}run(o,t,i){_.get(t)?.cursorRedo()}}e.CursorRedo=p,(0,k.registerEditorContribution)(_.ID,_,0),(0,k.registerEditorAction)(b),(0,k.registerEditorAction)(p)}),define(ne[732],se([1,0,15,12,18,73,7,49,3]),function(oe,e,d,k,I,E,y,m,_){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.EditorKeybindingCancellationTokenSource=void 0;const b=(0,y.createDecorator)("IEditorCancelService"),p=new k.RawContextKey("cancellableOperation",!1,(0,_.localize)(847,"Whether the editor runs a cancellable operation, e.g. like 'Peek References'"));(0,m.registerSingleton)(b,class{constructor(){this._tokens=new WeakMap}add(o,t){let i=this._tokens.get(o);i||(i=o.invokeWithinContext(g=>{const c=p.bindTo(g.get(k.IContextKeyService)),l=new E.LinkedList;return{key:c,tokens:l}}),this._tokens.set(o,i));let s;return i.key.set(!0),s=i.tokens.push(t),()=>{s&&(s(),i.key.set(!i.tokens.isEmpty()),s=void 0)}}cancel(o){const t=this._tokens.get(o);if(!t)return;const i=t.tokens.pop();i&&(i.cancel(),t.key.set(!t.tokens.isEmpty()))}},1);class n extends I.CancellationTokenSource{constructor(t,i){super(i),this.editor=t,this._unregister=t.invokeWithinContext(s=>s.get(b).add(t,this))}dispose(){this._unregister(),super.dispose()}}e.EditorKeybindingCancellationTokenSource=n,(0,d.registerEditorCommand)(new class extends d.EditorCommand{constructor(){super({id:"editor.cancelOperation",kbOpts:{weight:100,primary:9},precondition:p})}runEditorCommand(o,t){o.get(b).cancel(t)}})}),define(ne[122],se([1,0,11,4,18,2,732]),function(oe,e,d,k,I,E,y){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TextModelCancellationTokenSource=e.EditorStateCancellationTokenSource=e.EditorState=void 0;class m{constructor(n,o){if(this.flags=o,this.flags&1){const t=n.getModel();this.modelVersionId=t?d.format("{0}#{1}",t.uri.toString(),t.getVersionId()):null}else this.modelVersionId=null;this.flags&4?this.position=n.getPosition():this.position=null,this.flags&2?this.selection=n.getSelection():this.selection=null,this.flags&8?(this.scrollLeft=n.getScrollLeft(),this.scrollTop=n.getScrollTop()):(this.scrollLeft=-1,this.scrollTop=-1)}_equals(n){if(!(n instanceof m))return!1;const o=n;return!(this.modelVersionId!==o.modelVersionId||this.scrollLeft!==o.scrollLeft||this.scrollTop!==o.scrollTop||!this.position&&o.position||this.position&&!o.position||this.position&&o.position&&!this.position.equals(o.position)||!this.selection&&o.selection||this.selection&&!o.selection||this.selection&&o.selection&&!this.selection.equalsRange(o.selection))}validate(n){return this._equals(new m(n,this.flags))}}e.EditorState=m;class _ extends y.EditorKeybindingCancellationTokenSource{constructor(n,o,t,i){super(n,i),this._listener=new E.DisposableStore,o&4&&this._listener.add(n.onDidChangeCursorPosition(s=>{(!t||!k.Range.containsPosition(t,s.position))&&this.cancel()})),o&2&&this._listener.add(n.onDidChangeCursorSelection(s=>{(!t||!k.Range.containsRange(t,s.selection))&&this.cancel()})),o&8&&this._listener.add(n.onDidScrollChange(s=>this.cancel())),o&1&&(this._listener.add(n.onDidChangeModel(s=>this.cancel())),this._listener.add(n.onDidChangeModelContent(s=>this.cancel())))}dispose(){this._listener.dispose(),super.dispose()}}e.EditorStateCancellationTokenSource=_;class b extends I.CancellationTokenSource{constructor(n,o){super(o),this._listener=n.onDidChangeContent(()=>this.cancel())}dispose(){this._listener.dispose(),super.dispose()}}e.TextModelCancellationTokenSource=b}),define(ne[157],se([1,0,13,18,8,2,22,152,4,23,17,51,122,3,24,50,96,63,134,91]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ApplyCodeActionReason=e.fixAllCommandId=e.organizeImportsCommandId=e.sourceActionCommandId=e.refactorCommandId=e.autoFixCommandId=e.quickFixCommandId=e.codeActionCommandId=void 0,e.getCodeActions=C,e.applyCodeAction=S,e.codeActionCommandId="editor.action.codeAction",e.quickFixCommandId="editor.action.quickFix",e.autoFixCommandId="editor.action.autoFix",e.refactorCommandId="editor.action.refactor",e.sourceActionCommandId="editor.action.sourceAction",e.organizeImportsCommandId="editor.action.organizeImports",e.fixAllCommandId="editor.action.fixAll";class r extends E.Disposable{static codeActionsPreferredComparator(T,M){return T.isPreferred&&!M.isPreferred?-1:!T.isPreferred&&M.isPreferred?1:0}static codeActionsComparator({action:T},{action:M}){return T.isAI&&!M.isAI?1:!T.isAI&&M.isAI?-1:(0,d.isNonEmptyArray)(T.diagnostics)?(0,d.isNonEmptyArray)(M.diagnostics)?r.codeActionsPreferredComparator(T,M):-1:(0,d.isNonEmptyArray)(M.diagnostics)?1:r.codeActionsPreferredComparator(T,M)}constructor(T,M,A){super(),this.documentation=M,this._register(A),this.allActions=[...T].sort(r.codeActionsComparator),this.validActions=this.allActions.filter(({action:P})=>!P.disabled)}get hasAutoFix(){return this.validActions.some(({action:T})=>!!T.kind&&l.CodeActionKind.QuickFix.contains(new a.HierarchicalKind(T.kind))&&!!T.isPreferred)}get hasAIFix(){return this.validActions.some(({action:T})=>!!T.isAI)}get allAIFixes(){return this.validActions.every(({action:T})=>!!T.isAI)}}const u={actions:[],documentation:void 0};async function C(D,T,M,A,P,N){const O=A.filter||{},F={...O,excludes:[...O.excludes||[],l.CodeActionKind.Notebook]},x={only:O.include?.value,trigger:A.type},W=new o.TextModelCancellationTokenSource(T,N),V=A.type===2,q=f(D,T,V?F:O),H=new E.DisposableStore,z=q.map(async j=>{try{P.report(j);const Q=await j.provideCodeActions(T,M,x,W.token);if(Q&&H.add(Q),W.token.isCancellationRequested)return u;const G=(Q?.actions||[]).filter(R=>R&&(0,l.filtersAction)(O,R)),K=v(j,G,O.include);return{actions:G.map(R=>new l.CodeActionItem(R,j)),documentation:K}}catch(Q){if((0,I.isCancellationError)(Q))throw Q;return(0,I.onUnexpectedExternalError)(Q),u}}),U=D.onDidChange(()=>{const j=D.all(T);(0,d.equals)(j,q)||W.cancel()});try{const j=await Promise.all(z),Q=j.map(K=>K.actions).flat(),G=[...(0,d.coalesce)(j.map(K=>K.documentation)),...h(D,T,A,Q)];return new r(Q,G,H)}finally{U.dispose(),W.dispose()}}function f(D,T,M){return D.all(T).filter(A=>A.providedCodeActionKinds?A.providedCodeActionKinds.some(P=>(0,l.mayIncludeActionsOfKind)(M,new a.HierarchicalKind(P))):!0)}function*h(D,T,M,A){if(T&&A.length)for(const P of D.all(T))P._getAdditionalMenuItems&&(yield*P._getAdditionalMenuItems?.({trigger:M.type,only:M.filter?.include?.value},A.map(N=>N.action)))}function v(D,T,M){if(!D.documentation)return;const A=D.documentation.map(P=>({kind:new a.HierarchicalKind(P.kind),command:P.command}));if(M){let P;for(const N of A)N.kind.contains(M)&&(P?P.kind.contains(N.kind)&&(P=N):P=N);if(P)return P?.command}for(const P of T)if(P.kind){for(const N of A)if(N.kind.contains(new a.HierarchicalKind(P.kind)))return N.command}}var w;(function(D){D.OnSave="onSave",D.FromProblemsView="fromProblemsView",D.FromCodeActions="fromCodeActions",D.FromAILightbulb="fromAILightbulb"})(w||(e.ApplyCodeActionReason=w={}));async function S(D,T,M,A,P=k.CancellationToken.None){const N=D.get(m.IBulkEditService),O=D.get(i.ICommandService),F=D.get(c.ITelemetryService),x=D.get(s.INotificationService);if(F.publicLog2("codeAction.applyCodeAction",{codeActionTitle:T.action.title,codeActionKind:T.action.kind,codeActionIsPreferred:!!T.action.isPreferred,reason:M}),await T.resolve(P),!P.isCancellationRequested&&!(T.action.edit?.edits.length&&!(await N.apply(T.action.edit,{editor:A?.editor,label:T.action.title,quotableLabel:T.action.title,code:"undoredo.codeAction",respectAutoSaveConfig:M!==w.OnSave,showPreview:A?.preview})).isApplied)&&T.action.command)try{await O.executeCommand(T.action.command.id,...T.action.command.arguments||[])}catch(W){const V=L(W);x.error(typeof V=="string"?V:t.localize(742,"An unknown error occurred while applying the code action"))}}function L(D){return typeof D=="string"?D:D instanceof Error&&typeof D.message=="string"?D.message:void 0}i.CommandsRegistry.registerCommand("_executeCodeActionProvider",async function(D,T,M,A,P){if(!(T instanceof y.URI))throw(0,I.illegalArgument)();const{codeActionProvider:N}=D.get(p.ILanguageFeaturesService),O=D.get(n.IModelService).getModel(T);if(!O)throw(0,I.illegalArgument)();const F=b.Selection.isISelection(M)?b.Selection.liftSelection(M):_.Range.isIRange(M)?O.validateRange(M):void 0;if(!F)throw(0,I.illegalArgument)();const x=typeof A=="string"?new a.HierarchicalKind(A):void 0,W=await C(N,O,F,{type:1,triggerAction:l.CodeActionTriggerSource.Default,filter:{includeSourceActions:!0,include:x}},g.Progress.None,k.CancellationToken.None),V=[],q=Math.min(W.validActions.length,typeof P=="number"?P:0);for(let H=0;HH.action)}finally{setTimeout(()=>W.dispose(),100)}})}),define(ne[733],se([1,0,91,98,157,134,31]),function(oe,e,d,k,I,E,y){"use strict";var m;Object.defineProperty(e,"__esModule",{value:!0}),e.CodeActionKeybindingResolver=void 0;let _=class{static{m=this}static{this.codeActionCommands=[I.refactorCommandId,I.codeActionCommandId,I.sourceActionCommandId,I.organizeImportsCommandId,I.fixAllCommandId]}constructor(p){this.keybindingService=p}getResolver(){const p=new k.Lazy(()=>this.keybindingService.getKeybindings().filter(n=>m.codeActionCommands.indexOf(n.command)>=0).filter(n=>n.resolvedKeybinding).map(n=>{let o=n.commandArgs;return n.command===I.organizeImportsCommandId?o={kind:E.CodeActionKind.SourceOrganizeImports.value}:n.command===I.fixAllCommandId&&(o={kind:E.CodeActionKind.SourceFixAll.value}),{resolvedKeybinding:n.resolvedKeybinding,...E.CodeActionCommandArgs.fromUser(o,{kind:d.HierarchicalKind.None,apply:"never"})}}));return n=>{if(n.kind)return this.bestKeybindingForCodeAction(n,p.value)?.resolvedKeybinding}}bestKeybindingForCodeAction(p,n){if(!p.kind)return;const o=new d.HierarchicalKind(p.kind);return n.filter(t=>t.kind.contains(o)).filter(t=>t.preferred?p.isPreferred:!0).reduceRight((t,i)=>t?t.kind.contains(i.kind)?i:t:i,void 0)}};e.CodeActionKeybindingResolver=_,e.CodeActionKeybindingResolver=_=m=ke([ce(0,y.IKeybindingService)],_)}),define(ne[408],se([1,0,14,8,6,2,48,37,9,23,12,96,134,157,91,54]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CodeActionModel=e.CodeActionsState=e.APPLY_FIX_ALL_COMMAND_ID=e.SUPPORTED_CODE_ACTIONS=void 0,e.SUPPORTED_CODE_ACTIONS=new p.RawContextKey("supportedCodeAction",""),e.APPLY_FIX_ALL_COMMAND_ID="_typescript.applyFixAllCodeAction";class g extends E.Disposable{constructor(u,C,f,h=250){super(),this._editor=u,this._markerService=C,this._signalChange=f,this._delay=h,this._autoTriggerTimer=this._register(new d.TimeoutTimer),this._register(this._markerService.onMarkerChanged(v=>this._onMarkerChanges(v))),this._register(this._editor.onDidChangeCursorPosition(()=>this._tryAutoTrigger()))}trigger(u){const C=this._getRangeOfSelectionUnlessWhitespaceEnclosed(u);this._signalChange(C?{trigger:u,selection:C}:void 0)}_onMarkerChanges(u){const C=this._editor.getModel();C&&u.some(f=>(0,y.isEqual)(f,C.uri))&&this._tryAutoTrigger()}_tryAutoTrigger(){this._autoTriggerTimer.cancelAndSet(()=>{this.trigger({type:2,triggerAction:o.CodeActionTriggerSource.Default})},this._delay)}_getRangeOfSelectionUnlessWhitespaceEnclosed(u){if(!this._editor.hasModel())return;const C=this._editor.getSelection();if(u.type===1)return C;const f=this._editor.getOption(65).enabled;if(f!==m.ShowLightbulbIconMode.Off){{if(f===m.ShowLightbulbIconMode.On)return C;if(f===m.ShowLightbulbIconMode.OnCode){if(!C.isEmpty())return C;const v=this._editor.getModel(),{lineNumber:w,column:S}=C.getPosition(),L=v.getLineContent(w);if(L.length===0)return;if(S===1){if(/\s/.test(L[0]))return}else if(S===v.getLineMaxColumn(w)){if(/\s/.test(L[L.length-1]))return}else if(/\s/.test(L[S-2])&&/\s/.test(L[S-1]))return}}return C}}}var c;(function(r){r.Empty={type:0};class u{constructor(f,h,v){this.trigger=f,this.position=h,this._cancellablePromise=v,this.type=1,this.actions=v.catch(w=>{if((0,k.isCancellationError)(w))return l;throw w})}cancel(){this._cancellablePromise.cancel()}}r.Triggered=u})(c||(e.CodeActionsState=c={}));const l=Object.freeze({allActions:[],validActions:[],dispose:()=>{},documentation:[],hasAutoFix:!1,hasAIFix:!1,allAIFixes:!1});class a extends E.Disposable{constructor(u,C,f,h,v,w,S){super(),this._editor=u,this._registry=C,this._markerService=f,this._progressService=v,this._configurationService=w,this._telemetryService=S,this._codeActionOracle=this._register(new E.MutableDisposable),this._state=c.Empty,this._onDidChangeState=this._register(new I.Emitter),this.onDidChangeState=this._onDidChangeState.event,this._disposed=!1,this._supportedCodeActions=e.SUPPORTED_CODE_ACTIONS.bindTo(h),this._register(this._editor.onDidChangeModel(()=>this._update())),this._register(this._editor.onDidChangeModelLanguage(()=>this._update())),this._register(this._registry.onDidChange(()=>this._update())),this._register(this._editor.onDidChangeConfiguration(L=>{L.hasChanged(65)&&this._update()})),this._update()}dispose(){this._disposed||(this._disposed=!0,super.dispose(),this.setState(c.Empty,!0))}_settingEnabledNearbyQuickfixes(){const u=this._editor?.getModel();return this._configurationService?this._configurationService.getValue("editor.codeActionWidget.includeNearbyQuickFixes",{resource:u?.uri}):!1}_update(){if(this._disposed)return;this._codeActionOracle.value=void 0,this.setState(c.Empty);const u=this._editor.getModel();if(u&&this._registry.has(u)&&!this._editor.getOption(92)){const C=this._registry.all(u).flatMap(f=>f.providedCodeActionKinds??[]);this._supportedCodeActions.set(C.join(" ")),this._codeActionOracle.value=new g(this._editor,this._markerService,f=>{if(!f){this.setState(c.Empty);return}const h=f.selection.getStartPosition(),v=(0,d.createCancelablePromise)(async L=>{if(this._settingEnabledNearbyQuickfixes()&&f.trigger.type===1&&(f.trigger.triggerAction===o.CodeActionTriggerSource.QuickFix||f.trigger.filter?.include?.contains(o.CodeActionKind.QuickFix))){const D=await(0,t.getCodeActions)(this._registry,u,f.selection,f.trigger,n.Progress.None,L),T=[...D.allActions];if(L.isCancellationRequested)return l;const M=D.validActions?.some(P=>P.action.kind?o.CodeActionKind.QuickFix.contains(new i.HierarchicalKind(P.action.kind)):!1),A=this._markerService.read({resource:u.uri});if(M){for(const P of D.validActions)P.action.command?.arguments?.some(N=>typeof N=="string"&&N.includes(e.APPLY_FIX_ALL_COMMAND_ID))&&(P.action.diagnostics=[...A.filter(N=>N.relatedInformation)]);return{validActions:D.validActions,allActions:T,documentation:D.documentation,hasAutoFix:D.hasAutoFix,hasAIFix:D.hasAIFix,allAIFixes:D.allAIFixes,dispose:()=>{D.dispose()}}}else if(!M&&A.length>0){const P=f.selection.getPosition();let N=P,O=Number.MAX_VALUE;const F=[...D.validActions];for(const W of A){const V=W.endColumn,q=W.endLineNumber,H=W.startLineNumber;if(q===P.lineNumber||H===P.lineNumber){N=new _.Position(q,V);const z={type:f.trigger.type,triggerAction:f.trigger.triggerAction,filter:{include:f.trigger.filter?.include?f.trigger.filter?.include:o.CodeActionKind.QuickFix},autoApply:f.trigger.autoApply,context:{notAvailableMessage:f.trigger.context?.notAvailableMessage||"",position:N}},U=new b.Selection(N.lineNumber,N.column,N.lineNumber,N.column),j=await(0,t.getCodeActions)(this._registry,u,U,z,n.Progress.None,L);if(j.validActions.length!==0){for(const Q of j.validActions)Q.action.command?.arguments?.some(G=>typeof G=="string"&&G.includes(e.APPLY_FIX_ALL_COMMAND_ID))&&(Q.action.diagnostics=[...A.filter(G=>G.relatedInformation)]);D.allActions.length===0&&T.push(...j.allActions),Math.abs(P.column-V)q.findIndex(H=>H.action.title===W.action.title)===V);return x.sort((W,V)=>W.action.isPreferred&&!V.action.isPreferred?-1:!W.action.isPreferred&&V.action.isPreferred||W.action.isAI&&!V.action.isAI?1:!W.action.isAI&&V.action.isAI?-1:0),{validActions:x,allActions:T,documentation:D.documentation,hasAutoFix:D.hasAutoFix,hasAIFix:D.hasAIFix,allAIFixes:D.allAIFixes,dispose:()=>{D.dispose()}}}}if(f.trigger.type===1){const D=new s.StopWatch,T=await(0,t.getCodeActions)(this._registry,u,f.selection,f.trigger,n.Progress.None,L);return this._telemetryService&&this._telemetryService.publicLog2("codeAction.invokedDurations",{codeActions:T.validActions.length,duration:D.elapsed()}),T}return(0,t.getCodeActions)(this._registry,u,f.selection,f.trigger,n.Progress.None,L)});f.trigger.type===1&&this._progressService?.showWhile(v,250);const w=new c.Triggered(f.trigger,h,v);let S=!1;this._state.type===1&&(S=this._state.trigger.type===1&&w.type===1&&w.trigger.type===2&&this._state.position!==w.position),S?setTimeout(()=>{this.setState(w)},500):this.setState(w)},void 0),this._codeActionOracle.value.trigger({type:2,triggerAction:o.CodeActionTriggerSource.Default})}else this._supportedCodeActions.reset()}trigger(u){this._codeActionOracle.value?.trigger(u)}setState(u,C){u!==this._state&&(this._state.type===1&&this._state.cancel(),this._state=u,!C&&!this._disposed&&this._onDidChangeState.fire(u))}}e.CodeActionModel=a}),define(ne[734],se([1,0,15,165,3]),function(oe,e,d,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0});class E extends d.EditorAction{constructor(){super({id:"editor.action.fontZoomIn",label:I.localize(919,"Increase Editor Font Size"),alias:"Increase Editor Font Size",precondition:void 0})}run(b,p){k.EditorZoom.setZoomLevel(k.EditorZoom.getZoomLevel()+1)}}class y extends d.EditorAction{constructor(){super({id:"editor.action.fontZoomOut",label:I.localize(920,"Decrease Editor Font Size"),alias:"Decrease Editor Font Size",precondition:void 0})}run(b,p){k.EditorZoom.setZoomLevel(k.EditorZoom.getZoomLevel()-1)}}class m extends d.EditorAction{constructor(){super({id:"editor.action.fontZoomReset",label:I.localize(921,"Reset Editor Font Size"),alias:"Reset Editor Font Size",precondition:void 0})}run(b,p){k.EditorZoom.setZoomLevel(0)}}(0,d.registerEditorAction)(E),(0,d.registerEditorAction)(y),(0,d.registerEditorAction)(m)}),define(ne[409],se([1,0,13,18,8,53,73,19,22,122,168,9,4,23,100,78,337,24,674,7,17,62,137]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r,u,C){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.FormattingConflicts=void 0,e.getRealAndSyntheticDocumentFormattersOrdered=f,e.formatDocumentRangesWithSelectedProvider=v,e.formatDocumentRangesWithProvider=w,e.formatDocumentWithSelectedProvider=S,e.formatDocumentWithProvider=L,e.getDocumentRangeFormattingEditsUntilResult=D,e.getDocumentFormattingEditsUntilResult=T,e.getOnTypeFormattingEdits=M;function f(A,P,N){const O=[],F=new l.ExtensionIdentifierSet,x=A.ordered(N);for(const V of x)O.push(V),V.extensionId&&F.add(V.extensionId);const W=P.ordered(N);for(const V of W){if(V.extensionId){if(F.has(V.extensionId))continue;F.add(V.extensionId)}O.push({displayName:V.displayName,extensionId:V.extensionId,provideDocumentFormattingEdits(q,H,z){return V.provideDocumentRangeFormattingEdits(q,q.getFullModelRange(),H,z)}})}return O}class h{static{this._selectors=new y.LinkedList}static setFormatterSelector(P){return{dispose:h._selectors.unshift(P)}}static async select(P,N,O,F){if(P.length===0)return;const x=E.Iterable.first(h._selectors);if(x)return await x(P,N,O,F)}}e.FormattingConflicts=h;async function v(A,P,N,O,F,x,W){const V=A.get(a.IInstantiationService),{documentRangeFormattingEditProvider:q}=A.get(r.ILanguageFeaturesService),H=(0,p.isCodeEditor)(P)?P.getModel():P,z=q.ordered(H),U=await h.select(z,H,O,2);U&&(F.report(U),await V.invokeFunction(w,U,P,N,x,W))}async function w(A,P,N,O,F,x){const W=A.get(i.IEditorWorkerService),V=A.get(u.ILogService),q=A.get(C.IAccessibilitySignalService);let H,z;(0,p.isCodeEditor)(N)?(H=N.getModel(),z=new b.EditorStateCancellationTokenSource(N,5,void 0,F)):(H=N,z=new b.TextModelCancellationTokenSource(N,F));const U=[];let j=0;for(const J of(0,d.asArray)(O).sort(o.Range.compareRangesUsingStarts))j>0&&o.Range.areIntersectingOrTouching(U[j-1],J)?U[j-1]=o.Range.fromPositions(U[j-1].getStartPosition(),J.getEndPosition()):j=U.push(J);const Q=async J=>{V.trace("[format][provideDocumentRangeFormattingEdits] (request)",P.extensionId?.value,J);const ie=await P.provideDocumentRangeFormattingEdits(H,J,H.getFormattingOptions(),z.token)||[];return V.trace("[format][provideDocumentRangeFormattingEdits] (response)",P.extensionId?.value,ie),ie},G=(J,ie)=>{if(!J.length||!ie.length)return!1;const ue=J.reduce((he,pe)=>o.Range.plusRange(he,pe.range),J[0].range);if(!ie.some(he=>o.Range.intersectRanges(ue,he.range)))return!1;for(const he of J)for(const pe of ie)if(o.Range.intersectRanges(he.range,pe.range))return!0;return!1},K=[],R=[];try{if(typeof P.provideDocumentRangesFormattingEdits=="function"){V.trace("[format][provideDocumentRangeFormattingEdits] (request)",P.extensionId?.value,U);const J=await P.provideDocumentRangesFormattingEdits(H,U,H.getFormattingOptions(),z.token)||[];V.trace("[format][provideDocumentRangeFormattingEdits] (response)",P.extensionId?.value,J),R.push(J)}else{for(const J of U){if(z.token.isCancellationRequested)return!0;R.push(await Q(J))}for(let J=0;J({text:ue.text,range:o.Range.lift(ue.range),forceMoveMarkers:!0})),ue=>{for(const{range:he}of ue)if(o.Range.areIntersectingOrTouching(he,ie))return[new t.Selection(he.startLineNumber,he.startColumn,he.endLineNumber,he.endColumn)];return null})}return q.playSignal(C.AccessibilitySignal.format,{userGesture:x}),!0}async function S(A,P,N,O,F,x){const W=A.get(a.IInstantiationService),V=A.get(r.ILanguageFeaturesService),q=(0,p.isCodeEditor)(P)?P.getModel():P,H=f(V.documentFormattingEditProvider,V.documentRangeFormattingEditProvider,q),z=await h.select(H,q,N,1);z&&(O.report(z),await W.invokeFunction(L,z,P,N,F,x))}async function L(A,P,N,O,F,x){const W=A.get(i.IEditorWorkerService),V=A.get(C.IAccessibilitySignalService);let q,H;(0,p.isCodeEditor)(N)?(q=N.getModel(),H=new b.EditorStateCancellationTokenSource(N,5,void 0,F)):(q=N,H=new b.TextModelCancellationTokenSource(N,F));let z;try{const U=await P.provideDocumentFormattingEdits(q,q.getFormattingOptions(),H.token);if(z=await W.computeMoreMinimalEdits(q.uri,U),H.token.isCancellationRequested)return!0}finally{H.dispose()}if(!z||z.length===0)return!1;if((0,p.isCodeEditor)(N))g.FormattingEdit.execute(N,z,O!==2),O!==2&&N.revealPositionInCenterIfOutsideViewport(N.getPosition(),1);else{const[{range:U}]=z,j=new t.Selection(U.startLineNumber,U.startColumn,U.endLineNumber,U.endColumn);q.pushEditOperations([j],z.map(Q=>({text:Q.text,range:o.Range.lift(Q.range),forceMoveMarkers:!0})),Q=>{for(const{range:G}of Q)if(o.Range.areIntersectingOrTouching(G,j))return[new t.Selection(G.startLineNumber,G.startColumn,G.endLineNumber,G.endColumn)];return null})}return V.playSignal(C.AccessibilitySignal.format,{userGesture:x}),!0}async function D(A,P,N,O,F,x){const W=P.documentRangeFormattingEditProvider.ordered(N);for(const V of W){const q=await Promise.resolve(V.provideDocumentRangeFormattingEdits(N,O,F,x)).catch(I.onUnexpectedExternalError);if((0,d.isNonEmptyArray)(q))return await A.computeMoreMinimalEdits(N.uri,q)}}async function T(A,P,N,O,F){const x=f(P.documentFormattingEditProvider,P.documentRangeFormattingEditProvider,N);for(const W of x){const V=await Promise.resolve(W.provideDocumentFormattingEdits(N,O,F)).catch(I.onUnexpectedExternalError);if((0,d.isNonEmptyArray)(V))return await A.computeMoreMinimalEdits(N.uri,V)}}function M(A,P,N,O,F,x,W){const V=P.onTypeFormattingEditProvider.ordered(N);return V.length===0||V[0].autoFormatTriggerCharacters.indexOf(F)<0?Promise.resolve(void 0):Promise.resolve(V[0].provideOnTypeFormattingEdits(N,O,F,x,W)).catch(I.onUnexpectedExternalError).then(q=>A.computeMoreMinimalEdits(N.uri,q))}c.CommandsRegistry.registerCommand("_executeFormatRangeProvider",async function(A,...P){const[N,O,F]=P;(0,m.assertType)(_.URI.isUri(N)),(0,m.assertType)(o.Range.isIRange(O));const x=A.get(s.ITextModelService),W=A.get(i.IEditorWorkerService),V=A.get(r.ILanguageFeaturesService),q=await x.createModelReference(N);try{return D(W,V,q.object.textEditorModel,o.Range.lift(O),F,k.CancellationToken.None)}finally{q.dispose()}}),c.CommandsRegistry.registerCommand("_executeFormatDocumentProvider",async function(A,...P){const[N,O]=P;(0,m.assertType)(_.URI.isUri(N));const F=A.get(s.ITextModelService),x=A.get(i.IEditorWorkerService),W=A.get(r.ILanguageFeaturesService),V=await F.createModelReference(N);try{return T(x,W,V.object.textEditorModel,O,k.CancellationToken.None)}finally{V.dispose()}}),c.CommandsRegistry.registerCommand("_executeFormatOnTypeProvider",async function(A,...P){const[N,O,F,x]=P;(0,m.assertType)(_.URI.isUri(N)),(0,m.assertType)(n.Position.isIPosition(O)),(0,m.assertType)(typeof F=="string");const W=A.get(s.ITextModelService),V=A.get(i.IEditorWorkerService),q=A.get(r.ILanguageFeaturesService),H=await W.createModelReference(N);try{return M(V,q,H.object.textEditorModel,n.Position.lift(O),F,x,k.CancellationToken.None)}finally{H.dispose()}})}),define(ne[735],se([1,0,13,18,8,72,2,15,34,144,4,20,100,17,409,337,3,137,24,12,7,96]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r,u){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.FormatOnType=void 0;let C=class{static{this.ID="editor.contrib.autoFormat"}constructor(S,L,D,T){this._editor=S,this._languageFeaturesService=L,this._workerService=D,this._accessibilitySignalService=T,this._disposables=new y.DisposableStore,this._sessionDisposables=new y.DisposableStore,this._disposables.add(L.onTypeFormattingEditProvider.onDidChange(this._update,this)),this._disposables.add(S.onDidChangeModel(()=>this._update())),this._disposables.add(S.onDidChangeModelLanguage(()=>this._update())),this._disposables.add(S.onDidChangeConfiguration(M=>{M.hasChanged(56)&&this._update()})),this._update()}dispose(){this._disposables.dispose(),this._sessionDisposables.dispose()}_update(){if(this._sessionDisposables.clear(),!this._editor.getOption(56)||!this._editor.hasModel())return;const S=this._editor.getModel(),[L]=this._languageFeaturesService.onTypeFormattingEditProvider.ordered(S);if(!L||!L.autoFormatTriggerCharacters)return;const D=new b.CharacterSet;for(const T of L.autoFormatTriggerCharacters)D.add(T.charCodeAt(0));this._sessionDisposables.add(this._editor.onDidType(T=>{const M=T.charCodeAt(T.length-1);D.has(M)&&this._trigger(String.fromCharCode(M))}))}_trigger(S){if(!this._editor.hasModel()||this._editor.getSelections().length>1||!this._editor.getSelection().isEmpty())return;const L=this._editor.getModel(),D=this._editor.getPosition(),T=new k.CancellationTokenSource,M=this._editor.onDidChangeModelContent(A=>{if(A.isFlush){T.cancel(),M.dispose();return}for(let P=0,N=A.changes.length;P{T.token.isCancellationRequested||(0,d.isNonEmptyArray)(A)&&(this._accessibilitySignalService.playSignal(c.AccessibilitySignal.format,{userGesture:!1}),s.FormattingEdit.execute(this._editor,A,!0))}).finally(()=>{M.dispose()})}};e.FormatOnType=C,e.FormatOnType=C=ke([ce(1,t.ILanguageFeaturesService),ce(2,o.IEditorWorkerService),ce(3,c.IAccessibilitySignalService)],C);let f=class{static{this.ID="editor.contrib.formatOnPaste"}constructor(S,L,D){this.editor=S,this._languageFeaturesService=L,this._instantiationService=D,this._callOnDispose=new y.DisposableStore,this._callOnModel=new y.DisposableStore,this._callOnDispose.add(S.onDidChangeConfiguration(()=>this._update())),this._callOnDispose.add(S.onDidChangeModel(()=>this._update())),this._callOnDispose.add(S.onDidChangeModelLanguage(()=>this._update())),this._callOnDispose.add(L.documentRangeFormattingEditProvider.onDidChange(this._update,this))}dispose(){this._callOnDispose.dispose(),this._callOnModel.dispose()}_update(){this._callOnModel.clear(),this.editor.getOption(55)&&this.editor.hasModel()&&this._languageFeaturesService.documentRangeFormattingEditProvider.has(this.editor.getModel())&&this._callOnModel.add(this.editor.onDidPaste(({range:S})=>this._trigger(S)))}_trigger(S){this.editor.hasModel()&&(this.editor.getSelections().length>1||this._instantiationService.invokeFunction(i.formatDocumentRangesWithSelectedProvider,this.editor,S,2,u.Progress.None,k.CancellationToken.None,!1).catch(I.onUnexpectedError))}};f=ke([ce(1,t.ILanguageFeaturesService),ce(2,r.IInstantiationService)],f);class h extends m.EditorAction{constructor(){super({id:"editor.action.formatDocument",label:g.localize(922,"Format Document"),alias:"Format Document",precondition:a.ContextKeyExpr.and(n.EditorContextKeys.notInCompositeEditor,n.EditorContextKeys.writable,n.EditorContextKeys.hasDocumentFormattingProvider),kbOpts:{kbExpr:n.EditorContextKeys.editorTextFocus,primary:1572,linux:{primary:3111},weight:100},contextMenuOpts:{group:"1_modification",order:1.3}})}async run(S,L){if(L.hasModel()){const D=S.get(r.IInstantiationService);await S.get(u.IEditorProgressService).showWhile(D.invokeFunction(i.formatDocumentWithSelectedProvider,L,1,u.Progress.None,k.CancellationToken.None,!0),250)}}}class v extends m.EditorAction{constructor(){super({id:"editor.action.formatSelection",label:g.localize(923,"Format Selection"),alias:"Format Selection",precondition:a.ContextKeyExpr.and(n.EditorContextKeys.writable,n.EditorContextKeys.hasDocumentSelectionFormattingProvider),kbOpts:{kbExpr:n.EditorContextKeys.editorTextFocus,primary:(0,E.KeyChord)(2089,2084),weight:100},contextMenuOpts:{when:n.EditorContextKeys.hasNonEmptySelection,group:"1_modification",order:1.31}})}async run(S,L){if(!L.hasModel())return;const D=S.get(r.IInstantiationService),T=L.getModel(),M=L.getSelections().map(P=>P.isEmpty()?new p.Range(P.startLineNumber,1,P.startLineNumber,T.getLineMaxColumn(P.startLineNumber)):P);await S.get(u.IEditorProgressService).showWhile(D.invokeFunction(i.formatDocumentRangesWithSelectedProvider,L,M,1,u.Progress.None,k.CancellationToken.None,!0),250)}}(0,m.registerEditorContribution)(C.ID,C,2),(0,m.registerEditorContribution)(f.ID,f,2),(0,m.registerEditorAction)(h),(0,m.registerEditorAction)(v),l.CommandsRegistry.registerCommand("editor.action.format",async w=>{const S=w.get(_.ICodeEditorService).getFocusedCodeEditor();if(!S||!S.hasModel())return;const L=w.get(l.ICommandService);S.getSelection().isEmpty()?await L.executeCommand("editor.action.formatDocument"):await L.executeCommand("editor.action.formatSelection")})}),define(ne[277],se([1,0,13,18,8,42,15,17,178]),function(oe,e,d,k,I,E,y,m,_){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getDefinitionsAtPosition=n,e.getDeclarationsAtPosition=o,e.getImplementationsAtPosition=t,e.getTypeDefinitionsAtPosition=i,e.getReferencesAtPosition=s;function b(c,l){return l.uri.scheme===c.uri.scheme?!0:!(0,E.matchesSomeScheme)(l.uri,E.Schemas.walkThroughSnippet,E.Schemas.vscodeChatCodeBlock,E.Schemas.vscodeChatCodeCompareBlock)}async function p(c,l,a,r,u){const f=a.ordered(c,r).map(v=>Promise.resolve(u(v,c,l)).then(void 0,w=>{(0,I.onUnexpectedExternalError)(w)})),h=await Promise.all(f);return(0,d.coalesce)(h.flat()).filter(v=>b(c,v))}function n(c,l,a,r,u){return p(l,a,c,r,(C,f,h)=>C.provideDefinition(f,h,u))}function o(c,l,a,r,u){return p(l,a,c,r,(C,f,h)=>C.provideDeclaration(f,h,u))}function t(c,l,a,r,u){return p(l,a,c,r,(C,f,h)=>C.provideImplementation(f,h,u))}function i(c,l,a,r,u){return p(l,a,c,r,(C,f,h)=>C.provideTypeDefinition(f,h,u))}function s(c,l,a,r,u,C){return p(l,a,c,u,async(f,h,v)=>{const w=(await f.provideReferences(h,v,{includeDeclaration:!0},C))?.filter(L=>b(h,L));if(!r||!w||w.length!==2)return w;const S=(await f.provideReferences(h,v,{includeDeclaration:!1},C))?.filter(L=>b(h,L));return S&&S.length===1?S:w})}async function g(c){const l=await c(),a=new _.ReferencesModel(l,""),r=a.references.map(u=>u.link);return a.dispose(),r}(0,y.registerModelAndPositionCommand)("_executeDefinitionProvider",(c,l,a)=>{const r=c.get(m.ILanguageFeaturesService),u=n(r.definitionProvider,l,a,!1,k.CancellationToken.None);return g(()=>u)}),(0,y.registerModelAndPositionCommand)("_executeDefinitionProvider_recursive",(c,l,a)=>{const r=c.get(m.ILanguageFeaturesService),u=n(r.definitionProvider,l,a,!0,k.CancellationToken.None);return g(()=>u)}),(0,y.registerModelAndPositionCommand)("_executeTypeDefinitionProvider",(c,l,a)=>{const r=c.get(m.ILanguageFeaturesService),u=i(r.typeDefinitionProvider,l,a,!1,k.CancellationToken.None);return g(()=>u)}),(0,y.registerModelAndPositionCommand)("_executeTypeDefinitionProvider_recursive",(c,l,a)=>{const r=c.get(m.ILanguageFeaturesService),u=i(r.typeDefinitionProvider,l,a,!0,k.CancellationToken.None);return g(()=>u)}),(0,y.registerModelAndPositionCommand)("_executeDeclarationProvider",(c,l,a)=>{const r=c.get(m.ILanguageFeaturesService),u=o(r.declarationProvider,l,a,!1,k.CancellationToken.None);return g(()=>u)}),(0,y.registerModelAndPositionCommand)("_executeDeclarationProvider_recursive",(c,l,a)=>{const r=c.get(m.ILanguageFeaturesService),u=o(r.declarationProvider,l,a,!0,k.CancellationToken.None);return g(()=>u)}),(0,y.registerModelAndPositionCommand)("_executeReferenceProvider",(c,l,a)=>{const r=c.get(m.ILanguageFeaturesService),u=s(r.referenceProvider,l,a,!1,!1,k.CancellationToken.None);return g(()=>u)}),(0,y.registerModelAndPositionCommand)("_executeReferenceProvider_recursive",(c,l,a)=>{const r=c.get(m.ILanguageFeaturesService),u=s(r.referenceProvider,l,a,!1,!0,k.CancellationToken.None);return g(()=>u)}),(0,y.registerModelAndPositionCommand)("_executeImplementationProvider",(c,l,a)=>{const r=c.get(m.ILanguageFeaturesService),u=t(r.implementationProvider,l,a,!1,k.CancellationToken.None);return g(()=>u)}),(0,y.registerModelAndPositionCommand)("_executeImplementationProvider_recursive",(c,l,a)=>{const r=c.get(m.ILanguageFeaturesService),u=t(r.implementationProvider,l,a,!0,k.CancellationToken.None);return g(()=>u)})}),define(ne[736],se([1,0,6,2,48,15,34,4,3,12,49,7,31,121,50]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ISymbolNavigationService=e.ctxHasSymbols=void 0,e.ctxHasSymbols=new b.RawContextKey("hasSymbols",!1,(0,_.localize)(1003,"Whether there are symbol locations that can be navigated via keyboard-only.")),e.ISymbolNavigationService=(0,n.createDecorator)("ISymbolNavigationService");let s=class{constructor(l,a,r,u){this._editorService=a,this._notificationService=r,this._keybindingService=u,this._currentModel=void 0,this._currentIdx=-1,this._ignoreEditorChange=!1,this._ctxHasSymbols=e.ctxHasSymbols.bindTo(l)}reset(){this._ctxHasSymbols.reset(),this._currentState?.dispose(),this._currentMessage?.dispose(),this._currentModel=void 0,this._currentIdx=-1}put(l){const a=l.parent.parent;if(a.references.length<=1){this.reset();return}this._currentModel=a,this._currentIdx=a.references.indexOf(l),this._ctxHasSymbols.set(!0),this._showMessage();const r=new g(this._editorService),u=r.onDidChange(C=>{if(this._ignoreEditorChange)return;const f=this._editorService.getActiveCodeEditor();if(!f)return;const h=f.getModel(),v=f.getPosition();if(!h||!v)return;let w=!1,S=!1;for(const L of a.references)if((0,I.isEqual)(L.uri,h.uri))w=!0,S=S||m.Range.containsPosition(L.range,v);else if(w)break;(!w||!S)&&this.reset()});this._currentState=(0,k.combinedDisposable)(r,u)}revealNext(l){if(!this._currentModel)return Promise.resolve();this._currentIdx+=1,this._currentIdx%=this._currentModel.references.length;const a=this._currentModel.references[this._currentIdx];return this._showMessage(),this._ignoreEditorChange=!0,this._editorService.openCodeEditor({resource:a.uri,options:{selection:m.Range.collapseToStart(a.range),selectionRevealType:3}},l).finally(()=>{this._ignoreEditorChange=!1})}_showMessage(){this._currentMessage?.dispose();const l=this._keybindingService.lookupKeybinding("editor.gotoNextSymbolFromResult"),a=l?(0,_.localize)(1004,"Symbol {0} of {1}, {2} for next",this._currentIdx+1,this._currentModel.references.length,l.getLabel()):(0,_.localize)(1005,"Symbol {0} of {1}",this._currentIdx+1,this._currentModel.references.length);this._currentMessage=this._notificationService.status(a)}};s=ke([ce(0,b.IContextKeyService),ce(1,y.ICodeEditorService),ce(2,i.INotificationService),ce(3,o.IKeybindingService)],s),(0,p.registerSingleton)(e.ISymbolNavigationService,s,1),(0,E.registerEditorCommand)(new class extends E.EditorCommand{constructor(){super({id:"editor.gotoNextSymbolFromResult",precondition:e.ctxHasSymbols,kbOpts:{weight:100,primary:70}})}runEditorCommand(c,l){return c.get(e.ISymbolNavigationService).revealNext(l)}}),t.KeybindingsRegistry.registerCommandAndKeybindingRule({id:"editor.gotoNextSymbolFromResult.cancel",weight:100,when:e.ctxHasSymbols,primary:9,handler(c){c.get(e.ISymbolNavigationService).reset()}});let g=class{constructor(l){this._listener=new Map,this._disposables=new k.DisposableStore,this._onDidChange=new d.Emitter,this.onDidChange=this._onDidChange.event,this._disposables.add(l.onCodeEditorRemove(this._onDidRemoveEditor,this)),this._disposables.add(l.onCodeEditorAdd(this._onDidAddEditor,this)),l.listCodeEditors().forEach(this._onDidAddEditor,this)}dispose(){this._disposables.dispose(),this._onDidChange.dispose(),(0,k.dispose)(this._listener.values())}_onDidAddEditor(l){this._listener.set(l,(0,k.combinedDisposable)(l.onDidChangeCursorPosition(a=>this._onDidChange.fire({editor:l})),l.onDidChangeModelContent(a=>this._onDidChange.fire({editor:l}))))}_onDidRemoveEditor(l){this._listener.get(l)?.dispose(),this._listener.delete(l)}};g=ke([ce(0,y.ICodeEditorService)],g)}),define(ne[410],se([1,0,14,18,8,15,17]),function(oe,e,d,k,I,E,y){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.HoverProviderResult=void 0,e.getHoverProviderResultsAsAsyncIterable=b,e.getHoversPromise=p;class m{constructor(t,i,s){this.provider=t,this.hover=i,this.ordinal=s}}e.HoverProviderResult=m;async function _(o,t,i,s,g){const c=await Promise.resolve(o.provideHover(i,s,g)).catch(I.onUnexpectedExternalError);if(!(!c||!n(c)))return new m(o,c,t)}function b(o,t,i,s,g=!1){const l=o.ordered(t,g).map((a,r)=>_(a,r,t,i,s));return d.AsyncIterableObject.fromPromises(l).coalesce()}function p(o,t,i,s,g=!1){return b(o,t,i,s,g).map(c=>c.hover).toPromise()}(0,E.registerModelAndPositionCommand)("_executeHoverProvider",(o,t,i)=>{const s=o.get(y.ILanguageFeaturesService);return p(s.hoverProvider,t,i,k.CancellationToken.None)}),(0,E.registerModelAndPositionCommand)("_executeHoverProvider_recursive",(o,t,i)=>{const s=o.get(y.ILanguageFeaturesService);return p(s.hoverProvider,t,i,k.CancellationToken.None,!0)});function n(o){const t=typeof o.range<"u",i=typeof o.contents<"u"&&o.contents&&o.contents.length>0;return t&&i}}),define(ne[737],se([1,0,2,11,15,183,4,20,36,51,338,3,66,241,714,83]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.IndentationToTabsCommand=e.IndentationToSpacesCommand=e.AutoIndentOnPaste=e.AutoIndentOnPasteCommand=e.ReindentSelectedLinesAction=e.ReindentLinesAction=e.DetectIndentation=e.ChangeTabDisplaySize=e.IndentUsingSpaces=e.IndentUsingTabs=e.ChangeIndentationSizeAction=e.IndentationToTabsAction=e.IndentationToSpacesAction=void 0;class g extends I.EditorAction{static{this.ID="editor.action.indentationToSpaces"}constructor(){super({id:g.ID,label:n.localize(1045,"Convert Indentation to Spaces"),alias:"Convert Indentation to Spaces",precondition:m.EditorContextKeys.writable,metadata:{description:n.localize2(1057,"Convert the tab indentation to spaces.")}})}run(A,P){const N=P.getModel();if(!N)return;const O=N.getOptions(),F=P.getSelection();if(!F)return;const x=new D(F,O.tabSize);P.pushUndoStop(),P.executeCommands(this.id,[x]),P.pushUndoStop(),N.updateOptions({insertSpaces:!0})}}e.IndentationToSpacesAction=g;class c extends I.EditorAction{static{this.ID="editor.action.indentationToTabs"}constructor(){super({id:c.ID,label:n.localize(1046,"Convert Indentation to Tabs"),alias:"Convert Indentation to Tabs",precondition:m.EditorContextKeys.writable,metadata:{description:n.localize2(1058,"Convert the spaces indentation to tabs.")}})}run(A,P){const N=P.getModel();if(!N)return;const O=N.getOptions(),F=P.getSelection();if(!F)return;const x=new T(F,O.tabSize);P.pushUndoStop(),P.executeCommands(this.id,[x]),P.pushUndoStop(),N.updateOptions({insertSpaces:!1})}}e.IndentationToTabsAction=c;class l extends I.EditorAction{constructor(A,P,N){super(N),this.insertSpaces=A,this.displaySizeOnly=P}run(A,P){const N=A.get(o.IQuickInputService),O=A.get(b.IModelService),F=P.getModel();if(!F)return;const x=O.getCreationOptions(F.getLanguageId(),F.uri,F.isForSimpleWidget),W=F.getOptions(),V=[1,2,3,4,5,6,7,8].map(H=>({id:H.toString(),label:H.toString(),description:H===x.tabSize&&H===W.tabSize?n.localize(1047,"Configured Tab Size"):H===x.tabSize?n.localize(1048,"Default Tab Size"):H===W.tabSize?n.localize(1049,"Current Tab Size"):void 0})),q=Math.min(F.getOptions().tabSize-1,7);setTimeout(()=>{N.pick(V,{placeHolder:n.localize(1050,"Select Tab Size for Current File"),activeItem:V[q]}).then(H=>{if(H&&F&&!F.isDisposed()){const z=parseInt(H.label,10);this.displaySizeOnly?F.updateOptions({tabSize:z}):F.updateOptions({tabSize:z,indentSize:z,insertSpaces:this.insertSpaces})}})},50)}}e.ChangeIndentationSizeAction=l;class a extends l{static{this.ID="editor.action.indentUsingTabs"}constructor(){super(!1,!1,{id:a.ID,label:n.localize(1051,"Indent Using Tabs"),alias:"Indent Using Tabs",precondition:void 0,metadata:{description:n.localize2(1059,"Use indentation with tabs.")}})}}e.IndentUsingTabs=a;class r extends l{static{this.ID="editor.action.indentUsingSpaces"}constructor(){super(!0,!1,{id:r.ID,label:n.localize(1052,"Indent Using Spaces"),alias:"Indent Using Spaces",precondition:void 0,metadata:{description:n.localize2(1060,"Use indentation with spaces.")}})}}e.IndentUsingSpaces=r;class u extends l{static{this.ID="editor.action.changeTabDisplaySize"}constructor(){super(!0,!0,{id:u.ID,label:n.localize(1053,"Change Tab Display Size"),alias:"Change Tab Display Size",precondition:void 0,metadata:{description:n.localize2(1061,"Change the space size equivalent of the tab.")}})}}e.ChangeTabDisplaySize=u;class C extends I.EditorAction{static{this.ID="editor.action.detectIndentation"}constructor(){super({id:C.ID,label:n.localize(1054,"Detect Indentation from Content"),alias:"Detect Indentation from Content",precondition:void 0,metadata:{description:n.localize2(1062,"Detect the indentation from content.")}})}run(A,P){const N=A.get(b.IModelService),O=P.getModel();if(!O)return;const F=N.getCreationOptions(O.getLanguageId(),O.uri,O.isForSimpleWidget);O.detectIndentation(F.insertSpaces,F.tabSize)}}e.DetectIndentation=C;class f extends I.EditorAction{constructor(){super({id:"editor.action.reindentlines",label:n.localize(1055,"Reindent Lines"),alias:"Reindent Lines",precondition:m.EditorContextKeys.writable,metadata:{description:n.localize2(1063,"Reindent the lines of the editor.")}})}run(A,P){const N=A.get(_.ILanguageConfigurationService),O=P.getModel();if(!O)return;const F=(0,i.getReindentEditOperations)(O,N,1,O.getLineCount());F.length>0&&(P.pushUndoStop(),P.executeEdits(this.id,F),P.pushUndoStop())}}e.ReindentLinesAction=f;class h extends I.EditorAction{constructor(){super({id:"editor.action.reindentselectedlines",label:n.localize(1056,"Reindent Selected Lines"),alias:"Reindent Selected Lines",precondition:m.EditorContextKeys.writable,metadata:{description:n.localize2(1064,"Reindent the selected lines of the editor.")}})}run(A,P){const N=A.get(_.ILanguageConfigurationService),O=P.getModel();if(!O)return;const F=P.getSelections();if(F===null)return;const x=[];for(const W of F){let V=W.startLineNumber,q=W.endLineNumber;if(V!==q&&W.endColumn===1&&q--,V===1){if(V===q)continue}else V--;const H=(0,i.getReindentEditOperations)(O,N,V,q);x.push(...H)}x.length>0&&(P.pushUndoStop(),P.executeEdits(this.id,x),P.pushUndoStop())}}e.ReindentSelectedLinesAction=h;class v{constructor(A,P){this._initialSelection=P,this._edits=[],this._selectionId=null;for(const N of A)N.range&&typeof N.text=="string"&&this._edits.push(N)}getEditOperations(A,P){for(const O of this._edits)P.addEditOperation(y.Range.lift(O.range),O.text);let N=!1;Array.isArray(this._edits)&&this._edits.length===1&&this._initialSelection.isEmpty()&&(this._edits[0].range.startColumn===this._initialSelection.endColumn&&this._edits[0].range.startLineNumber===this._initialSelection.endLineNumber?(N=!0,this._selectionId=P.trackSelection(this._initialSelection,!0)):this._edits[0].range.endColumn===this._initialSelection.startColumn&&this._edits[0].range.endLineNumber===this._initialSelection.startLineNumber&&(N=!0,this._selectionId=P.trackSelection(this._initialSelection,!1))),N||(this._selectionId=P.trackSelection(this._initialSelection))}computeCursorState(A,P){return P.getTrackedSelection(this._selectionId)}}e.AutoIndentOnPasteCommand=v;let w=class{static{this.ID="editor.contrib.autoIndentOnPaste"}constructor(A,P){this.editor=A,this._languageConfigurationService=P,this.callOnDispose=new d.DisposableStore,this.callOnModel=new d.DisposableStore,this.callOnDispose.add(A.onDidChangeConfiguration(()=>this.update())),this.callOnDispose.add(A.onDidChangeModel(()=>this.update())),this.callOnDispose.add(A.onDidChangeModelLanguage(()=>this.update()))}update(){this.callOnModel.clear(),!(this.editor.getOption(12)<4||this.editor.getOption(55))&&this.editor.hasModel()&&this.callOnModel.add(this.editor.onDidPaste(({range:A})=>{this.trigger(A)}))}trigger(A){const P=this.editor.getSelections();if(P===null||P.length>1)return;const N=this.editor.getModel();if(!N||this.rangeContainsOnlyWhitespaceCharacters(N,A)||S(N,A)||!N.tokenization.isCheapToTokenize(A.getStartPosition().lineNumber))return;const F=this.editor.getOption(12),{tabSize:x,indentSize:W,insertSpaces:V}=N.getOptions(),q=[],H={shiftIndent:Q=>E.ShiftCommand.shiftIndent(Q,Q.length+1,x,W,V),unshiftIndent:Q=>E.ShiftCommand.unshiftIndent(Q,Q.length+1,x,W,V)};let z=A.startLineNumber;for(;z<=A.endLineNumber;){if(this.shouldIgnoreLine(N,z)){z++;continue}break}if(z>A.endLineNumber)return;let U=N.getLineContent(z);if(!/\S/.test(U.substring(0,A.startColumn-1))){const Q=(0,t.getGoodIndentForLine)(F,N,N.getLanguageId(),z,H,this._languageConfigurationService);if(Q!==null){const G=k.getLeadingWhitespace(U),K=p.getSpaceCnt(Q,x),R=p.getSpaceCnt(G,x);if(K!==R){const J=p.generateIndent(K,x,V);q.push({range:new y.Range(z,1,z,G.length+1),text:J}),U=J+U.substring(G.length)}else{const J=(0,t.getIndentMetadata)(N,z,this._languageConfigurationService);if(J===0||J===8)return}}}const j=z;for(;zN.tokenization.getLineTokens(K),getLanguageId:()=>N.getLanguageId(),getLanguageIdAtPosition:(K,R)=>N.getLanguageIdAtPosition(K,R)},getLineContent:K=>K===j?U:N.getLineContent(K)},G=(0,t.getGoodIndentForLine)(F,Q,N.getLanguageId(),z+1,H,this._languageConfigurationService);if(G!==null){const K=p.getSpaceCnt(G,x),R=p.getSpaceCnt(k.getLeadingWhitespace(N.getLineContent(z+1)),x);if(K!==R){const J=K-R;for(let ie=z+1;ie<=A.endLineNumber;ie++){const ue=N.getLineContent(ie),he=k.getLeadingWhitespace(ue),ae=p.getSpaceCnt(he,x)+J,ee=p.generateIndent(ae,x,V);ee!==he&&q.push({range:new y.Range(ie,1,ie,he.length+1),text:ee})}}}}if(q.length>0){this.editor.pushUndoStop();const Q=new v(q,this.editor.getSelection());this.editor.executeCommand("autoIndentOnPaste",Q),this.editor.pushUndoStop()}}rangeContainsOnlyWhitespaceCharacters(A,P){const N=F=>F.trim().length===0;let O=!0;if(P.startLineNumber===P.endLineNumber){const x=A.getLineContent(P.startLineNumber).substring(P.startColumn-1,P.endColumn-1);O=N(x)}else for(let F=P.startLineNumber;F<=P.endLineNumber;F++){const x=A.getLineContent(F);if(F===P.startLineNumber){const W=x.substring(P.startColumn-1);O=N(W)}else if(F===P.endLineNumber){const W=x.substring(0,P.endColumn-1);O=N(W)}else O=A.getLineFirstNonWhitespaceColumn(F)===0;if(!O)break}return O}shouldIgnoreLine(A,P){A.tokenization.forceTokenization(P);const N=A.getLineFirstNonWhitespaceColumn(P);if(N===0)return!0;const O=A.tokenization.getLineTokens(P);if(O.getCount()>0){const F=O.findTokenIndexAtOffset(N);if(F>=0&&O.getStandardTokenType(F)===1)return!0}return!1}dispose(){this.callOnDispose.dispose(),this.callOnModel.dispose()}};e.AutoIndentOnPaste=w,e.AutoIndentOnPaste=w=ke([ce(1,_.ILanguageConfigurationService)],w);function S(M,A){const P=N=>(0,s.getStandardTokenTypeAtPosition)(M,N)===2;return P(A.getStartPosition())||P(A.getEndPosition())}function L(M,A,P,N){if(M.getLineCount()===1&&M.getLineMaxColumn(1)===1)return;let O="";for(let x=0;x({selection:X,index:B,ignore:!1}));ee.sort((X,B)=>n.Range.compareRangesUsingStarts(X.selection,B.selection));let de=ee[0];for(let X=1;Xnew p.Position(Z.positionLineNumber,Z.positionColumn)));const ge=ae.getSelection();if(ge===null)return;const X=pe.get(r.IConfigurationService),B=ae.getModel(),$=X.getValue("files.trimTrailingWhitespaceInRegexAndStrings",{overrideIdentifier:B?.getLanguageId(),resource:B?.uri}),Y=new y.TrimTrailingWhitespaceCommand(ge,de,$);ae.pushUndoStop(),ae.executeCommands(this.id,[Y]),ae.pushUndoStop()}}e.TrimTrailingWhitespaceAction=A;class P extends I.EditorAction{constructor(){super({id:"editor.action.deleteLines",label:c.localize(1120,"Delete Line"),alias:"Delete Line",precondition:t.EditorContextKeys.writable,kbOpts:{kbExpr:t.EditorContextKeys.textInputFocus,primary:3113,weight:100}})}run(pe,ae){if(!ae.hasModel())return;const ee=this._getLinesToRemove(ae),de=ae.getModel();if(de.getLineCount()===1&&de.getLineMaxColumn(1)===1)return;let ge=0;const X=[],B=[];for(let $=0,Y=ee.length;$1&&(te-=1,le=de.getLineMaxColumn(te)),X.push(b.EditOperation.replace(new o.Selection(te,le,re,me),"")),B.push(new o.Selection(te-ge,Z.positionColumn,te-ge,Z.positionColumn)),ge+=Z.endLineNumber-Z.startLineNumber+1}ae.pushUndoStop(),ae.executeEdits(this.id,X,B),ae.pushUndoStop()}_getLinesToRemove(pe){const ae=pe.getSelections().map(ge=>{let X=ge.endLineNumber;return ge.startLineNumberge.startLineNumber===X.startLineNumber?ge.endLineNumber-X.endLineNumber:ge.startLineNumber-X.startLineNumber);const ee=[];let de=ae[0];for(let ge=1;ge=ae[ge].startLineNumber?de.endLineNumber=ae[ge].endLineNumber:(ee.push(de),de=ae[ge]);return ee.push(de),ee}}e.DeleteLinesAction=P;class N extends I.EditorAction{constructor(){super({id:"editor.action.indentLines",label:c.localize(1121,"Indent Line"),alias:"Indent Line",precondition:t.EditorContextKeys.writable,kbOpts:{kbExpr:t.EditorContextKeys.editorTextFocus,primary:2142,weight:100}})}run(pe,ae){const ee=ae._getViewModel();ee&&(ae.pushUndoStop(),ae.executeCommands(this.id,m.TypeOperations.indent(ee.cursorConfig,ae.getModel(),ae.getSelections())),ae.pushUndoStop())}}e.IndentLinesAction=N;class O extends I.EditorAction{constructor(){super({id:"editor.action.outdentLines",label:c.localize(1122,"Outdent Line"),alias:"Outdent Line",precondition:t.EditorContextKeys.writable,kbOpts:{kbExpr:t.EditorContextKeys.editorTextFocus,primary:2140,weight:100}})}run(pe,ae){k.CoreEditingCommands.Outdent.runEditorCommand(pe,ae,null)}}class F extends I.EditorAction{constructor(){super({id:"editor.action.insertLineBefore",label:c.localize(1123,"Insert Line Above"),alias:"Insert Line Above",precondition:t.EditorContextKeys.writable,kbOpts:{kbExpr:t.EditorContextKeys.editorTextFocus,primary:3075,weight:100}})}run(pe,ae){const ee=ae._getViewModel();ee&&(ae.pushUndoStop(),ae.executeCommands(this.id,_.EnterOperation.lineInsertBefore(ee.cursorConfig,ae.getModel(),ae.getSelections())))}}e.InsertLineBeforeAction=F;class x extends I.EditorAction{constructor(){super({id:"editor.action.insertLineAfter",label:c.localize(1124,"Insert Line Below"),alias:"Insert Line Below",precondition:t.EditorContextKeys.writable,kbOpts:{kbExpr:t.EditorContextKeys.editorTextFocus,primary:2051,weight:100}})}run(pe,ae){const ee=ae._getViewModel();ee&&(ae.pushUndoStop(),ae.executeCommands(this.id,_.EnterOperation.lineInsertAfter(ee.cursorConfig,ae.getModel(),ae.getSelections())))}}e.InsertLineAfterAction=x;class W extends I.EditorAction{run(pe,ae){if(!ae.hasModel())return;const ee=ae.getSelection(),de=this._getRangesToDelete(ae),ge=[];for(let $=0,Y=de.length-1;$b.EditOperation.replace($,""));ae.pushUndoStop(),ae.executeEdits(this.id,B,X),ae.pushUndoStop()}}e.AbstractDeleteAllToBoundaryAction=W;class V extends W{constructor(){super({id:"deleteAllLeft",label:c.localize(1125,"Delete All Left"),alias:"Delete All Left",precondition:t.EditorContextKeys.writable,kbOpts:{kbExpr:t.EditorContextKeys.textInputFocus,primary:0,mac:{primary:2049},weight:100}})}_getEndCursorState(pe,ae){let ee=null;const de=[];let ge=0;return ae.forEach(X=>{let B;if(X.endColumn===1&&ge>0){const $=X.startLineNumber-ge;B=new o.Selection($,X.startColumn,$,X.startColumn)}else B=new o.Selection(X.startLineNumber,X.startColumn,X.startLineNumber,X.startColumn);ge+=X.endLineNumber-X.startLineNumber,X.intersectRanges(pe)?ee=B:de.push(B)}),ee&&de.unshift(ee),de}_getRangesToDelete(pe){const ae=pe.getSelections();if(ae===null)return[];let ee=ae;const de=pe.getModel();return de===null?[]:(ee.sort(n.Range.compareRangesUsingStarts),ee=ee.map(ge=>{if(ge.isEmpty())if(ge.startColumn===1){const X=Math.max(1,ge.startLineNumber-1),B=ge.startLineNumber===1?1:de.getLineLength(X)+1;return new n.Range(X,B,ge.startLineNumber,1)}else return new n.Range(ge.startLineNumber,1,ge.startLineNumber,ge.startColumn);else return new n.Range(ge.startLineNumber,1,ge.endLineNumber,ge.endColumn)}),ee)}}e.DeleteAllLeftAction=V;class q extends W{constructor(){super({id:"deleteAllRight",label:c.localize(1126,"Delete All Right"),alias:"Delete All Right",precondition:t.EditorContextKeys.writable,kbOpts:{kbExpr:t.EditorContextKeys.textInputFocus,primary:0,mac:{primary:297,secondary:[2068]},weight:100}})}_getEndCursorState(pe,ae){let ee=null;const de=[];for(let ge=0,X=ae.length,B=0;ge{if(ge.isEmpty()){const X=ae.getLineMaxColumn(ge.startLineNumber);return ge.startColumn===X?new n.Range(ge.startLineNumber,ge.startColumn,ge.startLineNumber+1,1):new n.Range(ge.startLineNumber,ge.startColumn,ge.startLineNumber,X)}return ge});return de.sort(n.Range.compareRangesUsingStarts),de}}e.DeleteAllRightAction=q;class H extends I.EditorAction{constructor(){super({id:"editor.action.joinLines",label:c.localize(1127,"Join Lines"),alias:"Join Lines",precondition:t.EditorContextKeys.writable,kbOpts:{kbExpr:t.EditorContextKeys.editorTextFocus,primary:0,mac:{primary:296},weight:100}})}run(pe,ae){const ee=ae.getSelections();if(ee===null)return;let de=ae.getSelection();if(de===null)return;ee.sort(n.Range.compareRangesUsingStarts);const ge=[],X=ee.reduce((re,le)=>re.isEmpty()?re.endLineNumber===le.startLineNumber?(de.equalsSelection(re)&&(de=le),le):le.startLineNumber>re.endLineNumber+1?(ge.push(re),le):new o.Selection(re.startLineNumber,re.startColumn,le.endLineNumber,le.endColumn):le.startLineNumber>re.endLineNumber?(ge.push(re),le):new o.Selection(re.startLineNumber,re.startColumn,le.endLineNumber,le.endColumn));ge.push(X);const B=ae.getModel();if(B===null)return;const $=[],Y=[];let Z=de,te=0;for(let re=0,le=ge.length;re=1){let Oe=!0;Ne===""&&(Oe=!1),Oe&&(Ne.charAt(Ne.length-1)===" "||Ne.charAt(Ne.length-1)===" ")&&(Oe=!1,Ne=Ne.replace(/[\s\uFEFF\xA0]+$/g," "));const Pe=$e.substr(it-1);Ne+=(Oe?" ":"")+Pe,Oe?Ee=Pe.length+1:Ee=Pe.length}else Ee=0}const ze=new n.Range(ve,Le,Ie,Ae);if(!ze.isEmpty()){let Ve;me.isEmpty()?($.push(b.EditOperation.replace(ze,Ne)),Ve=new o.Selection(ze.startLineNumber-te,Ne.length-Ee+1,ve-te,Ne.length-Ee+1)):me.startLineNumber===me.endLineNumber?($.push(b.EditOperation.replace(ze,Ne)),Ve=new o.Selection(me.startLineNumber-te,me.startColumn,me.endLineNumber-te,me.endColumn)):($.push(b.EditOperation.replace(ze,Ne)),Ve=new o.Selection(me.startLineNumber-te,me.startColumn,me.startLineNumber-te,Ne.length-Me)),n.Range.intersectRanges(ze,de)!==null?Z=Ve:Y.push(Ve)}te+=ze.endLineNumber-ze.startLineNumber}Y.unshift(Z),ae.pushUndoStop(),ae.executeEdits(this.id,$,Y),ae.pushUndoStop()}}e.JoinLinesAction=H;class z extends I.EditorAction{constructor(){super({id:"editor.action.transpose",label:c.localize(1128,"Transpose Characters around the Cursor"),alias:"Transpose Characters around the Cursor",precondition:t.EditorContextKeys.writable})}run(pe,ae){const ee=ae.getSelections();if(ee===null)return;const de=ae.getModel();if(de===null)return;const ge=[];for(let X=0,B=ee.length;X=Z){if(Y.lineNumber===de.getLineCount())continue;const te=new n.Range(Y.lineNumber,Math.max(1,Y.column-1),Y.lineNumber+1,1),re=de.getValueInRange(te).split("").reverse().join("");ge.push(new E.ReplaceCommand(new o.Selection(Y.lineNumber,Math.max(1,Y.column-1),Y.lineNumber+1,1),re))}else{const te=new n.Range(Y.lineNumber,Math.max(1,Y.column-1),Y.lineNumber,Y.column+1),re=de.getValueInRange(te).split("").reverse().join("");ge.push(new E.ReplaceCommandThatPreservesSelection(te,re,new o.Selection(Y.lineNumber,Y.column+1,Y.lineNumber,Y.column+1)))}}ae.pushUndoStop(),ae.executeCommands(this.id,ge),ae.pushUndoStop()}}e.TransposeAction=z;class U extends I.EditorAction{run(pe,ae){const ee=ae.getSelections();if(ee===null)return;const de=ae.getModel();if(de===null)return;const ge=ae.getOption(132),X=[];for(const B of ee)if(B.isEmpty()){const $=B.getStartPosition(),Y=ae.getConfiguredWordAtPosition($);if(!Y)continue;const Z=new n.Range($.lineNumber,Y.startColumn,$.lineNumber,Y.endColumn),te=de.getValueInRange(Z);X.push(b.EditOperation.replace(Z,this._modifyText(te,ge)))}else{const $=de.getValueInRange(B);X.push(b.EditOperation.replace(B,this._modifyText($,ge)))}ae.pushUndoStop(),ae.executeEdits(this.id,X),ae.pushUndoStop()}}e.AbstractCaseAction=U;class j extends U{constructor(){super({id:"editor.action.transformToUppercase",label:c.localize(1129,"Transform to Uppercase"),alias:"Transform to Uppercase",precondition:t.EditorContextKeys.writable})}_modifyText(pe,ae){return pe.toLocaleUpperCase()}}e.UpperCaseAction=j;class Q extends U{constructor(){super({id:"editor.action.transformToLowercase",label:c.localize(1130,"Transform to Lowercase"),alias:"Transform to Lowercase",precondition:t.EditorContextKeys.writable})}_modifyText(pe,ae){return pe.toLocaleLowerCase()}}e.LowerCaseAction=Q;class G{constructor(pe,ae){this._pattern=pe,this._flags=ae,this._actual=null,this._evaluated=!1}get(){if(!this._evaluated){this._evaluated=!0;try{this._actual=new RegExp(this._pattern,this._flags)}catch{}}return this._actual}isSupported(){return this.get()!==null}}class K extends U{static{this.titleBoundary=new G("(^|[^\\p{L}\\p{N}']|((^|\\P{L})'))\\p{L}","gmu")}constructor(){super({id:"editor.action.transformToTitlecase",label:c.localize(1131,"Transform to Title Case"),alias:"Transform to Title Case",precondition:t.EditorContextKeys.writable})}_modifyText(pe,ae){const ee=K.titleBoundary.get();return ee?pe.toLocaleLowerCase().replace(ee,de=>de.toLocaleUpperCase()):pe}}e.TitleCaseAction=K;class R extends U{static{this.caseBoundary=new G("(\\p{Ll})(\\p{Lu})","gmu")}static{this.singleLetters=new G("(\\p{Lu}|\\p{N})(\\p{Lu})(\\p{Ll})","gmu")}constructor(){super({id:"editor.action.transformToSnakecase",label:c.localize(1132,"Transform to Snake Case"),alias:"Transform to Snake Case",precondition:t.EditorContextKeys.writable})}_modifyText(pe,ae){const ee=R.caseBoundary.get(),de=R.singleLetters.get();return!ee||!de?pe:pe.replace(ee,"$1_$2").replace(de,"$1_$2$3").toLocaleLowerCase()}}e.SnakeCaseAction=R;class J extends U{static{this.wordBoundary=new G("[_\\s-]","gm")}constructor(){super({id:"editor.action.transformToCamelcase",label:c.localize(1133,"Transform to Camel Case"),alias:"Transform to Camel Case",precondition:t.EditorContextKeys.writable})}_modifyText(pe,ae){const ee=J.wordBoundary.get();if(!ee)return pe;const de=pe.split(ee);return de.shift()+de.map(X=>X.substring(0,1).toLocaleUpperCase()+X.substring(1)).join("")}}e.CamelCaseAction=J;class ie extends U{static{this.wordBoundary=new G("[_\\s-]","gm")}static{this.wordBoundaryToMaintain=new G("(?<=\\.)","gm")}constructor(){super({id:"editor.action.transformToPascalcase",label:c.localize(1134,"Transform to Pascal Case"),alias:"Transform to Pascal Case",precondition:t.EditorContextKeys.writable})}_modifyText(pe,ae){const ee=ie.wordBoundary.get(),de=ie.wordBoundaryToMaintain.get();return!ee||!de?pe:pe.split(de).map(B=>B.split(ee)).flat().map(B=>B.substring(0,1).toLocaleUpperCase()+B.substring(1)).join("")}}e.PascalCaseAction=ie;class ue extends U{static isSupported(){return[this.caseBoundary,this.singleLetters,this.underscoreBoundary].every(ae=>ae.isSupported())}static{this.caseBoundary=new G("(\\p{Ll})(\\p{Lu})","gmu")}static{this.singleLetters=new G("(\\p{Lu}|\\p{N})(\\p{Lu}\\p{Ll})","gmu")}static{this.underscoreBoundary=new G("(\\S)(_)(\\S)","gm")}constructor(){super({id:"editor.action.transformToKebabcase",label:c.localize(1135,"Transform to Kebab Case"),alias:"Transform to Kebab Case",precondition:t.EditorContextKeys.writable})}_modifyText(pe,ae){const ee=ue.caseBoundary.get(),de=ue.singleLetters.get(),ge=ue.underscoreBoundary.get();return!ee||!de||!ge?pe:pe.replace(ge,"$1-$3").replace(ee,"$1-$2").replace(de,"$1-$2").toLocaleLowerCase()}}e.KebabCaseAction=ue,(0,I.registerEditorAction)(C),(0,I.registerEditorAction)(f),(0,I.registerEditorAction)(h),(0,I.registerEditorAction)(w),(0,I.registerEditorAction)(S),(0,I.registerEditorAction)(D),(0,I.registerEditorAction)(T),(0,I.registerEditorAction)(M),(0,I.registerEditorAction)(A),(0,I.registerEditorAction)(P),(0,I.registerEditorAction)(N),(0,I.registerEditorAction)(O),(0,I.registerEditorAction)(F),(0,I.registerEditorAction)(x),(0,I.registerEditorAction)(V),(0,I.registerEditorAction)(q),(0,I.registerEditorAction)(H),(0,I.registerEditorAction)(z),(0,I.registerEditorAction)(j),(0,I.registerEditorAction)(Q),R.caseBoundary.isSupported()&&R.singleLetters.isSupported()&&(0,I.registerEditorAction)(R),J.wordBoundary.isSupported()&&(0,I.registerEditorAction)(J),ie.wordBoundary.isSupported()&&(0,I.registerEditorAction)(ie),K.titleBoundary.isSupported()&&(0,I.registerEditorAction)(K),ue.isSupported()&&(0,I.registerEditorAction)(ue)}),define(ne[740],se([1,0,2,15]),function(oe,e,d,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0});class I extends d.Disposable{static{this.ID="editor.contrib.longLinesHelper"}constructor(y){super(),this._editor=y,this._register(this._editor.onMouseDown(m=>{const _=this._editor.getOption(118);_>=0&&m.target.type===6&&m.target.position.column>=_&&this._editor.updateOptions({stopRenderingLineAfter:-1})}))}}(0,k.registerEditorContribution)(I.ID,I,2)}),define(ne[184],se([1,0,207,46,6,57,2,15,4,120,3,12,59,5,525]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t){"use strict";var i;Object.defineProperty(e,"__esModule",{value:!0}),e.MessageController=void 0;let s=class{static{i=this}static{this.ID="editor.contrib.messageController"}static{this.MESSAGE_VISIBLE=new n.RawContextKey("messageVisible",!1,p.localize(1148,"Whether the editor is currently showing an inline message"))}static get(a){return a.getContribution(i.ID)}constructor(a,r,u){this._openerService=u,this._messageWidget=new y.MutableDisposable,this._messageListeners=new y.DisposableStore,this._mouseOverMessage=!1,this._editor=a,this._visible=i.MESSAGE_VISIBLE.bindTo(r)}dispose(){this._message?.dispose(),this._messageListeners.dispose(),this._messageWidget.dispose(),this._visible.reset()}showMessage(a,r){(0,k.alert)((0,E.isMarkdownString)(a)?a.value:a),this._visible.set(!0),this._messageWidget.clear(),this._messageListeners.clear(),this._message=(0,E.isMarkdownString)(a)?(0,d.renderMarkdown)(a,{actionHandler:{callback:C=>{this.closeMessage(),(0,b.openLinkFromMarkdown)(this._openerService,C,(0,E.isMarkdownString)(a)?a.isTrusted:void 0)},disposables:this._messageListeners}}):void 0,this._messageWidget.value=new c(this._editor,r,typeof a=="string"?a:this._message.element),this._messageListeners.add(I.Event.debounce(this._editor.onDidBlurEditorText,(C,f)=>f,0)(()=>{this._mouseOverMessage||this._messageWidget.value&&t.isAncestor(t.getActiveElement(),this._messageWidget.value.getDomNode())||this.closeMessage()})),this._messageListeners.add(this._editor.onDidChangeCursorPosition(()=>this.closeMessage())),this._messageListeners.add(this._editor.onDidDispose(()=>this.closeMessage())),this._messageListeners.add(this._editor.onDidChangeModel(()=>this.closeMessage())),this._messageListeners.add(t.addDisposableListener(this._messageWidget.value.getDomNode(),t.EventType.MOUSE_ENTER,()=>this._mouseOverMessage=!0,!0)),this._messageListeners.add(t.addDisposableListener(this._messageWidget.value.getDomNode(),t.EventType.MOUSE_LEAVE,()=>this._mouseOverMessage=!1,!0));let u;this._messageListeners.add(this._editor.onMouseMove(C=>{C.target.position&&(u?u.containsPosition(C.target.position)||this.closeMessage():u=new _.Range(r.lineNumber-3,1,C.target.position.lineNumber+3,1))}))}closeMessage(){this._visible.reset(),this._messageListeners.clear(),this._messageWidget.value&&this._messageListeners.add(c.fadeOut(this._messageWidget.value))}};e.MessageController=s,e.MessageController=s=i=ke([ce(1,n.IContextKeyService),ce(2,o.IOpenerService)],s);const g=m.EditorCommand.bindToContribution(s.get);(0,m.registerEditorCommand)(new g({id:"leaveEditorMessage",precondition:s.MESSAGE_VISIBLE,handler:l=>l.closeMessage(),kbOpts:{weight:130,primary:9}}));class c{static fadeOut(a){const r=()=>{a.dispose(),clearTimeout(u),a.getDomNode().removeEventListener("animationend",r)},u=setTimeout(r,110);return a.getDomNode().addEventListener("animationend",r),a.getDomNode().classList.add("fadeOut"),{dispose:r}}constructor(a,{lineNumber:r,column:u},C){this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._editor=a,this._editor.revealLinesInCenterIfOutsideViewport(r,r,0),this._position={lineNumber:r,column:u},this._domNode=document.createElement("div"),this._domNode.classList.add("monaco-editor-overlaymessage"),this._domNode.style.marginLeft="-6px";const f=document.createElement("div");f.classList.add("anchor","top"),this._domNode.appendChild(f);const h=document.createElement("div");typeof C=="string"?(h.classList.add("message"),h.textContent=C):(C.classList.add("message"),h.appendChild(C)),this._domNode.appendChild(h);const v=document.createElement("div");v.classList.add("anchor","below"),this._domNode.appendChild(v),this._editor.addContentWidget(this),this._domNode.classList.add("fadeIn")}dispose(){this._editor.removeContentWidget(this)}getId(){return"messageoverlay"}getDomNode(){return this._domNode}getPosition(){return{position:this._position,preference:[1,2],positionAffinity:1}}afterRender(a){this._domNode.classList.toggle("below",a===2)}}(0,m.registerEditorContribution)(s.ID,s,4)}),define(ne[741],se([1,0,57,2,15,184,3]),function(oe,e,d,k,I,E,y){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ReadOnlyMessageController=void 0;class m extends k.Disposable{static{this.ID="editor.contrib.readOnlyMessageController"}constructor(b){super(),this.editor=b,this._register(this.editor.onDidAttemptReadOnlyEdit(()=>this._onDidAttemptReadOnlyEdit()))}_onDidAttemptReadOnlyEdit(){const b=E.MessageController.get(this.editor);if(b&&this.editor.hasModel()){let p=this.editor.getOptions().get(93);p||(this.editor.isSimpleWidget?p=new d.MarkdownString(y.localize(1233,"Cannot edit in read-only input")):p=new d.MarkdownString(y.localize(1234,"Cannot edit in read-only editor"))),b.showMessage(p,this.editor.getPosition())}}}e.ReadOnlyMessageController=m,(0,I.registerEditorContribution)(m.ID,m,2)}),define(ne[742],se([1,0,13,18,8,15,9,4,23,20,340,621,3,29,24,17,78,19,22]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l){"use strict";var a;Object.defineProperty(e,"__esModule",{value:!0}),e.SmartSelectController=void 0,e.provideSelectionRanges=v;class r{constructor(S,L){this.index=S,this.ranges=L}mov(S){const L=this.index+(S?1:-1);if(L<0||L>=this.ranges.length)return this;const D=new r(L,this.ranges);return D.ranges[L].equalsRange(this.ranges[this.index])?D.mov(S):D}}let u=class{static{a=this}static{this.ID="editor.contrib.smartSelectController"}static get(S){return S.getContribution(a.ID)}constructor(S,L){this._editor=S,this._languageFeaturesService=L,this._ignoreSelection=!1}dispose(){this._selectionListener?.dispose()}async run(S){if(!this._editor.hasModel())return;const L=this._editor.getSelections(),D=this._editor.getModel();if(this._state||await v(this._languageFeaturesService.selectionRangeProvider,D,L.map(M=>M.getPosition()),this._editor.getOption(114),k.CancellationToken.None).then(M=>{if(!(!d.isNonEmptyArray(M)||M.length!==L.length)&&!(!this._editor.hasModel()||!d.equals(this._editor.getSelections(),L,(A,P)=>A.equalsSelection(P)))){for(let A=0;AP.containsPosition(L[A].getStartPosition())&&P.containsPosition(L[A].getEndPosition())),M[A].unshift(L[A]);this._state=M.map(A=>new r(0,A)),this._selectionListener?.dispose(),this._selectionListener=this._editor.onDidChangeCursorPosition(()=>{this._ignoreSelection||(this._selectionListener?.dispose(),this._state=void 0)})}}),!this._state)return;this._state=this._state.map(M=>M.mov(S));const T=this._state.map(M=>_.Selection.fromPositions(M.ranges[M.index].getStartPosition(),M.ranges[M.index].getEndPosition()));this._ignoreSelection=!0;try{this._editor.setSelections(T)}finally{this._ignoreSelection=!1}}};e.SmartSelectController=u,e.SmartSelectController=u=a=ke([ce(1,s.ILanguageFeaturesService)],u);class C extends E.EditorAction{constructor(S,L){super(L),this._forward=S}async run(S,L){const D=u.get(L);D&&await D.run(this._forward)}}class f extends C{constructor(){super(!0,{id:"editor.action.smartSelect.expand",label:o.localize(1253,"Expand Selection"),alias:"Expand Selection",precondition:void 0,kbOpts:{kbExpr:b.EditorContextKeys.editorTextFocus,primary:1553,mac:{primary:3345,secondary:[1297]},weight:100},menuOpts:{menuId:t.MenuId.MenubarSelectionMenu,group:"1_basic",title:o.localize(1254,"&&Expand Selection"),order:2}})}}i.CommandsRegistry.registerCommandAlias("editor.action.smartSelect.grow","editor.action.smartSelect.expand");class h extends C{constructor(){super(!1,{id:"editor.action.smartSelect.shrink",label:o.localize(1255,"Shrink Selection"),alias:"Shrink Selection",precondition:void 0,kbOpts:{kbExpr:b.EditorContextKeys.editorTextFocus,primary:1551,mac:{primary:3343,secondary:[1295]},weight:100},menuOpts:{menuId:t.MenuId.MenubarSelectionMenu,group:"1_basic",title:o.localize(1256,"&&Shrink Selection"),order:3}})}}(0,E.registerEditorContribution)(u.ID,u,4),(0,E.registerEditorAction)(f),(0,E.registerEditorAction)(h);async function v(w,S,L,D,T){const M=w.all(S).concat(new n.WordSelectionRangeProvider(D.selectSubwords));M.length===1&&M.unshift(new p.BracketSelectionRangeProvider);const A=[],P=[];for(const N of M)A.push(Promise.resolve(N.provideSelectionRanges(S,L,T)).then(O=>{if(d.isNonEmptyArray(O)&&O.length===L.length)for(let F=0;F{if(N.length===0)return[];N.sort((W,V)=>y.Position.isBefore(W.getStartPosition(),V.getStartPosition())?1:y.Position.isBefore(V.getStartPosition(),W.getStartPosition())||y.Position.isBefore(W.getEndPosition(),V.getEndPosition())?-1:y.Position.isBefore(V.getEndPosition(),W.getEndPosition())?1:0);const O=[];let F;for(const W of N)(!F||m.Range.containsRange(W,F)&&!m.Range.equalsRange(W,F))&&(O.push(W),F=W);if(!D.selectLeadingAndTrailingWhitespace)return O;const x=[O[0]];for(let W=1;W{g.hasChanged(127)&&(this._config=this._editor.getOption(127),this._checkForUnusualLineTerminators())})),this._register(this._editor.onDidChangeModel(()=>{this._checkForUnusualLineTerminators()})),this._register(this._editor.onDidChangeModelContent(g=>{g.isUndoing||this._checkForUnusualLineTerminators()})),this._checkForUnusualLineTerminators()}async _checkForUnusualLineTerminators(){if(this._config==="off"||!this._editor.hasModel())return;const t=this._editor.getModel();if(!t.mightContainUnusualLineTerminators()||p(this._codeEditorService,t)===!0||this._editor.getOption(92))return;if(this._config==="auto"){t.removeUnusualLineTerminators(this._editor.getSelections());return}if(this._isPresentingDialog)return;let s;try{this._isPresentingDialog=!0,s=await this._dialogService.confirm({title:y.localize(1410,"Unusual Line Terminators"),message:y.localize(1411,"Detected unusual line terminators"),detail:y.localize(1412,"The file '{0}' contains one or more unusual line terminator characters, like Line Separator (LS) or Paragraph Separator (PS).\n\nIt is recommended to remove them from the file. This can be configured via `editor.unusualLineTerminators`.",(0,k.basename)(t.uri)),primaryButton:y.localize(1413,"&&Remove Unusual Line Terminators"),cancelButton:y.localize(1414,"Ignore")})}finally{this._isPresentingDialog=!1}if(!s.confirmed){b(this._codeEditorService,t,!0);return}t.removeUnusualLineTerminators(this._editor.getSelections())}};e.UnusualLineTerminatorsDetector=n,e.UnusualLineTerminatorsDetector=n=ke([ce(1,m.IDialogService),ce(2,E.ICodeEditorService)],n),(0,I.registerEditorContribution)(n.ID,n,1)}),define(ne[411],se([1,0,15,146,37,76,199,166,9,4,23,20,36,3,61,12,179]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DeleteInsideWord=e.DeleteWordRight=e.DeleteWordEndRight=e.DeleteWordStartRight=e.DeleteWordLeft=e.DeleteWordEndLeft=e.DeleteWordStartLeft=e.DeleteWordRightCommand=e.DeleteWordLeftCommand=e.DeleteWordCommand=e.CursorWordAccessibilityRightSelect=e.CursorWordAccessibilityRight=e.CursorWordRightSelect=e.CursorWordEndRightSelect=e.CursorWordStartRightSelect=e.CursorWordRight=e.CursorWordEndRight=e.CursorWordStartRight=e.CursorWordAccessibilityLeftSelect=e.CursorWordAccessibilityLeft=e.CursorWordLeftSelect=e.CursorWordEndLeftSelect=e.CursorWordStartLeftSelect=e.CursorWordLeft=e.CursorWordEndLeft=e.CursorWordStartLeft=e.WordRightCommand=e.WordLeftCommand=e.MoveWordCommand=void 0;class c extends d.EditorCommand{constructor(K){super(K),this._inSelectionMode=K.inSelectionMode,this._wordNavigationType=K.wordNavigationType}runEditorCommand(K,R,J){if(!R.hasModel())return;const ie=(0,m.getMapForWordSeparators)(R.getOption(132),R.getOption(131)),ue=R.getModel(),he=R.getSelections(),pe=he.length>1,ae=he.map(ee=>{const de=new _.Position(ee.positionLineNumber,ee.positionColumn),ge=this._move(ie,ue,de,this._wordNavigationType,pe);return this._moveTo(ee,ge,this._inSelectionMode)});if(ue.pushStackElement(),R._getViewModel().setCursorStates("moveWordCommand",3,ae.map(ee=>E.CursorState.fromModelSelection(ee))),ae.length===1){const ee=new _.Position(ae[0].positionLineNumber,ae[0].positionColumn);R.revealPosition(ee,0)}}_moveTo(K,R,J){return J?new p.Selection(K.selectionStartLineNumber,K.selectionStartColumn,R.lineNumber,R.column):new p.Selection(R.lineNumber,R.column,R.lineNumber,R.column)}}e.MoveWordCommand=c;class l extends c{_move(K,R,J,ie,ue){return y.WordOperations.moveWordLeft(K,R,J,ie,ue)}}e.WordLeftCommand=l;class a extends c{_move(K,R,J,ie,ue){return y.WordOperations.moveWordRight(K,R,J,ie)}}e.WordRightCommand=a;class r extends l{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartLeft",precondition:void 0})}}e.CursorWordStartLeft=r;class u extends l{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndLeft",precondition:void 0})}}e.CursorWordEndLeft=u;class C extends l{constructor(){super({inSelectionMode:!1,wordNavigationType:1,id:"cursorWordLeft",precondition:void 0,kbOpts:{kbExpr:s.ContextKeyExpr.and(n.EditorContextKeys.textInputFocus,s.ContextKeyExpr.and(i.CONTEXT_ACCESSIBILITY_MODE_ENABLED,g.IsWindowsContext)?.negate()),primary:2063,mac:{primary:527},weight:100}})}}e.CursorWordLeft=C;class f extends l{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartLeftSelect",precondition:void 0})}}e.CursorWordStartLeftSelect=f;class h extends l{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndLeftSelect",precondition:void 0})}}e.CursorWordEndLeftSelect=h;class v extends l{constructor(){super({inSelectionMode:!0,wordNavigationType:1,id:"cursorWordLeftSelect",precondition:void 0,kbOpts:{kbExpr:s.ContextKeyExpr.and(n.EditorContextKeys.textInputFocus,s.ContextKeyExpr.and(i.CONTEXT_ACCESSIBILITY_MODE_ENABLED,g.IsWindowsContext)?.negate()),primary:3087,mac:{primary:1551},weight:100}})}}e.CursorWordLeftSelect=v;class w extends l{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityLeft",precondition:void 0})}_move(K,R,J,ie,ue){return super._move((0,m.getMapForWordSeparators)(I.EditorOptions.wordSeparators.defaultValue,K.intlSegmenterLocales),R,J,ie,ue)}}e.CursorWordAccessibilityLeft=w;class S extends l{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityLeftSelect",precondition:void 0})}_move(K,R,J,ie,ue){return super._move((0,m.getMapForWordSeparators)(I.EditorOptions.wordSeparators.defaultValue,K.intlSegmenterLocales),R,J,ie,ue)}}e.CursorWordAccessibilityLeftSelect=S;class L extends a{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartRight",precondition:void 0})}}e.CursorWordStartRight=L;class D extends a{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndRight",precondition:void 0,kbOpts:{kbExpr:s.ContextKeyExpr.and(n.EditorContextKeys.textInputFocus,s.ContextKeyExpr.and(i.CONTEXT_ACCESSIBILITY_MODE_ENABLED,g.IsWindowsContext)?.negate()),primary:2065,mac:{primary:529},weight:100}})}}e.CursorWordEndRight=D;class T extends a{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordRight",precondition:void 0})}}e.CursorWordRight=T;class M extends a{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartRightSelect",precondition:void 0})}}e.CursorWordStartRightSelect=M;class A extends a{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndRightSelect",precondition:void 0,kbOpts:{kbExpr:s.ContextKeyExpr.and(n.EditorContextKeys.textInputFocus,s.ContextKeyExpr.and(i.CONTEXT_ACCESSIBILITY_MODE_ENABLED,g.IsWindowsContext)?.negate()),primary:3089,mac:{primary:1553},weight:100}})}}e.CursorWordEndRightSelect=A;class P extends a{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordRightSelect",precondition:void 0})}}e.CursorWordRightSelect=P;class N extends a{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityRight",precondition:void 0})}_move(K,R,J,ie,ue){return super._move((0,m.getMapForWordSeparators)(I.EditorOptions.wordSeparators.defaultValue,K.intlSegmenterLocales),R,J,ie,ue)}}e.CursorWordAccessibilityRight=N;class O extends a{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityRightSelect",precondition:void 0})}_move(K,R,J,ie,ue){return super._move((0,m.getMapForWordSeparators)(I.EditorOptions.wordSeparators.defaultValue,K.intlSegmenterLocales),R,J,ie,ue)}}e.CursorWordAccessibilityRightSelect=O;class F extends d.EditorCommand{constructor(K){super(K),this._whitespaceHeuristics=K.whitespaceHeuristics,this._wordNavigationType=K.wordNavigationType}runEditorCommand(K,R,J){const ie=K.get(o.ILanguageConfigurationService);if(!R.hasModel())return;const ue=(0,m.getMapForWordSeparators)(R.getOption(132),R.getOption(131)),he=R.getModel(),pe=R.getSelections(),ae=R.getOption(6),ee=R.getOption(11),de=ie.getLanguageConfiguration(he.getLanguageId()).getAutoClosingPairs(),ge=R._getViewModel(),X=pe.map(B=>{const $=this._delete({wordSeparators:ue,model:he,selection:B,whitespaceHeuristics:this._whitespaceHeuristics,autoClosingDelete:R.getOption(9),autoClosingBrackets:ae,autoClosingQuotes:ee,autoClosingPairs:de,autoClosedCharacters:ge.getCursorAutoClosedCharacters()},this._wordNavigationType);return new k.ReplaceCommand($,"")});R.pushUndoStop(),R.executeCommands(this.id,X),R.pushUndoStop()}}e.DeleteWordCommand=F;class x extends F{_delete(K,R){const J=y.WordOperations.deleteWordLeft(K,R);return J||new b.Range(1,1,1,1)}}e.DeleteWordLeftCommand=x;class W extends F{_delete(K,R){const J=y.WordOperations.deleteWordRight(K,R);if(J)return J;const ie=K.model.getLineCount(),ue=K.model.getLineMaxColumn(ie);return new b.Range(ie,ue,ie,ue)}}e.DeleteWordRightCommand=W;class V extends x{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartLeft",precondition:n.EditorContextKeys.writable})}}e.DeleteWordStartLeft=V;class q extends x{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndLeft",precondition:n.EditorContextKeys.writable})}}e.DeleteWordEndLeft=q;class H extends x{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordLeft",precondition:n.EditorContextKeys.writable,kbOpts:{kbExpr:n.EditorContextKeys.textInputFocus,primary:2049,mac:{primary:513},weight:100}})}}e.DeleteWordLeft=H;class z extends W{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartRight",precondition:n.EditorContextKeys.writable})}}e.DeleteWordStartRight=z;class U extends W{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndRight",precondition:n.EditorContextKeys.writable})}}e.DeleteWordEndRight=U;class j extends W{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordRight",precondition:n.EditorContextKeys.writable,kbOpts:{kbExpr:n.EditorContextKeys.textInputFocus,primary:2068,mac:{primary:532},weight:100}})}}e.DeleteWordRight=j;class Q extends d.EditorAction{constructor(){super({id:"deleteInsideWord",precondition:n.EditorContextKeys.writable,label:t.localize(1427,"Delete Word"),alias:"Delete Word"})}run(K,R,J){if(!R.hasModel())return;const ie=(0,m.getMapForWordSeparators)(R.getOption(132),R.getOption(131)),ue=R.getModel(),pe=R.getSelections().map(ae=>{const ee=y.WordOperations.deleteInsideWord(ie,ue,ae);return new k.ReplaceCommand(ee,"")});R.pushUndoStop(),R.executeCommands(this.id,pe),R.pushUndoStop()}}e.DeleteInsideWord=Q,(0,d.registerEditorCommand)(new r),(0,d.registerEditorCommand)(new u),(0,d.registerEditorCommand)(new C),(0,d.registerEditorCommand)(new f),(0,d.registerEditorCommand)(new h),(0,d.registerEditorCommand)(new v),(0,d.registerEditorCommand)(new L),(0,d.registerEditorCommand)(new D),(0,d.registerEditorCommand)(new T),(0,d.registerEditorCommand)(new M),(0,d.registerEditorCommand)(new A),(0,d.registerEditorCommand)(new P),(0,d.registerEditorCommand)(new w),(0,d.registerEditorCommand)(new S),(0,d.registerEditorCommand)(new N),(0,d.registerEditorCommand)(new O),(0,d.registerEditorCommand)(new V),(0,d.registerEditorCommand)(new q),(0,d.registerEditorCommand)(new H),(0,d.registerEditorCommand)(new z),(0,d.registerEditorCommand)(new U),(0,d.registerEditorCommand)(new j),(0,d.registerEditorAction)(Q)}),define(ne[745],se([1,0,15,199,4,20,411,24]),function(oe,e,d,k,I,E,y,m){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CursorWordPartRightSelect=e.CursorWordPartRight=e.WordPartRightCommand=e.CursorWordPartLeftSelect=e.CursorWordPartLeft=e.WordPartLeftCommand=e.DeleteWordPartRight=e.DeleteWordPartLeft=void 0;class _ extends y.DeleteWordCommand{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordPartLeft",precondition:E.EditorContextKeys.writable,kbOpts:{kbExpr:E.EditorContextKeys.textInputFocus,primary:0,mac:{primary:769},weight:100}})}_delete(c,l){const a=k.WordPartOperations.deleteWordPartLeft(c);return a||new I.Range(1,1,1,1)}}e.DeleteWordPartLeft=_;class b extends y.DeleteWordCommand{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordPartRight",precondition:E.EditorContextKeys.writable,kbOpts:{kbExpr:E.EditorContextKeys.textInputFocus,primary:0,mac:{primary:788},weight:100}})}_delete(c,l){const a=k.WordPartOperations.deleteWordPartRight(c);if(a)return a;const r=c.model.getLineCount(),u=c.model.getLineMaxColumn(r);return new I.Range(r,u,r,u)}}e.DeleteWordPartRight=b;class p extends y.MoveWordCommand{_move(c,l,a,r,u){return k.WordPartOperations.moveWordPartLeft(c,l,a,u)}}e.WordPartLeftCommand=p;class n extends p{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordPartLeft",precondition:void 0,kbOpts:{kbExpr:E.EditorContextKeys.textInputFocus,primary:0,mac:{primary:783},weight:100}})}}e.CursorWordPartLeft=n,m.CommandsRegistry.registerCommandAlias("cursorWordPartStartLeft","cursorWordPartLeft");class o extends p{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordPartLeftSelect",precondition:void 0,kbOpts:{kbExpr:E.EditorContextKeys.textInputFocus,primary:0,mac:{primary:1807},weight:100}})}}e.CursorWordPartLeftSelect=o,m.CommandsRegistry.registerCommandAlias("cursorWordPartStartLeftSelect","cursorWordPartLeftSelect");class t extends y.MoveWordCommand{_move(c,l,a,r,u){return k.WordPartOperations.moveWordPartRight(c,l,a)}}e.WordPartRightCommand=t;class i extends t{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordPartRight",precondition:void 0,kbOpts:{kbExpr:E.EditorContextKeys.textInputFocus,primary:0,mac:{primary:785},weight:100}})}}e.CursorWordPartRight=i;class s extends t{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordPartRightSelect",precondition:void 0,kbOpts:{kbExpr:E.EditorContextKeys.textInputFocus,primary:0,mac:{primary:1809},weight:100}})}}e.CursorWordPartRightSelect=s,(0,d.registerEditorCommand)(new _),(0,d.registerEditorCommand)(new b),(0,d.registerEditorCommand)(new n),(0,d.registerEditorCommand)(new o),(0,d.registerEditorCommand)(new i),(0,d.registerEditorCommand)(new s)}),define(ne[746],se([1,0,5,2,15,16,538]),function(oe,e,d,k,I,E){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.IPadShowKeyboard=void 0;class y extends k.Disposable{static{this.ID="editor.contrib.iPadShowKeyboard"}constructor(b){super(),this.editor=b,this.widget=null,E.isIOS&&(this._register(b.onDidChangeConfiguration(()=>this.update())),this.update())}update(){const b=!this.editor.getOption(92);!this.widget&&b?this.widget=new m(this.editor):this.widget&&!b&&(this.widget.dispose(),this.widget=null)}dispose(){super.dispose(),this.widget&&(this.widget.dispose(),this.widget=null)}}e.IPadShowKeyboard=y;class m extends k.Disposable{static{this.ID="editor.contrib.ShowKeyboardWidget"}constructor(b){super(),this.editor=b,this._domNode=document.createElement("textarea"),this._domNode.className="iPadShowKeyboard",this._register(d.addDisposableListener(this._domNode,"touchstart",p=>{this.editor.focus()})),this._register(d.addDisposableListener(this._domNode,"focus",p=>{this.editor.focus()})),this.editor.addOverlayWidget(this)}dispose(){this.editor.removeOverlayWidget(this),super.dispose()}getId(){return m.ID}getDomNode(){return this._domNode}getPosition(){return{preference:1}}}(0,I.registerEditorContribution)(y.ID,y,3)}),define(ne[747],se([1,0,5,33,2,15,27,148,177,43,153,107,539]),function(oe,e,d,k,I,E,y,m,_,b,p,n){"use strict";var o;Object.defineProperty(e,"__esModule",{value:!0});let t=class extends I.Disposable{static{o=this}static{this.ID="editor.contrib.inspectTokens"}static get(a){return a.getContribution(o.ID)}constructor(a,r,u){super(),this._editor=a,this._languageService=u,this._widget=null,this._register(this._editor.onDidChangeModel(C=>this.stop())),this._register(this._editor.onDidChangeModelLanguage(C=>this.stop())),this._register(y.TokenizationRegistry.onDidChange(C=>this.stop())),this._register(this._editor.onKeyUp(C=>C.keyCode===9&&this.stop()))}dispose(){this.stop(),super.dispose()}launch(){this._widget||this._editor.hasModel()&&(this._widget=new c(this._editor,this._languageService))}stop(){this._widget&&(this._widget.dispose(),this._widget=null)}};t=o=ke([ce(1,p.IStandaloneThemeService),ce(2,b.ILanguageService)],t);class i extends E.EditorAction{constructor(){super({id:"editor.action.inspectTokens",label:n.InspectTokensNLS.inspectTokensAction,alias:"Developer: Inspect Tokens",precondition:void 0})}run(a,r){t.get(r)?.launch()}}function s(l){let a="";for(let r=0,u=l.length;r_.NullState,tokenize:(C,f,h)=>(0,_.nullTokenize)(a,h),tokenizeEncoded:(C,f,h)=>(0,_.nullTokenizeEncoded)(u,h)}}class c extends I.Disposable{static{this._ID="editor.contrib.inspectTokensWidget"}constructor(a,r){super(),this.allowEditorOverflow=!0,this._editor=a,this._languageService=r,this._model=this._editor.getModel(),this._domNode=document.createElement("div"),this._domNode.className="tokens-inspect-widget",this._tokenizationSupport=g(this._languageService.languageIdCodec,this._model.getLanguageId()),this._compute(this._editor.getPosition()),this._register(this._editor.onDidChangeCursorPosition(u=>this._compute(this._editor.getPosition()))),this._editor.addContentWidget(this)}dispose(){this._editor.removeContentWidget(this),super.dispose()}getId(){return c._ID}_compute(a){const r=this._getTokensAtLine(a.lineNumber);let u=0;for(let w=r.tokens1.length-1;w>=0;w--){const S=r.tokens1[w];if(a.column-1>=S.offset){u=w;break}}let C=0;for(let w=r.tokens2.length>>>1;w>=0;w--)if(a.column-1>=r.tokens2[w<<1]){C=w;break}const f=this._model.getLineContent(a.lineNumber);let h="";if(u"}static{this.TFIDF_THRESHOLD=.5}static{this.TFIDF_MAX_RESULTS=5}static{this.WORD_FILTER=(0,I.or)(I.matchesPrefix,I.matchesWords,I.matchesContiguousSubString)}constructor(h,v,w,S,L,D){super(a.PREFIX,h),this.instantiationService=v,this.keybindingService=w,this.commandService=S,this.telemetryService=L,this.dialogService=D,this.commandsHistory=this._register(this.instantiationService.createInstance(C)),this.options=h}async _getPicks(h,v,w,S){const L=await this.getCommandPicks(w);if(w.isCancellationRequested)return[];const D=(0,E.createSingleCallFunction)(()=>{const F=new _.TfIdfCalculator;F.updateDocuments(L.map(W=>({key:W.commandId,textChunks:[this.getTfIdfChunk(W)]})));const x=F.calculateScores(h,w);return(0,_.normalizeTfIdfScores)(x).filter(W=>W.score>a.TFIDF_THRESHOLD).slice(0,a.TFIDF_MAX_RESULTS)}),T=[];for(const F of L){const x=a.WORD_FILTER(h,F.label)??void 0,W=F.commandAlias?a.WORD_FILTER(h,F.commandAlias)??void 0:void 0;if(x||W)F.highlights={label:x,detail:this.options.showAlias?W:void 0},T.push(F);else if(h===F.commandId)T.push(F);else if(h.length>=3){const V=D();if(w.isCancellationRequested)return[];const q=V.find(H=>H.key===F.commandId);q&&(F.tfIdfScore=q.score,T.push(F))}}const M=new Map;for(const F of T){const x=M.get(F.label);x?(F.description=F.commandId,x.description=x.commandId):M.set(F.label,F)}T.sort((F,x)=>{if(F.tfIdfScore&&x.tfIdfScore)return F.tfIdfScore===x.tfIdfScore?F.label.localeCompare(x.label):x.tfIdfScore-F.tfIdfScore;if(F.tfIdfScore)return 1;if(x.tfIdfScore)return-1;const W=this.commandsHistory.peek(F.commandId),V=this.commandsHistory.peek(x.commandId);if(W&&V)return W>V?-1:1;if(W)return-1;if(V)return 1;if(this.options.suggestedCommandIds){const q=this.options.suggestedCommandIds.has(F.commandId),H=this.options.suggestedCommandIds.has(x.commandId);if(q&&H)return 0;if(q)return-1;if(H)return 1}return F.label.localeCompare(x.label)});const A=[];let P=!1,N=!0,O=!!this.options.suggestedCommandIds;for(let F=0;F{const F=await this.getAdditionalCommandPicks(L,T,h,w);if(w.isCancellationRequested)return[];const x=F.map(W=>this.toCommandPick(W,S));return N&&x[0]?.type!=="separator"&&x.unshift({type:"separator",label:(0,b.localize)(1576,"similar commands")}),x})()}:A}toCommandPick(h,v){if(h.type==="separator")return h;const w=this.keybindingService.lookupKeybinding(h.commandId),S=w?(0,b.localize)(1577,"{0}, {1}",h.label,w.getAriaLabel()):h.label;return{...h,ariaLabel:S,detail:this.options.showAlias&&h.commandAlias!==h.label?h.commandAlias:void 0,keybinding:w,accept:async()=>{this.commandsHistory.push(h.commandId),this.telemetryService.publicLog2("workbenchActionExecuted",{id:h.commandId,from:v?.from??"quick open"});try{h.args?.length?await this.commandService.executeCommand(h.commandId,...h.args):await this.commandService.executeCommand(h.commandId)}catch(L){(0,k.isCancellationError)(L)||this.dialogService.error((0,b.localize)(1578,"Command '{0}' resulted in an error",h.label),(0,d.toErrorMessage)(L))}}}}getTfIdfChunk({label:h,commandAlias:v,commandDescription:w}){let S=h;return v&&v!==h&&(S+=` - ${v}`),w&&w.value!==h&&(S+=` - ${w.value===w.original?w.value:`${w.value} (${w.original})`}`),S}};e.AbstractCommandsQuickAccessProvider=u,e.AbstractCommandsQuickAccessProvider=u=a=ke([ce(1,t.IInstantiationService),ce(2,i.IKeybindingService),ce(3,p.ICommandService),ce(4,l.ITelemetryService),ce(5,o.IDialogService)],u);let C=class extends y.Disposable{static{r=this}static{this.DEFAULT_COMMANDS_HISTORY_LENGTH=50}static{this.PREF_KEY_CACHE="commandPalette.mru.cache"}static{this.PREF_KEY_COUNTER="commandPalette.mru.counter"}static{this.counter=1}static{this.hasChanges=!1}constructor(h,v,w){super(),this.storageService=h,this.configurationService=v,this.logService=w,this.configuredCommandsHistoryLength=0,this.updateConfiguration(),this.load(),this.registerListeners()}registerListeners(){this._register(this.configurationService.onDidChangeConfiguration(h=>this.updateConfiguration(h))),this._register(this.storageService.onWillSaveState(h=>{h.reason===c.WillSaveStateReason.SHUTDOWN&&this.saveState()}))}updateConfiguration(h){h&&!h.affectsConfiguration("workbench.commandPalette.history")||(this.configuredCommandsHistoryLength=r.getConfiguredCommandHistoryLength(this.configurationService),r.cache&&r.cache.limit!==this.configuredCommandsHistoryLength&&(r.cache.limit=this.configuredCommandsHistoryLength,r.hasChanges=!0))}load(){const h=this.storageService.get(r.PREF_KEY_CACHE,0);let v;if(h)try{v=JSON.parse(h)}catch(S){this.logService.error(`[CommandsHistory] invalid data: ${S}`)}const w=r.cache=new m.LRUCache(this.configuredCommandsHistoryLength,1);if(v){let S;v.usesLRU?S=v.entries:S=v.entries.sort((L,D)=>L.value-D.value),S.forEach(L=>w.set(L.key,L.value))}r.counter=this.storageService.getNumber(r.PREF_KEY_COUNTER,0,r.counter)}push(h){r.cache&&(r.cache.set(h,r.counter++),r.hasChanges=!0)}peek(h){return r.cache?.peek(h)}saveState(){if(!r.cache||!r.hasChanges)return;const h={usesLRU:!0,entries:[]};r.cache.forEach((v,w)=>h.entries.push({key:w,value:v})),this.storageService.store(r.PREF_KEY_CACHE,JSON.stringify(h),0,0),this.storageService.store(r.PREF_KEY_COUNTER,r.counter,0,0),r.hasChanges=!1}static getConfiguredCommandHistoryLength(h){const w=h.getValue().workbench?.commandPalette?.history;return typeof w=="number"?w:r.DEFAULT_COMMANDS_HISTORY_LENGTH}};e.CommandsHistory=C,e.CommandsHistory=C=r=ke([ce(0,c.IStorageService),ce(1,n.IConfigurationService),ce(2,s.ILogService)],C)}),define(ne[749],se([1,0,142,381,748]),function(oe,e,d,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractEditorCommandsQuickAccessProvider=void 0;class E extends I.AbstractCommandsQuickAccessProvider{constructor(m,_,b,p,n,o){super(m,_,b,p,n,o)}getCodeEditorCommandPicks(){const m=this.activeTextEditorControl;if(!m)return[];const _=[];for(const b of m.getSupportedActions()){let p;b.metadata?.description&&((0,k.isLocalizedString)(b.metadata.description)?p=b.metadata.description:p={original:b.metadata.description,value:b.metadata.description}),_.push({commandId:b.id,commandAlias:b.alias,commandDescription:p,label:(0,d.stripIcons)(b.label)||b.id})}return _}}e.AbstractEditorCommandsQuickAccessProvider=E}),define(ne[750],se([1,0,38,156,107,34,749,7,31,24,63,180,15,20,66]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.GotoLineAction=e.StandaloneCommandsQuickAccessProvider=void 0;let s=class extends y.AbstractEditorCommandsQuickAccessProvider{get activeTextEditorControl(){return this.codeEditorService.getFocusedCodeEditor()??void 0}constructor(l,a,r,u,C,f){super({showAlias:!1},l,r,u,C,f),this.codeEditorService=a}async getCommandPicks(){return this.getCodeEditorCommandPicks()}hasAdditionalCommandPicks(){return!1}async getAdditionalCommandPicks(){return[]}};e.StandaloneCommandsQuickAccessProvider=s,e.StandaloneCommandsQuickAccessProvider=s=ke([ce(0,m.IInstantiationService),ce(1,E.ICodeEditorService),ce(2,_.IKeybindingService),ce(3,b.ICommandService),ce(4,p.ITelemetryService),ce(5,n.IDialogService)],s);class g extends o.EditorAction{static{this.ID="editor.action.quickCommand"}constructor(){super({id:g.ID,label:I.QuickCommandNLS.quickCommandActionLabel,alias:"Command Palette",precondition:void 0,kbOpts:{kbExpr:t.EditorContextKeys.focus,primary:59,weight:100},contextMenuOpts:{group:"z_commands",order:1}})}run(l){l.get(i.IQuickInputService).quickAccess.show(s.PREFIX)}}e.GotoLineAction=g,(0,o.registerEditorAction)(g),d.Registry.as(k.Extensions.Quickaccess).registerQuickAccessProvider({ctor:s,prefix:s.PREFIX,helpEntries:[{description:I.QuickCommandNLS.quickCommandHelp,commandId:g.ID}]})}),define(ne[89],se([1,0,90,14,33,6,273,38,3]),function(oe,e,d,k,I,E,y,m,_){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.workbenchColorsSchemaId=e.DEFAULT_COLOR_CONFIG_VALUE=e.Extensions=void 0,e.asCssVariableName=b,e.asCssVariable=p,e.asCssVariableWithDefault=n,e.isColorDefaults=o,e.registerColor=s,e.executeTransform=g,e.darken=c,e.lighten=l,e.transparent=a,e.oneOf=r,e.ifDefinedThenElse=u,e.lessProminent=C,e.resolveColorValue=f;function b(w){return`--vscode-${w.replace(/\./g,"-")}`}function p(w){return`var(${b(w)})`}function n(w,S){return`var(${b(w)}, ${S})`}function o(w){return w!==null&&typeof w=="object"&&"light"in w&&"dark"in w}e.Extensions={ColorContribution:"base.contributions.colors"},e.DEFAULT_COLOR_CONFIG_VALUE="default";class t{constructor(){this._onDidChangeSchema=new E.Emitter,this.onDidChangeSchema=this._onDidChangeSchema.event,this.colorSchema={type:"object",properties:{}},this.colorReferenceSchema={type:"string",enum:[],enumDescriptions:[]},this.colorsById={}}registerColor(S,L,D,T=!1,M){const A={id:S,description:D,defaults:L,needsTransparency:T,deprecationMessage:M};this.colorsById[S]=A;const P={type:"string",format:"color-hex",defaultSnippets:[{body:"${1:#ff0000}"}]};return M&&(P.deprecationMessage=M),T&&(P.pattern="^#(?:(?[0-9a-fA-f]{3}[0-9a-eA-E])|(?:[0-9a-fA-F]{6}(?:(?![fF]{2})(?:[0-9a-fA-F]{2}))))?$",P.patternErrorMessage=_.localize(1836,"This color must be transparent or it will obscure content")),this.colorSchema.properties[S]={description:D,oneOf:[P,{type:"string",const:e.DEFAULT_COLOR_CONFIG_VALUE,description:_.localize(1837,"Use the default color.")}]},this.colorReferenceSchema.enum.push(S),this.colorReferenceSchema.enumDescriptions.push(D),this._onDidChangeSchema.fire(),S}getColors(){return Object.keys(this.colorsById).map(S=>this.colorsById[S])}resolveDefaultColor(S,L){const D=this.colorsById[S];if(D?.defaults){const T=o(D.defaults)?D.defaults[L.type]:D.defaults;return f(T,L)}}getColorSchema(){return this.colorSchema}toString(){const S=(L,D)=>{const T=L.indexOf(".")===-1?0:1,M=D.indexOf(".")===-1?0:1;return T!==M?T-M:L.localeCompare(D)};return Object.keys(this.colorsById).sort(S).map(L=>`- \`${L}\`: ${this.colorsById[L].description}`).join(` +`)}}const i=new t;m.Registry.add(e.Extensions.ColorContribution,i);function s(w,S,L,D,T){return i.registerColor(w,S,L,D,T)}function g(w,S){switch(w.op){case 0:return f(w.value,S)?.darken(w.factor);case 1:return f(w.value,S)?.lighten(w.factor);case 2:return f(w.value,S)?.transparent(w.factor);case 3:{const L=f(w.background,S);return L?f(w.value,S)?.makeOpaque(L):f(w.value,S)}case 4:for(const L of w.values){const D=f(L,S);if(D)return D}return;case 6:return f(S.defines(w.if)?w.then:w.else,S);case 5:{const L=f(w.value,S);if(!L)return;const D=f(w.background,S);return D?L.isDarkerThan(D)?I.Color.getLighterColor(L,D,w.factor).transparent(w.transparency):I.Color.getDarkerColor(L,D,w.factor).transparent(w.transparency):L.transparent(w.factor*w.transparency)}default:throw(0,d.assertNever)(w)}}function c(w,S){return{op:0,value:w,factor:S}}function l(w,S){return{op:1,value:w,factor:S}}function a(w,S){return{op:2,value:w,factor:S}}function r(...w){return{op:4,values:w}}function u(w,S,L){return{op:6,if:w,then:S,else:L}}function C(w,S,L,D){return{op:5,value:w,background:S,factor:L,transparency:D}}function f(w,S){if(w!==null){if(typeof w=="string")return w[0]==="#"?I.Color.fromHex(w):S.getColor(w);if(w instanceof I.Color)return w;if(typeof w=="object")return g(w,S)}}e.workbenchColorsSchemaId="vscode://schemas/workbench-colors";const h=m.Registry.as(y.Extensions.JSONContribution);h.registerSchema(e.workbenchColorsSchemaId,i.getColorSchema());const v=new k.RunOnceScheduler(()=>h.notifySchemaChanged(e.workbenchColorsSchemaId),200);i.onDidChangeSchema(()=>{v.isScheduled()||v.schedule()})}),define(ne[123],se([1,0,3,33,89]),function(oe,e,d,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.textCodeBlockBackground=e.textBlockQuoteBorder=e.textBlockQuoteBackground=e.textPreformatBackground=e.textPreformatForeground=e.textSeparatorForeground=e.textLinkActiveForeground=e.textLinkForeground=e.selectionBackground=e.activeContrastBorder=e.contrastBorder=e.focusBorder=e.iconForeground=e.descriptionForeground=e.errorForeground=e.disabledForeground=e.foreground=void 0,e.foreground=(0,I.registerColor)("foreground",{dark:"#CCCCCC",light:"#616161",hcDark:"#FFFFFF",hcLight:"#292929"},d.localize(1599,"Overall foreground color. This color is only used if not overridden by a component.")),e.disabledForeground=(0,I.registerColor)("disabledForeground",{dark:"#CCCCCC80",light:"#61616180",hcDark:"#A5A5A5",hcLight:"#7F7F7F"},d.localize(1600,"Overall foreground for disabled elements. This color is only used if not overridden by a component.")),e.errorForeground=(0,I.registerColor)("errorForeground",{dark:"#F48771",light:"#A1260D",hcDark:"#F48771",hcLight:"#B5200D"},d.localize(1601,"Overall foreground color for error messages. This color is only used if not overridden by a component.")),e.descriptionForeground=(0,I.registerColor)("descriptionForeground",{light:"#717171",dark:(0,I.transparent)(e.foreground,.7),hcDark:(0,I.transparent)(e.foreground,.7),hcLight:(0,I.transparent)(e.foreground,.7)},d.localize(1602,"Foreground color for description text providing additional information, for example for a label.")),e.iconForeground=(0,I.registerColor)("icon.foreground",{dark:"#C5C5C5",light:"#424242",hcDark:"#FFFFFF",hcLight:"#292929"},d.localize(1603,"The default color for icons in the workbench.")),e.focusBorder=(0,I.registerColor)("focusBorder",{dark:"#007FD4",light:"#0090F1",hcDark:"#F38518",hcLight:"#006BBD"},d.localize(1604,"Overall border color for focused elements. This color is only used if not overridden by a component.")),e.contrastBorder=(0,I.registerColor)("contrastBorder",{light:null,dark:null,hcDark:"#6FC3DF",hcLight:"#0F4A85"},d.localize(1605,"An extra border around elements to separate them from others for greater contrast.")),e.activeContrastBorder=(0,I.registerColor)("contrastActiveBorder",{light:null,dark:null,hcDark:e.focusBorder,hcLight:e.focusBorder},d.localize(1606,"An extra border around active elements to separate them from others for greater contrast.")),e.selectionBackground=(0,I.registerColor)("selection.background",null,d.localize(1607,"The background color of text selections in the workbench (e.g. for input fields or text areas). Note that this does not apply to selections within the editor.")),e.textLinkForeground=(0,I.registerColor)("textLink.foreground",{light:"#006AB1",dark:"#3794FF",hcDark:"#21A6FF",hcLight:"#0F4A85"},d.localize(1608,"Foreground color for links in text.")),e.textLinkActiveForeground=(0,I.registerColor)("textLink.activeForeground",{light:"#006AB1",dark:"#3794FF",hcDark:"#21A6FF",hcLight:"#0F4A85"},d.localize(1609,"Foreground color for links in text when clicked on and on mouse hover.")),e.textSeparatorForeground=(0,I.registerColor)("textSeparator.foreground",{light:"#0000002e",dark:"#ffffff2e",hcDark:k.Color.black,hcLight:"#292929"},d.localize(1610,"Color for text separators.")),e.textPreformatForeground=(0,I.registerColor)("textPreformat.foreground",{light:"#A31515",dark:"#D7BA7D",hcDark:"#000000",hcLight:"#FFFFFF"},d.localize(1611,"Foreground color for preformatted text segments.")),e.textPreformatBackground=(0,I.registerColor)("textPreformat.background",{light:"#0000001A",dark:"#FFFFFF1A",hcDark:"#FFFFFF",hcLight:"#09345f"},d.localize(1612,"Background color for preformatted text segments.")),e.textBlockQuoteBackground=(0,I.registerColor)("textBlockQuote.background",{light:"#f2f2f2",dark:"#222222",hcDark:null,hcLight:"#F2F2F2"},d.localize(1613,"Background color for block quotes in text.")),e.textBlockQuoteBorder=(0,I.registerColor)("textBlockQuote.border",{light:"#007acc80",dark:"#007acc80",hcDark:k.Color.white,hcLight:"#292929"},d.localize(1614,"Border color for block quotes in text.")),e.textCodeBlockBackground=(0,I.registerColor)("textCodeBlock.background",{light:"#dcdcdc66",dark:"#0a0a0a66",hcDark:k.Color.black,hcLight:"#F2F2F2"},d.localize(1615,"Background color for code blocks in text."))}),define(ne[278],se([1,0,3,33,89,123]),function(oe,e,d,k,I,E){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.progressBarBackground=e.scrollbarSliderActiveBackground=e.scrollbarSliderHoverBackground=e.scrollbarSliderBackground=e.scrollbarShadow=e.badgeForeground=e.badgeBackground=e.sashHoverBorder=void 0,e.sashHoverBorder=(0,I.registerColor)("sash.hoverBorder",E.focusBorder,d.localize(1816,"Border color of active sashes.")),e.badgeBackground=(0,I.registerColor)("badge.background",{dark:"#4D4D4D",light:"#C4C4C4",hcDark:k.Color.black,hcLight:"#0F4A85"},d.localize(1817,"Badge background color. Badges are small information labels, e.g. for search results count.")),e.badgeForeground=(0,I.registerColor)("badge.foreground",{dark:k.Color.white,light:"#333",hcDark:k.Color.white,hcLight:k.Color.white},d.localize(1818,"Badge foreground color. Badges are small information labels, e.g. for search results count.")),e.scrollbarShadow=(0,I.registerColor)("scrollbar.shadow",{dark:"#000000",light:"#DDDDDD",hcDark:null,hcLight:null},d.localize(1819,"Scrollbar shadow to indicate that the view is scrolled.")),e.scrollbarSliderBackground=(0,I.registerColor)("scrollbarSlider.background",{dark:k.Color.fromHex("#797979").transparent(.4),light:k.Color.fromHex("#646464").transparent(.4),hcDark:(0,I.transparent)(E.contrastBorder,.6),hcLight:(0,I.transparent)(E.contrastBorder,.4)},d.localize(1820,"Scrollbar slider background color.")),e.scrollbarSliderHoverBackground=(0,I.registerColor)("scrollbarSlider.hoverBackground",{dark:k.Color.fromHex("#646464").transparent(.7),light:k.Color.fromHex("#646464").transparent(.7),hcDark:(0,I.transparent)(E.contrastBorder,.8),hcLight:(0,I.transparent)(E.contrastBorder,.8)},d.localize(1821,"Scrollbar slider background color when hovering.")),e.scrollbarSliderActiveBackground=(0,I.registerColor)("scrollbarSlider.activeBackground",{dark:k.Color.fromHex("#BFBFBF").transparent(.4),light:k.Color.fromHex("#000000").transparent(.6),hcDark:E.contrastBorder,hcLight:E.contrastBorder},d.localize(1822,"Scrollbar slider background color when clicked on.")),e.progressBarBackground=(0,I.registerColor)("progressBar.background",{dark:k.Color.fromHex("#0E70C0"),light:k.Color.fromHex("#0E70C0"),hcDark:E.contrastBorder,hcLight:E.contrastBorder},d.localize(1823,"Background color of the progress bar that can show for long running operations."))}),define(ne[138],se([1,0,3,33,89,123,278]),function(oe,e,d,k,I,E,y){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.problemsInfoIconForeground=e.problemsWarningIconForeground=e.problemsErrorIconForeground=e.overviewRulerSelectionHighlightForeground=e.overviewRulerFindMatchForeground=e.overviewRulerCommonContentForeground=e.overviewRulerIncomingContentForeground=e.overviewRulerCurrentContentForeground=e.mergeBorder=e.mergeCommonContentBackground=e.mergeCommonHeaderBackground=e.mergeIncomingContentBackground=e.mergeIncomingHeaderBackground=e.mergeCurrentContentBackground=e.mergeCurrentHeaderBackground=e.breadcrumbsPickerBackground=e.breadcrumbsActiveSelectionForeground=e.breadcrumbsFocusForeground=e.breadcrumbsBackground=e.breadcrumbsForeground=e.toolbarActiveBackground=e.toolbarHoverOutline=e.toolbarHoverBackground=e.widgetBorder=e.widgetShadow=e.diffUnchangedTextBackground=e.diffUnchangedRegionForeground=e.diffUnchangedRegionBackground=e.diffDiagonalFill=e.diffBorder=e.diffRemovedOutline=e.diffInsertedOutline=e.diffOverviewRulerRemoved=e.diffOverviewRulerInserted=e.diffRemovedLineGutter=e.diffInsertedLineGutter=e.diffRemovedLine=e.diffInsertedLine=e.diffRemoved=e.diffInserted=e.defaultRemoveColor=e.defaultInsertColor=e.snippetFinalTabstopHighlightBorder=e.snippetFinalTabstopHighlightBackground=e.snippetTabstopHighlightBorder=e.snippetTabstopHighlightBackground=e.editorLightBulbAiForeground=e.editorLightBulbAutoFixForeground=e.editorLightBulbForeground=e.editorInlayHintParameterBackground=e.editorInlayHintParameterForeground=e.editorInlayHintTypeBackground=e.editorInlayHintTypeForeground=e.editorInlayHintBackground=e.editorInlayHintForeground=e.editorHoverStatusBarBackground=e.editorHoverBorder=e.editorHoverForeground=e.editorHoverBackground=e.editorHoverHighlight=e.editorFindRangeHighlightBorder=e.editorFindMatchHighlightBorder=e.editorFindMatchBorder=e.editorFindRangeHighlight=e.editorFindMatchHighlightForeground=e.editorFindMatchHighlight=e.editorFindMatchForeground=e.editorFindMatch=e.editorSelectionHighlightBorder=e.editorSelectionHighlight=e.editorInactiveSelection=e.editorSelectionForeground=e.editorSelectionBackground=e.editorActiveLinkForeground=e.editorHintBorder=e.editorHintForeground=e.editorInfoBorder=e.editorInfoForeground=e.editorInfoBackground=e.editorWarningBorder=e.editorWarningForeground=e.editorWarningBackground=e.editorErrorBorder=e.editorErrorForeground=e.editorErrorBackground=e.editorWidgetResizeBorder=e.editorWidgetBorder=e.editorWidgetForeground=e.editorWidgetBackground=e.editorStickyScrollShadow=e.editorStickyScrollBorder=e.editorStickyScrollHoverBackground=e.editorStickyScrollBackground=e.editorForeground=e.editorBackground=void 0,e.editorBackground=(0,I.registerColor)("editor.background",{light:"#ffffff",dark:"#1E1E1E",hcDark:k.Color.black,hcLight:k.Color.white},d.localize(1624,"Editor background color.")),e.editorForeground=(0,I.registerColor)("editor.foreground",{light:"#333333",dark:"#BBBBBB",hcDark:k.Color.white,hcLight:E.foreground},d.localize(1625,"Editor default foreground color.")),e.editorStickyScrollBackground=(0,I.registerColor)("editorStickyScroll.background",e.editorBackground,d.localize(1626,"Background color of sticky scroll in the editor")),e.editorStickyScrollHoverBackground=(0,I.registerColor)("editorStickyScrollHover.background",{dark:"#2A2D2E",light:"#F0F0F0",hcDark:null,hcLight:k.Color.fromHex("#0F4A85").transparent(.1)},d.localize(1627,"Background color of sticky scroll on hover in the editor")),e.editorStickyScrollBorder=(0,I.registerColor)("editorStickyScroll.border",{dark:null,light:null,hcDark:E.contrastBorder,hcLight:E.contrastBorder},d.localize(1628,"Border color of sticky scroll in the editor")),e.editorStickyScrollShadow=(0,I.registerColor)("editorStickyScroll.shadow",y.scrollbarShadow,d.localize(1629," Shadow color of sticky scroll in the editor")),e.editorWidgetBackground=(0,I.registerColor)("editorWidget.background",{dark:"#252526",light:"#F3F3F3",hcDark:"#0C141F",hcLight:k.Color.white},d.localize(1630,"Background color of editor widgets, such as find/replace.")),e.editorWidgetForeground=(0,I.registerColor)("editorWidget.foreground",E.foreground,d.localize(1631,"Foreground color of editor widgets, such as find/replace.")),e.editorWidgetBorder=(0,I.registerColor)("editorWidget.border",{dark:"#454545",light:"#C8C8C8",hcDark:E.contrastBorder,hcLight:E.contrastBorder},d.localize(1632,"Border color of editor widgets. The color is only used if the widget chooses to have a border and if the color is not overridden by a widget.")),e.editorWidgetResizeBorder=(0,I.registerColor)("editorWidget.resizeBorder",null,d.localize(1633,"Border color of the resize bar of editor widgets. The color is only used if the widget chooses to have a resize border and if the color is not overridden by a widget.")),e.editorErrorBackground=(0,I.registerColor)("editorError.background",null,d.localize(1634,"Background color of error text in the editor. The color must not be opaque so as not to hide underlying decorations."),!0),e.editorErrorForeground=(0,I.registerColor)("editorError.foreground",{dark:"#F14C4C",light:"#E51400",hcDark:"#F48771",hcLight:"#B5200D"},d.localize(1635,"Foreground color of error squigglies in the editor.")),e.editorErrorBorder=(0,I.registerColor)("editorError.border",{dark:null,light:null,hcDark:k.Color.fromHex("#E47777").transparent(.8),hcLight:"#B5200D"},d.localize(1636,"If set, color of double underlines for errors in the editor.")),e.editorWarningBackground=(0,I.registerColor)("editorWarning.background",null,d.localize(1637,"Background color of warning text in the editor. The color must not be opaque so as not to hide underlying decorations."),!0),e.editorWarningForeground=(0,I.registerColor)("editorWarning.foreground",{dark:"#CCA700",light:"#BF8803",hcDark:"#FFD370",hcLight:"#895503"},d.localize(1638,"Foreground color of warning squigglies in the editor.")),e.editorWarningBorder=(0,I.registerColor)("editorWarning.border",{dark:null,light:null,hcDark:k.Color.fromHex("#FFCC00").transparent(.8),hcLight:k.Color.fromHex("#FFCC00").transparent(.8)},d.localize(1639,"If set, color of double underlines for warnings in the editor.")),e.editorInfoBackground=(0,I.registerColor)("editorInfo.background",null,d.localize(1640,"Background color of info text in the editor. The color must not be opaque so as not to hide underlying decorations."),!0),e.editorInfoForeground=(0,I.registerColor)("editorInfo.foreground",{dark:"#3794FF",light:"#1a85ff",hcDark:"#3794FF",hcLight:"#1a85ff"},d.localize(1641,"Foreground color of info squigglies in the editor.")),e.editorInfoBorder=(0,I.registerColor)("editorInfo.border",{dark:null,light:null,hcDark:k.Color.fromHex("#3794FF").transparent(.8),hcLight:"#292929"},d.localize(1642,"If set, color of double underlines for infos in the editor.")),e.editorHintForeground=(0,I.registerColor)("editorHint.foreground",{dark:k.Color.fromHex("#eeeeee").transparent(.7),light:"#6c6c6c",hcDark:null,hcLight:null},d.localize(1643,"Foreground color of hint squigglies in the editor.")),e.editorHintBorder=(0,I.registerColor)("editorHint.border",{dark:null,light:null,hcDark:k.Color.fromHex("#eeeeee").transparent(.8),hcLight:"#292929"},d.localize(1644,"If set, color of double underlines for hints in the editor.")),e.editorActiveLinkForeground=(0,I.registerColor)("editorLink.activeForeground",{dark:"#4E94CE",light:k.Color.blue,hcDark:k.Color.cyan,hcLight:"#292929"},d.localize(1645,"Color of active links.")),e.editorSelectionBackground=(0,I.registerColor)("editor.selectionBackground",{light:"#ADD6FF",dark:"#264F78",hcDark:"#f3f518",hcLight:"#0F4A85"},d.localize(1646,"Color of the editor selection.")),e.editorSelectionForeground=(0,I.registerColor)("editor.selectionForeground",{light:null,dark:null,hcDark:"#000000",hcLight:k.Color.white},d.localize(1647,"Color of the selected text for high contrast.")),e.editorInactiveSelection=(0,I.registerColor)("editor.inactiveSelectionBackground",{light:(0,I.transparent)(e.editorSelectionBackground,.5),dark:(0,I.transparent)(e.editorSelectionBackground,.5),hcDark:(0,I.transparent)(e.editorSelectionBackground,.7),hcLight:(0,I.transparent)(e.editorSelectionBackground,.5)},d.localize(1648,"Color of the selection in an inactive editor. The color must not be opaque so as not to hide underlying decorations."),!0),e.editorSelectionHighlight=(0,I.registerColor)("editor.selectionHighlightBackground",{light:(0,I.lessProminent)(e.editorSelectionBackground,e.editorBackground,.3,.6),dark:(0,I.lessProminent)(e.editorSelectionBackground,e.editorBackground,.3,.6),hcDark:null,hcLight:null},d.localize(1649,"Color for regions with the same content as the selection. The color must not be opaque so as not to hide underlying decorations."),!0),e.editorSelectionHighlightBorder=(0,I.registerColor)("editor.selectionHighlightBorder",{light:null,dark:null,hcDark:E.activeContrastBorder,hcLight:E.activeContrastBorder},d.localize(1650,"Border color for regions with the same content as the selection.")),e.editorFindMatch=(0,I.registerColor)("editor.findMatchBackground",{light:"#A8AC94",dark:"#515C6A",hcDark:null,hcLight:null},d.localize(1651,"Color of the current search match.")),e.editorFindMatchForeground=(0,I.registerColor)("editor.findMatchForeground",null,d.localize(1652,"Text color of the current search match.")),e.editorFindMatchHighlight=(0,I.registerColor)("editor.findMatchHighlightBackground",{light:"#EA5C0055",dark:"#EA5C0055",hcDark:null,hcLight:null},d.localize(1653,"Color of the other search matches. The color must not be opaque so as not to hide underlying decorations."),!0),e.editorFindMatchHighlightForeground=(0,I.registerColor)("editor.findMatchHighlightForeground",null,d.localize(1654,"Foreground color of the other search matches."),!0),e.editorFindRangeHighlight=(0,I.registerColor)("editor.findRangeHighlightBackground",{dark:"#3a3d4166",light:"#b4b4b44d",hcDark:null,hcLight:null},d.localize(1655,"Color of the range limiting the search. The color must not be opaque so as not to hide underlying decorations."),!0),e.editorFindMatchBorder=(0,I.registerColor)("editor.findMatchBorder",{light:null,dark:null,hcDark:E.activeContrastBorder,hcLight:E.activeContrastBorder},d.localize(1656,"Border color of the current search match.")),e.editorFindMatchHighlightBorder=(0,I.registerColor)("editor.findMatchHighlightBorder",{light:null,dark:null,hcDark:E.activeContrastBorder,hcLight:E.activeContrastBorder},d.localize(1657,"Border color of the other search matches.")),e.editorFindRangeHighlightBorder=(0,I.registerColor)("editor.findRangeHighlightBorder",{dark:null,light:null,hcDark:(0,I.transparent)(E.activeContrastBorder,.4),hcLight:(0,I.transparent)(E.activeContrastBorder,.4)},d.localize(1658,"Border color of the range limiting the search. The color must not be opaque so as not to hide underlying decorations."),!0),e.editorHoverHighlight=(0,I.registerColor)("editor.hoverHighlightBackground",{light:"#ADD6FF26",dark:"#264f7840",hcDark:"#ADD6FF26",hcLight:null},d.localize(1659,"Highlight below the word for which a hover is shown. The color must not be opaque so as not to hide underlying decorations."),!0),e.editorHoverBackground=(0,I.registerColor)("editorHoverWidget.background",e.editorWidgetBackground,d.localize(1660,"Background color of the editor hover.")),e.editorHoverForeground=(0,I.registerColor)("editorHoverWidget.foreground",e.editorWidgetForeground,d.localize(1661,"Foreground color of the editor hover.")),e.editorHoverBorder=(0,I.registerColor)("editorHoverWidget.border",e.editorWidgetBorder,d.localize(1662,"Border color of the editor hover.")),e.editorHoverStatusBarBackground=(0,I.registerColor)("editorHoverWidget.statusBarBackground",{dark:(0,I.lighten)(e.editorHoverBackground,.2),light:(0,I.darken)(e.editorHoverBackground,.05),hcDark:e.editorWidgetBackground,hcLight:e.editorWidgetBackground},d.localize(1663,"Background color of the editor hover status bar.")),e.editorInlayHintForeground=(0,I.registerColor)("editorInlayHint.foreground",{dark:"#969696",light:"#969696",hcDark:k.Color.white,hcLight:k.Color.black},d.localize(1664,"Foreground color of inline hints")),e.editorInlayHintBackground=(0,I.registerColor)("editorInlayHint.background",{dark:(0,I.transparent)(y.badgeBackground,.1),light:(0,I.transparent)(y.badgeBackground,.1),hcDark:(0,I.transparent)(k.Color.white,.1),hcLight:(0,I.transparent)(y.badgeBackground,.1)},d.localize(1665,"Background color of inline hints")),e.editorInlayHintTypeForeground=(0,I.registerColor)("editorInlayHint.typeForeground",e.editorInlayHintForeground,d.localize(1666,"Foreground color of inline hints for types")),e.editorInlayHintTypeBackground=(0,I.registerColor)("editorInlayHint.typeBackground",e.editorInlayHintBackground,d.localize(1667,"Background color of inline hints for types")),e.editorInlayHintParameterForeground=(0,I.registerColor)("editorInlayHint.parameterForeground",e.editorInlayHintForeground,d.localize(1668,"Foreground color of inline hints for parameters")),e.editorInlayHintParameterBackground=(0,I.registerColor)("editorInlayHint.parameterBackground",e.editorInlayHintBackground,d.localize(1669,"Background color of inline hints for parameters")),e.editorLightBulbForeground=(0,I.registerColor)("editorLightBulb.foreground",{dark:"#FFCC00",light:"#DDB100",hcDark:"#FFCC00",hcLight:"#007ACC"},d.localize(1670,"The color used for the lightbulb actions icon.")),e.editorLightBulbAutoFixForeground=(0,I.registerColor)("editorLightBulbAutoFix.foreground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},d.localize(1671,"The color used for the lightbulb auto fix actions icon.")),e.editorLightBulbAiForeground=(0,I.registerColor)("editorLightBulbAi.foreground",e.editorLightBulbForeground,d.localize(1672,"The color used for the lightbulb AI icon.")),e.snippetTabstopHighlightBackground=(0,I.registerColor)("editor.snippetTabstopHighlightBackground",{dark:new k.Color(new k.RGBA(124,124,124,.3)),light:new k.Color(new k.RGBA(10,50,100,.2)),hcDark:new k.Color(new k.RGBA(124,124,124,.3)),hcLight:new k.Color(new k.RGBA(10,50,100,.2))},d.localize(1673,"Highlight background color of a snippet tabstop.")),e.snippetTabstopHighlightBorder=(0,I.registerColor)("editor.snippetTabstopHighlightBorder",null,d.localize(1674,"Highlight border color of a snippet tabstop.")),e.snippetFinalTabstopHighlightBackground=(0,I.registerColor)("editor.snippetFinalTabstopHighlightBackground",null,d.localize(1675,"Highlight background color of the final tabstop of a snippet.")),e.snippetFinalTabstopHighlightBorder=(0,I.registerColor)("editor.snippetFinalTabstopHighlightBorder",{dark:"#525252",light:new k.Color(new k.RGBA(10,50,100,.5)),hcDark:"#525252",hcLight:"#292929"},d.localize(1676,"Highlight border color of the final tabstop of a snippet.")),e.defaultInsertColor=new k.Color(new k.RGBA(155,185,85,.2)),e.defaultRemoveColor=new k.Color(new k.RGBA(255,0,0,.2)),e.diffInserted=(0,I.registerColor)("diffEditor.insertedTextBackground",{dark:"#9ccc2c33",light:"#9ccc2c40",hcDark:null,hcLight:null},d.localize(1677,"Background color for text that got inserted. The color must not be opaque so as not to hide underlying decorations."),!0),e.diffRemoved=(0,I.registerColor)("diffEditor.removedTextBackground",{dark:"#ff000033",light:"#ff000033",hcDark:null,hcLight:null},d.localize(1678,"Background color for text that got removed. The color must not be opaque so as not to hide underlying decorations."),!0),e.diffInsertedLine=(0,I.registerColor)("diffEditor.insertedLineBackground",{dark:e.defaultInsertColor,light:e.defaultInsertColor,hcDark:null,hcLight:null},d.localize(1679,"Background color for lines that got inserted. The color must not be opaque so as not to hide underlying decorations."),!0),e.diffRemovedLine=(0,I.registerColor)("diffEditor.removedLineBackground",{dark:e.defaultRemoveColor,light:e.defaultRemoveColor,hcDark:null,hcLight:null},d.localize(1680,"Background color for lines that got removed. The color must not be opaque so as not to hide underlying decorations."),!0),e.diffInsertedLineGutter=(0,I.registerColor)("diffEditorGutter.insertedLineBackground",null,d.localize(1681,"Background color for the margin where lines got inserted.")),e.diffRemovedLineGutter=(0,I.registerColor)("diffEditorGutter.removedLineBackground",null,d.localize(1682,"Background color for the margin where lines got removed.")),e.diffOverviewRulerInserted=(0,I.registerColor)("diffEditorOverview.insertedForeground",null,d.localize(1683,"Diff overview ruler foreground for inserted content.")),e.diffOverviewRulerRemoved=(0,I.registerColor)("diffEditorOverview.removedForeground",null,d.localize(1684,"Diff overview ruler foreground for removed content.")),e.diffInsertedOutline=(0,I.registerColor)("diffEditor.insertedTextBorder",{dark:null,light:null,hcDark:"#33ff2eff",hcLight:"#374E06"},d.localize(1685,"Outline color for the text that got inserted.")),e.diffRemovedOutline=(0,I.registerColor)("diffEditor.removedTextBorder",{dark:null,light:null,hcDark:"#FF008F",hcLight:"#AD0707"},d.localize(1686,"Outline color for text that got removed.")),e.diffBorder=(0,I.registerColor)("diffEditor.border",{dark:null,light:null,hcDark:E.contrastBorder,hcLight:E.contrastBorder},d.localize(1687,"Border color between the two text editors.")),e.diffDiagonalFill=(0,I.registerColor)("diffEditor.diagonalFill",{dark:"#cccccc33",light:"#22222233",hcDark:null,hcLight:null},d.localize(1688,"Color of the diff editor's diagonal fill. The diagonal fill is used in side-by-side diff views.")),e.diffUnchangedRegionBackground=(0,I.registerColor)("diffEditor.unchangedRegionBackground","sideBar.background",d.localize(1689,"The background color of unchanged blocks in the diff editor.")),e.diffUnchangedRegionForeground=(0,I.registerColor)("diffEditor.unchangedRegionForeground","foreground",d.localize(1690,"The foreground color of unchanged blocks in the diff editor.")),e.diffUnchangedTextBackground=(0,I.registerColor)("diffEditor.unchangedCodeBackground",{dark:"#74747429",light:"#b8b8b829",hcDark:null,hcLight:null},d.localize(1691,"The background color of unchanged code in the diff editor.")),e.widgetShadow=(0,I.registerColor)("widget.shadow",{dark:(0,I.transparent)(k.Color.black,.36),light:(0,I.transparent)(k.Color.black,.16),hcDark:null,hcLight:null},d.localize(1692,"Shadow color of widgets such as find/replace inside the editor.")),e.widgetBorder=(0,I.registerColor)("widget.border",{dark:null,light:null,hcDark:E.contrastBorder,hcLight:E.contrastBorder},d.localize(1693,"Border color of widgets such as find/replace inside the editor.")),e.toolbarHoverBackground=(0,I.registerColor)("toolbar.hoverBackground",{dark:"#5a5d5e50",light:"#b8b8b850",hcDark:null,hcLight:null},d.localize(1694,"Toolbar background when hovering over actions using the mouse")),e.toolbarHoverOutline=(0,I.registerColor)("toolbar.hoverOutline",{dark:null,light:null,hcDark:E.activeContrastBorder,hcLight:E.activeContrastBorder},d.localize(1695,"Toolbar outline when hovering over actions using the mouse")),e.toolbarActiveBackground=(0,I.registerColor)("toolbar.activeBackground",{dark:(0,I.lighten)(e.toolbarHoverBackground,.1),light:(0,I.darken)(e.toolbarHoverBackground,.1),hcDark:null,hcLight:null},d.localize(1696,"Toolbar background when holding the mouse over actions")),e.breadcrumbsForeground=(0,I.registerColor)("breadcrumb.foreground",(0,I.transparent)(E.foreground,.8),d.localize(1697,"Color of focused breadcrumb items.")),e.breadcrumbsBackground=(0,I.registerColor)("breadcrumb.background",e.editorBackground,d.localize(1698,"Background color of breadcrumb items.")),e.breadcrumbsFocusForeground=(0,I.registerColor)("breadcrumb.focusForeground",{light:(0,I.darken)(E.foreground,.2),dark:(0,I.lighten)(E.foreground,.1),hcDark:(0,I.lighten)(E.foreground,.1),hcLight:(0,I.lighten)(E.foreground,.1)},d.localize(1699,"Color of focused breadcrumb items.")),e.breadcrumbsActiveSelectionForeground=(0,I.registerColor)("breadcrumb.activeSelectionForeground",{light:(0,I.darken)(E.foreground,.2),dark:(0,I.lighten)(E.foreground,.1),hcDark:(0,I.lighten)(E.foreground,.1),hcLight:(0,I.lighten)(E.foreground,.1)},d.localize(1700,"Color of selected breadcrumb items.")),e.breadcrumbsPickerBackground=(0,I.registerColor)("breadcrumbPicker.background",e.editorWidgetBackground,d.localize(1701,"Background color of breadcrumb item picker."));const m=.5,_=k.Color.fromHex("#40C8AE").transparent(m),b=k.Color.fromHex("#40A6FF").transparent(m),p=k.Color.fromHex("#606060").transparent(.4),n=.4,o=1;e.mergeCurrentHeaderBackground=(0,I.registerColor)("merge.currentHeaderBackground",{dark:_,light:_,hcDark:null,hcLight:null},d.localize(1702,"Current header background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0),e.mergeCurrentContentBackground=(0,I.registerColor)("merge.currentContentBackground",(0,I.transparent)(e.mergeCurrentHeaderBackground,n),d.localize(1703,"Current content background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0),e.mergeIncomingHeaderBackground=(0,I.registerColor)("merge.incomingHeaderBackground",{dark:b,light:b,hcDark:null,hcLight:null},d.localize(1704,"Incoming header background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0),e.mergeIncomingContentBackground=(0,I.registerColor)("merge.incomingContentBackground",(0,I.transparent)(e.mergeIncomingHeaderBackground,n),d.localize(1705,"Incoming content background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0),e.mergeCommonHeaderBackground=(0,I.registerColor)("merge.commonHeaderBackground",{dark:p,light:p,hcDark:null,hcLight:null},d.localize(1706,"Common ancestor header background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0),e.mergeCommonContentBackground=(0,I.registerColor)("merge.commonContentBackground",(0,I.transparent)(e.mergeCommonHeaderBackground,n),d.localize(1707,"Common ancestor content background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0),e.mergeBorder=(0,I.registerColor)("merge.border",{dark:null,light:null,hcDark:"#C3DF6F",hcLight:"#007ACC"},d.localize(1708,"Border color on headers and the splitter in inline merge-conflicts.")),e.overviewRulerCurrentContentForeground=(0,I.registerColor)("editorOverviewRuler.currentContentForeground",{dark:(0,I.transparent)(e.mergeCurrentHeaderBackground,o),light:(0,I.transparent)(e.mergeCurrentHeaderBackground,o),hcDark:e.mergeBorder,hcLight:e.mergeBorder},d.localize(1709,"Current overview ruler foreground for inline merge-conflicts.")),e.overviewRulerIncomingContentForeground=(0,I.registerColor)("editorOverviewRuler.incomingContentForeground",{dark:(0,I.transparent)(e.mergeIncomingHeaderBackground,o),light:(0,I.transparent)(e.mergeIncomingHeaderBackground,o),hcDark:e.mergeBorder,hcLight:e.mergeBorder},d.localize(1710,"Incoming overview ruler foreground for inline merge-conflicts.")),e.overviewRulerCommonContentForeground=(0,I.registerColor)("editorOverviewRuler.commonContentForeground",{dark:(0,I.transparent)(e.mergeCommonHeaderBackground,o),light:(0,I.transparent)(e.mergeCommonHeaderBackground,o),hcDark:e.mergeBorder,hcLight:e.mergeBorder},d.localize(1711,"Common ancestor overview ruler foreground for inline merge-conflicts.")),e.overviewRulerFindMatchForeground=(0,I.registerColor)("editorOverviewRuler.findMatchForeground",{dark:"#d186167e",light:"#d186167e",hcDark:"#AB5A00",hcLight:"#AB5A00"},d.localize(1712,"Overview ruler marker color for find matches. The color must not be opaque so as not to hide underlying decorations."),!0),e.overviewRulerSelectionHighlightForeground=(0,I.registerColor)("editorOverviewRuler.selectionHighlightForeground","#A0A0A0CC",d.localize(1713,"Overview ruler marker color for selection highlights. The color must not be opaque so as not to hide underlying decorations."),!0),e.problemsErrorIconForeground=(0,I.registerColor)("problemsErrorIcon.foreground",e.editorErrorForeground,d.localize(1714,"The color used for the problems error icon.")),e.problemsWarningIconForeground=(0,I.registerColor)("problemsWarningIcon.foreground",e.editorWarningForeground,d.localize(1715,"The color used for the problems warning icon.")),e.problemsInfoIconForeground=(0,I.registerColor)("problemsInfoIcon.foreground",e.editorInfoForeground,d.localize(1716,"The color used for the problems info icon."))}),define(ne[412],se([1,0,3,33,89,123,138]),function(oe,e,d,k,I,E,y){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.keybindingLabelBottomBorder=e.keybindingLabelBorder=e.keybindingLabelForeground=e.keybindingLabelBackground=e.checkboxSelectBorder=e.checkboxBorder=e.checkboxForeground=e.checkboxSelectBackground=e.checkboxBackground=e.radioInactiveHoverBackground=e.radioInactiveBorder=e.radioInactiveBackground=e.radioInactiveForeground=e.radioActiveBorder=e.radioActiveBackground=e.radioActiveForeground=e.buttonSecondaryHoverBackground=e.buttonSecondaryBackground=e.buttonSecondaryForeground=e.buttonBorder=e.buttonHoverBackground=e.buttonBackground=e.buttonSeparator=e.buttonForeground=e.selectBorder=e.selectForeground=e.selectListBackground=e.selectBackground=e.inputValidationErrorBorder=e.inputValidationErrorForeground=e.inputValidationErrorBackground=e.inputValidationWarningBorder=e.inputValidationWarningForeground=e.inputValidationWarningBackground=e.inputValidationInfoBorder=e.inputValidationInfoForeground=e.inputValidationInfoBackground=e.inputPlaceholderForeground=e.inputActiveOptionForeground=e.inputActiveOptionBackground=e.inputActiveOptionHoverBackground=e.inputActiveOptionBorder=e.inputBorder=e.inputForeground=e.inputBackground=void 0,e.inputBackground=(0,I.registerColor)("input.background",{dark:"#3C3C3C",light:k.Color.white,hcDark:k.Color.black,hcLight:k.Color.white},d.localize(1717,"Input box background.")),e.inputForeground=(0,I.registerColor)("input.foreground",E.foreground,d.localize(1718,"Input box foreground.")),e.inputBorder=(0,I.registerColor)("input.border",{dark:null,light:null,hcDark:E.contrastBorder,hcLight:E.contrastBorder},d.localize(1719,"Input box border.")),e.inputActiveOptionBorder=(0,I.registerColor)("inputOption.activeBorder",{dark:"#007ACC",light:"#007ACC",hcDark:E.contrastBorder,hcLight:E.contrastBorder},d.localize(1720,"Border color of activated options in input fields.")),e.inputActiveOptionHoverBackground=(0,I.registerColor)("inputOption.hoverBackground",{dark:"#5a5d5e80",light:"#b8b8b850",hcDark:null,hcLight:null},d.localize(1721,"Background color of activated options in input fields.")),e.inputActiveOptionBackground=(0,I.registerColor)("inputOption.activeBackground",{dark:(0,I.transparent)(E.focusBorder,.4),light:(0,I.transparent)(E.focusBorder,.2),hcDark:k.Color.transparent,hcLight:k.Color.transparent},d.localize(1722,"Background hover color of options in input fields.")),e.inputActiveOptionForeground=(0,I.registerColor)("inputOption.activeForeground",{dark:k.Color.white,light:k.Color.black,hcDark:E.foreground,hcLight:E.foreground},d.localize(1723,"Foreground color of activated options in input fields.")),e.inputPlaceholderForeground=(0,I.registerColor)("input.placeholderForeground",{light:(0,I.transparent)(E.foreground,.5),dark:(0,I.transparent)(E.foreground,.5),hcDark:(0,I.transparent)(E.foreground,.7),hcLight:(0,I.transparent)(E.foreground,.7)},d.localize(1724,"Input box foreground color for placeholder text.")),e.inputValidationInfoBackground=(0,I.registerColor)("inputValidation.infoBackground",{dark:"#063B49",light:"#D6ECF2",hcDark:k.Color.black,hcLight:k.Color.white},d.localize(1725,"Input validation background color for information severity.")),e.inputValidationInfoForeground=(0,I.registerColor)("inputValidation.infoForeground",{dark:null,light:null,hcDark:null,hcLight:E.foreground},d.localize(1726,"Input validation foreground color for information severity.")),e.inputValidationInfoBorder=(0,I.registerColor)("inputValidation.infoBorder",{dark:"#007acc",light:"#007acc",hcDark:E.contrastBorder,hcLight:E.contrastBorder},d.localize(1727,"Input validation border color for information severity.")),e.inputValidationWarningBackground=(0,I.registerColor)("inputValidation.warningBackground",{dark:"#352A05",light:"#F6F5D2",hcDark:k.Color.black,hcLight:k.Color.white},d.localize(1728,"Input validation background color for warning severity.")),e.inputValidationWarningForeground=(0,I.registerColor)("inputValidation.warningForeground",{dark:null,light:null,hcDark:null,hcLight:E.foreground},d.localize(1729,"Input validation foreground color for warning severity.")),e.inputValidationWarningBorder=(0,I.registerColor)("inputValidation.warningBorder",{dark:"#B89500",light:"#B89500",hcDark:E.contrastBorder,hcLight:E.contrastBorder},d.localize(1730,"Input validation border color for warning severity.")),e.inputValidationErrorBackground=(0,I.registerColor)("inputValidation.errorBackground",{dark:"#5A1D1D",light:"#F2DEDE",hcDark:k.Color.black,hcLight:k.Color.white},d.localize(1731,"Input validation background color for error severity.")),e.inputValidationErrorForeground=(0,I.registerColor)("inputValidation.errorForeground",{dark:null,light:null,hcDark:null,hcLight:E.foreground},d.localize(1732,"Input validation foreground color for error severity.")),e.inputValidationErrorBorder=(0,I.registerColor)("inputValidation.errorBorder",{dark:"#BE1100",light:"#BE1100",hcDark:E.contrastBorder,hcLight:E.contrastBorder},d.localize(1733,"Input validation border color for error severity.")),e.selectBackground=(0,I.registerColor)("dropdown.background",{dark:"#3C3C3C",light:k.Color.white,hcDark:k.Color.black,hcLight:k.Color.white},d.localize(1734,"Dropdown background.")),e.selectListBackground=(0,I.registerColor)("dropdown.listBackground",{dark:null,light:null,hcDark:k.Color.black,hcLight:k.Color.white},d.localize(1735,"Dropdown list background.")),e.selectForeground=(0,I.registerColor)("dropdown.foreground",{dark:"#F0F0F0",light:E.foreground,hcDark:k.Color.white,hcLight:E.foreground},d.localize(1736,"Dropdown foreground.")),e.selectBorder=(0,I.registerColor)("dropdown.border",{dark:e.selectBackground,light:"#CECECE",hcDark:E.contrastBorder,hcLight:E.contrastBorder},d.localize(1737,"Dropdown border.")),e.buttonForeground=(0,I.registerColor)("button.foreground",k.Color.white,d.localize(1738,"Button foreground color.")),e.buttonSeparator=(0,I.registerColor)("button.separator",(0,I.transparent)(e.buttonForeground,.4),d.localize(1739,"Button separator color.")),e.buttonBackground=(0,I.registerColor)("button.background",{dark:"#0E639C",light:"#007ACC",hcDark:null,hcLight:"#0F4A85"},d.localize(1740,"Button background color.")),e.buttonHoverBackground=(0,I.registerColor)("button.hoverBackground",{dark:(0,I.lighten)(e.buttonBackground,.2),light:(0,I.darken)(e.buttonBackground,.2),hcDark:e.buttonBackground,hcLight:e.buttonBackground},d.localize(1741,"Button background color when hovering.")),e.buttonBorder=(0,I.registerColor)("button.border",E.contrastBorder,d.localize(1742,"Button border color.")),e.buttonSecondaryForeground=(0,I.registerColor)("button.secondaryForeground",{dark:k.Color.white,light:k.Color.white,hcDark:k.Color.white,hcLight:E.foreground},d.localize(1743,"Secondary button foreground color.")),e.buttonSecondaryBackground=(0,I.registerColor)("button.secondaryBackground",{dark:"#3A3D41",light:"#5F6A79",hcDark:null,hcLight:k.Color.white},d.localize(1744,"Secondary button background color.")),e.buttonSecondaryHoverBackground=(0,I.registerColor)("button.secondaryHoverBackground",{dark:(0,I.lighten)(e.buttonSecondaryBackground,.2),light:(0,I.darken)(e.buttonSecondaryBackground,.2),hcDark:null,hcLight:null},d.localize(1745,"Secondary button background color when hovering.")),e.radioActiveForeground=(0,I.registerColor)("radio.activeForeground",e.inputActiveOptionForeground,d.localize(1746,"Foreground color of active radio option.")),e.radioActiveBackground=(0,I.registerColor)("radio.activeBackground",e.inputActiveOptionBackground,d.localize(1747,"Background color of active radio option.")),e.radioActiveBorder=(0,I.registerColor)("radio.activeBorder",e.inputActiveOptionBorder,d.localize(1748,"Border color of the active radio option.")),e.radioInactiveForeground=(0,I.registerColor)("radio.inactiveForeground",null,d.localize(1749,"Foreground color of inactive radio option.")),e.radioInactiveBackground=(0,I.registerColor)("radio.inactiveBackground",null,d.localize(1750,"Background color of inactive radio option.")),e.radioInactiveBorder=(0,I.registerColor)("radio.inactiveBorder",{light:(0,I.transparent)(e.radioActiveForeground,.2),dark:(0,I.transparent)(e.radioActiveForeground,.2),hcDark:(0,I.transparent)(e.radioActiveForeground,.4),hcLight:(0,I.transparent)(e.radioActiveForeground,.2)},d.localize(1751,"Border color of the inactive radio option.")),e.radioInactiveHoverBackground=(0,I.registerColor)("radio.inactiveHoverBackground",e.inputActiveOptionHoverBackground,d.localize(1752,"Background color of inactive active radio option when hovering.")),e.checkboxBackground=(0,I.registerColor)("checkbox.background",e.selectBackground,d.localize(1753,"Background color of checkbox widget.")),e.checkboxSelectBackground=(0,I.registerColor)("checkbox.selectBackground",y.editorWidgetBackground,d.localize(1754,"Background color of checkbox widget when the element it's in is selected.")),e.checkboxForeground=(0,I.registerColor)("checkbox.foreground",e.selectForeground,d.localize(1755,"Foreground color of checkbox widget.")),e.checkboxBorder=(0,I.registerColor)("checkbox.border",e.selectBorder,d.localize(1756,"Border color of checkbox widget.")),e.checkboxSelectBorder=(0,I.registerColor)("checkbox.selectBorder",E.iconForeground,d.localize(1757,"Border color of checkbox widget when the element it's in is selected.")),e.keybindingLabelBackground=(0,I.registerColor)("keybindingLabel.background",{dark:new k.Color(new k.RGBA(128,128,128,.17)),light:new k.Color(new k.RGBA(221,221,221,.4)),hcDark:k.Color.transparent,hcLight:k.Color.transparent},d.localize(1758,"Keybinding label background color. The keybinding label is used to represent a keyboard shortcut.")),e.keybindingLabelForeground=(0,I.registerColor)("keybindingLabel.foreground",{dark:k.Color.fromHex("#CCCCCC"),light:k.Color.fromHex("#555555"),hcDark:k.Color.white,hcLight:E.foreground},d.localize(1759,"Keybinding label foreground color. The keybinding label is used to represent a keyboard shortcut.")),e.keybindingLabelBorder=(0,I.registerColor)("keybindingLabel.border",{dark:new k.Color(new k.RGBA(51,51,51,.6)),light:new k.Color(new k.RGBA(204,204,204,.4)),hcDark:new k.Color(new k.RGBA(111,195,223)),hcLight:E.contrastBorder},d.localize(1760,"Keybinding label border color. The keybinding label is used to represent a keyboard shortcut.")),e.keybindingLabelBottomBorder=(0,I.registerColor)("keybindingLabel.bottomBorder",{dark:new k.Color(new k.RGBA(68,68,68,.6)),light:new k.Color(new k.RGBA(187,187,187,.4)),hcDark:new k.Color(new k.RGBA(111,195,223)),hcLight:E.foreground},d.localize(1761,"Keybinding label border bottom color. The keybinding label is used to represent a keyboard shortcut."))}),define(ne[279],se([1,0,3,33,89,123,138]),function(oe,e,d,k,I,E,y){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.editorActionListFocusBackground=e.editorActionListFocusForeground=e.editorActionListForeground=e.editorActionListBackground=e.tableOddRowsBackgroundColor=e.tableColumnsBorder=e.treeInactiveIndentGuidesStroke=e.treeIndentGuidesStroke=e.listDeemphasizedForeground=e.listFilterMatchHighlightBorder=e.listFilterMatchHighlight=e.listFilterWidgetShadow=e.listFilterWidgetNoMatchesOutline=e.listFilterWidgetOutline=e.listFilterWidgetBackground=e.listWarningForeground=e.listErrorForeground=e.listInvalidItemForeground=e.listFocusHighlightForeground=e.listHighlightForeground=e.listDropBetweenBackground=e.listDropOverBackground=e.listHoverForeground=e.listHoverBackground=e.listInactiveFocusOutline=e.listInactiveFocusBackground=e.listInactiveSelectionIconForeground=e.listInactiveSelectionForeground=e.listInactiveSelectionBackground=e.listActiveSelectionIconForeground=e.listActiveSelectionForeground=e.listActiveSelectionBackground=e.listFocusAndSelectionOutline=e.listFocusOutline=e.listFocusForeground=e.listFocusBackground=void 0,e.listFocusBackground=(0,I.registerColor)("list.focusBackground",null,d.localize(1762,"List/Tree background color for the focused item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.")),e.listFocusForeground=(0,I.registerColor)("list.focusForeground",null,d.localize(1763,"List/Tree foreground color for the focused item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.")),e.listFocusOutline=(0,I.registerColor)("list.focusOutline",{dark:E.focusBorder,light:E.focusBorder,hcDark:E.activeContrastBorder,hcLight:E.activeContrastBorder},d.localize(1764,"List/Tree outline color for the focused item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.")),e.listFocusAndSelectionOutline=(0,I.registerColor)("list.focusAndSelectionOutline",null,d.localize(1765,"List/Tree outline color for the focused item when the list/tree is active and selected. An active list/tree has keyboard focus, an inactive does not.")),e.listActiveSelectionBackground=(0,I.registerColor)("list.activeSelectionBackground",{dark:"#04395E",light:"#0060C0",hcDark:null,hcLight:k.Color.fromHex("#0F4A85").transparent(.1)},d.localize(1766,"List/Tree background color for the selected item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.")),e.listActiveSelectionForeground=(0,I.registerColor)("list.activeSelectionForeground",{dark:k.Color.white,light:k.Color.white,hcDark:null,hcLight:null},d.localize(1767,"List/Tree foreground color for the selected item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.")),e.listActiveSelectionIconForeground=(0,I.registerColor)("list.activeSelectionIconForeground",null,d.localize(1768,"List/Tree icon foreground color for the selected item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.")),e.listInactiveSelectionBackground=(0,I.registerColor)("list.inactiveSelectionBackground",{dark:"#37373D",light:"#E4E6F1",hcDark:null,hcLight:k.Color.fromHex("#0F4A85").transparent(.1)},d.localize(1769,"List/Tree background color for the selected item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.")),e.listInactiveSelectionForeground=(0,I.registerColor)("list.inactiveSelectionForeground",null,d.localize(1770,"List/Tree foreground color for the selected item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.")),e.listInactiveSelectionIconForeground=(0,I.registerColor)("list.inactiveSelectionIconForeground",null,d.localize(1771,"List/Tree icon foreground color for the selected item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.")),e.listInactiveFocusBackground=(0,I.registerColor)("list.inactiveFocusBackground",null,d.localize(1772,"List/Tree background color for the focused item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.")),e.listInactiveFocusOutline=(0,I.registerColor)("list.inactiveFocusOutline",null,d.localize(1773,"List/Tree outline color for the focused item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.")),e.listHoverBackground=(0,I.registerColor)("list.hoverBackground",{dark:"#2A2D2E",light:"#F0F0F0",hcDark:k.Color.white.transparent(.1),hcLight:k.Color.fromHex("#0F4A85").transparent(.1)},d.localize(1774,"List/Tree background when hovering over items using the mouse.")),e.listHoverForeground=(0,I.registerColor)("list.hoverForeground",null,d.localize(1775,"List/Tree foreground when hovering over items using the mouse.")),e.listDropOverBackground=(0,I.registerColor)("list.dropBackground",{dark:"#062F4A",light:"#D6EBFF",hcDark:null,hcLight:null},d.localize(1776,"List/Tree drag and drop background when moving items over other items when using the mouse.")),e.listDropBetweenBackground=(0,I.registerColor)("list.dropBetweenBackground",{dark:E.iconForeground,light:E.iconForeground,hcDark:null,hcLight:null},d.localize(1777,"List/Tree drag and drop border color when moving items between items when using the mouse.")),e.listHighlightForeground=(0,I.registerColor)("list.highlightForeground",{dark:"#2AAAFF",light:"#0066BF",hcDark:E.focusBorder,hcLight:E.focusBorder},d.localize(1778,"List/Tree foreground color of the match highlights when searching inside the list/tree.")),e.listFocusHighlightForeground=(0,I.registerColor)("list.focusHighlightForeground",{dark:e.listHighlightForeground,light:(0,I.ifDefinedThenElse)(e.listActiveSelectionBackground,e.listHighlightForeground,"#BBE7FF"),hcDark:e.listHighlightForeground,hcLight:e.listHighlightForeground},d.localize(1779,"List/Tree foreground color of the match highlights on actively focused items when searching inside the list/tree.")),e.listInvalidItemForeground=(0,I.registerColor)("list.invalidItemForeground",{dark:"#B89500",light:"#B89500",hcDark:"#B89500",hcLight:"#B5200D"},d.localize(1780,"List/Tree foreground color for invalid items, for example an unresolved root in explorer.")),e.listErrorForeground=(0,I.registerColor)("list.errorForeground",{dark:"#F88070",light:"#B01011",hcDark:null,hcLight:null},d.localize(1781,"Foreground color of list items containing errors.")),e.listWarningForeground=(0,I.registerColor)("list.warningForeground",{dark:"#CCA700",light:"#855F00",hcDark:null,hcLight:null},d.localize(1782,"Foreground color of list items containing warnings.")),e.listFilterWidgetBackground=(0,I.registerColor)("listFilterWidget.background",{light:(0,I.darken)(y.editorWidgetBackground,0),dark:(0,I.lighten)(y.editorWidgetBackground,0),hcDark:y.editorWidgetBackground,hcLight:y.editorWidgetBackground},d.localize(1783,"Background color of the type filter widget in lists and trees.")),e.listFilterWidgetOutline=(0,I.registerColor)("listFilterWidget.outline",{dark:k.Color.transparent,light:k.Color.transparent,hcDark:"#f38518",hcLight:"#007ACC"},d.localize(1784,"Outline color of the type filter widget in lists and trees.")),e.listFilterWidgetNoMatchesOutline=(0,I.registerColor)("listFilterWidget.noMatchesOutline",{dark:"#BE1100",light:"#BE1100",hcDark:E.contrastBorder,hcLight:E.contrastBorder},d.localize(1785,"Outline color of the type filter widget in lists and trees, when there are no matches.")),e.listFilterWidgetShadow=(0,I.registerColor)("listFilterWidget.shadow",y.widgetShadow,d.localize(1786,"Shadow color of the type filter widget in lists and trees.")),e.listFilterMatchHighlight=(0,I.registerColor)("list.filterMatchBackground",{dark:y.editorFindMatchHighlight,light:y.editorFindMatchHighlight,hcDark:null,hcLight:null},d.localize(1787,"Background color of the filtered match.")),e.listFilterMatchHighlightBorder=(0,I.registerColor)("list.filterMatchBorder",{dark:y.editorFindMatchHighlightBorder,light:y.editorFindMatchHighlightBorder,hcDark:E.contrastBorder,hcLight:E.activeContrastBorder},d.localize(1788,"Border color of the filtered match.")),e.listDeemphasizedForeground=(0,I.registerColor)("list.deemphasizedForeground",{dark:"#8C8C8C",light:"#8E8E90",hcDark:"#A7A8A9",hcLight:"#666666"},d.localize(1789,"List/Tree foreground color for items that are deemphasized.")),e.treeIndentGuidesStroke=(0,I.registerColor)("tree.indentGuidesStroke",{dark:"#585858",light:"#a9a9a9",hcDark:"#a9a9a9",hcLight:"#a5a5a5"},d.localize(1790,"Tree stroke color for the indentation guides.")),e.treeInactiveIndentGuidesStroke=(0,I.registerColor)("tree.inactiveIndentGuidesStroke",(0,I.transparent)(e.treeIndentGuidesStroke,.4),d.localize(1791,"Tree stroke color for the indentation guides that are not active.")),e.tableColumnsBorder=(0,I.registerColor)("tree.tableColumnsBorder",{dark:"#CCCCCC20",light:"#61616120",hcDark:null,hcLight:null},d.localize(1792,"Table border color between columns.")),e.tableOddRowsBackgroundColor=(0,I.registerColor)("tree.tableOddRowsBackground",{dark:(0,I.transparent)(E.foreground,.04),light:(0,I.transparent)(E.foreground,.04),hcDark:null,hcLight:null},d.localize(1793,"Background color for odd table rows.")),e.editorActionListBackground=(0,I.registerColor)("editorActionList.background",y.editorWidgetBackground,d.localize(1794,"Action List background color.")),e.editorActionListForeground=(0,I.registerColor)("editorActionList.foreground",y.editorWidgetForeground,d.localize(1795,"Action List foreground color.")),e.editorActionListFocusForeground=(0,I.registerColor)("editorActionList.focusForeground",e.listActiveSelectionForeground,d.localize(1796,"Action List foreground color for the focused item.")),e.editorActionListFocusBackground=(0,I.registerColor)("editorActionList.focusBackground",e.listActiveSelectionBackground,d.localize(1797,"Action List background color for the focused item."))}),define(ne[751],se([1,0,3,89,123,412,279]),function(oe,e,d,k,I,E,y){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.menuSeparatorBackground=e.menuSelectionBorder=e.menuSelectionBackground=e.menuSelectionForeground=e.menuBackground=e.menuForeground=e.menuBorder=void 0,e.menuBorder=(0,k.registerColor)("menu.border",{dark:null,light:null,hcDark:I.contrastBorder,hcLight:I.contrastBorder},d.localize(1798,"Border color of menus.")),e.menuForeground=(0,k.registerColor)("menu.foreground",E.selectForeground,d.localize(1799,"Foreground color of menu items.")),e.menuBackground=(0,k.registerColor)("menu.background",E.selectBackground,d.localize(1800,"Background color of menu items.")),e.menuSelectionForeground=(0,k.registerColor)("menu.selectionForeground",y.listActiveSelectionForeground,d.localize(1801,"Foreground color of the selected menu item in menus.")),e.menuSelectionBackground=(0,k.registerColor)("menu.selectionBackground",y.listActiveSelectionBackground,d.localize(1802,"Background color of the selected menu item in menus.")),e.menuSelectionBorder=(0,k.registerColor)("menu.selectionBorder",{dark:null,light:null,hcDark:I.activeContrastBorder,hcLight:I.activeContrastBorder},d.localize(1803,"Border color of the selected menu item in menus.")),e.menuSeparatorBackground=(0,k.registerColor)("menu.separatorBackground",{dark:"#606060",light:"#D4D4D4",hcDark:I.contrastBorder,hcLight:I.contrastBorder},d.localize(1804,"Color of a separator menu item in menus."))}),define(ne[413],se([1,0,3,33,89,138,278]),function(oe,e,d,k,I,E,y){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.minimapSliderActiveBackground=e.minimapSliderHoverBackground=e.minimapSliderBackground=e.minimapForegroundOpacity=e.minimapBackground=e.minimapError=e.minimapWarning=e.minimapInfo=e.minimapSelection=e.minimapSelectionOccurrenceHighlight=e.minimapFindMatch=void 0,e.minimapFindMatch=(0,I.registerColor)("minimap.findMatchHighlight",{light:"#d18616",dark:"#d18616",hcDark:"#AB5A00",hcLight:"#0F4A85"},d.localize(1805,"Minimap marker color for find matches."),!0),e.minimapSelectionOccurrenceHighlight=(0,I.registerColor)("minimap.selectionOccurrenceHighlight",{light:"#c9c9c9",dark:"#676767",hcDark:"#ffffff",hcLight:"#0F4A85"},d.localize(1806,"Minimap marker color for repeating editor selections."),!0),e.minimapSelection=(0,I.registerColor)("minimap.selectionHighlight",{light:"#ADD6FF",dark:"#264F78",hcDark:"#ffffff",hcLight:"#0F4A85"},d.localize(1807,"Minimap marker color for the editor selection."),!0),e.minimapInfo=(0,I.registerColor)("minimap.infoHighlight",{dark:E.editorInfoForeground,light:E.editorInfoForeground,hcDark:E.editorInfoBorder,hcLight:E.editorInfoBorder},d.localize(1808,"Minimap marker color for infos.")),e.minimapWarning=(0,I.registerColor)("minimap.warningHighlight",{dark:E.editorWarningForeground,light:E.editorWarningForeground,hcDark:E.editorWarningBorder,hcLight:E.editorWarningBorder},d.localize(1809,"Minimap marker color for warnings.")),e.minimapError=(0,I.registerColor)("minimap.errorHighlight",{dark:new k.Color(new k.RGBA(255,18,18,.7)),light:new k.Color(new k.RGBA(255,18,18,.7)),hcDark:new k.Color(new k.RGBA(255,50,50,1)),hcLight:"#B5200D"},d.localize(1810,"Minimap marker color for errors.")),e.minimapBackground=(0,I.registerColor)("minimap.background",null,d.localize(1811,"Minimap background color.")),e.minimapForegroundOpacity=(0,I.registerColor)("minimap.foregroundOpacity",k.Color.fromHex("#000f"),d.localize(1812,'Opacity of foreground elements rendered in the minimap. For example, "#000000c0" will render the elements with 75% opacity.')),e.minimapSliderBackground=(0,I.registerColor)("minimapSlider.background",(0,I.transparent)(y.scrollbarSliderBackground,.5),d.localize(1813,"Minimap slider background color.")),e.minimapSliderHoverBackground=(0,I.registerColor)("minimapSlider.hoverBackground",(0,I.transparent)(y.scrollbarSliderHoverBackground,.5),d.localize(1814,"Minimap slider background color when hovering.")),e.minimapSliderActiveBackground=(0,I.registerColor)("minimapSlider.activeBackground",(0,I.transparent)(y.scrollbarSliderActiveBackground,.5),d.localize(1815,"Minimap slider background color when clicked on."))}),define(ne[752],se([1,0,3,89,123,138,413]),function(oe,e,d,k,I,E,y){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.chartsPurple=e.chartsGreen=e.chartsOrange=e.chartsYellow=e.chartsBlue=e.chartsRed=e.chartsLines=e.chartsForeground=void 0,e.chartsForeground=(0,k.registerColor)("charts.foreground",I.foreground,d.localize(1616,"The foreground color used in charts.")),e.chartsLines=(0,k.registerColor)("charts.lines",(0,k.transparent)(I.foreground,.5),d.localize(1617,"The color used for horizontal lines in charts.")),e.chartsRed=(0,k.registerColor)("charts.red",E.editorErrorForeground,d.localize(1618,"The red color used in chart visualizations.")),e.chartsBlue=(0,k.registerColor)("charts.blue",E.editorInfoForeground,d.localize(1619,"The blue color used in chart visualizations.")),e.chartsYellow=(0,k.registerColor)("charts.yellow",E.editorWarningForeground,d.localize(1620,"The yellow color used in chart visualizations.")),e.chartsOrange=(0,k.registerColor)("charts.orange",y.minimapFindMatch,d.localize(1621,"The orange color used in chart visualizations.")),e.chartsGreen=(0,k.registerColor)("charts.green",{dark:"#89D185",light:"#388A34",hcDark:"#89D185",hcLight:"#374e06"},d.localize(1622,"The green color used in chart visualizations.")),e.chartsPurple=(0,k.registerColor)("charts.purple",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},d.localize(1623,"The purple color used in chart visualizations."))}),define(ne[753],se([1,0,3,33,89,138,279]),function(oe,e,d,k,I,E,y){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.quickInputListFocusBackground=e.quickInputListFocusIconForeground=e.quickInputListFocusForeground=e._deprecatedQuickInputListFocusBackground=e.pickerGroupBorder=e.pickerGroupForeground=e.quickInputTitleBackground=e.quickInputForeground=e.quickInputBackground=void 0,e.quickInputBackground=(0,I.registerColor)("quickInput.background",E.editorWidgetBackground,d.localize(1824,"Quick picker background color. The quick picker widget is the container for pickers like the command palette.")),e.quickInputForeground=(0,I.registerColor)("quickInput.foreground",E.editorWidgetForeground,d.localize(1825,"Quick picker foreground color. The quick picker widget is the container for pickers like the command palette.")),e.quickInputTitleBackground=(0,I.registerColor)("quickInputTitle.background",{dark:new k.Color(new k.RGBA(255,255,255,.105)),light:new k.Color(new k.RGBA(0,0,0,.06)),hcDark:"#000000",hcLight:k.Color.white},d.localize(1826,"Quick picker title background color. The quick picker widget is the container for pickers like the command palette.")),e.pickerGroupForeground=(0,I.registerColor)("pickerGroup.foreground",{dark:"#3794FF",light:"#0066BF",hcDark:k.Color.white,hcLight:"#0F4A85"},d.localize(1827,"Quick picker color for grouping labels.")),e.pickerGroupBorder=(0,I.registerColor)("pickerGroup.border",{dark:"#3F3F46",light:"#CCCEDB",hcDark:k.Color.white,hcLight:"#0F4A85"},d.localize(1828,"Quick picker color for grouping borders.")),e._deprecatedQuickInputListFocusBackground=(0,I.registerColor)("quickInput.list.focusBackground",null,"",void 0,d.localize(1829,"Please use quickInputList.focusBackground instead")),e.quickInputListFocusForeground=(0,I.registerColor)("quickInputList.focusForeground",y.listActiveSelectionForeground,d.localize(1830,"Quick picker foreground color for the focused item.")),e.quickInputListFocusIconForeground=(0,I.registerColor)("quickInputList.focusIconForeground",y.listActiveSelectionIconForeground,d.localize(1831,"Quick picker icon foreground color for the focused item.")),e.quickInputListFocusBackground=(0,I.registerColor)("quickInputList.focusBackground",{dark:(0,I.oneOf)(e._deprecatedQuickInputListFocusBackground,y.listActiveSelectionBackground),light:(0,I.oneOf)(e._deprecatedQuickInputListFocusBackground,y.listActiveSelectionBackground),hcDark:null,hcLight:null},d.localize(1832,"Quick picker background color for the focused item."))}),define(ne[754],se([1,0,3,89,123,138]),function(oe,e,d,k,I,E){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.searchEditorFindMatchBorder=e.searchEditorFindMatch=e.searchResultsInfoForeground=void 0,e.searchResultsInfoForeground=(0,k.registerColor)("search.resultsInfoForeground",{light:I.foreground,dark:(0,k.transparent)(I.foreground,.65),hcDark:I.foreground,hcLight:I.foreground},d.localize(1833,"Color of the text in the search viewlet's completion message.")),e.searchEditorFindMatch=(0,k.registerColor)("searchEditor.findMatchBackground",{light:(0,k.transparent)(E.editorFindMatchHighlight,.66),dark:(0,k.transparent)(E.editorFindMatchHighlight,.66),hcDark:E.editorFindMatchHighlight,hcLight:E.editorFindMatchHighlight},d.localize(1834,"Color of the Search Editor query matches.")),e.searchEditorFindMatchBorder=(0,k.registerColor)("searchEditor.findMatchBorder",{light:(0,k.transparent)(E.editorFindMatchHighlightBorder,.66),dark:(0,k.transparent)(E.editorFindMatchHighlightBorder,.66),hcDark:E.editorFindMatchHighlightBorder,hcLight:E.editorFindMatchHighlightBorder},d.localize(1835,"Border color of the Search Editor query matches."))});var oi=this&&this.__createBinding||(Object.create?function(oe,e,d,k){k===void 0&&(k=d);var I=Object.getOwnPropertyDescriptor(e,d);(!I||("get"in I?!e.__esModule:I.writable||I.configurable))&&(I={enumerable:!0,get:function(){return e[d]}}),Object.defineProperty(oe,k,I)}:function(oe,e,d,k){k===void 0&&(k=d),oe[k]=e[d]}),wt=this&&this.__exportStar||function(oe,e){for(var d in oe)d!=="default"&&!Object.prototype.hasOwnProperty.call(e,d)&&oi(e,oe,d)};define(ne[32],se([1,0,89,123,752,138,412,279,751,413,278,753,754]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),wt(d,e),wt(k,e),wt(I,e),wt(E,e),wt(y,e),wt(m,e),wt(_,e),wt(b,e),wt(p,e),wt(n,e),wt(o,e)}),define(ne[185],se([1,0,5,172,77,14,2,32]),function(oe,e,d,k,I,E,y,m){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DynamicCssRules=e.GlobalEditorPointerMoveMonitor=e.EditorPointerEventFactory=e.EditorMouseEventFactory=e.EditorMouseEvent=e.CoordinatesRelativeToEditor=e.EditorPagePosition=e.ClientCoordinates=e.PageCoordinates=void 0,e.createEditorPagePosition=o,e.createCoordinatesRelativeToEditor=t;class _{constructor(C,f){this.x=C,this.y=f,this._pageCoordinatesBrand=void 0}toClientCoordinates(C){return new b(this.x-C.scrollX,this.y-C.scrollY)}}e.PageCoordinates=_;class b{constructor(C,f){this.clientX=C,this.clientY=f,this._clientCoordinatesBrand=void 0}toPageCoordinates(C){return new _(this.clientX+C.scrollX,this.clientY+C.scrollY)}}e.ClientCoordinates=b;class p{constructor(C,f,h,v){this.x=C,this.y=f,this.width=h,this.height=v,this._editorPagePositionBrand=void 0}}e.EditorPagePosition=p;class n{constructor(C,f){this.x=C,this.y=f,this._positionRelativeToEditorBrand=void 0}}e.CoordinatesRelativeToEditor=n;function o(u){const C=d.getDomNodePagePosition(u);return new p(C.left,C.top,C.width,C.height)}function t(u,C,f){const h=C.width/u.offsetWidth,v=C.height/u.offsetHeight,w=(f.x-C.x)/h,S=(f.y-C.y)/v;return new n(w,S)}class i extends I.StandardMouseEvent{constructor(C,f,h){super(d.getWindow(h),C),this._editorMouseEventBrand=void 0,this.isFromPointerCapture=f,this.pos=new _(this.posx,this.posy),this.editorPos=o(h),this.relativePos=t(h,this.editorPos,this.pos)}}e.EditorMouseEvent=i;class s{constructor(C){this._editorViewDomNode=C}_create(C){return new i(C,!1,this._editorViewDomNode)}onContextMenu(C,f){return d.addDisposableListener(C,"contextmenu",h=>{f(this._create(h))})}onMouseUp(C,f){return d.addDisposableListener(C,"mouseup",h=>{f(this._create(h))})}onMouseDown(C,f){return d.addDisposableListener(C,d.EventType.MOUSE_DOWN,h=>{f(this._create(h))})}onPointerDown(C,f){return d.addDisposableListener(C,d.EventType.POINTER_DOWN,h=>{f(this._create(h),h.pointerId)})}onMouseLeave(C,f){return d.addDisposableListener(C,d.EventType.MOUSE_LEAVE,h=>{f(this._create(h))})}onMouseMove(C,f){return d.addDisposableListener(C,"mousemove",h=>f(this._create(h)))}}e.EditorMouseEventFactory=s;class g{constructor(C){this._editorViewDomNode=C}_create(C){return new i(C,!1,this._editorViewDomNode)}onPointerUp(C,f){return d.addDisposableListener(C,"pointerup",h=>{f(this._create(h))})}onPointerDown(C,f){return d.addDisposableListener(C,d.EventType.POINTER_DOWN,h=>{f(this._create(h),h.pointerId)})}onPointerLeave(C,f){return d.addDisposableListener(C,d.EventType.POINTER_LEAVE,h=>{f(this._create(h))})}onPointerMove(C,f){return d.addDisposableListener(C,"pointermove",h=>f(this._create(h)))}}e.EditorPointerEventFactory=g;class c extends y.Disposable{constructor(C){super(),this._editorViewDomNode=C,this._globalPointerMoveMonitor=this._register(new k.GlobalPointerMoveMonitor),this._keydownListener=null}startMonitoring(C,f,h,v,w){this._keydownListener=d.addStandardDisposableListener(C.ownerDocument,"keydown",S=>{S.toKeyCodeChord().isModifierKey()||this._globalPointerMoveMonitor.stopMonitoring(!0,S.browserEvent)},!0),this._globalPointerMoveMonitor.startMonitoring(C,f,h,S=>{v(new i(S,!0,this._editorViewDomNode))},S=>{this._keydownListener.dispose(),w(S)})}stopMonitoring(){this._globalPointerMoveMonitor.stopMonitoring(!0)}}e.GlobalEditorPointerMoveMonitor=c;class l{static{this._idPool=0}constructor(C){this._editor=C,this._instanceId=++l._idPool,this._counter=0,this._rules=new Map,this._garbageCollectionScheduler=new E.RunOnceScheduler(()=>this.garbageCollect(),1e3)}createClassNameRef(C){const f=this.getOrCreateRule(C);return f.increaseRefCount(),{className:f.className,dispose:()=>{f.decreaseRefCount(),this._garbageCollectionScheduler.schedule()}}}getOrCreateRule(C){const f=this.computeUniqueKey(C);let h=this._rules.get(f);if(!h){const v=this._counter++;h=new a(f,`dyn-rule-${this._instanceId}-${v}`,d.isInShadowDOM(this._editor.getContainerDomNode())?this._editor.getContainerDomNode():void 0,C),this._rules.set(f,h)}return h}computeUniqueKey(C){return JSON.stringify(C)}garbageCollect(){for(const C of this._rules.values())C.hasReferences()||(this._rules.delete(C.key),C.dispose())}}e.DynamicCssRules=l;class a{constructor(C,f,h,v){this.key=C,this.className=f,this.properties=v,this._referenceCount=0,this._styleElementDisposables=new y.DisposableStore,this._styleElement=d.createStyleSheet(h,void 0,this._styleElementDisposables),this._styleElement.textContent=this.getCssText(this.className,this.properties)}getCssText(C,f){let h=`.${C} {`;for(const v in f){const w=f[v];let S;typeof w=="object"?S=(0,m.asCssVariable)(w.id):S=w;const L=r(v);h+=` + ${L}: ${S};`}return h+=` +}`,h}dispose(){this._styleElementDisposables.dispose(),this._styleElement=void 0}increaseRefCount(){this._referenceCount++}decreaseRefCount(){this._referenceCount--}hasReferences(){return this._referenceCount>0}}function r(u){return u.replace(/(^[A-Z])/,([C])=>C.toLowerCase()).replace(/([A-Z])/g,([C])=>`-${C.toLowerCase()}`)}}),define(ne[755],se([1,0,5,39,172,2,16,11,262,56,37,4,311,374,95,32,23,69,551,127,45,347,491]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r,u){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Minimap=void 0;const C=140,f=2;class h{constructor(N,O,F){const x=N.options,W=x.get(144),V=x.get(146),q=V.minimap,H=x.get(50),z=x.get(73);this.renderMinimap=q.renderMinimap,this.size=z.size,this.minimapHeightIsEditorHeight=q.minimapHeightIsEditorHeight,this.scrollBeyondLastLine=x.get(106),this.paddingTop=x.get(84).top,this.paddingBottom=x.get(84).bottom,this.showSlider=z.showSlider,this.autohide=z.autohide,this.pixelRatio=W,this.typicalHalfwidthCharacterWidth=H.typicalHalfwidthCharacterWidth,this.lineHeight=x.get(67),this.minimapLeft=q.minimapLeft,this.minimapWidth=q.minimapWidth,this.minimapHeight=V.height,this.canvasInnerWidth=q.minimapCanvasInnerWidth,this.canvasInnerHeight=q.minimapCanvasInnerHeight,this.canvasOuterWidth=q.minimapCanvasOuterWidth,this.canvasOuterHeight=q.minimapCanvasOuterHeight,this.isSampling=q.minimapIsSampling,this.editorHeight=V.height,this.fontScale=q.minimapScale,this.minimapLineHeight=q.minimapLineHeight,this.minimapCharWidth=1*this.fontScale,this.sectionHeaderFontFamily=u.DEFAULT_FONT_FAMILY,this.sectionHeaderFontSize=z.sectionHeaderFontSize*W,this.sectionHeaderLetterSpacing=z.sectionHeaderLetterSpacing,this.sectionHeaderFontColor=h._getSectionHeaderColor(O,F.getColor(1)),this.charRenderer=(0,a.createSingleCallFunction)(()=>l.MinimapCharRendererFactory.create(this.fontScale,H.fontFamily)),this.defaultBackgroundColor=F.getColor(2),this.backgroundColor=h._getMinimapBackground(O,this.defaultBackgroundColor),this.foregroundAlpha=h._getMinimapForegroundOpacity(O)}static _getMinimapBackground(N,O){const F=N.getColor(s.minimapBackground);return F?new o.RGBA8(F.rgba.r,F.rgba.g,F.rgba.b,Math.round(255*F.rgba.a)):O}static _getMinimapForegroundOpacity(N){const O=N.getColor(s.minimapForegroundOpacity);return O?o.RGBA8._clamp(Math.round(255*O.rgba.a)):255}static _getSectionHeaderColor(N,O){const F=N.getColor(s.editorForeground);return F?new o.RGBA8(F.rgba.r,F.rgba.g,F.rgba.b,Math.round(255*F.rgba.a)):O}equals(N){return this.renderMinimap===N.renderMinimap&&this.size===N.size&&this.minimapHeightIsEditorHeight===N.minimapHeightIsEditorHeight&&this.scrollBeyondLastLine===N.scrollBeyondLastLine&&this.paddingTop===N.paddingTop&&this.paddingBottom===N.paddingBottom&&this.showSlider===N.showSlider&&this.autohide===N.autohide&&this.pixelRatio===N.pixelRatio&&this.typicalHalfwidthCharacterWidth===N.typicalHalfwidthCharacterWidth&&this.lineHeight===N.lineHeight&&this.minimapLeft===N.minimapLeft&&this.minimapWidth===N.minimapWidth&&this.minimapHeight===N.minimapHeight&&this.canvasInnerWidth===N.canvasInnerWidth&&this.canvasInnerHeight===N.canvasInnerHeight&&this.canvasOuterWidth===N.canvasOuterWidth&&this.canvasOuterHeight===N.canvasOuterHeight&&this.isSampling===N.isSampling&&this.editorHeight===N.editorHeight&&this.fontScale===N.fontScale&&this.minimapLineHeight===N.minimapLineHeight&&this.minimapCharWidth===N.minimapCharWidth&&this.sectionHeaderFontSize===N.sectionHeaderFontSize&&this.sectionHeaderLetterSpacing===N.sectionHeaderLetterSpacing&&this.defaultBackgroundColor&&this.defaultBackgroundColor.equals(N.defaultBackgroundColor)&&this.backgroundColor&&this.backgroundColor.equals(N.backgroundColor)&&this.foregroundAlpha===N.foregroundAlpha}}class v{constructor(N,O,F,x,W,V,q,H,z){this.scrollTop=N,this.scrollHeight=O,this.sliderNeeded=F,this._computedSliderRatio=x,this.sliderTop=W,this.sliderHeight=V,this.topPaddingLineCount=q,this.startLineNumber=H,this.endLineNumber=z}getDesiredScrollTopFromDelta(N){return Math.round(this.scrollTop+N/this._computedSliderRatio)}getDesiredScrollTopFromTouchLocation(N){return Math.round((N-this.sliderHeight/2)/this._computedSliderRatio)}intersectWithViewport(N){const O=Math.max(this.startLineNumber,N.startLineNumber),F=Math.min(this.endLineNumber,N.endLineNumber);return O>F?null:[O,F]}getYForLineNumber(N,O){return+(N-this.startLineNumber+this.topPaddingLineCount)*O}static create(N,O,F,x,W,V,q,H,z,U,j){const Q=N.pixelRatio,G=N.minimapLineHeight,K=Math.floor(N.canvasInnerHeight/G),R=N.lineHeight;if(N.minimapHeightIsEditorHeight){let ee=H*N.lineHeight+N.paddingTop+N.paddingBottom;N.scrollBeyondLastLine&&(ee+=Math.max(0,W-N.lineHeight-N.paddingBottom));const de=Math.max(1,Math.floor(W*W/ee)),ge=Math.max(0,N.minimapHeight-de),X=ge/(U-W),B=z*X,$=ge>0,Y=Math.floor(N.canvasInnerHeight/N.minimapLineHeight),Z=Math.floor(N.paddingTop/N.lineHeight);return new v(z,U,$,X,B,de,Z,1,Math.min(q,Y))}let J;if(V&&F!==q){const ee=F-O+1;J=Math.floor(ee*G/Q)}else{const ee=W/R;J=Math.floor(ee*G/Q)}const ie=Math.floor(N.paddingTop/R);let ue=Math.floor(N.paddingBottom/R);if(N.scrollBeyondLastLine){const ee=W/R;ue=Math.max(ue,ee-1)}let he;if(ue>0){const ee=W/R;he=(ie+q+ue-ee-1)*G/Q}else he=Math.max(0,(ie+q)*G/Q-J);he=Math.min(N.minimapHeight-J,he);const pe=he/(U-W),ae=z*pe;if(K>=ie+q+ue){const ee=he>0;return new v(z,U,ee,pe,ae,J,ie,1,q)}else{let ee;O>1?ee=O+ie:ee=Math.max(1,z/R);let de,ge=Math.max(1,Math.floor(ee-ae*Q/G));gez&&(ge=Math.min(ge,j.startLineNumber),de=Math.max(de,j.topPaddingLineCount)),j.scrollTop=N.paddingTop?$=(O-ge+de+B)*G/Q:$=z/N.paddingTop*(de+B)*G/Q,new v(z,U,!0,pe,$,J,de,ge,X)}}}class w{static{this.INVALID=new w(-1)}constructor(N){this.dy=N}onContentChanged(){this.dy=-1}onTokensChanged(){this.dy=-1}}class S{constructor(N,O,F){this.renderedLayout=N,this._imageData=O,this._renderedLines=new _.RenderedLinesCollection({createLine:()=>w.INVALID}),this._renderedLines._set(N.startLineNumber,F)}linesEquals(N){if(!this.scrollEquals(N))return!1;const F=this._renderedLines._get().lines;for(let x=0,W=F.length;x1){for(let ie=0,ue=x-1;ie0&&this.minimapLines[F-1]>=N;)F--;let x=this.modelLineToMinimapLine(O)-1;for(;x+1O)return null}return[F+1,x+1]}decorationLineRangeToMinimapLineRange(N,O){let F=this.modelLineToMinimapLine(N),x=this.modelLineToMinimapLine(O);return N!==O&&x===F&&(x===this.minimapLines.length?F>1&&F--:x++),[F,x]}onLinesDeleted(N){const O=N.toLineNumber-N.fromLineNumber+1;let F=this.minimapLines.length,x=0;for(let W=this.minimapLines.length-1;W>=0&&!(this.minimapLines[W]=0&&!(this.minimapLines[F]0,scrollWidth:N.scrollWidth,scrollHeight:N.scrollHeight,viewportStartLineNumber:O,viewportEndLineNumber:F,viewportStartLineNumberVerticalOffset:N.getVerticalOffsetForLineNumber(O),scrollTop:N.scrollTop,scrollLeft:N.scrollLeft,viewportWidth:N.viewportWidth,viewportHeight:N.viewportHeight};this._actual.render(x)}_recreateLineSampling(){this._minimapSelections=null;const N=!!this._samplingState,[O,F]=D.compute(this.options,this._context.viewModel.getLineCount(),this._samplingState);if(this._samplingState=O,N&&this._samplingState)for(const x of F)switch(x.type){case"deleted":this._actual.onLinesDeleted(x.deleteFromLineNumber,x.deleteToLineNumber);break;case"inserted":this._actual.onLinesInserted(x.insertFromLineNumber,x.insertToLineNumber);break;case"flush":this._actual.onFlushed();break}}getLineCount(){return this._samplingState?this._samplingState.minimapLines.length:this._context.viewModel.getLineCount()}getRealLineCount(){return this._context.viewModel.getLineCount()}getLineContent(N){return this._samplingState?this._context.viewModel.getLineContent(this._samplingState.minimapLines[N-1]):this._context.viewModel.getLineContent(N)}getLineMaxColumn(N){return this._samplingState?this._context.viewModel.getLineMaxColumn(this._samplingState.minimapLines[N-1]):this._context.viewModel.getLineMaxColumn(N)}getMinimapLinesRenderingData(N,O,F){if(this._samplingState){const x=[];for(let W=0,V=O-N+1;W!x.options.minimap?.sectionHeaderStyle);if(this._samplingState){const x=[];for(const W of F){if(!W.options.minimap)continue;const V=W.range,q=this._samplingState.modelLineToMinimapLine(V.startLineNumber),H=this._samplingState.modelLineToMinimapLine(V.endLineNumber);x.push(new i.ViewModelDecoration(new n.Range(q,V.startColumn,H,V.endColumn),W.options))}return x}return F}getSectionHeaderDecorationsInViewport(N,O){const F=this.options.minimapLineHeight,W=this.options.sectionHeaderFontSize/F;return N=Math.floor(Math.max(1,N-W)),this._getMinimapDecorationsInViewport(N,O).filter(V=>!!V.options.minimap?.sectionHeaderStyle)}_getMinimapDecorationsInViewport(N,O){let F;if(this._samplingState){const x=this._samplingState.minimapLines[N-1],W=this._samplingState.minimapLines[O-1];F=new n.Range(x,1,W,this._context.viewModel.getLineMaxColumn(W))}else F=new n.Range(N,1,O,this._context.viewModel.getLineMaxColumn(O));return this._context.viewModel.getMinimapDecorationsInRange(F)}getSectionHeaderText(N,O){const F=N.options.minimap?.sectionHeaderText;if(!F)return null;const x=this._sectionHeaderCache.get(F);if(x)return x;const W=O(F);return this._sectionHeaderCache.set(F,W),W}getOptions(){return this._context.viewModel.model.getOptions()}revealLineNumber(N){this._samplingState&&(N=this._samplingState.minimapLines[N-1]),this._context.viewModel.revealRange("mouse",!1,new n.Range(N,1,N,1),1,0)}setScrollTop(N){this._context.viewModel.viewLayout.setScrollPosition({scrollTop:N},1)}}e.Minimap=T;class M extends E.Disposable{constructor(N,O){super(),this._renderDecorations=!1,this._gestureInProgress=!1,this._theme=N,this._model=O,this._lastRenderData=null,this._buffers=null,this._selectionColor=this._theme.getColor(s.minimapSelection),this._domNode=(0,k.createFastDomNode)(document.createElement("div")),b.PartFingerprints.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=(0,k.createFastDomNode)(document.createElement("div")),this._shadow.setClassName("minimap-shadow-hidden"),this._domNode.appendChild(this._shadow),this._canvas=(0,k.createFastDomNode)(document.createElement("canvas")),this._canvas.setPosition("absolute"),this._canvas.setLeft(0),this._domNode.appendChild(this._canvas),this._decorationsCanvas=(0,k.createFastDomNode)(document.createElement("canvas")),this._decorationsCanvas.setPosition("absolute"),this._decorationsCanvas.setClassName("minimap-decorations-layer"),this._decorationsCanvas.setLeft(0),this._domNode.appendChild(this._decorationsCanvas),this._slider=(0,k.createFastDomNode)(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=(0,k.createFastDomNode)(document.createElement("div")),this._sliderHorizontal.setPosition("absolute"),this._sliderHorizontal.setClassName("minimap-slider-horizontal"),this._slider.appendChild(this._sliderHorizontal),this._applyLayout(),this._pointerDownListener=d.addStandardDisposableListener(this._domNode.domNode,d.EventType.POINTER_DOWN,F=>{if(F.preventDefault(),this._model.options.renderMinimap===0||!this._lastRenderData)return;if(this._model.options.size!=="proportional"){if(F.button===0&&this._lastRenderData){const z=d.getDomNodePagePosition(this._slider.domNode),U=z.top+z.height/2;this._startSliderDragging(F,U,this._lastRenderData.renderedLayout)}return}const W=this._model.options.minimapLineHeight,V=this._model.options.canvasInnerHeight/this._model.options.canvasOuterHeight*F.offsetY;let H=Math.floor(V/W)+this._lastRenderData.renderedLayout.startLineNumber-this._lastRenderData.renderedLayout.topPaddingLineCount;H=Math.min(H,this._model.getLineCount()),this._model.revealLineNumber(H)}),this._sliderPointerMoveMonitor=new I.GlobalPointerMoveMonitor,this._sliderPointerDownListener=d.addStandardDisposableListener(this._slider.domNode,d.EventType.POINTER_DOWN,F=>{F.preventDefault(),F.stopPropagation(),F.button===0&&this._lastRenderData&&this._startSliderDragging(F,F.pageY,this._lastRenderData.renderedLayout)}),this._gestureDisposable=c.Gesture.addTarget(this._domNode.domNode),this._sliderTouchStartListener=d.addDisposableListener(this._domNode.domNode,c.EventType.Start,F=>{F.preventDefault(),F.stopPropagation(),this._lastRenderData&&(this._slider.toggleClassName("active",!0),this._gestureInProgress=!0,this.scrollDueToTouchEvent(F))},{passive:!1}),this._sliderTouchMoveListener=d.addDisposableListener(this._domNode.domNode,c.EventType.Change,F=>{F.preventDefault(),F.stopPropagation(),this._lastRenderData&&this._gestureInProgress&&this.scrollDueToTouchEvent(F)},{passive:!1}),this._sliderTouchEndListener=d.addStandardDisposableListener(this._domNode.domNode,c.EventType.End,F=>{F.preventDefault(),F.stopPropagation(),this._gestureInProgress=!1,this._slider.toggleClassName("active",!1)})}_startSliderDragging(N,O,F){if(!N.target||!(N.target instanceof Element))return;const x=N.pageX;this._slider.toggleClassName("active",!0);const W=(V,q)=>{const H=d.getDomNodePagePosition(this._domNode.domNode),z=Math.min(Math.abs(q-x),Math.abs(q-H.left),Math.abs(q-H.left-H.width));if(y.isWindows&&z>C){this._model.setScrollTop(F.scrollTop);return}const U=V-O;this._model.setScrollTop(F.getDesiredScrollTopFromDelta(U))};N.pageY!==O&&W(N.pageY,x),this._sliderPointerMoveMonitor.startMonitoring(N.target,N.pointerId,N.buttons,V=>W(V.pageY,V.pageX),()=>{this._slider.toggleClassName("active",!1)})}scrollDueToTouchEvent(N){const O=this._domNode.domNode.getBoundingClientRect().top,F=this._lastRenderData.renderedLayout.getDesiredScrollTopFromTouchLocation(N.pageY-O);this._model.setScrollTop(F)}dispose(){this._pointerDownListener.dispose(),this._sliderPointerMoveMonitor.dispose(),this._sliderPointerDownListener.dispose(),this._gestureDisposable.dispose(),this._sliderTouchStartListener.dispose(),this._sliderTouchMoveListener.dispose(),this._sliderTouchEndListener.dispose(),super.dispose()}_getMinimapDomNodeClassName(){const N=["minimap"];return this._model.options.showSlider==="always"?N.push("slider-always"):N.push("slider-mouseover"),this._model.options.autohide&&N.push("autohide"),N.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 L(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(N,O){return this._lastRenderData?this._lastRenderData.onLinesChanged(N,O):!1}onLinesDeleted(N,O){return this._lastRenderData?.onLinesDeleted(N,O),!0}onLinesInserted(N,O){return this._lastRenderData?.onLinesInserted(N,O),!0}onScrollChanged(){return this._renderDecorations=!0,!0}onThemeChanged(){return this._selectionColor=this._theme.getColor(s.minimapSelection),this._renderDecorations=!0,!0}onTokensChanged(N){return this._lastRenderData?this._lastRenderData.onTokensChanged(N):!1}onTokensColorsChanged(){return this._lastRenderData=null,this._buffers=null,!0}onZonesChanged(){return this._lastRenderData=null,!0}render(N){if(this._model.options.renderMinimap===0){this._shadow.setClassName("minimap-shadow-hidden"),this._sliderHorizontal.setWidth(0),this._sliderHorizontal.setHeight(0);return}N.scrollLeft+N.viewportWidth>=N.scrollWidth?this._shadow.setClassName("minimap-shadow-hidden"):this._shadow.setClassName("minimap-shadow-visible");const F=v.create(this._model.options,N.viewportStartLineNumber,N.viewportEndLineNumber,N.viewportStartLineNumberVerticalOffset,N.viewportHeight,N.viewportContainsWhitespaceGaps,this._model.getLineCount(),this._model.getRealLineCount(),N.scrollTop,N.scrollHeight,this._lastRenderData?this._lastRenderData.renderedLayout:null);this._slider.setDisplay(F.sliderNeeded?"block":"none"),this._slider.setTop(F.sliderTop),this._slider.setHeight(F.sliderHeight),this._sliderHorizontal.setLeft(0),this._sliderHorizontal.setWidth(this._model.options.minimapWidth),this._sliderHorizontal.setTop(0),this._sliderHorizontal.setHeight(F.sliderHeight),this.renderDecorations(F),this._lastRenderData=this.renderLines(F)}renderDecorations(N){if(this._renderDecorations){this._renderDecorations=!1;const O=this._model.getSelections();O.sort(n.Range.compareRangesUsingStarts);const F=this._model.getMinimapDecorationsInViewport(N.startLineNumber,N.endLineNumber);F.sort((Q,G)=>(Q.options.zIndex||0)-(G.options.zIndex||0));const{canvasInnerWidth:x,canvasInnerHeight:W}=this._model.options,V=this._model.options.minimapLineHeight,q=this._model.options.minimapCharWidth,H=this._model.getOptions().tabSize,z=this._decorationsCanvas.domNode.getContext("2d");z.clearRect(0,0,x,W);const U=new A(N.startLineNumber,N.endLineNumber,!1);this._renderSelectionLineHighlights(z,O,U,N,V),this._renderDecorationsLineHighlights(z,F,U,N,V);const j=new A(N.startLineNumber,N.endLineNumber,null);this._renderSelectionsHighlights(z,O,j,N,V,H,q,x),this._renderDecorationsHighlights(z,F,j,N,V,H,q,x),this._renderSectionHeaders(N)}}_renderSelectionLineHighlights(N,O,F,x,W){if(!this._selectionColor||this._selectionColor.isTransparent())return;N.fillStyle=this._selectionColor.transparent(.5).toString();let V=0,q=0;for(const H of O){const z=x.intersectWithViewport(H);if(!z)continue;const[U,j]=z;for(let K=U;K<=j;K++)F.set(K,!0);const Q=x.getYForLineNumber(U,W),G=x.getYForLineNumber(j,W);q>=Q||(q>V&&N.fillRect(p.MINIMAP_GUTTER_WIDTH,V,N.canvas.width,q-V),V=Q),q=G}q>V&&N.fillRect(p.MINIMAP_GUTTER_WIDTH,V,N.canvas.width,q-V)}_renderDecorationsLineHighlights(N,O,F,x,W){const V=new Map;for(let q=O.length-1;q>=0;q--){const H=O[q],z=H.options.minimap;if(!z||z.position!==1)continue;const U=x.intersectWithViewport(H.range);if(!U)continue;const[j,Q]=U,G=z.getColor(this._theme.value);if(!G||G.isTransparent())continue;let K=V.get(G.toString());K||(K=G.transparent(.5).toString(),V.set(G.toString(),K)),N.fillStyle=K;for(let R=j;R<=Q;R++){if(F.has(R))continue;F.set(R,!0);const J=x.getYForLineNumber(j,W);N.fillRect(p.MINIMAP_GUTTER_WIDTH,J,N.canvas.width,W)}}}_renderSelectionsHighlights(N,O,F,x,W,V,q,H){if(!(!this._selectionColor||this._selectionColor.isTransparent()))for(const z of O){const U=x.intersectWithViewport(z);if(!U)continue;const[j,Q]=U;for(let G=j;G<=Q;G++)this.renderDecorationOnLine(N,F,z,this._selectionColor,x,G,W,W,V,q,H)}}_renderDecorationsHighlights(N,O,F,x,W,V,q,H){for(const z of O){const U=z.options.minimap;if(!U)continue;const j=x.intersectWithViewport(z.range);if(!j)continue;const[Q,G]=j,K=U.getColor(this._theme.value);if(!(!K||K.isTransparent()))for(let R=Q;R<=G;R++)switch(U.position){case 1:this.renderDecorationOnLine(N,F,z.range,K,x,R,W,W,V,q,H);continue;case 2:{const J=x.getYForLineNumber(R,W);this.renderDecoration(N,K,2,J,f,W);continue}}}}renderDecorationOnLine(N,O,F,x,W,V,q,H,z,U,j){const Q=W.getYForLineNumber(V,H);if(Q+q<0||Q>this._model.options.canvasInnerHeight)return;const{startLineNumber:G,endLineNumber:K}=F,R=G===V?F.startColumn:1,J=K===V?F.endColumn:this._model.getLineMaxColumn(V),ie=this.getXOffsetForPosition(O,V,R,z,U,j),ue=this.getXOffsetForPosition(O,V,J,z,U,j);this.renderDecoration(N,x,ie,Q,ue-ie,q)}getXOffsetForPosition(N,O,F,x,W,V){if(F===1)return p.MINIMAP_GUTTER_WIDTH;if((F-1)*W>=V)return V;let H=N.get(O);if(!H){const z=this._model.getLineContent(O);H=[p.MINIMAP_GUTTER_WIDTH];let U=p.MINIMAP_GUTTER_WIDTH;for(let j=1;j=V){H[j]=V;break}H[j]=K,U=K}N.set(O,H)}return F-1R.range.startLineNumber-J.range.startLineNumber);const K=M._fitSectionHeader.bind(null,Q,V-p.MINIMAP_GUTTER_WIDTH);for(const R of G){const J=N.getYForLineNumber(R.range.startLineNumber,O)+F,ie=J-F,ue=ie+2,he=this._model.getSectionHeaderText(R,K);M._renderSectionLabel(Q,he,R.options.minimap?.sectionHeaderStyle===2,H,U,V,ie,W,J,ue)}}static _fitSectionHeader(N,O,F){if(!F)return F;const x="\u2026",W=N.measureText(F).width,V=N.measureText(x).width;if(W<=O||W<=V)return F;const q=F.length,H=W/F.length,z=Math.floor((O-V)/H)-1;let U=Math.ceil(z/2);for(;U>0&&/\s/.test(F[U-1]);)--U;return F.substring(0,U)+x+F.substring(q-(z-U))}static _renderSectionLabel(N,O,F,x,W,V,q,H,z,U){O&&(N.fillStyle=x,N.fillRect(0,q,V,H),N.fillStyle=W,N.fillText(O,p.MINIMAP_GUTTER_WIDTH,z)),F&&(N.beginPath(),N.moveTo(0,U),N.lineTo(V,U),N.closePath(),N.stroke())}renderLines(N){const O=N.startLineNumber,F=N.endLineNumber,x=this._model.options.minimapLineHeight;if(this._lastRenderData&&this._lastRenderData.linesEquals(N)){const re=this._lastRenderData._get();return new S(N,re.imageData,re.lines)}const W=this._getBuffer();if(!W)return null;const[V,q,H]=M._renderUntouchedLines(W,N.topPaddingLineCount,O,F,x,this._lastRenderData),z=this._model.getMinimapLinesRenderingData(O,F,H),U=this._model.getOptions().tabSize,j=this._model.options.defaultBackgroundColor,Q=this._model.options.backgroundColor,G=this._model.options.foregroundAlpha,K=this._model.tokensColorTracker,R=K.backgroundIsLight(),J=this._model.options.renderMinimap,ie=this._model.options.charRenderer(),ue=this._model.options.fontScale,he=this._model.options.minimapCharWidth,ae=(J===1?2:3)*ue,ee=x>ae?Math.floor((x-ae)/2):0,de=Q.a/255,ge=new o.RGBA8(Math.round((Q.r-j.r)*de+j.r),Math.round((Q.g-j.g)*de+j.g),Math.round((Q.b-j.b)*de+j.b),255);let X=N.topPaddingLineCount*x;const B=[];for(let re=0,le=F-O+1;re=0&&$ue)return;const Y=J.charCodeAt(ae);if(Y===9){const Z=Q-(ae+ee)%Q;ee+=Z-1,pe+=Z*V}else if(Y===32)pe+=V;else{const Z=m.isFullWidthCharacter(Y)?2:1;for(let te=0;teue)return}}}}}class A{constructor(N,O,F){this._startLineNumber=N,this._endLineNumber=O,this._defaultValue=F,this._values=[];for(let x=0,W=this._endLineNumber-this._startLineNumber+1;xthis._endLineNumber||(this._values[N-this._startLineNumber]=O)}get(N){return Nthis._endLineNumber?this._defaultValue:this._values[N-this._startLineNumber]}}}),define(ne[756],se([1,0,3,32]),function(oe,e,d,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.multiDiffEditorBorder=e.multiDiffEditorBackground=e.multiDiffEditorHeaderBackground=void 0,e.multiDiffEditorHeaderBackground=(0,k.registerColor)("multiDiffEditor.headerBackground",{dark:"#262626",light:"tab.inactiveBackground",hcDark:"tab.inactiveBackground",hcLight:"tab.inactiveBackground"},(0,d.localize)(129,"The background color of the diff editor's header")),e.multiDiffEditorBackground=(0,k.registerColor)("multiDiffEditor.background",k.editorBackground,(0,d.localize)(130,"The background color of the multi file diff editor")),e.multiDiffEditorBorder=(0,k.registerColor)("multiDiffEditor.border",{dark:"sideBarSectionHeader.border",light:"#cccccc",hcDark:"sideBarSectionHeader.border",hcLight:"#cccccc"},(0,d.localize)(131,"The border color of the multi file diff editor"))}),define(ne[280],se([1,0,3,32,533]),function(oe,e,d,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SYMBOL_ICON_VARIABLE_FOREGROUND=e.SYMBOL_ICON_UNIT_FOREGROUND=e.SYMBOL_ICON_TYPEPARAMETER_FOREGROUND=e.SYMBOL_ICON_TEXT_FOREGROUND=e.SYMBOL_ICON_STRUCT_FOREGROUND=e.SYMBOL_ICON_STRING_FOREGROUND=e.SYMBOL_ICON_SNIPPET_FOREGROUND=e.SYMBOL_ICON_REFERENCE_FOREGROUND=e.SYMBOL_ICON_PROPERTY_FOREGROUND=e.SYMBOL_ICON_PACKAGE_FOREGROUND=e.SYMBOL_ICON_OPERATOR_FOREGROUND=e.SYMBOL_ICON_OBJECT_FOREGROUND=e.SYMBOL_ICON_NUMBER_FOREGROUND=e.SYMBOL_ICON_NULL_FOREGROUND=e.SYMBOL_ICON_NAMESPACE_FOREGROUND=e.SYMBOL_ICON_MODULE_FOREGROUND=e.SYMBOL_ICON_METHOD_FOREGROUND=e.SYMBOL_ICON_KEYWORD_FOREGROUND=e.SYMBOL_ICON_KEY_FOREGROUND=e.SYMBOL_ICON_INTERFACE_FOREGROUND=e.SYMBOL_ICON_FUNCTION_FOREGROUND=e.SYMBOL_ICON_FOLDER_FOREGROUND=e.SYMBOL_ICON_FILE_FOREGROUND=e.SYMBOL_ICON_FIELD_FOREGROUND=e.SYMBOL_ICON_EVENT_FOREGROUND=e.SYMBOL_ICON_ENUMERATOR_MEMBER_FOREGROUND=e.SYMBOL_ICON_ENUMERATOR_FOREGROUND=e.SYMBOL_ICON_CONSTRUCTOR_FOREGROUND=e.SYMBOL_ICON_CONSTANT_FOREGROUND=e.SYMBOL_ICON_COLOR_FOREGROUND=e.SYMBOL_ICON_CLASS_FOREGROUND=e.SYMBOL_ICON_BOOLEAN_FOREGROUND=e.SYMBOL_ICON_ARRAY_FOREGROUND=void 0,e.SYMBOL_ICON_ARRAY_FOREGROUND=(0,k.registerColor)("symbolIcon.arrayForeground",k.foreground,(0,d.localize)(1348,"The foreground color for array symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),e.SYMBOL_ICON_BOOLEAN_FOREGROUND=(0,k.registerColor)("symbolIcon.booleanForeground",k.foreground,(0,d.localize)(1349,"The foreground color for boolean symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),e.SYMBOL_ICON_CLASS_FOREGROUND=(0,k.registerColor)("symbolIcon.classForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},(0,d.localize)(1350,"The foreground color for class symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),e.SYMBOL_ICON_COLOR_FOREGROUND=(0,k.registerColor)("symbolIcon.colorForeground",k.foreground,(0,d.localize)(1351,"The foreground color for color symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),e.SYMBOL_ICON_CONSTANT_FOREGROUND=(0,k.registerColor)("symbolIcon.constantForeground",k.foreground,(0,d.localize)(1352,"The foreground color for constant symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),e.SYMBOL_ICON_CONSTRUCTOR_FOREGROUND=(0,k.registerColor)("symbolIcon.constructorForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},(0,d.localize)(1353,"The foreground color for constructor symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),e.SYMBOL_ICON_ENUMERATOR_FOREGROUND=(0,k.registerColor)("symbolIcon.enumeratorForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},(0,d.localize)(1354,"The foreground color for enumerator symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),e.SYMBOL_ICON_ENUMERATOR_MEMBER_FOREGROUND=(0,k.registerColor)("symbolIcon.enumeratorMemberForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},(0,d.localize)(1355,"The foreground color for enumerator member symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),e.SYMBOL_ICON_EVENT_FOREGROUND=(0,k.registerColor)("symbolIcon.eventForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},(0,d.localize)(1356,"The foreground color for event symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),e.SYMBOL_ICON_FIELD_FOREGROUND=(0,k.registerColor)("symbolIcon.fieldForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},(0,d.localize)(1357,"The foreground color for field symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),e.SYMBOL_ICON_FILE_FOREGROUND=(0,k.registerColor)("symbolIcon.fileForeground",k.foreground,(0,d.localize)(1358,"The foreground color for file symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),e.SYMBOL_ICON_FOLDER_FOREGROUND=(0,k.registerColor)("symbolIcon.folderForeground",k.foreground,(0,d.localize)(1359,"The foreground color for folder symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),e.SYMBOL_ICON_FUNCTION_FOREGROUND=(0,k.registerColor)("symbolIcon.functionForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},(0,d.localize)(1360,"The foreground color for function symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),e.SYMBOL_ICON_INTERFACE_FOREGROUND=(0,k.registerColor)("symbolIcon.interfaceForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},(0,d.localize)(1361,"The foreground color for interface symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),e.SYMBOL_ICON_KEY_FOREGROUND=(0,k.registerColor)("symbolIcon.keyForeground",k.foreground,(0,d.localize)(1362,"The foreground color for key symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),e.SYMBOL_ICON_KEYWORD_FOREGROUND=(0,k.registerColor)("symbolIcon.keywordForeground",k.foreground,(0,d.localize)(1363,"The foreground color for keyword symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),e.SYMBOL_ICON_METHOD_FOREGROUND=(0,k.registerColor)("symbolIcon.methodForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},(0,d.localize)(1364,"The foreground color for method symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),e.SYMBOL_ICON_MODULE_FOREGROUND=(0,k.registerColor)("symbolIcon.moduleForeground",k.foreground,(0,d.localize)(1365,"The foreground color for module symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),e.SYMBOL_ICON_NAMESPACE_FOREGROUND=(0,k.registerColor)("symbolIcon.namespaceForeground",k.foreground,(0,d.localize)(1366,"The foreground color for namespace symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),e.SYMBOL_ICON_NULL_FOREGROUND=(0,k.registerColor)("symbolIcon.nullForeground",k.foreground,(0,d.localize)(1367,"The foreground color for null symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),e.SYMBOL_ICON_NUMBER_FOREGROUND=(0,k.registerColor)("symbolIcon.numberForeground",k.foreground,(0,d.localize)(1368,"The foreground color for number symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),e.SYMBOL_ICON_OBJECT_FOREGROUND=(0,k.registerColor)("symbolIcon.objectForeground",k.foreground,(0,d.localize)(1369,"The foreground color for object symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),e.SYMBOL_ICON_OPERATOR_FOREGROUND=(0,k.registerColor)("symbolIcon.operatorForeground",k.foreground,(0,d.localize)(1370,"The foreground color for operator symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),e.SYMBOL_ICON_PACKAGE_FOREGROUND=(0,k.registerColor)("symbolIcon.packageForeground",k.foreground,(0,d.localize)(1371,"The foreground color for package symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),e.SYMBOL_ICON_PROPERTY_FOREGROUND=(0,k.registerColor)("symbolIcon.propertyForeground",k.foreground,(0,d.localize)(1372,"The foreground color for property symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),e.SYMBOL_ICON_REFERENCE_FOREGROUND=(0,k.registerColor)("symbolIcon.referenceForeground",k.foreground,(0,d.localize)(1373,"The foreground color for reference symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),e.SYMBOL_ICON_SNIPPET_FOREGROUND=(0,k.registerColor)("symbolIcon.snippetForeground",k.foreground,(0,d.localize)(1374,"The foreground color for snippet symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),e.SYMBOL_ICON_STRING_FOREGROUND=(0,k.registerColor)("symbolIcon.stringForeground",k.foreground,(0,d.localize)(1375,"The foreground color for string symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),e.SYMBOL_ICON_STRUCT_FOREGROUND=(0,k.registerColor)("symbolIcon.structForeground",k.foreground,(0,d.localize)(1376,"The foreground color for struct symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),e.SYMBOL_ICON_TEXT_FOREGROUND=(0,k.registerColor)("symbolIcon.textForeground",k.foreground,(0,d.localize)(1377,"The foreground color for text symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),e.SYMBOL_ICON_TYPEPARAMETER_FOREGROUND=(0,k.registerColor)("symbolIcon.typeParameterForeground",k.foreground,(0,d.localize)(1378,"The foreground color for type parameter symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),e.SYMBOL_ICON_UNIT_FOREGROUND=(0,k.registerColor)("symbolIcon.unitForeground",k.foreground,(0,d.localize)(1379,"The foreground color for unit symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),e.SYMBOL_ICON_VARIABLE_FOREGROUND=(0,k.registerColor)("symbolIcon.variableForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},(0,d.localize)(1380,"The foreground color for variable symbols. These symbols appear in the outline, breadcrumb, and suggest widget."))}),define(ne[757],se([1,0,26,134,3,91,195,280]),function(oe,e,d,k,I,E){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.toMenuItems=_;const y=Object.freeze({kind:E.HierarchicalKind.Empty,title:(0,I.localize)(777,"More Actions...")}),m=Object.freeze([{kind:k.CodeActionKind.QuickFix,title:(0,I.localize)(778,"Quick Fix")},{kind:k.CodeActionKind.RefactorExtract,title:(0,I.localize)(779,"Extract"),icon:d.Codicon.wrench},{kind:k.CodeActionKind.RefactorInline,title:(0,I.localize)(780,"Inline"),icon:d.Codicon.wrench},{kind:k.CodeActionKind.RefactorRewrite,title:(0,I.localize)(781,"Rewrite"),icon:d.Codicon.wrench},{kind:k.CodeActionKind.RefactorMove,title:(0,I.localize)(782,"Move"),icon:d.Codicon.wrench},{kind:k.CodeActionKind.SurroundWith,title:(0,I.localize)(783,"Surround With"),icon:d.Codicon.surroundWith},{kind:k.CodeActionKind.Source,title:(0,I.localize)(784,"Source Action"),icon:d.Codicon.symbolFile},y]);function _(b,p,n){if(!p)return b.map(i=>({kind:"action",item:i,group:y,disabled:!!i.action.disabled,label:i.action.disabled||i.action.title,canPreview:!!i.action.edit?.edits.length}));const o=m.map(i=>({group:i,actions:[]}));for(const i of b){const s=i.action.kind?new E.HierarchicalKind(i.action.kind):E.HierarchicalKind.None;for(const g of o)if(g.group.kind.contains(s)){g.actions.push(i);break}}const t=[];for(const i of o)if(i.actions.length){t.push({kind:"header",group:i.group});for(const s of i.actions){const g=i.group;t.push({kind:"action",item:s,group:s.action.isAI?{title:g.title,kind:g.kind,icon:d.Codicon.sparkle}:g,label:s.action.title,disabled:!!s.action.disabled,keybinding:n(s.action)})}}return t}}),define(ne[110],se([1,0,32,33]),function(oe,e,d,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.defaultMenuStyles=e.defaultSelectBoxStyles=e.defaultListStyles=e.defaultBreadcrumbsWidgetStyles=e.defaultCountBadgeStyles=e.defaultFindWidgetStyles=e.defaultInputBoxStyles=e.defaultDialogStyles=e.defaultCheckboxStyles=e.defaultRadioStyles=e.defaultToggleStyles=e.defaultProgressBarStyles=e.defaultButtonStyles=e.defaultKeybindingLabelStyles=void 0,e.getListStyles=E;function I(y,m){const _={...m};for(const b in y){const p=y[b];_[b]=p!==void 0?(0,d.asCssVariable)(p):void 0}return _}e.defaultKeybindingLabelStyles={keybindingLabelBackground:(0,d.asCssVariable)(d.keybindingLabelBackground),keybindingLabelForeground:(0,d.asCssVariable)(d.keybindingLabelForeground),keybindingLabelBorder:(0,d.asCssVariable)(d.keybindingLabelBorder),keybindingLabelBottomBorder:(0,d.asCssVariable)(d.keybindingLabelBottomBorder),keybindingLabelShadow:(0,d.asCssVariable)(d.widgetShadow)},e.defaultButtonStyles={buttonForeground:(0,d.asCssVariable)(d.buttonForeground),buttonSeparator:(0,d.asCssVariable)(d.buttonSeparator),buttonBackground:(0,d.asCssVariable)(d.buttonBackground),buttonHoverBackground:(0,d.asCssVariable)(d.buttonHoverBackground),buttonSecondaryForeground:(0,d.asCssVariable)(d.buttonSecondaryForeground),buttonSecondaryBackground:(0,d.asCssVariable)(d.buttonSecondaryBackground),buttonSecondaryHoverBackground:(0,d.asCssVariable)(d.buttonSecondaryHoverBackground),buttonBorder:(0,d.asCssVariable)(d.buttonBorder)},e.defaultProgressBarStyles={progressBarBackground:(0,d.asCssVariable)(d.progressBarBackground)},e.defaultToggleStyles={inputActiveOptionBorder:(0,d.asCssVariable)(d.inputActiveOptionBorder),inputActiveOptionForeground:(0,d.asCssVariable)(d.inputActiveOptionForeground),inputActiveOptionBackground:(0,d.asCssVariable)(d.inputActiveOptionBackground)},e.defaultRadioStyles={activeForeground:(0,d.asCssVariable)(d.radioActiveForeground),activeBackground:(0,d.asCssVariable)(d.radioActiveBackground),activeBorder:(0,d.asCssVariable)(d.radioActiveBorder),inactiveForeground:(0,d.asCssVariable)(d.radioInactiveForeground),inactiveBackground:(0,d.asCssVariable)(d.radioInactiveBackground),inactiveBorder:(0,d.asCssVariable)(d.radioInactiveBorder),inactiveHoverBackground:(0,d.asCssVariable)(d.radioInactiveHoverBackground)},e.defaultCheckboxStyles={checkboxBackground:(0,d.asCssVariable)(d.checkboxBackground),checkboxBorder:(0,d.asCssVariable)(d.checkboxBorder),checkboxForeground:(0,d.asCssVariable)(d.checkboxForeground)},e.defaultDialogStyles={dialogBackground:(0,d.asCssVariable)(d.editorWidgetBackground),dialogForeground:(0,d.asCssVariable)(d.editorWidgetForeground),dialogShadow:(0,d.asCssVariable)(d.widgetShadow),dialogBorder:(0,d.asCssVariable)(d.contrastBorder),errorIconForeground:(0,d.asCssVariable)(d.problemsErrorIconForeground),warningIconForeground:(0,d.asCssVariable)(d.problemsWarningIconForeground),infoIconForeground:(0,d.asCssVariable)(d.problemsInfoIconForeground),textLinkForeground:(0,d.asCssVariable)(d.textLinkForeground)},e.defaultInputBoxStyles={inputBackground:(0,d.asCssVariable)(d.inputBackground),inputForeground:(0,d.asCssVariable)(d.inputForeground),inputBorder:(0,d.asCssVariable)(d.inputBorder),inputValidationInfoBorder:(0,d.asCssVariable)(d.inputValidationInfoBorder),inputValidationInfoBackground:(0,d.asCssVariable)(d.inputValidationInfoBackground),inputValidationInfoForeground:(0,d.asCssVariable)(d.inputValidationInfoForeground),inputValidationWarningBorder:(0,d.asCssVariable)(d.inputValidationWarningBorder),inputValidationWarningBackground:(0,d.asCssVariable)(d.inputValidationWarningBackground),inputValidationWarningForeground:(0,d.asCssVariable)(d.inputValidationWarningForeground),inputValidationErrorBorder:(0,d.asCssVariable)(d.inputValidationErrorBorder),inputValidationErrorBackground:(0,d.asCssVariable)(d.inputValidationErrorBackground),inputValidationErrorForeground:(0,d.asCssVariable)(d.inputValidationErrorForeground)},e.defaultFindWidgetStyles={listFilterWidgetBackground:(0,d.asCssVariable)(d.listFilterWidgetBackground),listFilterWidgetOutline:(0,d.asCssVariable)(d.listFilterWidgetOutline),listFilterWidgetNoMatchesOutline:(0,d.asCssVariable)(d.listFilterWidgetNoMatchesOutline),listFilterWidgetShadow:(0,d.asCssVariable)(d.listFilterWidgetShadow),inputBoxStyles:e.defaultInputBoxStyles,toggleStyles:e.defaultToggleStyles},e.defaultCountBadgeStyles={badgeBackground:(0,d.asCssVariable)(d.badgeBackground),badgeForeground:(0,d.asCssVariable)(d.badgeForeground),badgeBorder:(0,d.asCssVariable)(d.contrastBorder)},e.defaultBreadcrumbsWidgetStyles={breadcrumbsBackground:(0,d.asCssVariable)(d.breadcrumbsBackground),breadcrumbsForeground:(0,d.asCssVariable)(d.breadcrumbsForeground),breadcrumbsHoverForeground:(0,d.asCssVariable)(d.breadcrumbsFocusForeground),breadcrumbsFocusForeground:(0,d.asCssVariable)(d.breadcrumbsFocusForeground),breadcrumbsFocusAndSelectionForeground:(0,d.asCssVariable)(d.breadcrumbsActiveSelectionForeground)},e.defaultListStyles={listBackground:void 0,listInactiveFocusForeground:void 0,listFocusBackground:(0,d.asCssVariable)(d.listFocusBackground),listFocusForeground:(0,d.asCssVariable)(d.listFocusForeground),listFocusOutline:(0,d.asCssVariable)(d.listFocusOutline),listActiveSelectionBackground:(0,d.asCssVariable)(d.listActiveSelectionBackground),listActiveSelectionForeground:(0,d.asCssVariable)(d.listActiveSelectionForeground),listActiveSelectionIconForeground:(0,d.asCssVariable)(d.listActiveSelectionIconForeground),listFocusAndSelectionOutline:(0,d.asCssVariable)(d.listFocusAndSelectionOutline),listFocusAndSelectionBackground:(0,d.asCssVariable)(d.listActiveSelectionBackground),listFocusAndSelectionForeground:(0,d.asCssVariable)(d.listActiveSelectionForeground),listInactiveSelectionBackground:(0,d.asCssVariable)(d.listInactiveSelectionBackground),listInactiveSelectionIconForeground:(0,d.asCssVariable)(d.listInactiveSelectionIconForeground),listInactiveSelectionForeground:(0,d.asCssVariable)(d.listInactiveSelectionForeground),listInactiveFocusBackground:(0,d.asCssVariable)(d.listInactiveFocusBackground),listInactiveFocusOutline:(0,d.asCssVariable)(d.listInactiveFocusOutline),listHoverBackground:(0,d.asCssVariable)(d.listHoverBackground),listHoverForeground:(0,d.asCssVariable)(d.listHoverForeground),listDropOverBackground:(0,d.asCssVariable)(d.listDropOverBackground),listDropBetweenBackground:(0,d.asCssVariable)(d.listDropBetweenBackground),listSelectionOutline:(0,d.asCssVariable)(d.activeContrastBorder),listHoverOutline:(0,d.asCssVariable)(d.activeContrastBorder),treeIndentGuidesStroke:(0,d.asCssVariable)(d.treeIndentGuidesStroke),treeInactiveIndentGuidesStroke:(0,d.asCssVariable)(d.treeInactiveIndentGuidesStroke),treeStickyScrollBackground:void 0,treeStickyScrollBorder:void 0,treeStickyScrollShadow:(0,d.asCssVariable)(d.scrollbarShadow),tableColumnsBorder:(0,d.asCssVariable)(d.tableColumnsBorder),tableOddRowsBackgroundColor:(0,d.asCssVariable)(d.tableOddRowsBackgroundColor)};function E(y){return I(y,e.defaultListStyles)}e.defaultSelectBoxStyles={selectBackground:(0,d.asCssVariable)(d.selectBackground),selectListBackground:(0,d.asCssVariable)(d.selectListBackground),selectForeground:(0,d.asCssVariable)(d.selectForeground),decoratorRightForeground:(0,d.asCssVariable)(d.pickerGroupForeground),selectBorder:(0,d.asCssVariable)(d.selectBorder),focusBorder:(0,d.asCssVariable)(d.focusBorder),listFocusBackground:(0,d.asCssVariable)(d.quickInputListFocusBackground),listInactiveSelectionIconForeground:(0,d.asCssVariable)(d.quickInputListFocusIconForeground),listFocusForeground:(0,d.asCssVariable)(d.quickInputListFocusForeground),listFocusOutline:(0,d.asCssVariableWithDefault)(d.activeContrastBorder,k.Color.transparent.toString()),listHoverBackground:(0,d.asCssVariable)(d.listHoverBackground),listHoverForeground:(0,d.asCssVariable)(d.listHoverForeground),listHoverOutline:(0,d.asCssVariable)(d.activeContrastBorder),selectListBorder:(0,d.asCssVariable)(d.editorWidgetBorder),listBackground:void 0,listActiveSelectionBackground:void 0,listActiveSelectionForeground:void 0,listActiveSelectionIconForeground:void 0,listFocusAndSelectionBackground:void 0,listDropOverBackground:void 0,listDropBetweenBackground:void 0,listInactiveSelectionBackground:void 0,listInactiveSelectionForeground:void 0,listInactiveFocusBackground:void 0,listInactiveFocusOutline:void 0,listSelectionOutline:void 0,listFocusAndSelectionForeground:void 0,listFocusAndSelectionOutline:void 0,listInactiveFocusForeground:void 0,tableColumnsBorder:void 0,tableOddRowsBackgroundColor:void 0,treeIndentGuidesStroke:void 0,treeInactiveIndentGuidesStroke:void 0,treeStickyScrollBackground:void 0,treeStickyScrollBorder:void 0,treeStickyScrollShadow:void 0},e.defaultMenuStyles={shadowColor:(0,d.asCssVariable)(d.widgetShadow),borderColor:(0,d.asCssVariable)(d.menuBorder),foregroundColor:(0,d.asCssVariable)(d.menuForeground),backgroundColor:(0,d.asCssVariable)(d.menuBackground),selectionForegroundColor:(0,d.asCssVariable)(d.menuSelectionForeground),selectionBackgroundColor:(0,d.asCssVariable)(d.menuSelectionBackground),selectionBorderColor:(0,d.asCssVariable)(d.menuSelectionBorder),separatorColor:(0,d.asCssVariable)(d.menuSeparatorBackground),scrollbarShadow:(0,d.asCssVariable)(d.scrollbarShadow),scrollbarSliderBackground:(0,d.asCssVariable)(d.scrollbarSliderBackground),scrollbarSliderHoverBackground:(0,d.asCssVariable)(d.scrollbarSliderHoverBackground),scrollbarSliderActiveBackground:(0,d.asCssVariable)(d.scrollbarSliderActiveBackground)}}),define(ne[758],se([1,0,5,354,355,254,82,2,48,78,3,7,31,181,110,178]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s){"use strict";var g;Object.defineProperty(e,"__esModule",{value:!0}),e.AccessibilityProvider=e.OneReferenceRenderer=e.FileReferencesRenderer=e.IdentityProvider=e.StringRepresentationProvider=e.Delegate=e.DataSource=void 0;let c=class{constructor(S){this._resolverService=S}hasChildren(S){return S instanceof s.ReferencesModel||S instanceof s.FileReferences}getChildren(S){if(S instanceof s.ReferencesModel)return S.groups;if(S instanceof s.FileReferences)return S.resolve(this._resolverService).then(L=>L.children);throw new Error("bad tree")}};e.DataSource=c,e.DataSource=c=ke([ce(0,b.ITextModelService)],c);class l{getHeight(){return 23}getTemplateId(S){return S instanceof s.FileReferences?C.id:h.id}}e.Delegate=l;let a=class{constructor(S){this._keybindingService=S}getKeyboardNavigationLabel(S){if(S instanceof s.OneReference){const L=S.parent.getPreview(S)?.preview(S.range);if(L)return L.value}return(0,_.basename)(S.uri)}};e.StringRepresentationProvider=a,e.StringRepresentationProvider=a=ke([ce(0,o.IKeybindingService)],a);class r{getId(S){return S instanceof s.OneReference?S.id:S.uri}}e.IdentityProvider=r;let u=class extends m.Disposable{constructor(S,L){super(),this._labelService=L;const D=document.createElement("div");D.classList.add("reference-file"),this.file=this._register(new E.IconLabel(D,{supportHighlights:!0})),this.badge=new k.CountBadge(d.append(D,d.$(".count")),{},i.defaultCountBadgeStyles),S.appendChild(D)}set(S,L){const D=(0,_.dirname)(S.uri);this.file.setLabel(this._labelService.getUriBasenameLabel(S.uri),this._labelService.getUriLabel(D,{relative:!0}),{title:this._labelService.getUriLabel(S.uri),matches:L});const T=S.children.length;this.badge.setCount(T),T>1?this.badge.setTitleFormat((0,p.localize)(989,"{0} references",T)):this.badge.setTitleFormat((0,p.localize)(990,"{0} reference",T))}};u=ke([ce(1,t.ILabelService)],u);let C=class{static{g=this}static{this.id="FileReferencesRenderer"}constructor(S){this._instantiationService=S,this.templateId=g.id}renderTemplate(S){return this._instantiationService.createInstance(u,S)}renderElement(S,L,D){D.set(S.element,(0,y.createMatches)(S.filterData))}disposeTemplate(S){S.dispose()}};e.FileReferencesRenderer=C,e.FileReferencesRenderer=C=g=ke([ce(0,n.IInstantiationService)],C);class f extends m.Disposable{constructor(S){super(),this.label=this._register(new I.HighlightedLabel(S))}set(S,L){const D=S.parent.getPreview(S)?.preview(S.range);if(!D||!D.value)this.label.set(`${(0,_.basename)(S.uri)}:${S.range.startLineNumber+1}:${S.range.startColumn+1}`);else{const{value:T,highlight:M}=D;L&&!y.FuzzyScore.isDefault(L)?(this.label.element.classList.toggle("referenceMatch",!1),this.label.set(T,(0,y.createMatches)(L))):(this.label.element.classList.toggle("referenceMatch",!0),this.label.set(T,[M]))}}}class h{constructor(){this.templateId=h.id}static{this.id="OneReferenceRenderer"}renderTemplate(S){return new f(S)}renderElement(S,L,D){D.set(S.element,S.filterData)}disposeTemplate(S){S.dispose()}}e.OneReferenceRenderer=h;class v{getWidgetAriaLabel(){return(0,p.localize)(991,"References")}getAriaLabel(S){return S.ariaMessage}}e.AccessibilityProvider=v}),define(ne[759],se([1,0,5,206,115,18,26,2,16,30,3,58,31,110,32,306]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ActionList=e.previewSelectedActionCommand=e.acceptSelectedActionCommand=void 0,e.acceptSelectedActionCommand="acceptSelectedCodeAction",e.previewSelectedActionCommand="previewSelectedCodeAction";class s{get templateId(){return"header"}renderTemplate(f){f.classList.add("group-header");const h=document.createElement("span");return f.append(h),{container:f,text:h}}renderElement(f,h,v){v.text.textContent=f.group?.title??""}disposeTemplate(f){}}let g=class{get templateId(){return"action"}constructor(f,h){this._supportsPreview=f,this._keybindingService=h}renderTemplate(f){f.classList.add(this.templateId);const h=document.createElement("div");h.className="icon",f.append(h);const v=document.createElement("span");v.className="title",f.append(v);const w=new k.KeybindingLabel(f,_.OS);return{container:f,icon:h,text:v,keybinding:w}}renderElement(f,h,v){if(f.group?.icon?(v.icon.className=b.ThemeIcon.asClassName(f.group.icon),f.group.icon.color&&(v.icon.style.color=(0,i.asCssVariable)(f.group.icon.color.id))):(v.icon.className=b.ThemeIcon.asClassName(y.Codicon.lightBulb),v.icon.style.color="var(--vscode-editorLightBulb-foreground)"),!f.item||!f.label)return;v.text.textContent=u(f.label),v.keybinding.set(f.keybinding),d.setVisibility(!!f.keybinding,v.keybinding.element);const w=this._keybindingService.lookupKeybinding(e.acceptSelectedActionCommand)?.getLabel(),S=this._keybindingService.lookupKeybinding(e.previewSelectedActionCommand)?.getLabel();v.container.classList.toggle("option-disabled",f.disabled),f.disabled?v.container.title=f.label:w&&S?this._supportsPreview&&f.canPreview?v.container.title=(0,p.localize)(1492,"{0} to Apply, {1} to Preview",w,S):v.container.title=(0,p.localize)(1493,"{0} to Apply",w):v.container.title=""}disposeTemplate(f){f.keybinding.dispose()}};g=ke([ce(1,o.IKeybindingService)],g);class c extends UIEvent{constructor(){super("acceptSelectedAction")}}class l extends UIEvent{constructor(){super("previewSelectedAction")}}function a(C){if(C.kind==="action")return C.label}let r=class extends m.Disposable{constructor(f,h,v,w,S,L){super(),this._delegate=w,this._contextViewService=S,this._keybindingService=L,this._actionLineHeight=24,this._headerLineHeight=26,this.cts=this._register(new E.CancellationTokenSource),this.domNode=document.createElement("div"),this.domNode.classList.add("actionList");const D={getHeight:T=>T.kind==="header"?this._headerLineHeight:this._actionLineHeight,getTemplateId:T=>T.kind};this._list=this._register(new I.List(f,this.domNode,D,[new g(h,this._keybindingService),new s],{keyboardSupport:!1,typeNavigationEnabled:!0,keyboardNavigationLabelProvider:{getKeyboardNavigationLabel:a},accessibilityProvider:{getAriaLabel:T=>{if(T.kind==="action"){let M=T.label?u(T?.label):"";return T.disabled&&(M=(0,p.localize)(1494,"{0}, Disabled Reason: {1}",M,T.disabled)),M}return null},getWidgetAriaLabel:()=>(0,p.localize)(1495,"Action Widget"),getRole:T=>T.kind==="action"?"option":"separator",getWidgetRole:()=>"listbox"}})),this._list.style(t.defaultListStyles),this._register(this._list.onMouseClick(T=>this.onListClick(T))),this._register(this._list.onMouseOver(T=>this.onListHover(T))),this._register(this._list.onDidChangeFocus(()=>this.onFocus())),this._register(this._list.onDidChangeSelection(T=>this.onListSelection(T))),this._allMenuItems=v,this._list.splice(0,this._list.length,this._allMenuItems),this._list.length&&this.focusNext()}focusCondition(f){return!f.disabled&&f.kind==="action"}hide(f){this._delegate.onHide(f),this.cts.cancel(),this._contextViewService.hideContextView()}layout(f){const h=this._allMenuItems.filter(T=>T.kind==="header").length,w=this._allMenuItems.length*this._actionLineHeight+h*this._headerLineHeight-h*this._actionLineHeight;this._list.layout(w);let S=f;if(this._allMenuItems.length>=50)S=380;else{const T=this._allMenuItems.map((M,A)=>{const P=this.domNode.ownerDocument.getElementById(this._list.getElementID(A));if(P){P.style.width="auto";const N=P.getBoundingClientRect().width;return P.style.width="",N}return 0});S=Math.max(...T,f)}const D=Math.min(w,this.domNode.ownerDocument.body.clientHeight*.7);return this._list.layout(D,S),this.domNode.style.height=`${D}px`,this._list.domFocus(),S}focusPrevious(){this._list.focusPrevious(1,!0,void 0,this.focusCondition)}focusNext(){this._list.focusNext(1,!0,void 0,this.focusCondition)}acceptSelected(f){const h=this._list.getFocus();if(h.length===0)return;const v=h[0],w=this._list.element(v);if(!this.focusCondition(w))return;const S=f?new l:new c;this._list.setSelection([v],S)}onListSelection(f){if(!f.elements.length)return;const h=f.elements[0];h.item&&this.focusCondition(h)?this._delegate.onSelect(h.item,f.browserEvent instanceof l):this._list.setSelection([])}onFocus(){const f=this._list.getFocus();if(f.length===0)return;const h=f[0],v=this._list.element(h);this._delegate.onFocus?.(v.item)}async onListHover(f){const h=f.element;if(h&&h.item&&this.focusCondition(h)){if(this._delegate.onHover&&!h.disabled&&h.kind==="action"){const v=await this._delegate.onHover(h.item,this.cts.token);h.canPreview=v?v.canPreview:void 0}f.index&&this._list.splice(f.index,1,[h])}this._list.setFocus(typeof f.index=="number"?[f.index]:[])}onListClick(f){f.element&&this.focusCondition(f.element)&&this._list.setFocus([])}};e.ActionList=r,e.ActionList=r=ke([ce(4,n.IContextViewService),ce(5,o.IKeybindingService)],r);function u(C){return C.replace(/\r\n|\r|\n/g," ")}}),define(ne[760],se([1,0,5,87,2,3,759,29,12,58,49,7,32,306]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.IActionWidgetService=void 0,(0,o.registerColor)("actionBar.toggledBackground",o.inputActiveOptionBackground,(0,E.localize)(1496,"Background color for toggled action items in action bar."));const t={Visible:new _.RawContextKey("codeActionMenuVisible",!1,(0,E.localize)(1497,"Whether the action widget list is visible"))};e.IActionWidgetService=(0,n.createDecorator)("actionWidgetService");let i=class extends I.Disposable{get isVisible(){return t.Visible.getValue(this._contextKeyService)||!1}constructor(c,l,a){super(),this._contextViewService=c,this._contextKeyService=l,this._instantiationService=a,this._list=this._register(new I.MutableDisposable)}show(c,l,a,r,u,C,f){const h=t.Visible.bindTo(this._contextKeyService),v=this._instantiationService.createInstance(y.ActionList,c,l,a,r);this._contextViewService.showContextView({getAnchor:()=>u,render:w=>(h.set(!0),this._renderWidget(w,v,f??[])),onHide:w=>{h.reset(),this._onWidgetClosed(w)}},C,!1)}acceptSelected(c){this._list.value?.acceptSelected(c)}focusPrevious(){this._list?.value?.focusPrevious()}focusNext(){this._list?.value?.focusNext()}hide(c){this._list.value?.hide(c),this._list.clear()}_renderWidget(c,l,a){const r=document.createElement("div");if(r.classList.add("action-widget"),c.appendChild(r),this._list.value=l,this._list.value)r.appendChild(this._list.value.domNode);else throw new Error("List has no value");const u=new I.DisposableStore,C=document.createElement("div"),f=c.appendChild(C);f.classList.add("context-view-block"),u.add(d.addDisposableListener(f,d.EventType.MOUSE_DOWN,D=>D.stopPropagation()));const h=document.createElement("div"),v=c.appendChild(h);v.classList.add("context-view-pointerBlock"),u.add(d.addDisposableListener(v,d.EventType.POINTER_MOVE,()=>v.remove())),u.add(d.addDisposableListener(v,d.EventType.MOUSE_DOWN,()=>v.remove()));let w=0;if(a.length){const D=this._createActionBar(".action-widget-action-bar",a);D&&(r.appendChild(D.getContainer().parentElement),u.add(D),w=D.getContainer().offsetWidth)}const S=this._list.value?.layout(w);r.style.width=`${S}px`;const L=u.add(d.trackFocus(c));return u.add(L.onDidBlur(()=>this.hide(!0))),u}_createActionBar(c,l){if(!l.length)return;const a=d.$(c),r=new k.ActionBar(a);return r.push(l,{icon:!1,label:!0}),r}_onWidgetClosed(c){this._list.value?.hide(c)}};i=ke([ce(0,b.IContextViewService),ce(1,_.IContextKeyService),ce(2,n.IInstantiationService)],i),(0,p.registerSingleton)(e.IActionWidgetService,i,1);const s=1100;(0,m.registerAction2)(class extends m.Action2{constructor(){super({id:"hideCodeActionWidget",title:(0,E.localize2)(1498,"Hide action widget"),precondition:t.Visible,keybinding:{weight:s,primary:9,secondary:[1033]}})}run(g){g.get(e.IActionWidgetService).hide(!0)}}),(0,m.registerAction2)(class extends m.Action2{constructor(){super({id:"selectPrevCodeAction",title:(0,E.localize2)(1499,"Select previous action"),precondition:t.Visible,keybinding:{weight:s,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}})}run(g){const c=g.get(e.IActionWidgetService);c instanceof i&&c.focusPrevious()}}),(0,m.registerAction2)(class extends m.Action2{constructor(){super({id:"selectNextCodeAction",title:(0,E.localize2)(1500,"Select next action"),precondition:t.Visible,keybinding:{weight:s,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}})}run(g){const c=g.get(e.IActionWidgetService);c instanceof i&&c.focusNext()}}),(0,m.registerAction2)(class extends m.Action2{constructor(){super({id:y.acceptSelectedActionCommand,title:(0,E.localize2)(1501,"Accept selected action"),precondition:t.Visible,keybinding:{weight:s,primary:3,secondary:[2137]}})}run(g){const c=g.get(e.IActionWidgetService);c instanceof i&&c.acceptSelected()}}),(0,m.registerAction2)(class extends m.Action2{constructor(){super({id:y.previewSelectedActionCommand,title:(0,E.localize2)(1502,"Preview selected action"),precondition:t.Visible,keybinding:{weight:s,primary:2051}})}run(g){const c=g.get(e.IActionWidgetService);c instanceof i&&c.acceptSelected(!0)}})}),define(ne[761],se([1,0,5,77,642,41,8,2,110]),function(oe,e,d,k,I,E,y,m,_){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ContextMenuHandler=void 0;class b{constructor(n,o,t,i){this.contextViewService=n,this.telemetryService=o,this.notificationService=t,this.keybindingService=i,this.focusToReturn=null,this.lastContainer=null,this.block=null,this.blockDisposable=null,this.options={blockMouse:!0}}configure(n){this.options=n}showContextMenu(n){const o=n.getActions();if(!o.length)return;this.focusToReturn=(0,d.getActiveElement)();let t;const i=(0,d.isHTMLElement)(n.domForShadowRoot)?n.domForShadowRoot:void 0;this.contextViewService.showContextView({getAnchor:()=>n.getAnchor(),canRelayout:!1,anchorAlignment:n.anchorAlignment,anchorAxisAlignment:n.anchorAxisAlignment,render:s=>{this.lastContainer=s;const g=n.getMenuClassName?n.getMenuClassName():"";g&&(s.className+=" "+g),this.options.blockMouse&&(this.block=s.appendChild((0,d.$)(".context-view-block")),this.block.style.position="fixed",this.block.style.cursor="initial",this.block.style.left="0",this.block.style.top="0",this.block.style.width="100%",this.block.style.height="100%",this.block.style.zIndex="-1",this.blockDisposable?.dispose(),this.blockDisposable=(0,d.addDisposableListener)(this.block,d.EventType.MOUSE_DOWN,r=>r.stopPropagation()));const c=new m.DisposableStore,l=n.actionRunner||new E.ActionRunner;l.onWillRun(r=>this.onActionRun(r,!n.skipTelemetry),this,c),l.onDidRun(this.onDidActionRun,this,c),t=new I.Menu(s,o,{actionViewItemProvider:n.getActionViewItem,context:n.getActionsContext?n.getActionsContext():null,actionRunner:l,getKeyBinding:n.getKeyBinding?n.getKeyBinding:r=>this.keybindingService.lookupKeybinding(r.id)},_.defaultMenuStyles),t.onDidCancel(()=>this.contextViewService.hideContextView(!0),null,c),t.onDidBlur(()=>this.contextViewService.hideContextView(!0),null,c);const a=(0,d.getWindow)(s);return c.add((0,d.addDisposableListener)(a,d.EventType.BLUR,()=>this.contextViewService.hideContextView(!0))),c.add((0,d.addDisposableListener)(a,d.EventType.MOUSE_DOWN,r=>{if(r.defaultPrevented)return;const u=new k.StandardMouseEvent(a,r);let C=u.target;if(!u.rightButton){for(;C;){if(C===s)return;C=C.parentElement}this.contextViewService.hideContextView(!0)}})),(0,m.combinedDisposable)(c,t)},focus:()=>{t?.focus(!!n.autoSelectFirstItem)},onHide:s=>{n.onHide?.(!!s),this.block&&(this.block.remove(),this.block=null),this.blockDisposable?.dispose(),this.blockDisposable=null,this.lastContainer&&((0,d.getActiveElement)()===this.lastContainer||(0,d.isAncestor)((0,d.getActiveElement)(),this.lastContainer))&&this.focusToReturn?.focus(),this.lastContainer=null}},i,!!i)}onActionRun(n,o){o&&this.telemetryService.publicLog2("workbenchActionExecuted",{id:n.action.id,from:"contextMenu"}),this.contextViewService.hideContextView(!1)}onDidActionRun(n){n.error&&!(0,y.isCancellationError)(n.error)&&this.notificationService.error(n.error)}}e.ContextMenuHandler=b}),define(ne[216],se([1,0,5,637,115,638,176,645,644,360,6,2,3,28,109,12,179,58,7,31,38,110]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r,u){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.WorkbenchCompressibleAsyncDataTree=e.WorkbenchAsyncDataTree=e.WorkbenchDataTree=e.WorkbenchCompressibleObjectTree=e.WorkbenchObjectTree=e.WorkbenchTable=e.WorkbenchPagedList=e.WorkbenchList=e.WorkbenchTreeFindOpen=e.WorkbenchTreeElementHasChild=e.WorkbenchTreeElementCanExpand=e.WorkbenchTreeElementHasParent=e.WorkbenchTreeElementCanCollapse=e.WorkbenchListSupportsFind=e.WorkbenchListSelectionNavigation=e.WorkbenchListMultiSelection=e.WorkbenchListDoubleSelection=e.WorkbenchListHasSelectionOrFocus=e.WorkbenchListFocusContextKey=e.WorkbenchListSupportsMultiSelectContextKey=e.WorkbenchTreeStickyScrollFocused=e.RawWorkbenchListFocusContextKey=e.WorkbenchListScrollAtBottomContextKey=e.WorkbenchListScrollAtTopContextKey=e.RawWorkbenchListScrollAtBoundaryContextKey=e.ListService=e.IListService=void 0,e.IListService=(0,l.createDecorator)("listService");class C{get lastFocusedList(){return this._lastFocusedWidget}constructor(){this.disposables=new n.DisposableStore,this.lists=[],this._lastFocusedWidget=void 0,this._hasCreatedStyleController=!1}setLastFocusedList(le){le!==this._lastFocusedWidget&&(this._lastFocusedWidget?.getHTMLElement().classList.remove("last-focused"),this._lastFocusedWidget=le,this._lastFocusedWidget?.getHTMLElement().classList.add("last-focused"))}register(le,me){if(this._hasCreatedStyleController||(this._hasCreatedStyleController=!0,new I.DefaultStyleController((0,d.createStyleSheet)(),"").style(u.defaultListStyles)),this.lists.some(Le=>Le.widget===le))throw new Error("Cannot register the same widget multiple times");const ve={widget:le,extraContextKeys:me};return this.lists.push(ve),(0,d.isActiveElement)(le.getHTMLElement())&&this.setLastFocusedList(le),(0,n.combinedDisposable)(le.onDidFocus(()=>this.setLastFocusedList(le)),(0,n.toDisposable)(()=>this.lists.splice(this.lists.indexOf(ve),1)),le.onDidDispose(()=>{this.lists=this.lists.filter(Le=>Le!==ve),this._lastFocusedWidget===le&&this.setLastFocusedList(void 0)}))}dispose(){this.disposables.dispose()}}e.ListService=C,e.RawWorkbenchListScrollAtBoundaryContextKey=new s.RawContextKey("listScrollAtBoundary","none"),e.WorkbenchListScrollAtTopContextKey=s.ContextKeyExpr.or(e.RawWorkbenchListScrollAtBoundaryContextKey.isEqualTo("top"),e.RawWorkbenchListScrollAtBoundaryContextKey.isEqualTo("both")),e.WorkbenchListScrollAtBottomContextKey=s.ContextKeyExpr.or(e.RawWorkbenchListScrollAtBoundaryContextKey.isEqualTo("bottom"),e.RawWorkbenchListScrollAtBoundaryContextKey.isEqualTo("both")),e.RawWorkbenchListFocusContextKey=new s.RawContextKey("listFocus",!0),e.WorkbenchTreeStickyScrollFocused=new s.RawContextKey("treestickyScrollFocused",!1),e.WorkbenchListSupportsMultiSelectContextKey=new s.RawContextKey("listSupportsMultiselect",!0),e.WorkbenchListFocusContextKey=s.ContextKeyExpr.and(e.RawWorkbenchListFocusContextKey,s.ContextKeyExpr.not(g.InputFocusedContextKey),e.WorkbenchTreeStickyScrollFocused.negate()),e.WorkbenchListHasSelectionOrFocus=new s.RawContextKey("listHasSelectionOrFocus",!1),e.WorkbenchListDoubleSelection=new s.RawContextKey("listDoubleSelection",!1),e.WorkbenchListMultiSelection=new s.RawContextKey("listMultiSelection",!1),e.WorkbenchListSelectionNavigation=new s.RawContextKey("listSelectionNavigation",!1),e.WorkbenchListSupportsFind=new s.RawContextKey("listSupportsFind",!0),e.WorkbenchTreeElementCanCollapse=new s.RawContextKey("treeElementCanCollapse",!1),e.WorkbenchTreeElementHasParent=new s.RawContextKey("treeElementHasParent",!1),e.WorkbenchTreeElementCanExpand=new s.RawContextKey("treeElementCanExpand",!1),e.WorkbenchTreeElementHasChild=new s.RawContextKey("treeElementHasChild",!1),e.WorkbenchTreeFindOpen=new s.RawContextKey("treeFindOpen",!1);const f="listTypeNavigationMode",h="listAutomaticKeyboardNavigation";function v(re,le){const me=re.createScoped(le.getHTMLElement());return e.RawWorkbenchListFocusContextKey.bindTo(me),me}function w(re,le){const me=e.RawWorkbenchListScrollAtBoundaryContextKey.bindTo(re),ve=()=>{const Le=le.scrollTop===0,Ee=le.scrollHeight-le.renderHeight-le.scrollTop<1;Le&&Ee?me.set("both"):Le?me.set("top"):Ee?me.set("bottom"):me.set("none")};return ve(),le.onDidScroll(ve)}const S="workbench.list.multiSelectModifier",L="workbench.list.openMode",D="workbench.list.horizontalScrolling",T="workbench.list.defaultFindMode",M="workbench.list.typeNavigationMode",A="workbench.list.keyboardNavigation",P="workbench.list.scrollByPage",N="workbench.list.defaultFindMatchType",O="workbench.tree.indent",F="workbench.tree.renderIndentGuides",x="workbench.list.smoothScrolling",W="workbench.list.mouseWheelScrollSensitivity",V="workbench.list.fastScrollSensitivity",q="workbench.tree.expandMode",H="workbench.tree.enableStickyScroll",z="workbench.tree.stickyScrollMaxItemCount";function U(re){return re.getValue(S)==="alt"}class j extends n.Disposable{constructor(le){super(),this.configurationService=le,this.useAltAsMultipleSelectionModifier=U(le),this.registerListeners()}registerListeners(){this._register(this.configurationService.onDidChangeConfiguration(le=>{le.affectsConfiguration(S)&&(this.useAltAsMultipleSelectionModifier=U(this.configurationService))}))}isSelectionSingleChangeEvent(le){return this.useAltAsMultipleSelectionModifier?le.browserEvent.altKey:(0,I.isSelectionSingleChangeEvent)(le)}isSelectionRangeChangeEvent(le){return(0,I.isSelectionRangeChangeEvent)(le)}}function Q(re,le){const me=re.get(t.IConfigurationService),ve=re.get(a.IKeybindingService),Le=new n.DisposableStore;return[{...le,keyboardNavigationDelegate:{mightProducePrintableCharacter(Ie){return ve.mightProducePrintableCharacter(Ie)}},smoothScrolling:!!me.getValue(x),mouseWheelScrollSensitivity:me.getValue(W),fastScrollSensitivity:me.getValue(V),multipleSelectionController:le.multipleSelectionController??Le.add(new j(me)),keyboardNavigationEventFilter:pe(ve),scrollByPage:!!me.getValue(P)},Le]}let G=class extends I.List{constructor(le,me,ve,Le,Ee,Ie,Ae,Me,Ne){const ze=typeof Ee.horizontalScrolling<"u"?Ee.horizontalScrolling:!!Me.getValue(D),[Ve,$e]=Ne.invokeFunction(Q,Ee);super(le,me,ve,Le,{keyboardSupport:!1,...Ve,horizontalScrolling:ze}),this.disposables.add($e),this.contextKeyService=v(Ie,this),this.disposables.add(w(this.contextKeyService,this)),this.listSupportsMultiSelect=e.WorkbenchListSupportsMultiSelectContextKey.bindTo(this.contextKeyService),this.listSupportsMultiSelect.set(Ee.multipleSelectionSupport!==!1),e.WorkbenchListSelectionNavigation.bindTo(this.contextKeyService).set(!!Ee.selectionNavigation),this.listHasSelectionOrFocus=e.WorkbenchListHasSelectionOrFocus.bindTo(this.contextKeyService),this.listDoubleSelection=e.WorkbenchListDoubleSelection.bindTo(this.contextKeyService),this.listMultiSelection=e.WorkbenchListMultiSelection.bindTo(this.contextKeyService),this.horizontalScrolling=Ee.horizontalScrolling,this._useAltAsMultipleSelectionModifier=U(Me),this.disposables.add(this.contextKeyService),this.disposables.add(Ae.register(this)),this.updateStyles(Ee.overrideStyles),this.disposables.add(this.onDidChangeSelection(()=>{const Oe=this.getSelection(),Pe=this.getFocus();this.contextKeyService.bufferChangeEvents(()=>{this.listHasSelectionOrFocus.set(Oe.length>0||Pe.length>0),this.listMultiSelection.set(Oe.length>1),this.listDoubleSelection.set(Oe.length===2)})})),this.disposables.add(this.onDidChangeFocus(()=>{const Oe=this.getSelection(),Pe=this.getFocus();this.listHasSelectionOrFocus.set(Oe.length>0||Pe.length>0)})),this.disposables.add(Me.onDidChangeConfiguration(Oe=>{Oe.affectsConfiguration(S)&&(this._useAltAsMultipleSelectionModifier=U(Me));let Pe={};if(Oe.affectsConfiguration(D)&&this.horizontalScrolling===void 0){const fe=!!Me.getValue(D);Pe={...Pe,horizontalScrolling:fe}}if(Oe.affectsConfiguration(P)){const fe=!!Me.getValue(P);Pe={...Pe,scrollByPage:fe}}if(Oe.affectsConfiguration(x)){const fe=!!Me.getValue(x);Pe={...Pe,smoothScrolling:fe}}if(Oe.affectsConfiguration(W)){const fe=Me.getValue(W);Pe={...Pe,mouseWheelScrollSensitivity:fe}}if(Oe.affectsConfiguration(V)){const fe=Me.getValue(V);Pe={...Pe,fastScrollSensitivity:fe}}Object.keys(Pe).length>0&&this.updateOptions(Pe)})),this.navigator=new ie(this,{configurationService:Me,...Ee}),this.disposables.add(this.navigator)}updateOptions(le){super.updateOptions(le),le.overrideStyles!==void 0&&this.updateStyles(le.overrideStyles),le.multipleSelectionSupport!==void 0&&this.listSupportsMultiSelect.set(!!le.multipleSelectionSupport)}updateStyles(le){this.style(le?(0,u.getListStyles)(le):u.defaultListStyles)}};e.WorkbenchList=G,e.WorkbenchList=G=ke([ce(5,s.IContextKeyService),ce(6,e.IListService),ce(7,t.IConfigurationService),ce(8,l.IInstantiationService)],G);let K=class extends k.PagedList{constructor(le,me,ve,Le,Ee,Ie,Ae,Me,Ne){const ze=typeof Ee.horizontalScrolling<"u"?Ee.horizontalScrolling:!!Me.getValue(D),[Ve,$e]=Ne.invokeFunction(Q,Ee);super(le,me,ve,Le,{keyboardSupport:!1,...Ve,horizontalScrolling:ze}),this.disposables=new n.DisposableStore,this.disposables.add($e),this.contextKeyService=v(Ie,this),this.disposables.add(w(this.contextKeyService,this.widget)),this.horizontalScrolling=Ee.horizontalScrolling,this.listSupportsMultiSelect=e.WorkbenchListSupportsMultiSelectContextKey.bindTo(this.contextKeyService),this.listSupportsMultiSelect.set(Ee.multipleSelectionSupport!==!1),e.WorkbenchListSelectionNavigation.bindTo(this.contextKeyService).set(!!Ee.selectionNavigation),this._useAltAsMultipleSelectionModifier=U(Me),this.disposables.add(this.contextKeyService),this.disposables.add(Ae.register(this)),this.updateStyles(Ee.overrideStyles),this.disposables.add(Me.onDidChangeConfiguration(Oe=>{Oe.affectsConfiguration(S)&&(this._useAltAsMultipleSelectionModifier=U(Me));let Pe={};if(Oe.affectsConfiguration(D)&&this.horizontalScrolling===void 0){const fe=!!Me.getValue(D);Pe={...Pe,horizontalScrolling:fe}}if(Oe.affectsConfiguration(P)){const fe=!!Me.getValue(P);Pe={...Pe,scrollByPage:fe}}if(Oe.affectsConfiguration(x)){const fe=!!Me.getValue(x);Pe={...Pe,smoothScrolling:fe}}if(Oe.affectsConfiguration(W)){const fe=Me.getValue(W);Pe={...Pe,mouseWheelScrollSensitivity:fe}}if(Oe.affectsConfiguration(V)){const fe=Me.getValue(V);Pe={...Pe,fastScrollSensitivity:fe}}Object.keys(Pe).length>0&&this.updateOptions(Pe)})),this.navigator=new ie(this,{configurationService:Me,...Ee}),this.disposables.add(this.navigator)}updateOptions(le){super.updateOptions(le),le.overrideStyles!==void 0&&this.updateStyles(le.overrideStyles),le.multipleSelectionSupport!==void 0&&this.listSupportsMultiSelect.set(!!le.multipleSelectionSupport)}updateStyles(le){this.style(le?(0,u.getListStyles)(le):u.defaultListStyles)}dispose(){this.disposables.dispose(),super.dispose()}};e.WorkbenchPagedList=K,e.WorkbenchPagedList=K=ke([ce(5,s.IContextKeyService),ce(6,e.IListService),ce(7,t.IConfigurationService),ce(8,l.IInstantiationService)],K);let R=class extends E.Table{constructor(le,me,ve,Le,Ee,Ie,Ae,Me,Ne,ze){const Ve=typeof Ie.horizontalScrolling<"u"?Ie.horizontalScrolling:!!Ne.getValue(D),[$e,it]=ze.invokeFunction(Q,Ie);super(le,me,ve,Le,Ee,{keyboardSupport:!1,...$e,horizontalScrolling:Ve}),this.disposables.add(it),this.contextKeyService=v(Ae,this),this.disposables.add(w(this.contextKeyService,this)),this.listSupportsMultiSelect=e.WorkbenchListSupportsMultiSelectContextKey.bindTo(this.contextKeyService),this.listSupportsMultiSelect.set(Ie.multipleSelectionSupport!==!1),e.WorkbenchListSelectionNavigation.bindTo(this.contextKeyService).set(!!Ie.selectionNavigation),this.listHasSelectionOrFocus=e.WorkbenchListHasSelectionOrFocus.bindTo(this.contextKeyService),this.listDoubleSelection=e.WorkbenchListDoubleSelection.bindTo(this.contextKeyService),this.listMultiSelection=e.WorkbenchListMultiSelection.bindTo(this.contextKeyService),this.horizontalScrolling=Ie.horizontalScrolling,this._useAltAsMultipleSelectionModifier=U(Ne),this.disposables.add(this.contextKeyService),this.disposables.add(Me.register(this)),this.updateStyles(Ie.overrideStyles),this.disposables.add(this.onDidChangeSelection(()=>{const Pe=this.getSelection(),fe=this.getFocus();this.contextKeyService.bufferChangeEvents(()=>{this.listHasSelectionOrFocus.set(Pe.length>0||fe.length>0),this.listMultiSelection.set(Pe.length>1),this.listDoubleSelection.set(Pe.length===2)})})),this.disposables.add(this.onDidChangeFocus(()=>{const Pe=this.getSelection(),fe=this.getFocus();this.listHasSelectionOrFocus.set(Pe.length>0||fe.length>0)})),this.disposables.add(Ne.onDidChangeConfiguration(Pe=>{Pe.affectsConfiguration(S)&&(this._useAltAsMultipleSelectionModifier=U(Ne));let fe={};if(Pe.affectsConfiguration(D)&&this.horizontalScrolling===void 0){const we=!!Ne.getValue(D);fe={...fe,horizontalScrolling:we}}if(Pe.affectsConfiguration(P)){const we=!!Ne.getValue(P);fe={...fe,scrollByPage:we}}if(Pe.affectsConfiguration(x)){const we=!!Ne.getValue(x);fe={...fe,smoothScrolling:we}}if(Pe.affectsConfiguration(W)){const we=Ne.getValue(W);fe={...fe,mouseWheelScrollSensitivity:we}}if(Pe.affectsConfiguration(V)){const we=Ne.getValue(V);fe={...fe,fastScrollSensitivity:we}}Object.keys(fe).length>0&&this.updateOptions(fe)})),this.navigator=new ue(this,{configurationService:Ne,...Ie}),this.disposables.add(this.navigator)}updateOptions(le){super.updateOptions(le),le.overrideStyles!==void 0&&this.updateStyles(le.overrideStyles),le.multipleSelectionSupport!==void 0&&this.listSupportsMultiSelect.set(!!le.multipleSelectionSupport)}updateStyles(le){this.style(le?(0,u.getListStyles)(le):u.defaultListStyles)}dispose(){this.disposables.dispose(),super.dispose()}};e.WorkbenchTable=R,e.WorkbenchTable=R=ke([ce(6,s.IContextKeyService),ce(7,e.IListService),ce(8,t.IConfigurationService),ce(9,l.IInstantiationService)],R);class J extends n.Disposable{constructor(le,me){super(),this.widget=le,this._onDidOpen=this._register(new p.Emitter),this.onDidOpen=this._onDidOpen.event,this._register(p.Event.filter(this.widget.onDidChangeSelection,ve=>(0,d.isKeyboardEvent)(ve.browserEvent))(ve=>this.onSelectionFromKeyboard(ve))),this._register(this.widget.onPointer(ve=>this.onPointer(ve.element,ve.browserEvent))),this._register(this.widget.onMouseDblClick(ve=>this.onMouseDblClick(ve.element,ve.browserEvent))),typeof me?.openOnSingleClick!="boolean"&&me?.configurationService?(this.openOnSingleClick=me?.configurationService.getValue(L)!=="doubleClick",this._register(me?.configurationService.onDidChangeConfiguration(ve=>{ve.affectsConfiguration(L)&&(this.openOnSingleClick=me?.configurationService.getValue(L)!=="doubleClick")}))):this.openOnSingleClick=me?.openOnSingleClick??!0}onSelectionFromKeyboard(le){if(le.elements.length!==1)return;const me=le.browserEvent,ve=typeof me.preserveFocus=="boolean"?me.preserveFocus:!0,Le=typeof me.pinned=="boolean"?me.pinned:!ve;this._open(this.getSelectedElement(),ve,Le,!1,le.browserEvent)}onPointer(le,me){if(!this.openOnSingleClick||me.detail===2)return;const Le=me.button===1,Ee=!0,Ie=Le,Ae=me.ctrlKey||me.metaKey||me.altKey;this._open(le,Ee,Ie,Ae,me)}onMouseDblClick(le,me){if(!me)return;const ve=me.target;if(ve.classList.contains("monaco-tl-twistie")||ve.classList.contains("monaco-icon-label")&&ve.classList.contains("folder-icon")&&me.offsetX<16)return;const Ee=!1,Ie=!0,Ae=me.ctrlKey||me.metaKey||me.altKey;this._open(le,Ee,Ie,Ae,me)}_open(le,me,ve,Le,Ee){le&&this._onDidOpen.fire({editorOptions:{preserveFocus:me,pinned:ve,revealIfVisible:!0},sideBySide:Le,element:le,browserEvent:Ee})}}class ie extends J{constructor(le,me){super(le,me),this.widget=le}getSelectedElement(){return this.widget.getSelectedElements()[0]}}class ue extends J{constructor(le,me){super(le,me)}getSelectedElement(){return this.widget.getSelectedElements()[0]}}class he extends J{constructor(le,me){super(le,me)}getSelectedElement(){return this.widget.getSelection()[0]??void 0}}function pe(re){let le=!1;return me=>{if(me.toKeyCodeChord().isModifierKey())return!1;if(le)return le=!1,!1;const ve=re.softDispatch(me,me.target);return ve.kind===1?(le=!0,!1):(le=!1,ve.kind===0)}}let ae=class extends b.ObjectTree{constructor(le,me,ve,Le,Ee,Ie,Ae,Me,Ne){const{options:ze,getTypeNavigationMode:Ve,disposable:$e}=Ie.invokeFunction(Y,Ee);super(le,me,ve,Le,ze),this.disposables.add($e),this.internals=new Z(this,Ee,Ve,Ee.overrideStyles,Ae,Me,Ne),this.disposables.add(this.internals)}updateOptions(le){super.updateOptions(le),this.internals.updateOptions(le)}};e.WorkbenchObjectTree=ae,e.WorkbenchObjectTree=ae=ke([ce(5,l.IInstantiationService),ce(6,s.IContextKeyService),ce(7,e.IListService),ce(8,t.IConfigurationService)],ae);let ee=class extends b.CompressibleObjectTree{constructor(le,me,ve,Le,Ee,Ie,Ae,Me,Ne){const{options:ze,getTypeNavigationMode:Ve,disposable:$e}=Ie.invokeFunction(Y,Ee);super(le,me,ve,Le,ze),this.disposables.add($e),this.internals=new Z(this,Ee,Ve,Ee.overrideStyles,Ae,Me,Ne),this.disposables.add(this.internals)}updateOptions(le={}){super.updateOptions(le),le.overrideStyles&&this.internals.updateStyleOverrides(le.overrideStyles),this.internals.updateOptions(le)}};e.WorkbenchCompressibleObjectTree=ee,e.WorkbenchCompressibleObjectTree=ee=ke([ce(5,l.IInstantiationService),ce(6,s.IContextKeyService),ce(7,e.IListService),ce(8,t.IConfigurationService)],ee);let de=class extends _.DataTree{constructor(le,me,ve,Le,Ee,Ie,Ae,Me,Ne,ze){const{options:Ve,getTypeNavigationMode:$e,disposable:it}=Ae.invokeFunction(Y,Ie);super(le,me,ve,Le,Ee,Ve),this.disposables.add(it),this.internals=new Z(this,Ie,$e,Ie.overrideStyles,Me,Ne,ze),this.disposables.add(this.internals)}updateOptions(le={}){super.updateOptions(le),le.overrideStyles!==void 0&&this.internals.updateStyleOverrides(le.overrideStyles),this.internals.updateOptions(le)}};e.WorkbenchDataTree=de,e.WorkbenchDataTree=de=ke([ce(6,l.IInstantiationService),ce(7,s.IContextKeyService),ce(8,e.IListService),ce(9,t.IConfigurationService)],de);let ge=class extends m.AsyncDataTree{get onDidOpen(){return this.internals.onDidOpen}constructor(le,me,ve,Le,Ee,Ie,Ae,Me,Ne,ze){const{options:Ve,getTypeNavigationMode:$e,disposable:it}=Ae.invokeFunction(Y,Ie);super(le,me,ve,Le,Ee,Ve),this.disposables.add(it),this.internals=new Z(this,Ie,$e,Ie.overrideStyles,Me,Ne,ze),this.disposables.add(this.internals)}updateOptions(le={}){super.updateOptions(le),le.overrideStyles&&this.internals.updateStyleOverrides(le.overrideStyles),this.internals.updateOptions(le)}};e.WorkbenchAsyncDataTree=ge,e.WorkbenchAsyncDataTree=ge=ke([ce(6,l.IInstantiationService),ce(7,s.IContextKeyService),ce(8,e.IListService),ce(9,t.IConfigurationService)],ge);let X=class extends m.CompressibleAsyncDataTree{constructor(le,me,ve,Le,Ee,Ie,Ae,Me,Ne,ze,Ve){const{options:$e,getTypeNavigationMode:it,disposable:Oe}=Me.invokeFunction(Y,Ae);super(le,me,ve,Le,Ee,Ie,$e),this.disposables.add(Oe),this.internals=new Z(this,Ae,it,Ae.overrideStyles,Ne,ze,Ve),this.disposables.add(this.internals)}updateOptions(le){super.updateOptions(le),this.internals.updateOptions(le)}};e.WorkbenchCompressibleAsyncDataTree=X,e.WorkbenchCompressibleAsyncDataTree=X=ke([ce(7,l.IInstantiationService),ce(8,s.IContextKeyService),ce(9,e.IListService),ce(10,t.IConfigurationService)],X);function B(re){const le=re.getValue(T);if(le==="highlight")return y.TreeFindMode.Highlight;if(le==="filter")return y.TreeFindMode.Filter;const me=re.getValue(A);if(me==="simple"||me==="highlight")return y.TreeFindMode.Highlight;if(me==="filter")return y.TreeFindMode.Filter}function $(re){const le=re.getValue(N);if(le==="fuzzy")return y.TreeFindMatchType.Fuzzy;if(le==="contiguous")return y.TreeFindMatchType.Contiguous}function Y(re,le){const me=re.get(t.IConfigurationService),ve=re.get(c.IContextViewService),Le=re.get(s.IContextKeyService),Ee=re.get(l.IInstantiationService),Ie=()=>{const $e=Le.getContextKeyValue(f);if($e==="automatic")return I.TypeNavigationMode.Automatic;if($e==="trigger"||Le.getContextKeyValue(h)===!1)return I.TypeNavigationMode.Trigger;const Oe=me.getValue(M);if(Oe==="automatic")return I.TypeNavigationMode.Automatic;if(Oe==="trigger")return I.TypeNavigationMode.Trigger},Ae=le.horizontalScrolling!==void 0?le.horizontalScrolling:!!me.getValue(D),[Me,Ne]=Ee.invokeFunction(Q,le),ze=le.paddingBottom,Ve=le.renderIndentGuides!==void 0?le.renderIndentGuides:me.getValue(F);return{getTypeNavigationMode:Ie,disposable:Ne,options:{keyboardSupport:!1,...Me,indent:typeof me.getValue(O)=="number"?me.getValue(O):void 0,renderIndentGuides:Ve,smoothScrolling:!!me.getValue(x),defaultFindMode:B(me),defaultFindMatchType:$(me),horizontalScrolling:Ae,scrollByPage:!!me.getValue(P),paddingBottom:ze,hideTwistiesOfChildlessElements:le.hideTwistiesOfChildlessElements,expandOnlyOnTwistieClick:le.expandOnlyOnTwistieClick??me.getValue(q)==="doubleClick",contextViewProvider:ve,findWidgetStyles:u.defaultFindWidgetStyles,enableStickyScroll:!!me.getValue(H),stickyScrollMaxItemCount:Number(me.getValue(z))}}}let Z=class{get onDidOpen(){return this.navigator.onDidOpen}constructor(le,me,ve,Le,Ee,Ie,Ae){this.tree=le,this.disposables=[],this.contextKeyService=v(Ee,le),this.disposables.push(w(this.contextKeyService,le)),this.listSupportsMultiSelect=e.WorkbenchListSupportsMultiSelectContextKey.bindTo(this.contextKeyService),this.listSupportsMultiSelect.set(me.multipleSelectionSupport!==!1),e.WorkbenchListSelectionNavigation.bindTo(this.contextKeyService).set(!!me.selectionNavigation),this.listSupportFindWidget=e.WorkbenchListSupportsFind.bindTo(this.contextKeyService),this.listSupportFindWidget.set(me.findWidgetEnabled??!0),this.hasSelectionOrFocus=e.WorkbenchListHasSelectionOrFocus.bindTo(this.contextKeyService),this.hasDoubleSelection=e.WorkbenchListDoubleSelection.bindTo(this.contextKeyService),this.hasMultiSelection=e.WorkbenchListMultiSelection.bindTo(this.contextKeyService),this.treeElementCanCollapse=e.WorkbenchTreeElementCanCollapse.bindTo(this.contextKeyService),this.treeElementHasParent=e.WorkbenchTreeElementHasParent.bindTo(this.contextKeyService),this.treeElementCanExpand=e.WorkbenchTreeElementCanExpand.bindTo(this.contextKeyService),this.treeElementHasChild=e.WorkbenchTreeElementHasChild.bindTo(this.contextKeyService),this.treeFindOpen=e.WorkbenchTreeFindOpen.bindTo(this.contextKeyService),this.treeStickyScrollFocused=e.WorkbenchTreeStickyScrollFocused.bindTo(this.contextKeyService),this._useAltAsMultipleSelectionModifier=U(Ae),this.updateStyleOverrides(Le);const Ne=()=>{const Ve=le.getFocus()[0];if(!Ve)return;const $e=le.getNode(Ve);this.treeElementCanCollapse.set($e.collapsible&&!$e.collapsed),this.treeElementHasParent.set(!!le.getParentElement(Ve)),this.treeElementCanExpand.set($e.collapsible&&$e.collapsed),this.treeElementHasChild.set(!!le.getFirstElementChild(Ve))},ze=new Set;ze.add(f),ze.add(h),this.disposables.push(this.contextKeyService,Ie.register(le),le.onDidChangeSelection(()=>{const Ve=le.getSelection(),$e=le.getFocus();this.contextKeyService.bufferChangeEvents(()=>{this.hasSelectionOrFocus.set(Ve.length>0||$e.length>0),this.hasMultiSelection.set(Ve.length>1),this.hasDoubleSelection.set(Ve.length===2)})}),le.onDidChangeFocus(()=>{const Ve=le.getSelection(),$e=le.getFocus();this.hasSelectionOrFocus.set(Ve.length>0||$e.length>0),Ne()}),le.onDidChangeCollapseState(Ne),le.onDidChangeModel(Ne),le.onDidChangeFindOpenState(Ve=>this.treeFindOpen.set(Ve)),le.onDidChangeStickyScrollFocused(Ve=>this.treeStickyScrollFocused.set(Ve)),Ae.onDidChangeConfiguration(Ve=>{let $e={};if(Ve.affectsConfiguration(S)&&(this._useAltAsMultipleSelectionModifier=U(Ae)),Ve.affectsConfiguration(O)){const it=Ae.getValue(O);$e={...$e,indent:it}}if(Ve.affectsConfiguration(F)&&me.renderIndentGuides===void 0){const it=Ae.getValue(F);$e={...$e,renderIndentGuides:it}}if(Ve.affectsConfiguration(x)){const it=!!Ae.getValue(x);$e={...$e,smoothScrolling:it}}if(Ve.affectsConfiguration(T)||Ve.affectsConfiguration(A)){const it=B(Ae);$e={...$e,defaultFindMode:it}}if(Ve.affectsConfiguration(M)||Ve.affectsConfiguration(A)){const it=ve();$e={...$e,typeNavigationMode:it}}if(Ve.affectsConfiguration(N)){const it=$(Ae);$e={...$e,defaultFindMatchType:it}}if(Ve.affectsConfiguration(D)&&me.horizontalScrolling===void 0){const it=!!Ae.getValue(D);$e={...$e,horizontalScrolling:it}}if(Ve.affectsConfiguration(P)){const it=!!Ae.getValue(P);$e={...$e,scrollByPage:it}}if(Ve.affectsConfiguration(q)&&me.expandOnlyOnTwistieClick===void 0&&($e={...$e,expandOnlyOnTwistieClick:Ae.getValue(q)==="doubleClick"}),Ve.affectsConfiguration(H)){const it=Ae.getValue(H);$e={...$e,enableStickyScroll:it}}if(Ve.affectsConfiguration(z)){const it=Math.max(1,Ae.getValue(z));$e={...$e,stickyScrollMaxItemCount:it}}if(Ve.affectsConfiguration(W)){const it=Ae.getValue(W);$e={...$e,mouseWheelScrollSensitivity:it}}if(Ve.affectsConfiguration(V)){const it=Ae.getValue(V);$e={...$e,fastScrollSensitivity:it}}Object.keys($e).length>0&&le.updateOptions($e)}),this.contextKeyService.onDidChangeContext(Ve=>{Ve.affectsSome(ze)&&le.updateOptions({typeNavigationMode:ve()})})),this.navigator=new he(le,{configurationService:Ae,...me}),this.disposables.push(this.navigator)}updateOptions(le){le.multipleSelectionSupport!==void 0&&this.listSupportsMultiSelect.set(!!le.multipleSelectionSupport)}updateStyleOverrides(le){this.tree.style(le?(0,u.getListStyles)(le):u.defaultListStyles)}dispose(){this.disposables=(0,n.dispose)(this.disposables)}};Z=ke([ce(4,s.IContextKeyService),ce(5,e.IListService),ce(6,t.IConfigurationService)],Z),r.Registry.as(i.Extensions.Configuration).registerConfiguration({id:"workbench",order:7,title:(0,o.localize)(1542,"Workbench"),type:"object",properties:{[S]:{type:"string",enum:["ctrlCmd","alt"],markdownEnumDescriptions:[(0,o.localize)(1543,"Maps to `Control` on Windows and Linux and to `Command` on macOS."),(0,o.localize)(1544,"Maps to `Alt` on Windows and Linux and to `Option` on macOS.")],default:"ctrlCmd",description:(0,o.localize)(1545,"The modifier to be used to add an item in trees and lists to a multi-selection with the mouse (for example in the explorer, open editors and scm view). The 'Open to Side' mouse gestures - if supported - will adapt such that they do not conflict with the multiselect modifier.")},[L]:{type:"string",enum:["singleClick","doubleClick"],default:"singleClick",description:(0,o.localize)(1546,"Controls how to open items in trees and lists using the mouse (if supported). Note that some trees and lists might choose to ignore this setting if it is not applicable.")},[D]:{type:"boolean",default:!1,description:(0,o.localize)(1547,"Controls whether lists and trees support horizontal scrolling in the workbench. Warning: turning on this setting has a performance implication.")},[P]:{type:"boolean",default:!1,description:(0,o.localize)(1548,"Controls whether clicks in the scrollbar scroll page by page.")},[O]:{type:"number",default:8,minimum:4,maximum:40,description:(0,o.localize)(1549,"Controls tree indentation in pixels.")},[F]:{type:"string",enum:["none","onHover","always"],default:"onHover",description:(0,o.localize)(1550,"Controls whether the tree should render indent guides.")},[x]:{type:"boolean",default:!1,description:(0,o.localize)(1551,"Controls whether lists and trees have smooth scrolling.")},[W]:{type:"number",default:1,markdownDescription:(0,o.localize)(1552,"A multiplier to be used on the `deltaX` and `deltaY` of mouse wheel scroll events.")},[V]:{type:"number",default:5,markdownDescription:(0,o.localize)(1553,"Scrolling speed multiplier when pressing `Alt`.")},[T]:{type:"string",enum:["highlight","filter"],enumDescriptions:[(0,o.localize)(1554,"Highlight elements when searching. Further up and down navigation will traverse only the highlighted elements."),(0,o.localize)(1555,"Filter elements when searching.")],default:"highlight",description:(0,o.localize)(1556,"Controls the default find mode for lists and trees in the workbench.")},[A]:{type:"string",enum:["simple","highlight","filter"],enumDescriptions:[(0,o.localize)(1557,"Simple keyboard navigation focuses elements which match the keyboard input. Matching is done only on prefixes."),(0,o.localize)(1558,"Highlight keyboard navigation highlights elements which match the keyboard input. Further up and down navigation will traverse only the highlighted elements."),(0,o.localize)(1559,"Filter keyboard navigation will filter out and hide all the elements which do not match the keyboard input.")],default:"highlight",description:(0,o.localize)(1560,"Controls the keyboard navigation style for lists and trees in the workbench. Can be simple, highlight and filter."),deprecated:!0,deprecationMessage:(0,o.localize)(1561,"Please use 'workbench.list.defaultFindMode' and 'workbench.list.typeNavigationMode' instead.")},[N]:{type:"string",enum:["fuzzy","contiguous"],enumDescriptions:[(0,o.localize)(1562,"Use fuzzy matching when searching."),(0,o.localize)(1563,"Use contiguous matching when searching.")],default:"fuzzy",description:(0,o.localize)(1564,"Controls the type of matching used when searching lists and trees in the workbench.")},[q]:{type:"string",enum:["singleClick","doubleClick"],default:"singleClick",description:(0,o.localize)(1565,"Controls how tree folders are expanded when clicking the folder names. Note that some trees and lists might choose to ignore this setting if it is not applicable.")},[H]:{type:"boolean",default:!0,description:(0,o.localize)(1566,"Controls whether sticky scrolling is enabled in trees.")},[z]:{type:"number",minimum:1,default:7,markdownDescription:(0,o.localize)(1567,"Controls the number of sticky elements displayed in the tree when {0} is enabled.","`#workbench.tree.enableStickyScroll#`")},[M]:{type:"string",enum:["automatic","trigger"],default:"automatic",markdownDescription:(0,o.localize)(1568,"Controls how type navigation works in lists and trees in the workbench. When set to `trigger`, type navigation begins once the `list.triggerTypeNavigation` command is run.")}}})}),define(ne[71],se([1,0,14,26,191,30,6,19,22,3,273,38]),function(oe,e,d,k,I,E,y,m,_,b,p,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.spinningLoading=e.syncing=e.gotoNextLocation=e.gotoPreviousLocation=e.widgetClose=e.iconsSchemaId=e.IconFontDefinition=e.IconContribution=e.Extensions=void 0,e.registerIcon=g,e.getIconRegistry=c,e.Extensions={IconContribution:"base.contributions.icons"};var o;(function(u){function C(f,h){let v=f.defaults;for(;E.ThemeIcon.isThemeIcon(v);){const w=s.getIcon(v.id);if(!w)return;v=w.defaults}return v}u.getDefinition=C})(o||(e.IconContribution=o={}));var t;(function(u){function C(h){return{weight:h.weight,style:h.style,src:h.src.map(v=>({format:v.format,location:v.location.toString()}))}}u.toJSONObject=C;function f(h){const v=w=>(0,m.isString)(w)?w:void 0;if(h&&Array.isArray(h.src)&&h.src.every(w=>(0,m.isString)(w.format)&&(0,m.isString)(w.location)))return{weight:v(h.weight),style:v(h.style),src:h.src.map(w=>({format:w.format,location:_.URI.parse(w.location)}))}}u.fromJSONObject=f})(t||(e.IconFontDefinition=t={}));class i{constructor(){this._onDidChange=new y.Emitter,this.onDidChange=this._onDidChange.event,this.iconSchema={definitions:{icons:{type:"object",properties:{fontId:{type:"string",description:(0,b.localize)(1838,"The id of the font to use. If not set, the font that is defined first is used.")},fontCharacter:{type:"string",description:(0,b.localize)(1839,"The font character associated with the icon definition.")}},additionalProperties:!1,defaultSnippets:[{body:{fontCharacter:"\\\\e030"}}]}},type:"object",properties:{}},this.iconReferenceSchema={type:"string",pattern:`^${E.ThemeIcon.iconNameExpression}$`,enum:[],enumDescriptions:[]},this.iconsById={},this.iconFontsById={}}registerIcon(C,f,h,v){const w=this.iconsById[C];if(w){if(h&&!w.description){w.description=h,this.iconSchema.properties[C].markdownDescription=`${h} $(${C})`;const D=this.iconReferenceSchema.enum.indexOf(C);D!==-1&&(this.iconReferenceSchema.enumDescriptions[D]=h),this._onDidChange.fire()}return w}const S={id:C,description:h,defaults:f,deprecationMessage:v};this.iconsById[C]=S;const L={$ref:"#/definitions/icons"};return v&&(L.deprecationMessage=v),h&&(L.markdownDescription=`${h}: $(${C})`),this.iconSchema.properties[C]=L,this.iconReferenceSchema.enum.push(C),this.iconReferenceSchema.enumDescriptions.push(h||""),this._onDidChange.fire(),{id:C}}getIcons(){return Object.keys(this.iconsById).map(C=>this.iconsById[C])}getIcon(C){return this.iconsById[C]}getIconSchema(){return this.iconSchema}toString(){const C=(w,S)=>w.id.localeCompare(S.id),f=w=>{for(;E.ThemeIcon.isThemeIcon(w.defaults);)w=this.iconsById[w.defaults.id];return`codicon codicon-${w?w.id:""}`},h=[];h.push("| preview | identifier | default codicon ID | description"),h.push("| ----------- | --------------------------------- | --------------------------------- | --------------------------------- |");const v=Object.keys(this.iconsById).map(w=>this.iconsById[w]);for(const w of v.filter(S=>!!S.description).sort(C))h.push(`||${w.id}|${E.ThemeIcon.isThemeIcon(w.defaults)?w.defaults.id:w.id}|${w.description||""}|`);h.push("| preview | identifier "),h.push("| ----------- | --------------------------------- |");for(const w of v.filter(S=>!E.ThemeIcon.isThemeIcon(S.defaults)).sort(C))h.push(`||${w.id}|`);return h.join(` +`)}}const s=new i;n.Registry.add(e.Extensions.IconContribution,s);function g(u,C,f,h){return s.registerIcon(u,C,f,h)}function c(){return s}function l(){const u=(0,I.getCodiconFontCharacters)();for(const C in u){const f="\\"+u[C].toString(16);s.registerIcon(C,{fontCharacter:f})}}l(),e.iconsSchemaId="vscode://schemas/icons";const a=n.Registry.as(p.Extensions.JSONContribution);a.registerSchema(e.iconsSchemaId,s.getIconSchema());const r=new d.RunOnceScheduler(()=>a.notifySchemaChanged(e.iconsSchemaId),200);s.onDidChange(()=>{r.isScheduled()||r.schedule()}),e.widgetClose=g("widget-close",k.Codicon.close,(0,b.localize)(1840,"Icon for the close action in widgets.")),e.gotoPreviousLocation=g("goto-previous-location",k.Codicon.arrowUp,(0,b.localize)(1841,"Icon for goto previous editor location.")),e.gotoNextLocation=g("goto-next-location",k.Codicon.arrowDown,(0,b.localize)(1842,"Icon for goto next editor location.")),e.syncing=E.ThemeIcon.modify(k.Codicon.sync,"spin"),e.spinningLoading=E.ThemeIcon.modify(k.Codicon.loading,"spin")}),define(ne[762],se([1,0,5,103,87,86,41,13,26,2,21,30,74,88,37,55,68,9,4,105,43,83,136,95,3,137,7,71,499]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r,u,C,f,h,v,w,S){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.AccessibleDiffViewerModelFromEditors=e.AccessibleDiffViewer=void 0;const L=(0,S.registerIcon)("diff-review-insert",_.Codicon.add,(0,h.localize)(84,"Icon for 'Insert' in accessible diff viewer.")),D=(0,S.registerIcon)("diff-review-remove",_.Codicon.remove,(0,h.localize)(85,"Icon for 'Remove' in accessible diff viewer.")),T=(0,S.registerIcon)("diff-review-close",_.Codicon.close,(0,h.localize)(86,"Icon for 'Close' in accessible diff viewer."));let M=class extends b.Disposable{static{this._ttPolicy=(0,k.createTrustedTypesPolicy)("diffReview",{createHTML:j=>j})}constructor(j,Q,G,K,R,J,ie,ue,he){super(),this._parentNode=j,this._visible=Q,this._setVisible=G,this._canClose=K,this._width=R,this._height=J,this._diffs=ie,this._models=ue,this._instantiationService=he,this._state=(0,p.derivedWithStore)(this,(pe,ae)=>{const ee=this._visible.read(pe);if(this._parentNode.style.visibility=ee?"visible":"hidden",!ee)return null;const de=ae.add(this._instantiationService.createInstance(A,this._diffs,this._models,this._setVisible,this._canClose)),ge=ae.add(this._instantiationService.createInstance(H,this._parentNode,de,this._width,this._height,this._models));return{model:de,view:ge}}).recomputeInitiallyAndOnChange(this._store)}next(){(0,p.transaction)(j=>{const Q=this._visible.get();this._setVisible(!0,j),Q&&this._state.get().model.nextGroup(j)})}prev(){(0,p.transaction)(j=>{this._setVisible(!0,j),this._state.get().model.previousGroup(j)})}close(){(0,p.transaction)(j=>{this._setVisible(!1,j)})}};e.AccessibleDiffViewer=M,e.AccessibleDiffViewer=M=ke([ce(8,w.IInstantiationService)],M);let A=class extends b.Disposable{constructor(j,Q,G,K,R){super(),this._diffs=j,this._models=Q,this._setVisible=G,this.canClose=K,this._accessibilitySignalService=R,this._groups=(0,p.observableValue)(this,[]),this._currentGroupIdx=(0,p.observableValue)(this,0),this._currentElementIdx=(0,p.observableValue)(this,0),this.groups=this._groups,this.currentGroup=this._currentGroupIdx.map((J,ie)=>this._groups.read(ie)[J]),this.currentGroupIndex=this._currentGroupIdx,this.currentElement=this._currentElementIdx.map((J,ie)=>this.currentGroup.read(ie)?.lines[J]),this._register((0,p.autorun)(J=>{const ie=this._diffs.read(J);if(!ie){this._groups.set([],void 0);return}const ue=N(ie,this._models.getOriginalModel().getLineCount(),this._models.getModifiedModel().getLineCount());(0,p.transaction)(he=>{const pe=this._models.getModifiedPosition();if(pe){const ae=ue.findIndex(ee=>pe?.lineNumber{const ie=this.currentElement.read(J);ie?.type===O.Deleted?this._accessibilitySignalService.playSignal(v.AccessibilitySignal.diffLineDeleted,{source:"accessibleDiffViewer.currentElementChanged"}):ie?.type===O.Added&&this._accessibilitySignalService.playSignal(v.AccessibilitySignal.diffLineInserted,{source:"accessibleDiffViewer.currentElementChanged"})})),this._register((0,p.autorun)(J=>{const ie=this.currentElement.read(J);if(ie&&ie.type!==O.Header){const ue=ie.modifiedLineNumber??ie.diff.modified.startLineNumber;this._models.modifiedSetSelection(l.Range.fromPositions(new c.Position(ue,1)))}}))}_goToGroupDelta(j,Q){const G=this.groups.get();!G||G.length<=1||(0,p.subtransaction)(Q,K=>{this._currentGroupIdx.set(g.OffsetRange.ofLength(G.length).clipCyclic(this._currentGroupIdx.get()+j),K),this._currentElementIdx.set(0,K)})}nextGroup(j){this._goToGroupDelta(1,j)}previousGroup(j){this._goToGroupDelta(-1,j)}_goToLineDelta(j){const Q=this.currentGroup.get();!Q||Q.lines.length<=1||(0,p.transaction)(G=>{this._currentElementIdx.set(g.OffsetRange.ofLength(Q.lines.length).clip(this._currentElementIdx.get()+j),G)})}goToNextLine(){this._goToLineDelta(1)}goToPreviousLine(){this._goToLineDelta(-1)}goToLine(j){const Q=this.currentGroup.get();if(!Q)return;const G=Q.lines.indexOf(j);G!==-1&&(0,p.transaction)(K=>{this._currentElementIdx.set(G,K)})}revealCurrentElementInEditor(){if(!this.canClose.get())return;this._setVisible(!1,void 0);const j=this.currentElement.get();j&&(j.type===O.Deleted?this._models.originalReveal(l.Range.fromPositions(new c.Position(j.originalLineNumber,1))):this._models.modifiedReveal(j.type!==O.Header?l.Range.fromPositions(new c.Position(j.modifiedLineNumber,1)):void 0))}close(){this.canClose.get()&&(this._setVisible(!1,void 0),this._models.modifiedFocus())}};A=ke([ce(4,v.IAccessibilitySignalService)],A);const P=3;function N(U,j,Q){const G=[];for(const K of(0,m.groupAdjacentBy)(U,(R,J)=>J.modified.startLineNumber-R.modified.endLineNumberExclusive<2*P)){const R=[];R.push(new x);const J=new s.LineRange(Math.max(1,K[0].original.startLineNumber-P),Math.min(K[K.length-1].original.endLineNumberExclusive+P,j+1)),ie=new s.LineRange(Math.max(1,K[0].modified.startLineNumber-P),Math.min(K[K.length-1].modified.endLineNumberExclusive+P,Q+1));(0,m.forEachAdjacent)(K,(pe,ae)=>{const ee=new s.LineRange(pe?pe.original.endLineNumberExclusive:J.startLineNumber,ae?ae.original.startLineNumber:J.endLineNumberExclusive),de=new s.LineRange(pe?pe.modified.endLineNumberExclusive:ie.startLineNumber,ae?ae.modified.startLineNumber:ie.endLineNumberExclusive);ee.forEach(ge=>{R.push(new q(ge,de.startLineNumber+(ge-ee.startLineNumber)))}),ae&&(ae.original.forEach(ge=>{R.push(new W(ae,ge))}),ae.modified.forEach(ge=>{R.push(new V(ae,ge))}))});const ue=K[0].modified.join(K[K.length-1].modified),he=K[0].original.join(K[K.length-1].original);G.push(new F(new a.LineRangeMapping(ue,he),R))}return G}var O;(function(U){U[U.Header=0]="Header",U[U.Unchanged=1]="Unchanged",U[U.Deleted=2]="Deleted",U[U.Added=3]="Added"})(O||(O={}));class F{constructor(j,Q){this.range=j,this.lines=Q}}class x{constructor(){this.type=O.Header}}class W{constructor(j,Q){this.diff=j,this.originalLineNumber=Q,this.type=O.Deleted,this.modifiedLineNumber=void 0}}class V{constructor(j,Q){this.diff=j,this.modifiedLineNumber=Q,this.type=O.Added,this.originalLineNumber=void 0}}class q{constructor(j,Q){this.originalLineNumber=j,this.modifiedLineNumber=Q,this.type=O.Unchanged}}let H=class extends b.Disposable{constructor(j,Q,G,K,R,J){super(),this._element=j,this._model=Q,this._width=G,this._height=K,this._models=R,this._languageService=J,this.domNode=this._element,this.domNode.className="monaco-component diff-review monaco-editor-background";const ie=document.createElement("div");ie.className="diff-review-actions",this._actionBar=this._register(new I.ActionBar(ie)),this._register((0,p.autorun)(ue=>{this._actionBar.clear(),this._model.canClose.read(ue)&&this._actionBar.push(new y.Action("diffreview.close",(0,h.localize)(87,"Close"),"close-diff-review "+n.ThemeIcon.asClassName(T),!0,async()=>Q.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 E.DomScrollableElement(this._content,{})),(0,d.reset)(this.domNode,this._scrollbar.getDomNode(),ie),this._register((0,p.autorun)(ue=>{this._height.read(ue),this._width.read(ue),this._scrollbar.scanDomNode()})),this._register((0,b.toDisposable)(()=>{(0,d.reset)(this.domNode)})),this._register((0,t.applyStyle)(this.domNode,{width:this._width,height:this._height})),this._register((0,t.applyStyle)(this._content,{width:this._width,height:this._height})),this._register((0,p.autorunWithStore)((ue,he)=>{this._model.currentGroup.read(ue),this._render(he)})),this._register((0,d.addStandardDisposableListener)(this.domNode,"keydown",ue=>{(ue.equals(18)||ue.equals(2066)||ue.equals(530))&&(ue.preventDefault(),this._model.goToNextLine()),(ue.equals(16)||ue.equals(2064)||ue.equals(528))&&(ue.preventDefault(),this._model.goToPreviousLine()),(ue.equals(9)||ue.equals(2057)||ue.equals(521)||ue.equals(1033))&&(ue.preventDefault(),this._model.close()),(ue.equals(10)||ue.equals(3))&&(ue.preventDefault(),this._model.revealCurrentElementInEditor())}))}_render(j){const Q=this._models.getOriginalOptions(),G=this._models.getModifiedOptions(),K=document.createElement("div");K.className="diff-review-table",K.setAttribute("role","list"),K.setAttribute("aria-label",(0,h.localize)(88,"Accessible Diff Viewer. Use arrow up and down to navigate.")),(0,o.applyFontInfo)(K,G.get(50)),(0,d.reset)(this._content,K);const R=this._models.getOriginalModel(),J=this._models.getModifiedModel();if(!R||!J)return;const ie=R.getOptions(),ue=J.getOptions(),he=G.get(67),pe=this._model.currentGroup.get();for(const ae of pe?.lines||[]){if(!pe)break;let ee;if(ae.type===O.Header){const ge=document.createElement("div");ge.className="diff-review-row",ge.setAttribute("role","listitem");const X=pe.range,B=this._model.currentGroupIndex.get(),$=this._model.groups.get().length,Y=le=>le===0?(0,h.localize)(89,"no lines changed"):le===1?(0,h.localize)(90,"1 line changed"):(0,h.localize)(91,"{0} lines changed",le),Z=Y(X.original.length),te=Y(X.modified.length);ge.setAttribute("aria-label",(0,h.localize)(92,"Difference {0} of {1}: original line {2}, {3}, modified line {4}, {5}",B+1,$,X.original.startLineNumber,Z,X.modified.startLineNumber,te));const re=document.createElement("div");re.className="diff-review-cell diff-review-summary",re.appendChild(document.createTextNode(`${B+1}/${$}: @@ -${X.original.startLineNumber},${X.original.length} +${X.modified.startLineNumber},${X.modified.length} @@`)),ge.appendChild(re),ee=ge}else ee=this._createRow(ae,he,this._width.get(),Q,R,ie,G,J,ue);K.appendChild(ee);const de=(0,p.derived)(ge=>this._model.currentElement.read(ge)===ae);j.add((0,p.autorun)(ge=>{const X=de.read(ge);ee.tabIndex=X?0:-1,X&&ee.focus()})),j.add((0,d.addDisposableListener)(ee,"focus",()=>{this._model.goToLine(ae)}))}this._scrollbar.scanDomNode()}_createRow(j,Q,G,K,R,J,ie,ue,he){const pe=K.get(146),ae=pe.glyphMarginWidth+pe.lineNumbersWidth,ee=ie.get(146),de=10+ee.glyphMarginWidth+ee.lineNumbersWidth;let ge="diff-review-row",X="";const B="diff-review-spacer";let $=null;switch(j.type){case O.Added:ge="diff-review-row line-insert",X=" char-insert",$=L;break;case O.Deleted:ge="diff-review-row line-delete",X=" char-delete",$=D;break}const Y=document.createElement("div");Y.style.minWidth=G+"px",Y.className=ge,Y.setAttribute("role","listitem"),Y.ariaLevel="";const Z=document.createElement("div");Z.className="diff-review-cell",Z.style.height=`${Q}px`,Y.appendChild(Z);const te=document.createElement("span");te.style.width=ae+"px",te.style.minWidth=ae+"px",te.className="diff-review-line-number"+X,j.originalLineNumber!==void 0?te.appendChild(document.createTextNode(String(j.originalLineNumber))):te.innerText="\xA0",Z.appendChild(te);const re=document.createElement("span");re.style.width=de+"px",re.style.minWidth=de+"px",re.style.paddingRight="10px",re.className="diff-review-line-number"+X,j.modifiedLineNumber!==void 0?re.appendChild(document.createTextNode(String(j.modifiedLineNumber))):re.innerText="\xA0",Z.appendChild(re);const le=document.createElement("span");if(le.className=B,$){const Le=document.createElement("span");Le.className=n.ThemeIcon.asClassName($),Le.innerText="\xA0\xA0",le.appendChild(Le)}else le.innerText="\xA0\xA0";Z.appendChild(le);let me;if(j.modifiedLineNumber!==void 0){let Le=this._getLineHtml(ue,ie,he.tabSize,j.modifiedLineNumber,this._languageService.languageIdCodec);M._ttPolicy&&(Le=M._ttPolicy.createHTML(Le)),Z.insertAdjacentHTML("beforeend",Le),me=ue.getLineContent(j.modifiedLineNumber)}else{let Le=this._getLineHtml(R,K,J.tabSize,j.originalLineNumber,this._languageService.languageIdCodec);M._ttPolicy&&(Le=M._ttPolicy.createHTML(Le)),Z.insertAdjacentHTML("beforeend",Le),me=R.getLineContent(j.originalLineNumber)}me.length===0&&(me=(0,h.localize)(93,"blank"));let ve="";switch(j.type){case O.Unchanged:j.originalLineNumber===j.modifiedLineNumber?ve=(0,h.localize)(94,"{0} unchanged line {1}",me,j.originalLineNumber):ve=(0,h.localize)(95,"{0} original line {1} modified line {2}",me,j.originalLineNumber,j.modifiedLineNumber);break;case O.Added:ve=(0,h.localize)(96,"+ {0} modified line {1}",me,j.modifiedLineNumber);break;case O.Deleted:ve=(0,h.localize)(97,"- {0} original line {1}",me,j.originalLineNumber);break}return Y.setAttribute("aria-label",ve),Y}_getLineHtml(j,Q,G,K,R){const J=j.getLineContent(K),ie=Q.get(50),ue=u.LineTokens.createEmpty(J,R),he=f.ViewLineRenderingData.isBasicASCII(J,j.mightContainNonBasicASCII()),pe=f.ViewLineRenderingData.containsRTL(J,he,j.mightContainRTL());return(0,C.renderViewLine2)(new C.RenderLineInput(ie.isMonospace&&!Q.get(33),ie.canUseHalfwidthRightwardsArrow,J,!1,he,pe,0,ue,[],G,0,ie.spaceWidth,ie.middotWidth,ie.wsmiddotWidth,Q.get(118),Q.get(100),Q.get(95),Q.get(51)!==i.EditorFontLigatures.OFF,null)).html}};H=ke([ce(5,r.ILanguageService)],H);class z{constructor(j){this.editors=j}getOriginalModel(){return this.editors.original.getModel()}getOriginalOptions(){return this.editors.original.getOptions()}originalReveal(j){this.editors.original.revealRange(j),this.editors.original.setSelection(j),this.editors.original.focus()}getModifiedModel(){return this.editors.modified.getModel()}getModifiedOptions(){return this.editors.modified.getOptions()}modifiedReveal(j){j&&(this.editors.modified.revealRange(j),this.editors.modified.setSelection(j)),this.editors.modified.focus()}modifiedSetSelection(j){this.editors.modified.setSelection(j)}modifiedFocus(){this.editors.modified.focus()}getModifiedPosition(){return this.editors.modified.getPosition()??void 0}}e.AccessibleDiffViewerModelFromEditors=z}),define(ne[763],se([1,0,253,5,172,85,26,33,6,2,30,3,32,71,227]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ColorPickerWidget=e.InsertButton=e.ColorPickerBody=e.ColorPickerHeader=void 0;const i=k.$;class s extends b.Disposable{constructor(v,w,S,L=!1){super(),this.model=w,this.showingStandaloneColorPicker=L,this._closeButton=null,this._domNode=i(".colorpicker-header"),k.append(v,this._domNode),this._pickedColorNode=k.append(this._domNode,i(".picked-color")),k.append(this._pickedColorNode,i("span.codicon.codicon-color-mode")),this._pickedColorPresentation=k.append(this._pickedColorNode,document.createElement("span")),this._pickedColorPresentation.classList.add("picked-color-presentation");const D=(0,n.localize)(796,"Click to toggle color options (rgb/hsl/hex)");this._pickedColorNode.setAttribute("title",D),this._originalColorNode=k.append(this._domNode,i(".original-color")),this._originalColorNode.style.backgroundColor=m.Color.Format.CSS.format(this.model.originalColor)||"",this.backgroundColor=S.getColorTheme().getColor(o.editorHoverBackground)||m.Color.white,this._register(S.onDidColorThemeChange(T=>{this.backgroundColor=T.getColor(o.editorHoverBackground)||m.Color.white})),this._register(k.addDisposableListener(this._pickedColorNode,k.EventType.CLICK,()=>this.model.selectNextColorPresentation())),this._register(k.addDisposableListener(this._originalColorNode,k.EventType.CLICK,()=>{this.model.color=this.model.originalColor,this.model.flushColor()})),this._register(w.onDidChangeColor(this.onDidChangeColor,this)),this._register(w.onDidChangePresentation(this.onDidChangePresentation,this)),this._pickedColorNode.style.backgroundColor=m.Color.Format.CSS.format(w.color)||"",this._pickedColorNode.classList.toggle("light",w.color.rgba.a<.5?this.backgroundColor.isLighter():w.color.isLighter()),this.onDidChangeColor(this.model.color),this.showingStandaloneColorPicker&&(this._domNode.classList.add("standalone-colorpicker"),this._closeButton=this._register(new g(this._domNode)))}get closeButton(){return this._closeButton}get pickedColorNode(){return this._pickedColorNode}get originalColorNode(){return this._originalColorNode}onDidChangeColor(v){this._pickedColorNode.style.backgroundColor=m.Color.Format.CSS.format(v)||"",this._pickedColorNode.classList.toggle("light",v.rgba.a<.5?this.backgroundColor.isLighter():v.isLighter()),this.onDidChangePresentation()}onDidChangePresentation(){this._pickedColorPresentation.textContent=this.model.presentation?this.model.presentation.label:""}}e.ColorPickerHeader=s;class g extends b.Disposable{constructor(v){super(),this._onClicked=this._register(new _.Emitter),this.onClicked=this._onClicked.event,this._button=document.createElement("div"),this._button.classList.add("close-button"),k.append(v,this._button);const w=document.createElement("div");w.classList.add("close-button-inner-div"),k.append(this._button,w),k.append(w,i(".button"+p.ThemeIcon.asCSSSelector((0,t.registerIcon)("color-picker-close",y.Codicon.close,(0,n.localize)(797,"Icon to close the color picker"))))).classList.add("close-icon"),this._register(k.addDisposableListener(this._button,k.EventType.CLICK,()=>{this._onClicked.fire()}))}}class c extends b.Disposable{constructor(v,w,S,L=!1){super(),this.model=w,this.pixelRatio=S,this._insertButton=null,this._domNode=i(".colorpicker-body"),k.append(v,this._domNode),this._saturationBox=new l(this._domNode,this.model,this.pixelRatio),this._register(this._saturationBox),this._register(this._saturationBox.onDidChange(this.onDidSaturationValueChange,this)),this._register(this._saturationBox.onColorFlushed(this.flushColor,this)),this._opacityStrip=new r(this._domNode,this.model,L),this._register(this._opacityStrip),this._register(this._opacityStrip.onDidChange(this.onDidOpacityChange,this)),this._register(this._opacityStrip.onColorFlushed(this.flushColor,this)),this._hueStrip=new u(this._domNode,this.model,L),this._register(this._hueStrip),this._register(this._hueStrip.onDidChange(this.onDidHueChange,this)),this._register(this._hueStrip.onColorFlushed(this.flushColor,this)),L&&(this._insertButton=this._register(new C(this._domNode)),this._domNode.classList.add("standalone-colorpicker"))}flushColor(){this.model.flushColor()}onDidSaturationValueChange({s:v,v:w}){const S=this.model.color.hsva;this.model.color=new m.Color(new m.HSVA(S.h,v,w,S.a))}onDidOpacityChange(v){const w=this.model.color.hsva;this.model.color=new m.Color(new m.HSVA(w.h,w.s,w.v,v))}onDidHueChange(v){const w=this.model.color.hsva,S=(1-v)*360;this.model.color=new m.Color(new m.HSVA(S===360?0:S,w.s,w.v,w.a))}get domNode(){return this._domNode}get saturationBox(){return this._saturationBox}get enterButton(){return this._insertButton}layout(){this._saturationBox.layout(),this._opacityStrip.layout(),this._hueStrip.layout()}}e.ColorPickerBody=c;class l extends b.Disposable{constructor(v,w,S){super(),this.model=w,this.pixelRatio=S,this._onDidChange=new _.Emitter,this.onDidChange=this._onDidChange.event,this._onColorFlushed=new _.Emitter,this.onColorFlushed=this._onColorFlushed.event,this._domNode=i(".saturation-wrap"),k.append(v,this._domNode),this._canvas=document.createElement("canvas"),this._canvas.className="saturation-box",k.append(this._domNode,this._canvas),this.selection=i(".saturation-selection"),k.append(this._domNode,this.selection),this.layout(),this._register(k.addDisposableListener(this._domNode,k.EventType.POINTER_DOWN,L=>this.onPointerDown(L))),this._register(this.model.onDidChangeColor(this.onDidChangeColor,this)),this.monitor=null}get domNode(){return this._domNode}onPointerDown(v){if(!v.target||!(v.target instanceof Element))return;this.monitor=this._register(new I.GlobalPointerMoveMonitor);const w=k.getDomNodePagePosition(this._domNode);v.target!==this.selection&&this.onDidChangePosition(v.offsetX,v.offsetY),this.monitor.startMonitoring(v.target,v.pointerId,v.buttons,L=>this.onDidChangePosition(L.pageX-w.left,L.pageY-w.top),()=>null);const S=k.addDisposableListener(v.target.ownerDocument,k.EventType.POINTER_UP,()=>{this._onColorFlushed.fire(),S.dispose(),this.monitor&&(this.monitor.stopMonitoring(!0),this.monitor=null)},!0)}onDidChangePosition(v,w){const S=Math.max(0,Math.min(1,v/this.width)),L=Math.max(0,Math.min(1,1-w/this.height));this.paintSelection(S,L),this._onDidChange.fire({s:S,v:L})}layout(){this.width=this._domNode.offsetWidth,this.height=this._domNode.offsetHeight,this._canvas.width=this.width*this.pixelRatio,this._canvas.height=this.height*this.pixelRatio,this.paint();const v=this.model.color.hsva;this.paintSelection(v.s,v.v)}paint(){const v=this.model.color.hsva,w=new m.Color(new m.HSVA(v.h,1,1,1)),S=this._canvas.getContext("2d"),L=S.createLinearGradient(0,0,this._canvas.width,0);L.addColorStop(0,"rgba(255, 255, 255, 1)"),L.addColorStop(.5,"rgba(255, 255, 255, 0.5)"),L.addColorStop(1,"rgba(255, 255, 255, 0)");const D=S.createLinearGradient(0,0,0,this._canvas.height);D.addColorStop(0,"rgba(0, 0, 0, 0)"),D.addColorStop(1,"rgba(0, 0, 0, 1)"),S.rect(0,0,this._canvas.width,this._canvas.height),S.fillStyle=m.Color.Format.CSS.format(w),S.fill(),S.fillStyle=L,S.fill(),S.fillStyle=D,S.fill()}paintSelection(v,w){this.selection.style.left=`${v*this.width}px`,this.selection.style.top=`${this.height-w*this.height}px`}onDidChangeColor(v){if(this.monitor&&this.monitor.isMonitoring())return;this.paint();const w=v.hsva;this.paintSelection(w.s,w.v)}}class a extends b.Disposable{constructor(v,w,S=!1){super(),this.model=w,this._onDidChange=new _.Emitter,this.onDidChange=this._onDidChange.event,this._onColorFlushed=new _.Emitter,this.onColorFlushed=this._onColorFlushed.event,S?(this.domNode=k.append(v,i(".standalone-strip")),this.overlay=k.append(this.domNode,i(".standalone-overlay"))):(this.domNode=k.append(v,i(".strip")),this.overlay=k.append(this.domNode,i(".overlay"))),this.slider=k.append(this.domNode,i(".slider")),this.slider.style.top="0px",this._register(k.addDisposableListener(this.domNode,k.EventType.POINTER_DOWN,L=>this.onPointerDown(L))),this._register(w.onDidChangeColor(this.onDidChangeColor,this)),this.layout()}layout(){this.height=this.domNode.offsetHeight-this.slider.offsetHeight;const v=this.getValue(this.model.color);this.updateSliderPosition(v)}onDidChangeColor(v){const w=this.getValue(v);this.updateSliderPosition(w)}onPointerDown(v){if(!v.target||!(v.target instanceof Element))return;const w=this._register(new I.GlobalPointerMoveMonitor),S=k.getDomNodePagePosition(this.domNode);this.domNode.classList.add("grabbing"),v.target!==this.slider&&this.onDidChangeTop(v.offsetY),w.startMonitoring(v.target,v.pointerId,v.buttons,D=>this.onDidChangeTop(D.pageY-S.top),()=>null);const L=k.addDisposableListener(v.target.ownerDocument,k.EventType.POINTER_UP,()=>{this._onColorFlushed.fire(),L.dispose(),w.stopMonitoring(!0),this.domNode.classList.remove("grabbing")},!0)}onDidChangeTop(v){const w=Math.max(0,Math.min(1,1-v/this.height));this.updateSliderPosition(w),this._onDidChange.fire(w)}updateSliderPosition(v){this.slider.style.top=`${(1-v)*this.height}px`}}class r extends a{constructor(v,w,S=!1){super(v,w,S),this.domNode.classList.add("opacity-strip"),this.onDidChangeColor(this.model.color)}onDidChangeColor(v){super.onDidChangeColor(v);const{r:w,g:S,b:L}=v.rgba,D=new m.Color(new m.RGBA(w,S,L,1)),T=new m.Color(new m.RGBA(w,S,L,0));this.overlay.style.background=`linear-gradient(to bottom, ${D} 0%, ${T} 100%)`}getValue(v){return v.hsva.a}}class u extends a{constructor(v,w,S=!1){super(v,w,S),this.domNode.classList.add("hue-strip")}getValue(v){return 1-v.hsva.h/360}}class C extends b.Disposable{constructor(v){super(),this._onClicked=this._register(new _.Emitter),this.onClicked=this._onClicked.event,this._button=k.append(v,document.createElement("button")),this._button.classList.add("insert-button"),this._button.textContent="Insert",this._register(k.addDisposableListener(this._button,k.EventType.CLICK,()=>{this._onClicked.fire()}))}get button(){return this._button}}e.InsertButton=C;class f extends E.Widget{constructor(v,w,S,L,D=!1){super(),this.model=w,this.pixelRatio=S,this._register(d.PixelRatio.getInstance(k.getWindow(v)).onDidChange(()=>this.layout())),this._domNode=i(".colorpicker-widget"),v.appendChild(this._domNode),this.header=this._register(new s(this._domNode,this.model,L,D)),this.body=this._register(new c(this._domNode,this.model,this.pixelRatio,D))}layout(){this.body.layout()}get domNode(){return this._domNode}}e.ColorPickerWidget=f}),define(ne[217],se([1,0,5,13,18,57,2,120,264,4,43,84,3,28,59,17,27,71,26,30,8,31,174,118,14,410,24]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r,u,C,f,h,v,w){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.MarkdownHoverParticipant=e.MarkdownHover=void 0,e.renderMarkdownHovers=O,e.labelForHoverVerbosityAction=x;const S=d.$,L=(0,c.registerIcon)("hover-increase-verbosity",l.Codicon.add,o.localize(1031,"Icon for increaseing hover verbosity.")),D=(0,c.registerIcon)("hover-decrease-verbosity",l.Codicon.remove,o.localize(1032,"Icon for decreasing hover verbosity."));class T{constructor(V,q,H,z,U,j=void 0){this.owner=V,this.range=q,this.contents=H,this.isBeforeContent=z,this.ordinal=U,this.source=j}isValidForHoverAnchor(V){return V.type===1&&this.range.startColumn<=V.range.startColumn&&this.range.endColumn>=V.range.endColumn}}e.MarkdownHover=T;class M{constructor(V,q,H){this.hover=V,this.hoverProvider=q,this.hoverPosition=H}supportsVerbosityAction(V){switch(V){case g.HoverVerbosityAction.Increase:return this.hover.canIncreaseVerbosity??!1;case g.HoverVerbosityAction.Decrease:return this.hover.canDecreaseVerbosity??!1}}}let A=class{constructor(V,q,H,z,U,j,Q,G){this._editor=V,this._languageService=q,this._openerService=H,this._configurationService=z,this._languageFeaturesService=U,this._keybindingService=j,this._hoverService=Q,this._commandService=G,this.hoverOrdinal=3}createLoadingMessage(V){return new T(this,V.range,[new E.MarkdownString().appendText(o.localize(1033,"Loading..."))],!1,2e3)}computeSync(V,q){if(!this._editor.hasModel()||V.type!==1)return[];const H=this._editor.getModel(),z=V.range.startLineNumber,U=H.getLineMaxColumn(z),j=[];let Q=1e3;const G=H.getLineLength(z),K=H.getLanguageIdAtPosition(V.range.startLineNumber,V.range.startColumn),R=this._editor.getOption(118),J=this._configurationService.getValue("editor.maxTokenizationLineLength",{overrideIdentifier:K});let ie=!1;R>=0&&G>R&&V.range.startColumn>=R&&(ie=!0,j.push(new T(this,V.range,[{value:o.localize(1034,"Rendering paused for long line for performance reasons. This can be configured via `editor.stopRenderingLineAfter`.")}],!1,Q++))),!ie&&typeof J=="number"&&G>=J&&j.push(new T(this,V.range,[{value:o.localize(1035,"Tokenization is skipped for long lines for performance reasons. This can be configured via `editor.maxTokenizationLineLength`.")}],!1,Q++));let ue=!1;for(const he of q){const pe=he.range.startLineNumber===z?he.range.startColumn:1,ae=he.range.endLineNumber===z?he.range.endColumn:U,ee=he.options.hoverMessage;if(!ee||(0,E.isEmptyMarkdownString)(ee))continue;he.options.beforeContentClassName&&(ue=!0);const de=new b.Range(V.range.startLineNumber,pe,V.range.startLineNumber,ae);j.push(new T(this,de,(0,k.asArray)(ee),ue,Q++))}return j}computeAsync(V,q,H){if(!this._editor.hasModel()||V.type!==1)return h.AsyncIterableObject.EMPTY;const z=this._editor.getModel(),U=this._languageFeaturesService.hoverProvider;return U.has(z)?this._getMarkdownHovers(U,z,V,H):h.AsyncIterableObject.EMPTY}_getMarkdownHovers(V,q,H,z){const U=H.range.getStartPosition();return(0,v.getHoverProviderResultsAsAsyncIterable)(V,q,U,z).filter(G=>!(0,E.isEmptyMarkdownString)(G.hover.contents)).map(G=>{const K=G.hover.range?b.Range.lift(G.hover.range):H.range,R=new M(G.hover,G.provider,U);return new T(this,K,G.hover.contents,!1,G.ordinal,R)})}renderHoverParts(V,q){return this._renderedHoverParts=new N(q,V.fragment,this,this._editor,this._languageService,this._openerService,this._commandService,this._keybindingService,this._hoverService,this._configurationService,V.onContentsChanged),this._renderedHoverParts}updateMarkdownHoverVerbosityLevel(V,q,H){return Promise.resolve(this._renderedHoverParts?.updateMarkdownHoverPartVerbosityLevel(V,q,H))}};e.MarkdownHoverParticipant=A,e.MarkdownHoverParticipant=A=ke([ce(1,p.ILanguageService),ce(2,i.IOpenerService),ce(3,t.IConfigurationService),ce(4,s.ILanguageFeaturesService),ce(5,u.IKeybindingService),ce(6,f.IHoverService),ce(7,w.ICommandService)],A);class P{constructor(V,q,H){this.hoverPart=V,this.hoverElement=q,this.disposables=H}dispose(){this.disposables.dispose()}}class N{constructor(V,q,H,z,U,j,Q,G,K,R,J){this._hoverParticipant=H,this._editor=z,this._languageService=U,this._openerService=j,this._commandService=Q,this._keybindingService=G,this._hoverService=K,this._configurationService=R,this._onFinishedRendering=J,this._ongoingHoverOperations=new Map,this._disposables=new y.DisposableStore,this.renderedHoverParts=this._renderHoverParts(V,q,this._onFinishedRendering),this._disposables.add((0,y.toDisposable)(()=>{this.renderedHoverParts.forEach(ie=>{ie.dispose()}),this._ongoingHoverOperations.forEach(ie=>{ie.tokenSource.dispose(!0)})}))}_renderHoverParts(V,q,H){return V.sort((0,k.compareBy)(z=>z.ordinal,k.numberComparator)),V.map(z=>{const U=this._renderHoverPart(z,H);return q.appendChild(U.hoverElement),U})}_renderHoverPart(V,q){const H=this._renderMarkdownHover(V,q),z=H.hoverElement,U=V.source,j=new y.DisposableStore;if(j.add(H),!U)return new P(V,z,j);const Q=U.supportsVerbosityAction(g.HoverVerbosityAction.Increase),G=U.supportsVerbosityAction(g.HoverVerbosityAction.Decrease);if(!Q&&!G)return new P(V,z,j);const K=S("div.verbosity-actions");return z.prepend(K),j.add(this._renderHoverExpansionAction(K,g.HoverVerbosityAction.Increase,Q)),j.add(this._renderHoverExpansionAction(K,g.HoverVerbosityAction.Decrease,G)),new P(V,z,j)}_renderMarkdownHover(V,q){return F(this._editor,V,this._languageService,this._openerService,q)}_renderHoverExpansionAction(V,q,H){const z=new y.DisposableStore,U=q===g.HoverVerbosityAction.Increase,j=d.append(V,S(a.ThemeIcon.asCSSSelector(U?L:D)));j.tabIndex=0;const Q=new f.WorkbenchHoverDelegate("mouse",!1,{target:V,position:{hoverPosition:0}},this._configurationService,this._hoverService);if(z.add(this._hoverService.setupManagedHover(Q,j,x(this._keybindingService,q))),!H)return j.classList.add("disabled"),z;j.classList.add("enabled");const G=()=>this._commandService.executeCommand(q===g.HoverVerbosityAction.Increase?_.INCREASE_HOVER_VERBOSITY_ACTION_ID:_.DECREASE_HOVER_VERBOSITY_ACTION_ID);return z.add(new C.ClickAction(j,G)),z.add(new C.KeyDownAction(j,G,[3,10])),z}async updateMarkdownHoverPartVerbosityLevel(V,q,H=!0){const z=this._editor.getModel();if(!z)return;const U=this._getRenderedHoverPartAtIndex(q),j=U?.hoverPart.source;if(!U||!j?.supportsVerbosityAction(V))return;const Q=await this._fetchHover(j,z,V);if(!Q)return;const G=new M(Q,j.hoverProvider,j.hoverPosition),K=U.hoverPart,R=new T(this._hoverParticipant,K.range,Q.contents,K.isBeforeContent,K.ordinal,G),J=this._renderHoverPart(R,this._onFinishedRendering);return this._replaceRenderedHoverPartAtIndex(q,J,R),H&&this._focusOnHoverPartWithIndex(q),{hoverPart:R,hoverElement:J.hoverElement}}async _fetchHover(V,q,H){let z=H===g.HoverVerbosityAction.Increase?1:-1;const U=V.hoverProvider,j=this._ongoingHoverOperations.get(U);j&&(j.tokenSource.cancel(),z+=j.verbosityDelta);const Q=new I.CancellationTokenSource;this._ongoingHoverOperations.set(U,{verbosityDelta:z,tokenSource:Q});const G={verbosityRequest:{verbosityDelta:z,previousHover:V.hover}};let K;try{K=await Promise.resolve(U.provideHover(q,V.hoverPosition,Q.token,G))}catch(R){(0,r.onUnexpectedExternalError)(R)}return Q.dispose(),this._ongoingHoverOperations.delete(U),K}_replaceRenderedHoverPartAtIndex(V,q,H){if(V>=this.renderedHoverParts.length||V<0)return;const z=this.renderedHoverParts[V],U=z.hoverElement,j=q.hoverElement,Q=Array.from(j.children);U.replaceChildren(...Q);const G=new P(H,U,q.disposables);U.focus(),z.dispose(),this.renderedHoverParts[V]=G}_focusOnHoverPartWithIndex(V){this.renderedHoverParts[V].hoverElement.focus()}_getRenderedHoverPartAtIndex(V){return this.renderedHoverParts[V]}dispose(){this._disposables.dispose()}}function O(W,V,q,H,z){V.sort((0,k.compareBy)(j=>j.ordinal,k.numberComparator));const U=[];for(const j of V)U.push(F(q,j,H,z,W.onContentsChanged));return new n.RenderedHoverParts(U)}function F(W,V,q,H,z){const U=new y.DisposableStore,j=S("div.hover-row"),Q=S("div.hover-row-contents");j.appendChild(Q);const G=V.contents;for(const R of G){if((0,E.isEmptyMarkdownString)(R))continue;const J=S("div.markdown-hover"),ie=d.append(J,S("div.hover-contents")),ue=U.add(new m.MarkdownRenderer({editor:W},q,H));U.add(ue.onDidRenderAsync(()=>{ie.className="hover-contents code-hover-contents",z()}));const he=U.add(ue.render(R));ie.appendChild(he.element),Q.appendChild(J)}return{hoverPart:V,hoverElement:j,dispose(){U.dispose()}}}function x(W,V){switch(V){case g.HoverVerbosityAction.Increase:{const q=W.lookupKeybinding(_.INCREASE_HOVER_VERBOSITY_ACTION_ID);return q?o.localize(1036,"Increase Hover Verbosity ({0})",q.getLabel()):o.localize(1037,"Increase Hover Verbosity")}case g.HoverVerbosityAction.Decrease:{const q=W.lookupKeybinding(_.DECREASE_HOVER_VERBOSITY_ACTION_ID);return q?o.localize(1038,"Decrease Hover Verbosity ({0})",q.getLabel()):o.localize(1039,"Decrease Hover Verbosity")}}}}),define(ne[764],se([1,0,5,46,86,26,6,2,11,19,37,43,120,270,3,12,59,32,71,30,54,63,526]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r,u){"use strict";var C;Object.defineProperty(e,"__esModule",{value:!0}),e.ParameterHintsWidget=void 0;const f=d.$,h=(0,l.registerIcon)("parameter-hints-next",E.Codicon.chevronDown,i.localize(1173,"Icon for show next parameter hint.")),v=(0,l.registerIcon)("parameter-hints-previous",E.Codicon.chevronUp,i.localize(1174,"Icon for show previous parameter hint."));let w=class extends m.Disposable{static{C=this}static{this.ID="editor.widget.parameterHintsWidget"}constructor(L,D,T,M,A,P){super(),this.editor=L,this.model=D,this.telemetryService=P,this.renderDisposeables=this._register(new m.DisposableStore),this.visible=!1,this.announcedLabel=null,this.allowEditorOverflow=!0,this.markdownRenderer=this._register(new o.MarkdownRenderer({editor:L},A,M)),this.keyVisible=t.Context.Visible.bindTo(T),this.keyMultipleSignatures=t.Context.MultipleSignatures.bindTo(T)}createParameterHintDOMNodes(){const L=f(".editor-widget.parameter-hints-widget"),D=d.append(L,f(".phwrapper"));D.tabIndex=-1;const T=d.append(D,f(".controls")),M=d.append(T,f(".button"+a.ThemeIcon.asCSSSelector(v))),A=d.append(T,f(".overloads")),P=d.append(T,f(".button"+a.ThemeIcon.asCSSSelector(h)));this._register(d.addDisposableListener(M,"click",V=>{d.EventHelper.stop(V),this.previous()})),this._register(d.addDisposableListener(P,"click",V=>{d.EventHelper.stop(V),this.next()}));const N=f(".body"),O=new I.DomScrollableElement(N,{alwaysConsumeMouseWheel:!0});this._register(O),D.appendChild(O.getDomNode());const F=d.append(N,f(".signature")),x=d.append(N,f(".docs"));L.style.userSelect="text",this.domNodes={element:L,signature:F,overloads:A,docs:x,scrollbar:O},this.editor.addContentWidget(this),this.hide(),this._register(this.editor.onDidChangeCursorSelection(V=>{this.visible&&this.editor.layoutContentWidget(this)}));const W=()=>{if(!this.domNodes)return;const V=this.editor.getOption(50),q=this.domNodes.element;q.style.fontSize=`${V.fontSize}px`,q.style.lineHeight=`${V.lineHeight/V.fontSize}`,q.style.setProperty("--vscode-parameterHintsWidget-editorFontFamily",V.fontFamily),q.style.setProperty("--vscode-parameterHintsWidget-editorFontFamilyDefault",p.EDITOR_FONT_DEFAULTS.fontFamily)};W(),this._register(y.Event.chain(this.editor.onDidChangeConfiguration.bind(this.editor),V=>V.filter(q=>q.hasChanged(50)))(W)),this._register(this.editor.onDidLayoutChange(V=>this.updateMaxHeight())),this.updateMaxHeight()}show(){this.visible||(this.domNodes||this.createParameterHintDOMNodes(),this.keyVisible.set(!0),this.visible=!0,setTimeout(()=>{this.domNodes?.element.classList.add("visible")},100),this.editor.layoutContentWidget(this))}hide(){this.renderDisposeables.clear(),this.visible&&(this.keyVisible.reset(),this.visible=!1,this.announcedLabel=null,this.domNodes?.element.classList.remove("visible"),this.editor.layoutContentWidget(this))}getPosition(){return this.visible?{position:this.editor.getPosition(),preference:[1,2]}:null}render(L){if(this.renderDisposeables.clear(),!this.domNodes)return;const D=L.signatures.length>1;this.domNodes.element.classList.toggle("multiple",D),this.keyMultipleSignatures.set(D),this.domNodes.signature.innerText="",this.domNodes.docs.innerText="";const T=L.signatures[L.activeSignature];if(!T)return;const M=d.append(this.domNodes.signature,f(".code")),A=T.parameters.length>0,P=T.activeParameter??L.activeParameter;if(A)this.renderParameters(M,T,P);else{const F=d.append(M,f("span"));F.textContent=T.label}const N=T.parameters[P];if(N?.documentation){const F=f("span.documentation");if(typeof N.documentation=="string")F.textContent=N.documentation;else{const x=this.renderMarkdownDocs(N.documentation);F.appendChild(x.element)}d.append(this.domNodes.docs,f("p",{},F))}if(T.documentation!==void 0)if(typeof T.documentation=="string")d.append(this.domNodes.docs,f("p",{},T.documentation));else{const F=this.renderMarkdownDocs(T.documentation);d.append(this.domNodes.docs,F.element)}const O=this.hasDocs(T,N);if(this.domNodes.signature.classList.toggle("has-docs",O),this.domNodes.docs.classList.toggle("empty",!O),this.domNodes.overloads.textContent=String(L.activeSignature+1).padStart(L.signatures.length.toString().length,"0")+"/"+L.signatures.length,N){let F="";const x=T.parameters[P];Array.isArray(x.label)?F=T.label.substring(x.label[0],x.label[1]):F=x.label,x.documentation&&(F+=typeof x.documentation=="string"?`, ${x.documentation}`:`, ${x.documentation.value}`),T.documentation&&(F+=typeof T.documentation=="string"?`, ${T.documentation}`:`, ${T.documentation.value}`),this.announcedLabel!==F&&(k.alert(i.localize(1175,"{0}, hint",F)),this.announcedLabel=F)}this.editor.layoutContentWidget(this),this.domNodes.scrollbar.scanDomNode()}renderMarkdownDocs(L){const D=new r.StopWatch,T=this.renderDisposeables.add(this.markdownRenderer.render(L,{asyncRenderCallback:()=>{this.domNodes?.scrollbar.scanDomNode()}}));T.element.classList.add("markdown-docs");const M=D.elapsed();return M>300&&this.telemetryService.publicLog2("parameterHints.parseMarkdown",{renderDuration:M}),T}hasDocs(L,D){return!!(D&&typeof D.documentation=="string"&&(0,b.assertIsDefined)(D.documentation).length>0||D&&typeof D.documentation=="object"&&(0,b.assertIsDefined)(D.documentation).value.length>0||L.documentation&&typeof L.documentation=="string"&&(0,b.assertIsDefined)(L.documentation).length>0||L.documentation&&typeof L.documentation=="object"&&(0,b.assertIsDefined)(L.documentation.value).length>0)}renderParameters(L,D,T){const[M,A]=this.getParameterLabelOffsets(D,T),P=document.createElement("span");P.textContent=D.label.substring(0,M);const N=document.createElement("span");N.textContent=D.label.substring(M,A),N.className="parameter active";const O=document.createElement("span");O.textContent=D.label.substring(A),d.append(L,P,N,O)}getParameterLabelOffsets(L,D){const T=L.parameters[D];if(T){if(Array.isArray(T.label))return T.label;if(T.label.length){const M=new RegExp(`(\\W|^)${(0,_.escapeRegExpCharacters)(T.label)}(?=\\W|$)`,"g");M.test(L.label);const A=M.lastIndex-T.label.length;return A>=0?[A,M.lastIndex]:[0,0]}else return[0,0]}else return[0,0]}next(){this.editor.focus(),this.model.next()}previous(){this.editor.focus(),this.model.previous()}getDomNode(){return this.domNodes||this.createParameterHintDOMNodes(),this.domNodes.element}getId(){return C.ID}updateMaxHeight(){if(!this.domNodes)return;const D=`${Math.max(this.editor.getLayoutInfo().height/4,250)}px`;this.domNodes.element.style.maxHeight=D;const T=this.domNodes.element.getElementsByClassName("phwrapper");T.length&&(T[0].style.maxHeight=D)}};e.ParameterHintsWidget=w,e.ParameterHintsWidget=w=C=ke([ce(2,s.IContextKeyService),ce(3,g.IOpenerService),ce(4,n.ILanguageService),ce(5,u.ITelemetryService)],w),(0,c.registerColor)("editorHoverWidget.highlightForeground",c.listHighlightForeground,i.localize(1176,"Foreground color of the active item in the parameter hint."))}),define(ne[765],se([1,0,98,2,15,20,27,17,683,270,3,12,7,764]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t){"use strict";var i;Object.defineProperty(e,"__esModule",{value:!0}),e.TriggerParameterHintsAction=e.ParameterHintsController=void 0;let s=class extends k.Disposable{static{i=this}static{this.ID="editor.controller.parameterHints"}static get(r){return r.getContribution(i.ID)}constructor(r,u,C){super(),this.editor=r,this.model=this._register(new _.ParameterHintsModel(r,C.signatureHelpProvider)),this._register(this.model.onChangedHints(f=>{f?(this.widget.value.show(),this.widget.value.render(f)):this.widget.rawValue?.hide()})),this.widget=new d.Lazy(()=>this._register(u.createInstance(t.ParameterHintsWidget,this.editor,this.model)))}cancel(){this.model.cancel()}previous(){this.widget.rawValue?.previous()}next(){this.widget.rawValue?.next()}trigger(r){this.model.trigger(r,0)}};e.ParameterHintsController=s,e.ParameterHintsController=s=i=ke([ce(1,o.IInstantiationService),ce(2,m.ILanguageFeaturesService)],s);class g extends I.EditorAction{constructor(){super({id:"editor.action.triggerParameterHints",label:p.localize(1172,"Trigger Parameter Hints"),alias:"Trigger Parameter Hints",precondition:E.EditorContextKeys.hasSignatureHelpProvider,kbOpts:{kbExpr:E.EditorContextKeys.editorTextFocus,primary:3082,weight:100}})}run(r,u){s.get(u)?.trigger({triggerKind:y.SignatureHelpTriggerKind.Invoke})}}e.TriggerParameterHintsAction=g,(0,I.registerEditorContribution)(s.ID,s,2),(0,I.registerEditorAction)(g);const c=175,l=I.EditorCommand.bindToContribution(s.get);(0,I.registerEditorCommand)(new l({id:"closeParameterHints",precondition:b.Context.Visible,handler:a=>a.cancel(),kbOpts:{weight:c,kbExpr:E.EditorContextKeys.focus,primary:9,secondary:[1033]}})),(0,I.registerEditorCommand)(new l({id:"showPrevParameterHint",precondition:n.ContextKeyExpr.and(b.Context.Visible,b.Context.MultipleSignatures),handler:a=>a.previous(),kbOpts:{weight:c,kbExpr:E.EditorContextKeys.focus,primary:16,secondary:[528],mac:{primary:16,secondary:[528,302]}}})),(0,I.registerEditorCommand)(new l({id:"showNextParameterHint",precondition:n.ContextKeyExpr.and(b.Context.Visible,b.Context.MultipleSignatures),handler:a=>a.next(),kbOpts:{weight:c,kbExpr:E.EditorContextKeys.focus,primary:18,secondary:[530],mac:{primary:18,secondary:[530,300]}}}))}),define(ne[766],se([1,0,5,87,41,2,120,7,702,71,30,534]),function(oe,e,d,k,I,E,y,m,_,b,p){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.BannerController=void 0;const n=26;let o=class extends E.Disposable{constructor(s,g){super(),this._editor=s,this.instantiationService=g,this.banner=this._register(this.instantiationService.createInstance(t))}hide(){this._editor.setBanner(null,0),this.banner.clear()}show(s){this.banner.show({...s,onClose:()=>{this.hide(),s.onClose?.()}}),this._editor.setBanner(this.banner.element,n)}};e.BannerController=o,e.BannerController=o=ke([ce(1,m.IInstantiationService)],o);let t=class extends E.Disposable{constructor(s){super(),this.instantiationService=s,this.markdownRenderer=this.instantiationService.createInstance(y.MarkdownRenderer,{}),this.element=(0,d.$)("div.editor-banner"),this.element.tabIndex=0}getAriaLabel(s){if(s.ariaLabel)return s.ariaLabel;if(typeof s.message=="string")return s.message}getBannerMessage(s){if(typeof s=="string"){const g=(0,d.$)("span");return g.innerText=s,g}return this.markdownRenderer.render(s).element}clear(){(0,d.clearNode)(this.element)}show(s){(0,d.clearNode)(this.element);const g=this.getAriaLabel(s);g&&this.element.setAttribute("aria-label",g);const c=(0,d.append)(this.element,(0,d.$)("div.icon-container"));c.setAttribute("aria-hidden","true"),s.icon&&c.appendChild((0,d.$)(`div${p.ThemeIcon.asCSSSelector(s.icon)}`));const l=(0,d.append)(this.element,(0,d.$)("div.message-container"));if(l.setAttribute("aria-hidden","true"),l.appendChild(this.getBannerMessage(s.message)),this.messageActionsContainer=(0,d.append)(this.element,(0,d.$)("div.message-actions-container")),s.actions)for(const r of s.actions)this._register(this.instantiationService.createInstance(_.Link,this.messageActionsContainer,{...r,tabIndex:-1},{}));const a=(0,d.append)(this.element,(0,d.$)("div.action-container"));this.actionBar=this._register(new k.ActionBar(a)),this.actionBar.push(this._register(new I.Action("banner.close","Close Banner",p.ThemeIcon.asClassName(b.widgetClose),!0,()=>{typeof s.onClose=="function"&&s.onClose()})),{icon:!0,label:!1}),this.actionBar.setFocusable(!1)}};t=ke([ce(0,m.IInstantiationService)],t)}),define(ne[767],se([1,0,5,6,2,30,71]),function(oe,e,d,k,I,E,y){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.UnthemedProductIconTheme=void 0,e.getIconsStyleSheet=m;function m(b){const p=new I.DisposableStore,n=p.add(new k.Emitter),o=(0,y.getIconRegistry)();return p.add(o.onDidChange(()=>n.fire())),b&&p.add(b.onDidProductIconThemeChange(()=>n.fire())),{dispose:()=>p.dispose(),onDidChange:n.event,getCSS(){const t=b?b.getProductIconTheme():new _,i={},s=[],g=[];for(const c of o.getIcons()){const l=t.getIcon(c);if(!l)continue;const a=l.font,r=`--vscode-icon-${c.id}-font-family`,u=`--vscode-icon-${c.id}-content`;a?(i[a.id]=a.definition,g.push(`${r}: ${(0,d.asCSSPropertyValue)(a.id)};`,`${u}: '${l.fontCharacter}';`),s.push(`.codicon-${c.id}:before { content: '${l.fontCharacter}'; font-family: ${(0,d.asCSSPropertyValue)(a.id)}; }`)):(g.push(`${u}: '${l.fontCharacter}'; ${r}: 'codicon';`),s.push(`.codicon-${c.id}:before { content: '${l.fontCharacter}'; }`))}for(const c in i){const l=i[c],a=l.weight?`font-weight: ${l.weight};`:"",r=l.style?`font-style: ${l.style};`:"",u=l.src.map(C=>`${(0,d.asCSSUrl)(C.location)} format('${C.format}')`).join(", ");s.push(`@font-face { src: ${u}; font-family: ${(0,d.asCSSPropertyValue)(c)};${a}${r} font-display: block; }`)}return s.push(`:root { ${g.join(" ")} }`),s.join(` +`)}}}class _{getIcon(p){const n=(0,y.getIconRegistry)();let o=p.defaults;for(;E.ThemeIcon.isThemeIcon(o);){const t=n.getIcon(o.id);if(!t)return;o=t.defaults}return o}}e.UnthemedProductIconTheme=_}),define(ne[97],se([1,0]),function(oe,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ColorScheme=void 0,e.isHighContrast=k,e.isDark=I;var d;(function(E){E.DARK="dark",E.LIGHT="light",E.HIGH_CONTRAST_DARK="hcDark",E.HIGH_CONTRAST_LIGHT="hcLight"})(d||(e.ColorScheme=d={}));function k(E){return E===d.HIGH_CONTRAST_DARK||E===d.HIGH_CONTRAST_LIGHT}function I(E){return E===d.DARK||E===d.HIGH_CONTRAST_DARK}}),define(ne[281],se([1,0,64,39,16,548,164,150,136,97,37]),function(oe,e,d,k,I,E,y,m,_,b,p){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ViewLine=e.ViewLineOptions=void 0,e.getColumnOfNodeOffset=u;const n=function(){return I.isNative?!0:!(I.isLinux||d.isFirefox||d.isSafari)}();let o=!0;class t{constructor(f,h){this.themeType=h;const v=f.options,w=v.get(50);v.get(38)==="off"?this.renderWhitespace=v.get(100):this.renderWhitespace="none",this.renderControlCharacters=v.get(95),this.spaceWidth=w.spaceWidth,this.middotWidth=w.middotWidth,this.wsmiddotWidth=w.wsmiddotWidth,this.useMonospaceOptimizations=w.isMonospace&&!v.get(33),this.canUseHalfwidthRightwardsArrow=w.canUseHalfwidthRightwardsArrow,this.lineHeight=v.get(67),this.stopRenderingLineAfter=v.get(118),this.fontLigatures=v.get(51)}equals(f){return this.themeType===f.themeType&&this.renderWhitespace===f.renderWhitespace&&this.renderControlCharacters===f.renderControlCharacters&&this.spaceWidth===f.spaceWidth&&this.middotWidth===f.middotWidth&&this.wsmiddotWidth===f.wsmiddotWidth&&this.useMonospaceOptimizations===f.useMonospaceOptimizations&&this.canUseHalfwidthRightwardsArrow===f.canUseHalfwidthRightwardsArrow&&this.lineHeight===f.lineHeight&&this.stopRenderingLineAfter===f.stopRenderingLineAfter&&this.fontLigatures===f.fontLigatures}}e.ViewLineOptions=t;class i{static{this.CLASS_NAME="view-line"}constructor(f){this._options=f,this._isMaybeInvalid=!0,this._renderedViewLine=null}getDomNode(){return this._renderedViewLine&&this._renderedViewLine.domNode?this._renderedViewLine.domNode.domNode:null}setDomNode(f){if(this._renderedViewLine)this._renderedViewLine.domNode=(0,k.createFastDomNode)(f);else throw new Error("I have no rendered view line to set the dom node to...")}onContentChanged(){this._isMaybeInvalid=!0}onTokensChanged(){this._isMaybeInvalid=!0}onDecorationsChanged(){this._isMaybeInvalid=!0}onOptionsChanged(f){this._isMaybeInvalid=!0,this._options=f}onSelectionChanged(){return(0,b.isHighContrast)(this._options.themeType)||this._options.renderWhitespace==="selection"?(this._isMaybeInvalid=!0,!0):!1}renderLine(f,h,v,w,S){if(this._isMaybeInvalid===!1)return!1;this._isMaybeInvalid=!1;const L=w.getViewLineRenderingData(f),D=this._options,T=m.LineDecoration.filter(L.inlineDecorations,f,L.minColumn,L.maxColumn);let M=null;if((0,b.isHighContrast)(D.themeType)||this._options.renderWhitespace==="selection"){const O=w.selections;for(const F of O){if(F.endLineNumberf)continue;const x=F.startLineNumber===f?F.startColumn:L.minColumn,W=F.endLineNumber===f?F.endColumn:L.maxColumn;x');const P=(0,_.renderViewLine)(A,S);S.appendString("");let N=null;return o&&n&&L.isBasicASCII&&D.useMonospaceOptimizations&&P.containsForeignElements===0&&(N=new s(this._renderedViewLine?this._renderedViewLine.domNode:null,A,P.characterMapping)),N||(N=l(this._renderedViewLine?this._renderedViewLine.domNode:null,A,P.characterMapping,P.containsRTL,P.containsForeignElements)),this._renderedViewLine=N,!0}layoutLine(f,h,v){this._renderedViewLine&&this._renderedViewLine.domNode&&(this._renderedViewLine.domNode.setTop(h),this._renderedViewLine.domNode.setHeight(v))}getWidth(f){return this._renderedViewLine?this._renderedViewLine.getWidth(f):0}getWidthIsFast(){return this._renderedViewLine?this._renderedViewLine.getWidthIsFast():!0}needsMonospaceFontCheck(){return this._renderedViewLine?this._renderedViewLine instanceof s:!1}monospaceAssumptionsAreValid(){return this._renderedViewLine&&this._renderedViewLine instanceof s?this._renderedViewLine.monospaceAssumptionsAreValid():o}onMonospaceAssumptionsInvalidated(){this._renderedViewLine&&this._renderedViewLine instanceof s&&(this._renderedViewLine=this._renderedViewLine.toSlowRenderedLine())}getVisibleRangesForRange(f,h,v,w){if(!this._renderedViewLine)return null;h=Math.min(this._renderedViewLine.input.lineContent.length+1,Math.max(1,h)),v=Math.min(this._renderedViewLine.input.lineContent.length+1,Math.max(1,v));const S=this._renderedViewLine.input.stopRenderingLineAfter;if(S!==-1&&h>S+1&&v>S+1)return new y.VisibleRanges(!0,[new y.FloatHorizontalRange(this.getWidth(w),0)]);S!==-1&&h>S+1&&(h=S+1),S!==-1&&v>S+1&&(v=S+1);const L=this._renderedViewLine.getVisibleRangesForRange(f,h,v,w);return L&&L.length>0?new y.VisibleRanges(!1,L):null}getColumnOfNodeOffset(f,h){return this._renderedViewLine?this._renderedViewLine.getColumnOfNodeOffset(f,h):1}}e.ViewLine=i;class s{constructor(f,h,v){this._cachedWidth=-1,this.domNode=f,this.input=h;const w=Math.floor(h.lineContent.length/300);if(w>0){this._keyColumnPixelOffsetCache=new Float32Array(w);for(let S=0;S=2&&(console.warn("monospace assumptions have been violated, therefore disabling monospace optimizations!"),o=!1)}return o}toSlowRenderedLine(){return l(this.domNode,this.input,this._characterMapping,!1,0)}getVisibleRangesForRange(f,h,v,w){const S=this._getColumnPixelOffset(f,h,w),L=this._getColumnPixelOffset(f,v,w);return[new y.FloatHorizontalRange(S,L-S)]}_getColumnPixelOffset(f,h,v){if(h<=300){const M=this._characterMapping.getHorizontalOffset(h);return this._charWidth*M}const w=Math.floor((h-1)/300)-1,S=(w+1)*300+1;let L=-1;if(this._keyColumnPixelOffsetCache&&(L=this._keyColumnPixelOffsetCache[w],L===-1&&(L=this._actualReadPixelOffset(f,S,v),this._keyColumnPixelOffsetCache[w]=L)),L===-1){const M=this._characterMapping.getHorizontalOffset(h);return this._charWidth*M}const D=this._characterMapping.getHorizontalOffset(S),T=this._characterMapping.getHorizontalOffset(h);return L+this._charWidth*(T-D)}_getReadingTarget(f){return f.domNode.firstChild}_actualReadPixelOffset(f,h,v){if(!this.domNode)return-1;const w=this._characterMapping.getDomPosition(h),S=E.RangeUtil.readHorizontalRanges(this._getReadingTarget(this.domNode),w.partIndex,w.charIndex,w.partIndex,w.charIndex,v);return!S||S.length===0?-1:S[0].left}getColumnOfNodeOffset(f,h){return u(this._characterMapping,f,h)}}class g{constructor(f,h,v,w,S){if(this.domNode=f,this.input=h,this._characterMapping=v,this._isWhitespaceOnly=/^\s*$/.test(h.lineContent),this._containsForeignElements=S,this._cachedWidth=-1,this._pixelOffsetCache=null,!w||this._characterMapping.length===0){this._pixelOffsetCache=new Float32Array(Math.max(2,this._characterMapping.length+1));for(let L=0,D=this._characterMapping.length;L<=D;L++)this._pixelOffsetCache[L]=-1}}_getReadingTarget(f){return f.domNode.firstChild}getWidth(f){return this.domNode?(this._cachedWidth===-1&&(this._cachedWidth=this._getReadingTarget(this.domNode).offsetWidth,f?.markDidDomLayout()),this._cachedWidth):0}getWidthIsFast(){return this._cachedWidth!==-1}getVisibleRangesForRange(f,h,v,w){if(!this.domNode)return null;if(this._pixelOffsetCache!==null){const S=this._readPixelOffset(this.domNode,f,h,w);if(S===-1)return null;const L=this._readPixelOffset(this.domNode,f,v,w);return L===-1?null:[new y.FloatHorizontalRange(S,L-S)]}return this._readVisibleRangesForRange(this.domNode,f,h,v,w)}_readVisibleRangesForRange(f,h,v,w,S){if(v===w){const L=this._readPixelOffset(f,h,v,S);return L===-1?null:[new y.FloatHorizontalRange(L,0)]}else return this._readRawVisibleRangesForRange(f,v,w,S)}_readPixelOffset(f,h,v,w){if(this._characterMapping.length===0){if(this._containsForeignElements===0||this._containsForeignElements===2)return 0;if(this._containsForeignElements===1)return this.getWidth(w);const S=this._getReadingTarget(f);return S.firstChild?(w.markDidDomLayout(),S.firstChild.offsetWidth):0}if(this._pixelOffsetCache!==null){const S=this._pixelOffsetCache[v];if(S!==-1)return S;const L=this._actualReadPixelOffset(f,h,v,w);return this._pixelOffsetCache[v]=L,L}return this._actualReadPixelOffset(f,h,v,w)}_actualReadPixelOffset(f,h,v,w){if(this._characterMapping.length===0){const T=E.RangeUtil.readHorizontalRanges(this._getReadingTarget(f),0,0,0,0,w);return!T||T.length===0?-1:T[0].left}if(v===this._characterMapping.length&&this._isWhitespaceOnly&&this._containsForeignElements===0)return this.getWidth(w);const S=this._characterMapping.getDomPosition(v),L=E.RangeUtil.readHorizontalRanges(this._getReadingTarget(f),S.partIndex,S.charIndex,S.partIndex,S.charIndex,w);if(!L||L.length===0)return-1;const D=L[0].left;if(this.input.isBasicASCII){const T=this._characterMapping.getHorizontalOffset(v),M=Math.round(this.input.spaceWidth*T);if(Math.abs(M-D)<=1)return M}return D}_readRawVisibleRangesForRange(f,h,v,w){if(h===1&&v===this._characterMapping.length)return[new y.FloatHorizontalRange(0,this.getWidth(w))];const S=this._characterMapping.getDomPosition(h),L=this._characterMapping.getDomPosition(v);return E.RangeUtil.readHorizontalRanges(this._getReadingTarget(f),S.partIndex,S.charIndex,L.partIndex,L.charIndex,w)}getColumnOfNodeOffset(f,h){return u(this._characterMapping,f,h)}}class c extends g{_readVisibleRangesForRange(f,h,v,w,S){const L=super._readVisibleRangesForRange(f,h,v,w,S);if(!L||L.length===0||v===w||v===1&&w===this._characterMapping.length)return L;if(!this.input.containsRTL){const D=this._readPixelOffset(f,h,w,S);if(D!==-1){const T=L[L.length-1];T.left=4&&w[0]===3&&w[3]===8}static isStrictChildOfViewLines(w){return w.length>4&&w[0]===3&&w[3]===8}static isChildOfScrollableElement(w){return w.length>=2&&w[0]===3&&w[1]===6}static isChildOfMinimap(w){return w.length>=2&&w[0]===3&&w[1]===9}static isChildOfContentWidgets(w){return w.length>=4&&w[0]===3&&w[3]===1}static isChildOfOverflowGuard(w){return w.length>=1&&w[0]===3}static isChildOfOverflowingContentWidgets(w){return w.length>=1&&w[0]===2}static isChildOfOverlayWidgets(w){return w.length>=2&&w[0]===3&&w[1]===4}static isChildOfOverflowingOverlayWidgets(w){return w.length>=1&&w[0]===5}}class c{constructor(w,S,L){this.viewModel=w.viewModel;const D=w.configuration.options;this.layoutInfo=D.get(146),this.viewDomNode=S.viewDomNode,this.lineHeight=D.get(67),this.stickyTabStops=D.get(117),this.typicalHalfwidthCharacterWidth=D.get(50).typicalHalfwidthCharacterWidth,this.lastRenderData=L,this._context=w,this._viewHelper=S}getZoneAtCoord(w){return c.getZoneAtCoord(this._context,w)}static getZoneAtCoord(w,S){const L=w.viewLayout.getWhitespaceAtVerticalOffset(S);if(L){const D=L.verticalOffset+L.height/2,T=w.viewModel.getLineCount();let M=null,A,P=null;return L.afterLineNumber!==T&&(P=new E.Position(L.afterLineNumber+1,1)),L.afterLineNumber>0&&(M=new E.Position(L.afterLineNumber,w.viewModel.getLineMaxColumn(L.afterLineNumber))),P===null?A=M:M===null?A=P:S=w.layoutInfo.glyphMarginLeft,this.isInContentArea=!this.isInMarginArea,this.mouseColumn=Math.max(0,C._getMouseColumn(this.mouseContentHorizontalOffset,w.typicalHalfwidthCharacterWidth))}}class a extends l{get target(){return this._useHitTestTarget?this.hitTestResult.value.hitTarget:this._eventTarget}get targetPath(){return this._targetPathCacheElement!==this.target&&(this._targetPathCacheElement=this.target,this._targetPathCacheValue=k.PartFingerprints.collect(this.target,this._ctx.viewDomNode)),this._targetPathCacheValue}constructor(w,S,L,D,T){super(w,S,L,D),this.hitTestResult=new p.Lazy(()=>C.doHitTest(this._ctx,this)),this._targetPathCacheElement=null,this._targetPathCacheValue=new Uint8Array(0),this._ctx=w,this._eventTarget=T;const M=!!this._eventTarget;this._useHitTestTarget=!M}toString(){return`pos(${this.pos.x},${this.pos.y}), editorPos(${this.editorPos.x},${this.editorPos.y}), relativePos(${this.relativePos.x},${this.relativePos.y}), mouseVerticalOffset: ${this.mouseVerticalOffset}, mouseContentHorizontalOffset: ${this.mouseContentHorizontalOffset} + target: ${this.target?this.target.outerHTML:null}`}get wouldBenefitFromHitTestTargetSwitch(){return!this._useHitTestTarget&&this.hitTestResult.value.hitTarget!==null&&this.target!==this.hitTestResult.value.hitTarget}switchToHitTestTarget(){this._useHitTestTarget=!0}_getMouseColumn(w=null){return w&&w.columnM.contentLeft+M.width)continue;const A=w.getVerticalOffsetForLineNumber(M.position.lineNumber);if(A<=T&&T<=A+M.height)return S.fulfillContentText(M.position,null,{mightBeForeignElement:!1,injectedText:null})}}return null}static _hitTestViewZone(w,S){const L=w.getZoneAtCoord(S.mouseVerticalOffset);if(L){const D=S.isInContentArea?8:5;return S.fulfillViewZone(D,L.position,L)}return null}static _hitTestTextArea(w,S){return g.isTextArea(S.targetPath)?w.lastRenderData.lastTextareaPosition?S.fulfillContentText(w.lastRenderData.lastTextareaPosition,null,{mightBeForeignElement:!1,injectedText:null}):S.fulfillTextarea():null}static _hitTestMargin(w,S){if(S.isInMarginArea){const L=w.getFullLineRangeAtCoord(S.mouseVerticalOffset),D=L.range.getStartPosition();let T=Math.abs(S.relativePos.x);const M={isAfterLines:L.isAfterLines,glyphMarginLeft:w.layoutInfo.glyphMarginLeft,glyphMarginWidth:w.layoutInfo.glyphMarginWidth,lineNumbersWidth:w.layoutInfo.lineNumbersWidth,offsetX:T};if(T-=w.layoutInfo.glyphMarginLeft,T<=w.layoutInfo.glyphMarginWidth){const A=w.viewModel.coordinatesConverter.convertViewPositionToModelPosition(L.range.getStartPosition()),P=w.viewModel.glyphLanes.getLanesAtLine(A.lineNumber);return M.glyphMarginLane=P[Math.floor(T/w.lineHeight)],S.fulfillMargin(2,D,L.range,M)}return T-=w.layoutInfo.glyphMarginWidth,T<=w.layoutInfo.lineNumbersWidth?S.fulfillMargin(3,D,L.range,M):(T-=w.layoutInfo.lineNumbersWidth,S.fulfillMargin(4,D,L.range,M))}return null}static _hitTestViewLines(w,S){if(!g.isChildOfViewLines(S.targetPath))return null;if(w.isInTopPadding(S.mouseVerticalOffset))return S.fulfillContentEmpty(new E.Position(1,1),r);if(w.isAfterLines(S.mouseVerticalOffset)||w.isInBottomPadding(S.mouseVerticalOffset)){const D=w.viewModel.getLineCount(),T=w.viewModel.getLineMaxColumn(D);return S.fulfillContentEmpty(new E.Position(D,T),r)}if(g.isStrictChildOfViewLines(S.targetPath)){const D=w.getLineNumberAtVerticalOffset(S.mouseVerticalOffset);if(w.viewModel.getLineLength(D)===0){const M=w.getLineWidth(D),A=u(S.mouseContentHorizontalOffset-M);return S.fulfillContentEmpty(new E.Position(D,1),A)}const T=w.getLineWidth(D);if(S.mouseContentHorizontalOffset>=T){const M=u(S.mouseContentHorizontalOffset-T),A=new E.Position(D,w.viewModel.getLineMaxColumn(D));return S.fulfillContentEmpty(A,M)}}const L=S.hitTestResult.value;return L.type===1?C.createMouseTargetFromHitTestPosition(w,S,L.spanNode,L.position,L.injectedText):S.wouldBenefitFromHitTestTargetSwitch?(S.switchToHitTestTarget(),this._createMouseTarget(w,S)):S.fulfillUnknown()}static _hitTestMinimap(w,S){if(g.isChildOfMinimap(S.targetPath)){const L=w.getLineNumberAtVerticalOffset(S.mouseVerticalOffset),D=w.viewModel.getLineMaxColumn(L);return S.fulfillScrollbar(new E.Position(L,D))}return null}static _hitTestScrollbarSlider(w,S){if(g.isChildOfScrollableElement(S.targetPath)&&S.target&&S.target.nodeType===1){const L=S.target.className;if(L&&/\b(slider|scrollbar)\b/.test(L)){const D=w.getLineNumberAtVerticalOffset(S.mouseVerticalOffset),T=w.viewModel.getLineMaxColumn(D);return S.fulfillScrollbar(new E.Position(D,T))}}return null}static _hitTestScrollbar(w,S){if(g.isChildOfScrollableElement(S.targetPath)){const L=w.getLineNumberAtVerticalOffset(S.mouseVerticalOffset),D=w.viewModel.getLineMaxColumn(L);return S.fulfillScrollbar(new E.Position(L,D))}return null}getMouseColumn(w){const S=this._context.configuration.options,L=S.get(146),D=this._context.viewLayout.getCurrentScrollLeft()+w.x-L.contentLeft;return C._getMouseColumn(D,S.get(50).typicalHalfwidthCharacterWidth)}static _getMouseColumn(w,S){return w<0?1:Math.round(w/S)+1}static createMouseTargetFromHitTestPosition(w,S,L,D,T){const M=D.lineNumber,A=D.column,P=w.getLineWidth(M);if(S.mouseContentHorizontalOffset>P){const z=u(S.mouseContentHorizontalOffset-P);return S.fulfillContentEmpty(D,z)}const N=w.visibleRangeForPosition(M,A);if(!N)return S.fulfillUnknown(D);const O=N.left;if(Math.abs(S.mouseContentHorizontalOffset-O)<1)return S.fulfillContentText(D,null,{mightBeForeignElement:!!T,injectedText:T});const F=[];if(F.push({offset:N.left,column:A}),A>1){const z=w.visibleRangeForPosition(M,A-1);z&&F.push({offset:z.left,column:A-1})}const x=w.viewModel.getLineMaxColumn(M);if(Az.offset-U.offset);const W=S.pos.toClientCoordinates(_.getWindow(w.viewDomNode)),V=L.getBoundingClientRect(),q=V.left<=W.clientX&&W.clientX<=V.right;let H=null;for(let z=1;zT)){const A=Math.floor((D+T)/2);let P=S.pos.y+(A-S.mouseVerticalOffset);P<=S.editorPos.y&&(P=S.editorPos.y+1),P>=S.editorPos.y+S.editorPos.height&&(P=S.editorPos.y+S.editorPos.height-1);const N=new d.PageCoordinates(S.pos.x,P),O=this._actualDoHitTestWithCaretRangeFromPoint(w,N.toClientCoordinates(_.getWindow(w.viewDomNode)));if(O.type===1)return O}return this._actualDoHitTestWithCaretRangeFromPoint(w,S.pos.toClientCoordinates(_.getWindow(w.viewDomNode)))}static _actualDoHitTestWithCaretRangeFromPoint(w,S){const L=_.getShadowRoot(w.viewDomNode);let D;if(L?typeof L.caretRangeFromPoint>"u"?D=f(L,S.clientX,S.clientY):D=L.caretRangeFromPoint(S.clientX,S.clientY):D=w.viewDomNode.ownerDocument.caretRangeFromPoint(S.clientX,S.clientY),!D||!D.startContainer)return new n;const T=D.startContainer;if(T.nodeType===T.TEXT_NODE){const M=T.parentNode,A=M?M.parentNode:null,P=A?A.parentNode:null;return(P&&P.nodeType===P.ELEMENT_NODE?P.className:null)===I.ViewLine.CLASS_NAME?t.createFromDOMInfo(w,M,D.startOffset):new n(T.parentNode)}else if(T.nodeType===T.ELEMENT_NODE){const M=T.parentNode,A=M?M.parentNode:null;return(A&&A.nodeType===A.ELEMENT_NODE?A.className:null)===I.ViewLine.CLASS_NAME?t.createFromDOMInfo(w,T,T.textContent.length):new n(T)}return new n}static _doHitTestWithCaretPositionFromPoint(w,S){const L=w.viewDomNode.ownerDocument.caretPositionFromPoint(S.clientX,S.clientY);if(L.offsetNode.nodeType===L.offsetNode.TEXT_NODE){const D=L.offsetNode.parentNode,T=D?D.parentNode:null,M=T?T.parentNode:null;return(M&&M.nodeType===M.ELEMENT_NODE?M.className:null)===I.ViewLine.CLASS_NAME?t.createFromDOMInfo(w,L.offsetNode.parentNode,L.offset):new n(L.offsetNode.parentNode)}if(L.offsetNode.nodeType===L.offsetNode.ELEMENT_NODE){const D=L.offsetNode.parentNode,T=D&&D.nodeType===D.ELEMENT_NODE?D.className:null,M=D?D.parentNode:null,A=M&&M.nodeType===M.ELEMENT_NODE?M.className:null;if(T===I.ViewLine.CLASS_NAME){const P=L.offsetNode.childNodes[Math.min(L.offset,L.offsetNode.childNodes.length-1)];if(P)return t.createFromDOMInfo(w,P,0)}else if(A===I.ViewLine.CLASS_NAME)return t.createFromDOMInfo(w,L.offsetNode,0)}return new n(L.offsetNode)}static _snapToSoftTabBoundary(w,S){const L=S.getLineContent(w.lineNumber),{tabSize:D}=S.model.getOptions(),T=b.AtomicTabMoveOperations.atomicPosition(L,w.column-1,D,2);return T!==-1?new E.Position(w.lineNumber,T+1):w}static doHitTest(w,S){let L=new n;if(typeof w.viewDomNode.ownerDocument.caretRangeFromPoint=="function"?L=this._doHitTestWithCaretRangeFromPoint(w,S):w.viewDomNode.ownerDocument.caretPositionFromPoint&&(L=this._doHitTestWithCaretPositionFromPoint(w,S.pos.toClientCoordinates(_.getWindow(w.viewDomNode)))),L.type===1){const D=w.viewModel.getInjectedTextAt(L.position),T=w.viewModel.normalizePosition(L.position,2);(D||!T.equals(L.position))&&(L=new o(T,L.spanNode,D))}return L}}e.MouseTargetFactory=C;function f(v,w,S){const L=document.createRange();let D=v.elementFromPoint(w,S);if(D!==null){for(;D&&D.firstChild&&D.firstChild.nodeType!==D.firstChild.TEXT_NODE&&D.lastChild&&D.lastChild.firstChild;)D=D.lastChild;const T=D.getBoundingClientRect(),M=_.getWindow(D),A=M.getComputedStyle(D,null).getPropertyValue("font-style"),P=M.getComputedStyle(D,null).getPropertyValue("font-variant"),N=M.getComputedStyle(D,null).getPropertyValue("font-weight"),O=M.getComputedStyle(D,null).getPropertyValue("font-size"),F=M.getComputedStyle(D,null).getPropertyValue("line-height"),x=M.getComputedStyle(D,null).getPropertyValue("font-family"),W=`${A} ${P} ${N} ${O}/${F} ${x}`,V=D.innerText;let q=T.left,H=0,z;if(w>T.left+T.width)H=V.length;else{const U=h.getInstance();for(let j=0;jthis._createMouseTarget(h,v),h=>this._getMouseColumn(h))),this.lastMouseLeaveTime=-1,this._height=this._context.configuration.options.get(146).height;const C=new m.EditorMouseEventFactory(this.viewHelper.viewDomNode);this._register(C.onContextMenu(this.viewHelper.viewDomNode,h=>this._onContextMenu(h,!0))),this._register(C.onMouseMove(this.viewHelper.viewDomNode,h=>{this._onMouseMove(h),this._mouseLeaveMonitor||(this._mouseLeaveMonitor=d.addDisposableListener(this.viewHelper.viewDomNode.ownerDocument,"mousemove",v=>{this.viewHelper.viewDomNode.contains(v.target)||this._onMouseLeave(new m.EditorMouseEvent(v,!1,this.viewHelper.viewDomNode))}))})),this._register(C.onMouseUp(this.viewHelper.viewDomNode,h=>this._onMouseUp(h))),this._register(C.onMouseLeave(this.viewHelper.viewDomNode,h=>this._onMouseLeave(h)));let f=0;this._register(C.onPointerDown(this.viewHelper.viewDomNode,(h,v)=>{f=v})),this._register(d.addDisposableListener(this.viewHelper.viewDomNode,d.EventType.POINTER_UP,h=>{this._mouseDownOperation.onPointerUp()})),this._register(C.onMouseDown(this.viewHelper.viewDomNode,h=>this._onMouseDown(h,f))),this._setupMouseWheelZoomListener(),this._context.addEventHandler(this)}_setupMouseWheelZoomListener(){const a=o.MouseWheelClassifier.INSTANCE;let r=0,u=_.EditorZoom.getZoomLevel(),C=!1,f=0;const h=w=>{if(this.viewController.emitMouseWheel(w),!this._context.configuration.options.get(76))return;const S=new k.StandardWheelEvent(w);if(a.acceptStandardWheelEvent(S),a.isPhysicalMouseWheel()){if(v(w)){const L=_.EditorZoom.getZoomLevel(),D=S.deltaY>0?1:-1;_.EditorZoom.setZoomLevel(L+D),S.preventDefault(),S.stopPropagation()}}else Date.now()-r>50&&(u=_.EditorZoom.getZoomLevel(),C=v(w),f=0),r=Date.now(),f+=S.deltaY,C&&(_.EditorZoom.setZoomLevel(u+f/5),S.preventDefault(),S.stopPropagation())};this._register(d.addDisposableListener(this.viewHelper.viewDomNode,d.EventType.MOUSE_WHEEL,h,{capture:!0,passive:!1}));function v(w){return E.isMacintosh?(w.metaKey||w.ctrlKey)&&!w.shiftKey&&!w.altKey:w.ctrlKey&&!w.metaKey&&!w.shiftKey&&!w.altKey}}dispose(){this._context.removeEventHandler(this),this._mouseLeaveMonitor&&(this._mouseLeaveMonitor.dispose(),this._mouseLeaveMonitor=null),super.dispose()}onConfigurationChanged(a){if(a.hasChanged(146)){const r=this._context.configuration.options.get(146).height;this._height!==r&&(this._height=r,this._mouseDownOperation.onHeightChanged())}return!1}onCursorStateChanged(a){return this._mouseDownOperation.onCursorStateChanged(a),!1}onFocusChanged(a){return!1}getTargetAtClientPoint(a,r){const C=new m.ClientCoordinates(a,r).toPageCoordinates(d.getWindow(this.viewHelper.viewDomNode)),f=(0,m.createEditorPagePosition)(this.viewHelper.viewDomNode);if(C.yf.y+f.height||C.xf.x+f.width)return null;const h=(0,m.createCoordinatesRelativeToEditor)(this.viewHelper.viewDomNode,f,C);return this.mouseTargetFactory.createMouseTarget(this.viewHelper.getLastRenderData(),f,C,h,null)}_createMouseTarget(a,r){let u=a.target;if(!this.viewHelper.viewDomNode.contains(u)){const C=d.getShadowRoot(this.viewHelper.viewDomNode);C&&(u=C.elementsFromPoint(a.posx,a.posy).find(f=>this.viewHelper.viewDomNode.contains(f)))}return this.mouseTargetFactory.createMouseTarget(this.viewHelper.getLastRenderData(),a.editorPos,a.pos,a.relativePos,r?u:null)}_getMouseColumn(a){return this.mouseTargetFactory.getMouseColumn(a.relativePos)}_onContextMenu(a,r){this.viewController.emitContextMenu({event:a,target:this._createMouseTarget(a,r)})}_onMouseMove(a){this.mouseTargetFactory.mouseTargetIsWidget(a)||a.preventDefault(),!(this._mouseDownOperation.isActive()||a.timestamp{a.preventDefault(),this.viewHelper.focusTextArea()};if(L&&(C||h&&v))D(),this._mouseDownOperation.start(u.type,a,r);else if(f)a.preventDefault();else if(w){const T=u.detail;L&&this.viewHelper.shouldSuppressMouseDownOnViewZone(T.viewZoneId)&&(D(),this._mouseDownOperation.start(u.type,a,r),a.preventDefault())}else S&&this.viewHelper.shouldSuppressMouseDownOnWidget(u.detail)&&(D(),a.preventDefault());this.viewController.emitMouseDown({event:a,target:u})}}e.MouseHandler=t;class i extends I.Disposable{constructor(a,r,u,C,f,h){super(),this._context=a,this._viewController=r,this._viewHelper=u,this._mouseTargetFactory=C,this._createMouseTarget=f,this._getMouseColumn=h,this._mouseMoveMonitor=this._register(new m.GlobalEditorPointerMoveMonitor(this._viewHelper.viewDomNode)),this._topBottomDragScrolling=this._register(new s(this._context,this._viewHelper,this._mouseTargetFactory,(v,w,S)=>this._dispatchMouse(v,w,S))),this._mouseState=new c,this._currentSelection=new p.Selection(1,1,1,1),this._isActive=!1,this._lastMouseEvent=null}dispose(){super.dispose()}isActive(){return this._isActive}_onMouseDownThenMove(a){this._lastMouseEvent=a,this._mouseState.setModifiers(a);const r=this._findMousePosition(a,!1);r&&(this._mouseState.isDragAndDrop?this._viewController.emitMouseDrag({event:a,target:r}):r.type===13&&(r.outsidePosition==="above"||r.outsidePosition==="below")?this._topBottomDragScrolling.start(r,a):(this._topBottomDragScrolling.stop(),this._dispatchMouse(r,!0,1)))}start(a,r,u){this._lastMouseEvent=r,this._mouseState.setStartedOnLineNumbers(a===3),this._mouseState.setStartButtons(r),this._mouseState.setModifiers(r);const C=this._findMousePosition(r,!0);if(!C||!C.position)return;this._mouseState.trySetCount(r.detail,C.position),r.detail=this._mouseState.count;const f=this._context.configuration.options;if(!f.get(92)&&f.get(35)&&!f.get(22)&&!this._mouseState.altKey&&r.detail<2&&!this._isActive&&!this._currentSelection.isEmpty()&&C.type===6&&C.position&&this._currentSelection.containsPosition(C.position)){this._mouseState.isDragAndDrop=!0,this._isActive=!0,this._mouseMoveMonitor.startMonitoring(this._viewHelper.viewLinesDomNode,u,r.buttons,h=>this._onMouseDownThenMove(h),h=>{const v=this._findMousePosition(this._lastMouseEvent,!1);d.isKeyboardEvent(h)?this._viewController.emitMouseDropCanceled():this._viewController.emitMouseDrop({event:this._lastMouseEvent,target:v?this._createMouseTarget(this._lastMouseEvent,!0):null}),this._stop()});return}this._mouseState.isDragAndDrop=!1,this._dispatchMouse(C,r.shiftKey,1),this._isActive||(this._isActive=!0,this._mouseMoveMonitor.startMonitoring(this._viewHelper.viewLinesDomNode,u,r.buttons,h=>this._onMouseDownThenMove(h),()=>this._stop()))}_stop(){this._isActive=!1,this._topBottomDragScrolling.stop()}onHeightChanged(){this._mouseMoveMonitor.stopMonitoring()}onPointerUp(){this._mouseMoveMonitor.stopMonitoring()}onCursorStateChanged(a){this._currentSelection=a.selections[0]}_getPositionOutsideEditor(a){const r=a.editorPos,u=this._context.viewModel,C=this._context.viewLayout,f=this._getMouseColumn(a);if(a.posyr.y+r.height){const v=a.posy-r.y-r.height,w=C.getCurrentScrollTop()+a.relativePos.y,S=y.HitTestContext.getZoneAtCoord(this._context,w);if(S){const D=this._helpPositionJumpOverViewZone(S);if(D)return y.MouseTarget.createOutsideEditor(f,D,"below",v)}const L=C.getLineNumberAtVerticalOffset(w);return y.MouseTarget.createOutsideEditor(f,new b.Position(L,u.getLineMaxColumn(L)),"below",v)}const h=C.getLineNumberAtVerticalOffset(C.getCurrentScrollTop()+a.relativePos.y);if(a.posxr.x+r.width){const v=a.posx-r.x-r.width;return y.MouseTarget.createOutsideEditor(f,new b.Position(h,u.getLineMaxColumn(h)),"right",v)}return null}_findMousePosition(a,r){const u=this._getPositionOutsideEditor(a);if(u)return u;const C=this._createMouseTarget(a,r);if(!C.position)return null;if(C.type===8||C.type===5){const h=this._helpPositionJumpOverViewZone(C.detail);if(h)return y.MouseTarget.createViewZone(C.type,C.element,C.mouseColumn,h,C.detail)}return C}_helpPositionJumpOverViewZone(a){const r=new b.Position(this._currentSelection.selectionStartLineNumber,this._currentSelection.selectionStartColumn),u=a.positionBefore,C=a.positionAfter;return u&&C?u.isBefore(r)?u:C:null}_dispatchMouse(a,r,u){a.position&&this._viewController.dispatchMouse({position:a.position,mouseColumn:a.mouseColumn,startedOnLineNumbers:this._mouseState.startedOnLineNumbers,revealType:u,inSelectionMode:r,mouseDownCount:this._mouseState.count,altKey:this._mouseState.altKey,ctrlKey:this._mouseState.ctrlKey,metaKey:this._mouseState.metaKey,shiftKey:this._mouseState.shiftKey,leftButton:this._mouseState.leftButton,middleButton:this._mouseState.middleButton,onInjectedText:a.type===6&&a.detail.injectedText!==null})}}class s extends I.Disposable{constructor(a,r,u,C){super(),this._context=a,this._viewHelper=r,this._mouseTargetFactory=u,this._dispatchMouse=C,this._operation=null}dispose(){super.dispose(),this.stop()}start(a,r){this._operation?this._operation.setPosition(a,r):this._operation=new g(this._context,this._viewHelper,this._mouseTargetFactory,this._dispatchMouse,a,r)}stop(){this._operation&&(this._operation.dispose(),this._operation=null)}}class g extends I.Disposable{constructor(a,r,u,C,f,h){super(),this._context=a,this._viewHelper=r,this._mouseTargetFactory=u,this._dispatchMouse=C,this._position=f,this._mouseEvent=h,this._lastTime=Date.now(),this._animationFrameDisposable=d.scheduleAtNextAnimationFrame(d.getWindow(h.browserEvent),()=>this._execute())}dispose(){this._animationFrameDisposable.dispose(),super.dispose()}setPosition(a,r){this._position=a,this._mouseEvent=r}_tick(){const a=Date.now(),r=a-this._lastTime;return this._lastTime=a,r}_getScrollSpeed(){const a=this._context.configuration.options.get(67),r=this._context.configuration.options.get(146).height/a,u=this._position.outsideDistance/a;return u<=1.5?Math.max(30,r*(1+u)):u<=3?Math.max(60,r*(2+u)):Math.max(200,r*(7+u))}_execute(){const a=this._context.configuration.options.get(67),r=this._getScrollSpeed(),u=this._tick(),C=r*(u/1e3)*a,f=this._position.outsidePosition==="above"?-C:C;this._context.viewModel.viewLayout.deltaScrollNow(0,f),this._viewHelper.renderNow();const h=this._context.viewLayout.getLinesViewportData(),v=this._position.outsidePosition==="above"?h.startLineNumber:h.endLineNumber;let w;{const S=(0,m.createEditorPagePosition)(this._viewHelper.viewDomNode),L=this._context.configuration.options.get(146).horizontalScrollbarHeight,D=new m.PageCoordinates(this._mouseEvent.pos.x,S.y+S.height-L-.1),T=(0,m.createCoordinatesRelativeToEditor)(this._viewHelper.viewDomNode,S,D);w=this._mouseTargetFactory.createMouseTarget(this._viewHelper.getLastRenderData(),S,D,T,null)}(!w.position||w.position.lineNumber!==v)&&(this._position.outsidePosition==="above"?w=y.MouseTarget.createOutsideEditor(this._position.mouseColumn,new b.Position(v,1),"above",this._position.outsideDistance):w=y.MouseTarget.createOutsideEditor(this._position.mouseColumn,new b.Position(v,this._context.viewModel.getLineMaxColumn(v)),"below",this._position.outsideDistance)),this._dispatchMouse(w,!0,2),this._animationFrameDisposable=d.scheduleAtNextAnimationFrame(d.getWindow(w.element),()=>this._execute())}}class c{static{this.CLEAR_MOUSE_DOWN_COUNT_TIME=400}get altKey(){return this._altKey}get ctrlKey(){return this._ctrlKey}get metaKey(){return this._metaKey}get shiftKey(){return this._shiftKey}get leftButton(){return this._leftButton}get middleButton(){return this._middleButton}get startedOnLineNumbers(){return this._startedOnLineNumbers}constructor(){this._altKey=!1,this._ctrlKey=!1,this._metaKey=!1,this._shiftKey=!1,this._leftButton=!1,this._middleButton=!1,this._startedOnLineNumbers=!1,this._lastMouseDownPosition=null,this._lastMouseDownPositionEqualCount=0,this._lastMouseDownCount=0,this._lastSetMouseDownCountTime=0,this.isDragAndDrop=!1}get count(){return this._lastMouseDownCount}setModifiers(a){this._altKey=a.altKey,this._ctrlKey=a.ctrlKey,this._metaKey=a.metaKey,this._shiftKey=a.shiftKey}setStartButtons(a){this._leftButton=a.leftButton,this._middleButton=a.middleButton}setStartedOnLineNumbers(a){this._startedOnLineNumbers=a}trySetCount(a,r){const u=new Date().getTime();u-this._lastSetMouseDownCountTime>c.CLEAR_MOUSE_DOWN_COUNT_TIME&&(a=1),this._lastSetMouseDownCountTime=u,a>this._lastMouseDownCount+1&&(a=this._lastMouseDownCount+1),this._lastMouseDownPosition&&this._lastMouseDownPosition.equals(r)?this._lastMouseDownPositionEqualCount++:this._lastMouseDownPositionEqualCount=1,this._lastMouseDownPosition=r,this._lastMouseDownCount=Math.min(a,this._lastMouseDownPositionEqualCount)}}}),define(ne[769],se([1,0,248,5,69,52,2,16,768,212,185]),function(oe,e,d,k,I,E,y,m,_,b,p){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.PointerHandler=e.PointerEventHandler=void 0;class n extends _.MouseHandler{constructor(s,g,c){super(s,g,c),this._register(I.Gesture.addTarget(this.viewHelper.linesContentDomNode)),this._register(k.addDisposableListener(this.viewHelper.linesContentDomNode,I.EventType.Tap,a=>this.onTap(a))),this._register(k.addDisposableListener(this.viewHelper.linesContentDomNode,I.EventType.Change,a=>this.onChange(a))),this._register(k.addDisposableListener(this.viewHelper.linesContentDomNode,I.EventType.Contextmenu,a=>this._onContextMenu(new p.EditorMouseEvent(a,!1,this.viewHelper.viewDomNode),!1))),this._lastPointerType="mouse",this._register(k.addDisposableListener(this.viewHelper.linesContentDomNode,"pointerdown",a=>{const r=a.pointerType;if(r==="mouse"){this._lastPointerType="mouse";return}else r==="touch"?this._lastPointerType="touch":this._lastPointerType="pen"}));const l=new p.EditorPointerEventFactory(this.viewHelper.viewDomNode);this._register(l.onPointerMove(this.viewHelper.viewDomNode,a=>this._onMouseMove(a))),this._register(l.onPointerUp(this.viewHelper.viewDomNode,a=>this._onMouseUp(a))),this._register(l.onPointerLeave(this.viewHelper.viewDomNode,a=>this._onMouseLeave(a))),this._register(l.onPointerDown(this.viewHelper.viewDomNode,(a,r)=>this._onMouseDown(a,r)))}onTap(s){!s.initialTarget||!this.viewHelper.linesContentDomNode.contains(s.initialTarget)||(s.preventDefault(),this.viewHelper.focusTextArea(),this._dispatchGesture(s,!1))}onChange(s){this._lastPointerType==="touch"&&this._context.viewModel.viewLayout.deltaScrollNow(-s.translationX,-s.translationY),this._lastPointerType==="pen"&&this._dispatchGesture(s,!0)}_dispatchGesture(s,g){const c=this._createMouseTarget(new p.EditorMouseEvent(s,!1,this.viewHelper.viewDomNode),!1);c.position&&this.viewController.dispatchMouse({position:c.position,mouseColumn:c.position.column,startedOnLineNumbers:!1,revealType:1,mouseDownCount:s.tapCount,inSelectionMode:g,altKey:!1,ctrlKey:!1,metaKey:!1,shiftKey:!1,leftButton:!1,middleButton:!1,onInjectedText:c.type===6&&c.detail.injectedText!==null})}_onMouseDown(s,g){s.browserEvent.pointerType!=="touch"&&super._onMouseDown(s,g)}}e.PointerEventHandler=n;class o extends _.MouseHandler{constructor(s,g,c){super(s,g,c),this._register(I.Gesture.addTarget(this.viewHelper.linesContentDomNode)),this._register(k.addDisposableListener(this.viewHelper.linesContentDomNode,I.EventType.Tap,l=>this.onTap(l))),this._register(k.addDisposableListener(this.viewHelper.linesContentDomNode,I.EventType.Change,l=>this.onChange(l))),this._register(k.addDisposableListener(this.viewHelper.linesContentDomNode,I.EventType.Contextmenu,l=>this._onContextMenu(new p.EditorMouseEvent(l,!1,this.viewHelper.viewDomNode),!1)))}onTap(s){s.preventDefault(),this.viewHelper.focusTextArea();const g=this._createMouseTarget(new p.EditorMouseEvent(s,!1,this.viewHelper.viewDomNode),!1);if(g.position){const c=document.createEvent("CustomEvent");c.initEvent(b.TextAreaSyntethicEvents.Tap,!1,!0),this.viewHelper.dispatchTextAreaEvent(c),this.viewController.moveTo(g.position,1)}}onChange(s){this._context.viewModel.viewLayout.deltaScrollNow(-s.translationX,-s.translationY)}}class t extends y.Disposable{constructor(s,g,c){super(),(m.isIOS||m.isAndroid&&m.isMobile)&&d.BrowserFeatures.pointerEvents?this.handler=this._register(new n(s,g,c)):E.mainWindow.TouchEvent?this.handler=this._register(new o(s,g,c)):this.handler=this._register(new _.MouseHandler(s,g,c))}getTargetAtClientPoint(s,g){return this.handler.getTargetAtClientPoint(s,g)}}e.PointerHandler=t}),define(ne[770],se([1,0,226,14,16,74,164,262,56,547,281,9,4,487]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ViewLines=void 0;class t{constructor(){this._currentVisibleRange=new o.Range(1,1,1,1)}getCurrentVisibleRange(){return this._currentVisibleRange}setCurrentVisibleRange(l){this._currentVisibleRange=l}}class i{constructor(l,a,r,u,C,f,h){this.minimalReveal=l,this.lineNumber=a,this.startColumn=r,this.endColumn=u,this.startScrollTop=C,this.stopScrollTop=f,this.scrollType=h,this.type="range",this.minLineNumber=a,this.maxLineNumber=a}}class s{constructor(l,a,r,u,C){this.minimalReveal=l,this.selections=a,this.startScrollTop=r,this.stopScrollTop=u,this.scrollType=C,this.type="selections";let f=a[0].startLineNumber,h=a[0].endLineNumber;for(let v=1,w=a.length;vnew p.ViewLine(this._viewLineOptions)}),this.domNode=this._visibleLines.domNode,_.PartFingerprints.write(this.domNode,8),this.domNode.setClassName(`view-lines ${d.MOUSE_CURSOR_TEXT_CSS_CLASS_NAME}`),(0,E.applyFontInfo)(this.domNode,C),this._maxLineWidth=0,this._asyncUpdateLineWidths=new k.RunOnceScheduler(()=>{this._updateLineWidthsSlow()},200),this._asyncCheckMonospaceFontAssumptions=new k.RunOnceScheduler(()=>{this._checkMonospaceFontAssumptions()},2e3),this._lastRenderedData=new t,this._horizontalRevealRequest=null,this._stickyScrollEnabled=u.get(116).enabled,this._maxNumberStickyLines=u.get(116).maxLineCount}dispose(){this._asyncUpdateLineWidths.dispose(),this._asyncCheckMonospaceFontAssumptions.dispose(),super.dispose()}getDomNode(){return this.domNode}onConfigurationChanged(l){this._visibleLines.onConfigurationChanged(l),l.hasChanged(147)&&(this._maxLineWidth=0);const a=this._context.configuration.options,r=a.get(50),u=a.get(147);return this._lineHeight=a.get(67),this._typicalHalfwidthCharacterWidth=r.typicalHalfwidthCharacterWidth,this._isViewportWrapping=u.isViewportWrapping,this._revealHorizontalRightPadding=a.get(101),this._cursorSurroundingLines=a.get(29),this._cursorSurroundingLinesStyle=a.get(30),this._canUseLayerHinting=!a.get(32),this._stickyScrollEnabled=a.get(116).enabled,this._maxNumberStickyLines=a.get(116).maxLineCount,(0,E.applyFontInfo)(this.domNode,r),this._onOptionsMaybeChanged(),l.hasChanged(146)&&(this._maxLineWidth=0),!0}_onOptionsMaybeChanged(){const l=this._context.configuration,a=new p.ViewLineOptions(l,this._context.theme.type);if(!this._viewLineOptions.equals(a)){this._viewLineOptions=a;const r=this._visibleLines.getStartLineNumber(),u=this._visibleLines.getEndLineNumber();for(let C=r;C<=u;C++)this._visibleLines.getVisibleLine(C).onOptionsChanged(this._viewLineOptions);return!0}return!1}onCursorStateChanged(l){const a=this._visibleLines.getStartLineNumber(),r=this._visibleLines.getEndLineNumber();let u=!1;for(let C=a;C<=r;C++)u=this._visibleLines.getVisibleLine(C).onSelectionChanged()||u;return u}onDecorationsChanged(l){{const a=this._visibleLines.getStartLineNumber(),r=this._visibleLines.getEndLineNumber();for(let u=a;u<=r;u++)this._visibleLines.getVisibleLine(u).onDecorationsChanged()}return!0}onFlushed(l){const a=this._visibleLines.onFlushed(l);return this._maxLineWidth=0,a}onLinesChanged(l){return this._visibleLines.onLinesChanged(l)}onLinesDeleted(l){return this._visibleLines.onLinesDeleted(l)}onLinesInserted(l){return this._visibleLines.onLinesInserted(l)}onRevealRangeRequest(l){const a=this._computeScrollTopToRevealRange(this._context.viewLayout.getFutureViewport(),l.source,l.minimalReveal,l.range,l.selections,l.verticalType);if(a===-1)return!1;let r=this._context.viewLayout.validateScrollPosition({scrollTop:a});l.revealHorizontal?l.range&&l.range.startLineNumber!==l.range.endLineNumber?r={scrollTop:r.scrollTop,scrollLeft:0}:l.range?this._horizontalRevealRequest=new i(l.minimalReveal,l.range.startLineNumber,l.range.startColumn,l.range.endColumn,this._context.viewLayout.getCurrentScrollTop(),r.scrollTop,l.scrollType):l.selections&&l.selections.length>0&&(this._horizontalRevealRequest=new s(l.minimalReveal,l.selections,this._context.viewLayout.getCurrentScrollTop(),r.scrollTop,l.scrollType)):this._horizontalRevealRequest=null;const C=Math.abs(this._context.viewLayout.getCurrentScrollTop()-r.scrollTop)<=this._lineHeight?1:l.scrollType;return this._context.viewModel.viewLayout.setScrollPosition(r,C),!0}onScrollChanged(l){if(this._horizontalRevealRequest&&l.scrollLeftChanged&&(this._horizontalRevealRequest=null),this._horizontalRevealRequest&&l.scrollTopChanged){const a=Math.min(this._horizontalRevealRequest.startScrollTop,this._horizontalRevealRequest.stopScrollTop),r=Math.max(this._horizontalRevealRequest.startScrollTop,this._horizontalRevealRequest.stopScrollTop);(l.scrollTopr)&&(this._horizontalRevealRequest=null)}return this.domNode.setWidth(l.scrollWidth),this._visibleLines.onScrollChanged(l)||!0}onTokensChanged(l){return this._visibleLines.onTokensChanged(l)}onZonesChanged(l){return this._context.viewModel.viewLayout.setMaxLineWidth(this._maxLineWidth),this._visibleLines.onZonesChanged(l)}onThemeChanged(l){return this._onOptionsMaybeChanged()}getPositionFromDOMInfo(l,a){const r=this._getViewLineDomNode(l);if(r===null)return null;const u=this._getLineNumberFor(r);if(u===-1||u<1||u>this._context.viewModel.getLineCount())return null;if(this._context.viewModel.getLineMaxColumn(u)===1)return new n.Position(u,1);const C=this._visibleLines.getStartLineNumber(),f=this._visibleLines.getEndLineNumber();if(uf)return null;let h=this._visibleLines.getVisibleLine(u).getColumnOfNodeOffset(l,a);const v=this._context.viewModel.getLineMinColumn(u);return hr)return-1;const u=new b.DomReadingContext(this.domNode.domNode,this._textRangeRestingSpot),C=this._visibleLines.getVisibleLine(l).getWidth(u);return this._updateLineWidthsSlowIfDomDidLayout(u),C}linesVisibleRangesForRange(l,a){if(this.shouldRender())return null;const r=l.endLineNumber,u=o.Range.intersectRanges(l,this._lastRenderedData.getCurrentVisibleRange());if(!u)return null;const C=[];let f=0;const h=new b.DomReadingContext(this.domNode.domNode,this._textRangeRestingSpot);let v=0;a&&(v=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new n.Position(u.startLineNumber,1)).lineNumber);const w=this._visibleLines.getStartLineNumber(),S=this._visibleLines.getEndLineNumber();for(let L=u.startLineNumber;L<=u.endLineNumber;L++){if(LS)continue;const D=L===u.startLineNumber?u.startColumn:1,T=L!==u.endLineNumber,M=T?this._context.viewModel.getLineMaxColumn(L):u.endColumn,A=this._visibleLines.getVisibleLine(L).getVisibleRangesForRange(L,D,M,h);if(A){if(a&&Lthis._visibleLines.getEndLineNumber())return null;const u=new b.DomReadingContext(this.domNode.domNode,this._textRangeRestingSpot),C=this._visibleLines.getVisibleLine(l).getVisibleRangesForRange(l,a,r,u);return this._updateLineWidthsSlowIfDomDidLayout(u),C}visibleRangeForPosition(l){const a=this._visibleRangesForLineRange(l.lineNumber,l.column,l.column);return a?new y.HorizontalPosition(a.outsideRenderedLine,a.ranges[0].left):null}_updateLineWidthsFast(){return this._updateLineWidths(!0)}_updateLineWidthsSlow(){this._updateLineWidths(!1)}_updateLineWidthsSlowIfDomDidLayout(l){l.didDomLayout&&(this._asyncUpdateLineWidths.isScheduled()||(this._asyncUpdateLineWidths.cancel(),this._updateLineWidthsSlow()))}_updateLineWidths(l){const a=this._visibleLines.getStartLineNumber(),r=this._visibleLines.getEndLineNumber();let u=1,C=!0;for(let f=a;f<=r;f++){const h=this._visibleLines.getVisibleLine(f);if(l&&!h.getWidthIsFast()){C=!1;continue}u=Math.max(u,h.getWidth(null))}return C&&a===1&&r===this._context.viewModel.getLineCount()&&(this._maxLineWidth=0),this._ensureMaxLineWidth(u),C}_checkMonospaceFontAssumptions(){let l=-1,a=-1;const r=this._visibleLines.getStartLineNumber(),u=this._visibleLines.getEndLineNumber();for(let C=r;C<=u;C++){const f=this._visibleLines.getVisibleLine(C);if(f.needsMonospaceFontCheck()){const h=f.getWidth(null);h>a&&(a=h,l=C)}}if(l!==-1&&!this._visibleLines.getVisibleLine(l).monospaceAssumptionsAreValid())for(let C=r;C<=u;C++)this._visibleLines.getVisibleLine(C).onMonospaceAssumptionsInvalidated()}prepareRender(){throw new Error("Not supported")}render(){throw new Error("Not supported")}renderText(l){if(this._visibleLines.renderLines(l),this._lastRenderedData.setCurrentVisibleRange(l.visibleRange),this.domNode.setWidth(this._context.viewLayout.getScrollWidth()),this.domNode.setHeight(Math.min(this._context.viewLayout.getScrollHeight(),1e6)),this._horizontalRevealRequest){const r=this._horizontalRevealRequest;if(l.startLineNumber<=r.minLineNumber&&r.maxLineNumber<=l.endLineNumber){this._horizontalRevealRequest=null,this.onDidRender();const u=this._computeScrollLeftToReveal(r);u&&(this._isViewportWrapping||this._ensureMaxLineWidth(u.maxHorizontalOffset),this._context.viewModel.viewLayout.setScrollPosition({scrollLeft:u.scrollLeft},r.scrollType))}}if(this._updateLineWidthsFast()?this._asyncUpdateLineWidths.cancel():this._asyncUpdateLineWidths.schedule(),I.isLinux&&!this._asyncCheckMonospaceFontAssumptions.isScheduled()){const r=this._visibleLines.getStartLineNumber(),u=this._visibleLines.getEndLineNumber();for(let C=r;C<=u;C++)if(this._visibleLines.getVisibleLine(C).needsMonospaceFontCheck()){this._asyncCheckMonospaceFontAssumptions.schedule();break}}this._linesContent.setLayerHinting(this._canUseLayerHinting),this._linesContent.setContain("strict");const a=this._context.viewLayout.getCurrentScrollTop()-l.bigNumbersDelta;this._linesContent.setTop(-a),this._linesContent.setLeft(-this._context.viewLayout.getCurrentScrollLeft())}_ensureMaxLineWidth(l){const a=Math.ceil(l);this._maxLineWidth0){let N=C[0].startLineNumber,O=C[0].endLineNumber;for(let F=1,x=C.length;Fv){if(!S)return-1;P=L}else if(f===5||f===6)if(f===6&&h<=L&&D<=w)P=h;else{const N=Math.max(5*this._lineHeight,v*.2),O=L-N,F=D-v;P=Math.max(F,O)}else if(f===1||f===2)if(f===2&&h<=L&&D<=w)P=h;else{const N=(L+D)/2;P=Math.max(0,N-v/2)}else P=this._computeMinimumScrolling(h,w,L,D,f===3,f===4);return P}_computeScrollLeftToReveal(l){const a=this._context.viewLayout.getCurrentViewport(),r=this._context.configuration.options.get(146),u=a.left,C=u+a.width-r.verticalScrollbarWidth;let f=1073741824,h=0;if(l.type==="range"){const w=this._visibleRangesForLineRange(l.lineNumber,l.startColumn,l.endColumn);if(!w)return null;for(const S of w.ranges)f=Math.min(f,Math.round(S.left)),h=Math.max(h,Math.round(S.left+S.width))}else for(const w of l.selections){if(w.startLineNumber!==w.endLineNumber)return null;const S=this._visibleRangesForLineRange(w.startLineNumber,w.startColumn,w.endColumn);if(!S)return null;for(const L of S.ranges)f=Math.min(f,Math.round(L.left)),h=Math.max(h,Math.round(L.left+L.width))}return l.minimalReveal||(f=Math.max(0,f-g.HORIZONTAL_EXTRA_PX),h+=this._revealHorizontalRightPadding),l.type==="selections"&&h-f>a.width?null:{scrollLeft:this._computeMinimumScrolling(u,C,f,h),maxHorizontalOffset:h}}_computeMinimumScrolling(l,a,r,u,C,f){l=l|0,a=a|0,r=r|0,u=u|0,C=!!C,f=!!f;const h=a-l;if(u-ra)return Math.max(0,u-h)}else return r;return l}}e.ViewLines=g}),define(ne[25],se([1,0,6,2,7,38,97]),function(oe,e,d,k,I,E,y){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Themable=e.Extensions=e.IThemeService=void 0,e.themeColorFromId=m,e.getThemeTypeSelector=_,e.registerThemingParticipant=n,e.IThemeService=(0,I.createDecorator)("themeService");function m(t){return{id:t}}function _(t){switch(t){case y.ColorScheme.DARK:return"vs-dark";case y.ColorScheme.HIGH_CONTRAST_DARK:return"hc-black";case y.ColorScheme.HIGH_CONTRAST_LIGHT:return"hc-light";default:return"vs"}}e.Extensions={ThemingContribution:"base.contributions.theming"};class b{constructor(){this.themingParticipants=[],this.themingParticipants=[],this.onThemingParticipantAddedEmitter=new d.Emitter}onColorThemeChange(i){return this.themingParticipants.push(i),this.onThemingParticipantAddedEmitter.fire(i),(0,k.toDisposable)(()=>{const s=this.themingParticipants.indexOf(i);this.themingParticipants.splice(s,1)})}getThemingParticipants(){return this.themingParticipants}}const p=new b;E.Registry.add(e.Extensions.ThemingContribution,p);function n(t){return p.onColorThemeChange(t)}class o extends k.Disposable{constructor(i){super(),this.themeService=i,this.theme=i.getColorTheme(),this._register(this.themeService.onDidColorThemeChange(s=>this.onThemeChange(s)))}onThemeChange(i){this.theme=i,this.updateStyles()}updateStyles(){}}e.Themable=o}),define(ne[771],se([1,0,6,2,73,25]),function(oe,e,d,k,I,E){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.GlobalStyleSheet=e.AbstractCodeEditorService=void 0;let y=class extends k.Disposable{constructor(b){super(),this._themeService=b,this._onWillCreateCodeEditor=this._register(new d.Emitter),this._onCodeEditorAdd=this._register(new d.Emitter),this.onCodeEditorAdd=this._onCodeEditorAdd.event,this._onCodeEditorRemove=this._register(new d.Emitter),this.onCodeEditorRemove=this._onCodeEditorRemove.event,this._onWillCreateDiffEditor=this._register(new d.Emitter),this._onDiffEditorAdd=this._register(new d.Emitter),this.onDiffEditorAdd=this._onDiffEditorAdd.event,this._onDiffEditorRemove=this._register(new d.Emitter),this.onDiffEditorRemove=this._onDiffEditorRemove.event,this._decorationOptionProviders=new Map,this._codeEditorOpenHandlers=new I.LinkedList,this._modelProperties=new Map,this._codeEditors=Object.create(null),this._diffEditors=Object.create(null),this._globalStyleSheet=null}willCreateCodeEditor(){this._onWillCreateCodeEditor.fire()}addCodeEditor(b){this._codeEditors[b.getId()]=b,this._onCodeEditorAdd.fire(b)}removeCodeEditor(b){delete this._codeEditors[b.getId()]&&this._onCodeEditorRemove.fire(b)}listCodeEditors(){return Object.keys(this._codeEditors).map(b=>this._codeEditors[b])}willCreateDiffEditor(){this._onWillCreateDiffEditor.fire()}addDiffEditor(b){this._diffEditors[b.getId()]=b,this._onDiffEditorAdd.fire(b)}listDiffEditors(){return Object.keys(this._diffEditors).map(b=>this._diffEditors[b])}getFocusedCodeEditor(){let b=null;const p=this.listCodeEditors();for(const n of p){if(n.hasTextFocus())return n;n.hasWidgetFocus()&&(b=n)}return b}removeDecorationType(b){const p=this._decorationOptionProviders.get(b);p&&(p.refCount--,p.refCount<=0&&(this._decorationOptionProviders.delete(b),p.dispose(),this.listCodeEditors().forEach(n=>n.removeDecorationsByType(b))))}setModelProperty(b,p,n){const o=b.toString();let t;this._modelProperties.has(o)?t=this._modelProperties.get(o):(t=new Map,this._modelProperties.set(o,t)),t.set(p,n)}getModelProperty(b,p){const n=b.toString();if(this._modelProperties.has(n))return this._modelProperties.get(n).get(p)}async openCodeEditor(b,p,n){for(const o of this._codeEditorOpenHandlers){const t=await o(b,p,n);if(t!==null)return t}return null}registerCodeEditorOpenHandler(b){const p=this._codeEditorOpenHandlers.unshift(b);return(0,k.toDisposable)(p)}};e.AbstractCodeEditorService=y,e.AbstractCodeEditorService=y=ke([ce(0,E.IThemeService)],y);class m{constructor(b){this._styleSheet=b}}e.GlobalStyleSheet=m}),define(ne[772],se([1,0,49,25,32,118,58,7,705,2,5,31,47,61,119,52,395,648,14]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.HoverService=void 0;let a=class extends b.Disposable{constructor(h,v,w,S,L){super(),this._instantiationService=h,this._keybindingService=w,this._layoutService=S,this._accessibilityService=L,this._managedHovers=new Map,v.onDidShowContextMenu(()=>this.hideHover()),this._contextViewHandler=this._register(new g.ContextViewHandler(this._layoutService))}showHover(h,v,w){if(r(this._currentHoverOptions)===r(h)||this._currentHover&&this._currentHoverOptions?.persistence?.sticky)return;this._currentHoverOptions=h,this._lastHoverOptions=h;const S=h.trapFocus||this._accessibilityService.isScreenReaderOptimized(),L=(0,p.getActiveElement)();w||(S&&L?L.classList.contains("monaco-hover")||(this._lastFocusedElementBeforeOpen=L):this._lastFocusedElementBeforeOpen=void 0);const D=new b.DisposableStore,T=this._instantiationService.createInstance(_.HoverWidget,h);if(h.persistence?.sticky&&(T.isLocked=!0),T.onDispose(()=>{this._currentHover?.domNode&&(0,p.isAncestorOfActiveElement)(this._currentHover.domNode)&&this._lastFocusedElementBeforeOpen?.focus(),this._currentHoverOptions===h&&(this._currentHoverOptions=void 0),D.dispose()},void 0,D),!h.container){const M=(0,p.isHTMLElement)(h.target)?h.target:h.target.targetElements[0];h.container=this._layoutService.getContainer((0,p.getWindow)(M))}if(this._contextViewHandler.showContextView(new u(T,v),h.container),T.onRequestLayout(()=>this._contextViewHandler.layout(),void 0,D),h.persistence?.sticky)D.add((0,p.addDisposableListener)((0,p.getWindow)(h.container).document,p.EventType.MOUSE_DOWN,M=>{(0,p.isAncestor)(M.target,T.domNode)||this.doHideHover()}));else{if("targetElements"in h.target)for(const A of h.target.targetElements)D.add((0,p.addDisposableListener)(A,p.EventType.CLICK,()=>this.hideHover()));else D.add((0,p.addDisposableListener)(h.target,p.EventType.CLICK,()=>this.hideHover()));const M=(0,p.getActiveElement)();if(M){const A=(0,p.getWindow)(M).document;D.add((0,p.addDisposableListener)(M,p.EventType.KEY_DOWN,P=>this._keyDown(P,T,!!h.persistence?.hideOnKeyDown))),D.add((0,p.addDisposableListener)(A,p.EventType.KEY_DOWN,P=>this._keyDown(P,T,!!h.persistence?.hideOnKeyDown))),D.add((0,p.addDisposableListener)(M,p.EventType.KEY_UP,P=>this._keyUp(P,T))),D.add((0,p.addDisposableListener)(A,p.EventType.KEY_UP,P=>this._keyUp(P,T)))}}if("IntersectionObserver"in s.mainWindow){const M=new IntersectionObserver(P=>this._intersectionChange(P,T),{threshold:0}),A="targetElements"in h.target?h.target.targetElements[0]:h.target;M.observe(A),D.add((0,b.toDisposable)(()=>M.disconnect()))}return this._currentHover=T,T}hideHover(){this._currentHover?.isLocked||!this._currentHoverOptions||this.doHideHover()}doHideHover(){this._currentHover=void 0,this._currentHoverOptions=void 0,this._contextViewHandler.hideContextView()}_intersectionChange(h,v){h[h.length-1].isIntersecting||v.dispose()}showAndFocusLastHover(){this._lastHoverOptions&&this.showHover(this._lastHoverOptions,!0,!0)}_keyDown(h,v,w){if(h.key==="Alt"){v.isLocked=!0;return}const S=new o.StandardKeyboardEvent(h);this._keybindingService.resolveKeyboardEvent(S).getSingleModifierDispatchChords().some(D=>!!D)||this._keybindingService.softDispatch(S,S.target).kind!==0||w&&(!this._currentHoverOptions?.trapFocus||h.key!=="Tab")&&(this.hideHover(),this._lastFocusedElementBeforeOpen?.focus())}_keyUp(h,v){h.key==="Alt"&&(v.isLocked=!1,v.isMouseIn||(this.hideHover(),this._lastFocusedElementBeforeOpen?.focus()))}setupManagedHover(h,v,w,S){v.setAttribute("custom-hover","true"),v.title!==""&&(console.warn("HTML element already has a title attribute, which will conflict with the custom hover. Please remove the title attribute."),console.trace("Stack trace:",v.title),v.title="");let L,D;const T=(z,U)=>{const j=D!==void 0;z&&(D?.dispose(),D=void 0),U&&(L?.dispose(),L=void 0),j&&(h.onDidHideHover?.(),D=void 0)},M=(z,U,j,Q)=>new l.TimeoutTimer(async()=>{(!D||D.isDisposed)&&(D=new c.ManagedHoverWidget(h,j||v,z>0),await D.update(typeof w=="function"?w():w,U,{...S,trapFocus:Q}))},z);let A=!1;const P=(0,p.addDisposableListener)(v,p.EventType.MOUSE_DOWN,()=>{A=!0,T(!0,!0)},!0),N=(0,p.addDisposableListener)(v,p.EventType.MOUSE_UP,()=>{A=!1},!0),O=(0,p.addDisposableListener)(v,p.EventType.MOUSE_LEAVE,z=>{A=!1,T(!1,z.fromElement===v)},!0),F=z=>{if(L)return;const U=new b.DisposableStore,j={targetElements:[v],dispose:()=>{}};if(h.placement===void 0||h.placement==="mouse"){const Q=G=>{j.x=G.x+10,(0,p.isHTMLElement)(G.target)&&C(G.target,v)!==v&&T(!0,!0)};U.add((0,p.addDisposableListener)(v,p.EventType.MOUSE_MOVE,Q,!0))}L=U,!((0,p.isHTMLElement)(z.target)&&C(z.target,v)!==v)&&U.add(M(h.delay,!1,j))},x=(0,p.addDisposableListener)(v,p.EventType.MOUSE_OVER,F,!0),W=()=>{if(A||L)return;const z={targetElements:[v],dispose:()=>{}},U=new b.DisposableStore,j=()=>T(!0,!0);U.add((0,p.addDisposableListener)(v,p.EventType.BLUR,j,!0)),U.add(M(h.delay,!1,z)),L=U};let V;const q=v.tagName.toLowerCase();q!=="input"&&q!=="textarea"&&(V=(0,p.addDisposableListener)(v,p.EventType.FOCUS,W,!0));const H={show:z=>{T(!1,!0),M(0,z,void 0,z)},hide:()=>{T(!0,!0)},update:async(z,U)=>{w=z,await D?.update(w,void 0,U)},dispose:()=>{this._managedHovers.delete(v),x.dispose(),O.dispose(),P.dispose(),N.dispose(),V?.dispose(),T(!0,!0)}};return this._managedHovers.set(v,H),H}showManagedHover(h){const v=this._managedHovers.get(h);v&&v.show(!0)}dispose(){this._managedHovers.forEach(h=>h.dispose()),super.dispose()}};e.HoverService=a,e.HoverService=a=ke([ce(0,m.IInstantiationService),ce(1,y.IContextMenuService),ce(2,n.IKeybindingService),ce(3,i.ILayoutService),ce(4,t.IAccessibilityService)],a);function r(f){if(f!==void 0)return f?.id??f}class u{get anchorPosition(){return this._hover.anchor}constructor(h,v=!1){this._hover=h,this._focus=v,this.layer=1}render(h){return this._hover.render(h),this._focus&&this._hover.focus(),this._hover}getAnchor(){return{x:this._hover.x,y:this._hover.y}}layout(){this._hover.layout()}}function C(f,h){for(h=h??(0,p.getWindow)(f).document.body;!f.hasAttribute("custom-hover")&&f!==h;)f=f.parentElement;return f}(0,d.registerSingleton)(E.IHoverService,a,1),(0,k.registerThemingParticipant)((f,h)=>{const v=f.getColor(I.editorHoverBorder);v&&(h.addRule(`.monaco-workbench .workbench-hover .hover-row:not(:first-child):not(:empty) { border-top: 1px solid ${v.transparent(.5)}; }`),h.addRule(`.monaco-workbench .workbench-hover hr { border-top: 1px solid ${v.transparent(.5)}; }`))})}),define(ne[773],se([1,0,5,39,86,56,25]),function(oe,e,d,k,I,E,y){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.EditorScrollbar=void 0;class m extends E.ViewPart{constructor(b,p,n,o){super(b);const t=this._context.configuration.options,i=t.get(104),s=t.get(75),g=t.get(40),c=t.get(107),l={listenOnDomNode:n.domNode,className:"editor-scrollable "+(0,y.getThemeTypeSelector)(b.theme.type),useShadows:!1,lazyRender:!0,vertical:i.vertical,horizontal:i.horizontal,verticalHasArrows:i.verticalHasArrows,horizontalHasArrows:i.horizontalHasArrows,verticalScrollbarSize:i.verticalScrollbarSize,verticalSliderSize:i.verticalSliderSize,horizontalScrollbarSize:i.horizontalScrollbarSize,horizontalSliderSize:i.horizontalSliderSize,handleMouseWheel:i.handleMouseWheel,alwaysConsumeMouseWheel:i.alwaysConsumeMouseWheel,arrowSize:i.arrowSize,mouseWheelScrollSensitivity:s,fastScrollSensitivity:g,scrollPredominantAxis:c,scrollByPage:i.scrollByPage};this.scrollbar=this._register(new I.SmoothScrollableElement(p.domNode,l,this._context.viewLayout.getScrollable())),E.PartFingerprints.write(this.scrollbar.getDomNode(),6),this.scrollbarDomNode=(0,k.createFastDomNode)(this.scrollbar.getDomNode()),this.scrollbarDomNode.setPosition("absolute"),this._setLayout();const a=(r,u,C)=>{const f={};if(u){const h=r.scrollTop;h&&(f.scrollTop=this._context.viewLayout.getCurrentScrollTop()+h,r.scrollTop=0)}if(C){const h=r.scrollLeft;h&&(f.scrollLeft=this._context.viewLayout.getCurrentScrollLeft()+h,r.scrollLeft=0)}this._context.viewModel.viewLayout.setScrollPosition(f,1)};this._register(d.addDisposableListener(n.domNode,"scroll",r=>a(n.domNode,!0,!0))),this._register(d.addDisposableListener(p.domNode,"scroll",r=>a(p.domNode,!0,!1))),this._register(d.addDisposableListener(o.domNode,"scroll",r=>a(o.domNode,!0,!1))),this._register(d.addDisposableListener(this.scrollbarDomNode.domNode,"scroll",r=>a(this.scrollbarDomNode.domNode,!0,!1)))}dispose(){super.dispose()}_setLayout(){const b=this._context.configuration.options,p=b.get(146);this.scrollbarDomNode.setLeft(p.contentLeft),b.get(73).side==="right"?this.scrollbarDomNode.setWidth(p.contentWidth+p.minimap.minimapWidth):this.scrollbarDomNode.setWidth(p.contentWidth),this.scrollbarDomNode.setHeight(p.height)}getOverviewRulerLayoutInfo(){return this.scrollbar.getOverviewRulerLayoutInfo()}getDomNode(){return this.scrollbarDomNode}delegateVerticalScrollbarPointerDown(b){this.scrollbar.delegateVerticalScrollbarPointerDown(b)}delegateScrollFromMouseWheelEvent(b){this.scrollbar.delegateScrollFromMouseWheelEvent(b)}onConfigurationChanged(b){if(b.hasChanged(104)||b.hasChanged(75)||b.hasChanged(40)){const p=this._context.configuration.options,n=p.get(104),o=p.get(75),t=p.get(40),i=p.get(107),s={vertical:n.vertical,horizontal:n.horizontal,verticalScrollbarSize:n.verticalScrollbarSize,horizontalScrollbarSize:n.horizontalScrollbarSize,scrollByPage:n.scrollByPage,handleMouseWheel:n.handleMouseWheel,mouseWheelScrollSensitivity:o,fastScrollSensitivity:t,scrollPredominantAxis:i};this.scrollbar.updateOptions(s)}return b.hasChanged(146)&&this._setLayout(),!0}onScrollChanged(b){return!0}onThemeChanged(b){return this.scrollbar.updateClassName("editor-scrollable "+(0,y.getThemeTypeSelector)(this._context.theme.type)),!0}prepareRender(b){}render(b){this.scrollbar.renderNow()}}e.EditorScrollbar=m}),define(ne[774],se([1,0,133,32,25,495]),function(oe,e,d,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SelectionsOverlay=void 0;class E{constructor(o){this.left=o.left,this.width=o.width,this.startStyle=null,this.endStyle=null}}class y{constructor(o,t){this.lineNumber=o,this.ranges=t}}function m(n){return new E(n)}function _(n){return new y(n.lineNumber,n.ranges.map(m))}class b extends d.DynamicViewOverlay{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(o){super(),this._previousFrameVisibleRangesWithStyle=[],this._context=o;const 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(o){const t=this._context.configuration.options;return this._roundedSelection=t.get(102),this._typicalHalfwidthCharacterWidth=t.get(50).typicalHalfwidthCharacterWidth,!0}onCursorStateChanged(o){return this._selections=o.selections.slice(0),!0}onDecorationsChanged(o){return!0}onFlushed(o){return!0}onLinesChanged(o){return!0}onLinesDeleted(o){return!0}onLinesInserted(o){return!0}onScrollChanged(o){return o.scrollTopChanged}onZonesChanged(o){return!0}_visibleRangesHaveGaps(o){for(let t=0,i=o.length;t1)return!0;return!1}_enrichVisibleRangesWithStyle(o,t,i){const s=this._typicalHalfwidthCharacterWidth/4;let g=null,c=null;if(i&&i.length>0&&t.length>0){const l=t[0].lineNumber;if(l===o.startLineNumber)for(let r=0;!g&&r=0;r--)i[r].lineNumber===a&&(c=i[r].ranges[0]);g&&!g.startStyle&&(g=null),c&&!c.startStyle&&(c=null)}for(let l=0,a=t.length;l0){const v=t[l-1].ranges[0].left,w=t[l-1].ranges[0].left+t[l-1].ranges[0].width;p(u-v)v&&(f.top=1),p(C-w)'}_actualRenderOneSelection(o,t,i,s){if(s.length===0)return;const g=!!s[0].ranges[0].startStyle,c=s[0].lineNumber,l=s[s.length-1].lineNumber;for(let a=0,r=s.length;a1,r)}this._previousFrameVisibleRangesWithStyle=g,this._renderResult=t.map(([c,l])=>c+l)}render(o,t){if(!this._renderResult)return"";const i=t-o;return i<0||i>=this._renderResult.length?"":this._renderResult[i]}}e.SelectionsOverlay=b,(0,I.registerThemingParticipant)((n,o)=>{const t=n.getColor(k.editorSelectionForeground);t&&!t.isTransparent()&&o.addRule(`.monaco-editor .view-line span.inline-selected-text { color: ${t}; }`)});function p(n){return n<0?-n:n}}),define(ne[415],se([1,0,5,39,223,2,21,88,9,332,32,25]),function(oe,e,d,k,I,E,y,m,_,b,p,n){"use strict";var o;Object.defineProperty(e,"__esModule",{value:!0}),e.OverviewRulerFeature=void 0;let t=class extends E.Disposable{static{o=this}static{this.ONE_OVERVIEW_WIDTH=15}static{this.ENTIRE_DIFF_OVERVIEW_WIDTH=this.ONE_OVERVIEW_WIDTH*2}constructor(s,g,c,l,a,r,u){super(),this._editors=s,this._rootElement=g,this._diffModel=c,this._rootWidth=l,this._rootHeight=a,this._modifiedEditorLayoutInfo=r,this._themeService=u,this.width=o.ENTIRE_DIFF_OVERVIEW_WIDTH;const C=(0,y.observableFromEvent)(this._themeService.onDidColorThemeChange,()=>this._themeService.getColorTheme()),f=(0,y.derived)(w=>{const S=C.read(w),L=S.getColor(p.diffOverviewRulerInserted)||(S.getColor(p.diffInserted)||p.defaultInsertColor).transparent(2),D=S.getColor(p.diffOverviewRulerRemoved)||(S.getColor(p.diffRemoved)||p.defaultRemoveColor).transparent(2);return{insertColor:L,removeColor:D}}),h=(0,k.createFastDomNode)(document.createElement("div"));h.setClassName("diffViewport"),h.setPosition("absolute");const v=(0,d.h)("div.diffOverview",{style:{position:"absolute",top:"0px",width:o.ENTIRE_DIFF_OVERVIEW_WIDTH+"px"}}).root;this._register((0,m.appendRemoveOnDispose)(v,h.domNode)),this._register((0,d.addStandardDisposableListener)(v,d.EventType.POINTER_DOWN,w=>{this._editors.modified.delegateVerticalScrollbarPointerDown(w)})),this._register((0,d.addDisposableListener)(v,d.EventType.MOUSE_WHEEL,w=>{this._editors.modified.delegateScrollFromMouseWheelEvent(w)},{passive:!1})),this._register((0,m.appendRemoveOnDispose)(this._rootElement,v)),this._register((0,y.autorunWithStore)((w,S)=>{const L=this._diffModel.read(w),D=this._editors.original.createOverviewRuler("original diffOverviewRuler");D&&(S.add(D),S.add((0,m.appendRemoveOnDispose)(v,D.getDomNode())));const T=this._editors.modified.createOverviewRuler("modified diffOverviewRuler");if(T&&(S.add(T),S.add((0,m.appendRemoveOnDispose)(v,T.getDomNode()))),!D||!T)return;const M=(0,y.observableSignalFromEvent)("viewZoneChanged",this._editors.original.onDidChangeViewZones),A=(0,y.observableSignalFromEvent)("viewZoneChanged",this._editors.modified.onDidChangeViewZones),P=(0,y.observableSignalFromEvent)("hiddenRangesChanged",this._editors.original.onDidChangeHiddenAreas),N=(0,y.observableSignalFromEvent)("hiddenRangesChanged",this._editors.modified.onDidChangeHiddenAreas);S.add((0,y.autorun)(O=>{M.read(O),A.read(O),P.read(O),N.read(O);const F=f.read(O),x=L?.diff.read(O)?.mappings;function W(H,z,U){const j=U._getViewModel();return j?H.filter(Q=>Q.length>0).map(Q=>{const G=j.coordinatesConverter.convertModelPositionToViewPosition(new _.Position(Q.startLineNumber,1)),K=j.coordinatesConverter.convertModelPositionToViewPosition(new _.Position(Q.endLineNumberExclusive,1)),R=K.lineNumber-G.lineNumber;return new b.OverviewRulerZone(G.lineNumber,K.lineNumber,R,z.toString())}):[]}const V=W((x||[]).map(H=>H.lineRangeMapping.original),F.removeColor,this._editors.original),q=W((x||[]).map(H=>H.lineRangeMapping.modified),F.insertColor,this._editors.modified);D?.setZones(V),T?.setZones(q)})),S.add((0,y.autorun)(O=>{const F=this._rootHeight.read(O),x=this._rootWidth.read(O),W=this._modifiedEditorLayoutInfo.read(O);if(W){const V=o.ENTIRE_DIFF_OVERVIEW_WIDTH-2*o.ONE_OVERVIEW_WIDTH;D.setLayout({top:0,height:F,right:V+o.ONE_OVERVIEW_WIDTH,width:o.ONE_OVERVIEW_WIDTH}),T.setLayout({top:0,height:F,right:0,width:o.ONE_OVERVIEW_WIDTH});const q=this._editors.modifiedScrollTop.read(O),H=this._editors.modifiedScrollHeight.read(O),z=this._editors.modified.getOption(104),U=new I.ScrollbarState(z.verticalHasArrows?z.arrowSize:0,z.verticalScrollbarSize,0,W.height,H,q);h.setTop(U.getSliderPosition()),h.setHeight(U.getSliderSize())}else h.setTop(0),h.setHeight(0);v.style.height=F+"px",v.style.left=x-o.ENTIRE_DIFF_OVERVIEW_WIDTH+"px",h.setWidth(o.ENTIRE_DIFF_OVERVIEW_WIDTH)}))}))}};e.OverviewRulerFeature=t,e.OverviewRulerFeature=t=o=ke([ce(6,n.IThemeService)],t)}),define(ne[775],se([1,0,6,2,21,112,415,37,9,3,7,31]),function(oe,e,d,k,I,E,y,m,_,b,p,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DiffEditorEditors=void 0;let o=class extends k.Disposable{get onDidContentSizeChange(){return this._onDidContentSizeChange.event}constructor(i,s,g,c,l,a,r){super(),this.originalEditorElement=i,this.modifiedEditorElement=s,this._options=g,this._argCodeEditorWidgetOptions=c,this._createInnerEditor=l,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 d.Emitter),this.modifiedScrollTop=(0,I.observableFromEvent)(this,this.modified.onDidScrollChange,()=>this.modified.getScrollTop()),this.modifiedScrollHeight=(0,I.observableFromEvent)(this,this.modified.onDidScrollChange,()=>this.modified.getScrollHeight()),this.modifiedObs=(0,E.observableCodeEditor)(this.modified),this.originalObs=(0,E.observableCodeEditor)(this.original),this.modifiedModel=this.modifiedObs.model,this.modifiedSelections=(0,I.observableFromEvent)(this,this.modified.onDidChangeCursorSelection,()=>this.modified.getSelections()??[]),this.modifiedCursor=(0,I.derivedOpts)({owner:this,equalsFn:_.Position.equals},u=>this.modifiedSelections.read(u)[0]?.getPosition()??new _.Position(1,1)),this.originalCursor=(0,I.observableFromEvent)(this,this.original.onDidChangeCursorPosition,()=>this.original.getPosition()??new _.Position(1,1)),this._argCodeEditorWidgetOptions=null,this._register((0,I.autorunHandleChanges)({createEmptyChangeSummary:()=>({}),handleChange:(u,C)=>(u.didChange(g.editorOptions)&&Object.assign(C,u.change.changedOptions),!0)},(u,C)=>{g.editorOptions.read(u),this._options.renderSideBySide.read(u),this.modified.updateOptions(this._adjustOptionsForRightHandSide(u,C)),this.original.updateOptions(this._adjustOptionsForLeftHandSide(u,C))}))}_createLeftHandSideEditor(i,s){const g=this._adjustOptionsForLeftHandSide(void 0,i),c=this._constructInnerEditor(this._instantiationService,this.originalEditorElement,g,s);return c.setContextValue("isInDiffLeftEditor",!0),c}_createRightHandSideEditor(i,s){const g=this._adjustOptionsForRightHandSide(void 0,i),c=this._constructInnerEditor(this._instantiationService,this.modifiedEditorElement,g,s);return c.setContextValue("isInDiffRightEditor",!0),c}_constructInnerEditor(i,s,g,c){const l=this._createInnerEditor(i,s,g,c);return this._register(l.onDidContentSizeChange(a=>{const r=this.original.getContentWidth()+this.modified.getContentWidth()+y.OverviewRulerFeature.ENTIRE_DIFF_OVERVIEW_WIDTH,u=Math.max(this.modified.getContentHeight(),this.original.getContentHeight());this._onDidContentSizeChange.fire({contentHeight:u,contentWidth:r,contentHeightChanged:a.contentHeightChanged,contentWidthChanged:a.contentWidthChanged})})),l}_adjustOptionsForLeftHandSide(i,s){const g=this._adjustOptionsForSubEditor(s);return this._options.renderSideBySide.get()?(g.unicodeHighlight=this._options.editorOptions.get().unicodeHighlight||{},g.wordWrapOverride1=this._options.diffWordWrap.get()):(g.wordWrapOverride1="off",g.wordWrapOverride2="off",g.stickyScroll={enabled:!1},g.unicodeHighlight={nonBasicASCII:!1,ambiguousCharacters:!1,invisibleCharacters:!1}),g.glyphMargin=this._options.renderSideBySide.get(),s.originalAriaLabel&&(g.ariaLabel=s.originalAriaLabel),g.ariaLabel=this._updateAriaLabel(g.ariaLabel),g.readOnly=!this._options.originalEditable.get(),g.dropIntoEditor={enabled:!g.readOnly},g.extraEditorClassName="original-in-monaco-diff-editor",g}_adjustOptionsForRightHandSide(i,s){const g=this._adjustOptionsForSubEditor(s);return s.modifiedAriaLabel&&(g.ariaLabel=s.modifiedAriaLabel),g.ariaLabel=this._updateAriaLabel(g.ariaLabel),g.wordWrapOverride1=this._options.diffWordWrap.get(),g.revealHorizontalRightPadding=m.EditorOptions.revealHorizontalRightPadding.defaultValue+y.OverviewRulerFeature.ENTIRE_DIFF_OVERVIEW_WIDTH,g.scrollbar.verticalHasArrows=!1,g.extraEditorClassName="modified-in-monaco-diff-editor",g}_adjustOptionsForSubEditor(i){const s={...i,dimension:{height:0,width:0}};return s.inDiffEditor=!0,s.automaticLayout=!1,s.scrollbar={...s.scrollbar||{}},s.folding=!1,s.codeLens=this._options.diffCodeLens.get(),s.fixedOverflowWidgets=!0,s.minimap={...s.minimap||{}},s.minimap.enabled=!1,this._options.hideUnchangedRegions.get()?s.stickyScroll={enabled:!1}:s.stickyScroll=this._options.editorOptions.get().stickyScroll,s}_updateAriaLabel(i){i||(i="");const s=(0,b.localize)(98," use {0} to open the accessibility help.",this._keybindingService.lookupKeybinding("editor.action.accessibilityHelp")?.getAriaLabel());return this._options.accessibilityVerbose.get()?i+s:i?i.replaceAll(s,""):""}};e.DiffEditorEditors=o,e.DiffEditorEditors=o=ke([ce(5,p.IInstantiationService),ce(6,n.IKeybindingService)],o)}),define(ne[80],se([1,0,3,33,32,25]),function(oe,e,d,k,I,E){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.editorUnicodeHighlightBackground=e.editorUnicodeHighlightBorder=e.editorBracketPairGuideActiveBackground6=e.editorBracketPairGuideActiveBackground5=e.editorBracketPairGuideActiveBackground4=e.editorBracketPairGuideActiveBackground3=e.editorBracketPairGuideActiveBackground2=e.editorBracketPairGuideActiveBackground1=e.editorBracketPairGuideBackground6=e.editorBracketPairGuideBackground5=e.editorBracketPairGuideBackground4=e.editorBracketPairGuideBackground3=e.editorBracketPairGuideBackground2=e.editorBracketPairGuideBackground1=e.editorBracketHighlightingUnexpectedBracketForeground=e.editorBracketHighlightingForeground6=e.editorBracketHighlightingForeground5=e.editorBracketHighlightingForeground4=e.editorBracketHighlightingForeground3=e.editorBracketHighlightingForeground2=e.editorBracketHighlightingForeground1=e.overviewRulerInfo=e.overviewRulerWarning=e.overviewRulerError=e.overviewRulerRangeHighlight=e.ghostTextBackground=e.ghostTextForeground=e.ghostTextBorder=e.editorUnnecessaryCodeOpacity=e.editorUnnecessaryCodeBorder=e.editorGutter=e.editorOverviewRulerBackground=e.editorOverviewRulerBorder=e.editorBracketMatchBorder=e.editorBracketMatchBackground=e.editorCodeLensForeground=e.editorRuler=e.editorDimmedLineNumber=e.editorActiveLineNumber=e.editorActiveIndentGuide6=e.editorActiveIndentGuide5=e.editorActiveIndentGuide4=e.editorActiveIndentGuide3=e.editorActiveIndentGuide2=e.editorActiveIndentGuide1=e.editorIndentGuide6=e.editorIndentGuide5=e.editorIndentGuide4=e.editorIndentGuide3=e.editorIndentGuide2=e.editorIndentGuide1=e.deprecatedEditorActiveIndentGuides=e.deprecatedEditorIndentGuides=e.editorLineNumbers=e.editorWhitespaces=e.editorMultiCursorSecondaryBackground=e.editorMultiCursorSecondaryForeground=e.editorMultiCursorPrimaryBackground=e.editorMultiCursorPrimaryForeground=e.editorCursorBackground=e.editorCursorForeground=e.editorSymbolHighlightBorder=e.editorSymbolHighlight=e.editorRangeHighlightBorder=e.editorRangeHighlight=e.editorLineHighlightBorder=e.editorLineHighlight=void 0,e.editorLineHighlight=(0,I.registerColor)("editor.lineHighlightBackground",null,d.localize(551,"Background color for the highlight of line at the cursor position.")),e.editorLineHighlightBorder=(0,I.registerColor)("editor.lineHighlightBorder",{dark:"#282828",light:"#eeeeee",hcDark:"#f38518",hcLight:I.contrastBorder},d.localize(552,"Background color for the border around the line at the cursor position.")),e.editorRangeHighlight=(0,I.registerColor)("editor.rangeHighlightBackground",{dark:"#ffffff0b",light:"#fdff0033",hcDark:null,hcLight:null},d.localize(553,"Background color of highlighted ranges, like by quick open and find features. The color must not be opaque so as not to hide underlying decorations."),!0),e.editorRangeHighlightBorder=(0,I.registerColor)("editor.rangeHighlightBorder",{dark:null,light:null,hcDark:I.activeContrastBorder,hcLight:I.activeContrastBorder},d.localize(554,"Background color of the border around highlighted ranges.")),e.editorSymbolHighlight=(0,I.registerColor)("editor.symbolHighlightBackground",{dark:I.editorFindMatchHighlight,light:I.editorFindMatchHighlight,hcDark:null,hcLight:null},d.localize(555,"Background color of highlighted symbol, like for go to definition or go next/previous symbol. The color must not be opaque so as not to hide underlying decorations."),!0),e.editorSymbolHighlightBorder=(0,I.registerColor)("editor.symbolHighlightBorder",{dark:null,light:null,hcDark:I.activeContrastBorder,hcLight:I.activeContrastBorder},d.localize(556,"Background color of the border around highlighted symbols.")),e.editorCursorForeground=(0,I.registerColor)("editorCursor.foreground",{dark:"#AEAFAD",light:k.Color.black,hcDark:k.Color.white,hcLight:"#0F4A85"},d.localize(557,"Color of the editor cursor.")),e.editorCursorBackground=(0,I.registerColor)("editorCursor.background",null,d.localize(558,"The background color of the editor cursor. Allows customizing the color of a character overlapped by a block cursor.")),e.editorMultiCursorPrimaryForeground=(0,I.registerColor)("editorMultiCursor.primary.foreground",e.editorCursorForeground,d.localize(559,"Color of the primary editor cursor when multiple cursors are present.")),e.editorMultiCursorPrimaryBackground=(0,I.registerColor)("editorMultiCursor.primary.background",e.editorCursorBackground,d.localize(560,"The background color of the primary editor cursor when multiple cursors are present. Allows customizing the color of a character overlapped by a block cursor.")),e.editorMultiCursorSecondaryForeground=(0,I.registerColor)("editorMultiCursor.secondary.foreground",e.editorCursorForeground,d.localize(561,"Color of secondary editor cursors when multiple cursors are present.")),e.editorMultiCursorSecondaryBackground=(0,I.registerColor)("editorMultiCursor.secondary.background",e.editorCursorBackground,d.localize(562,"The background color of secondary editor cursors when multiple cursors are present. Allows customizing the color of a character overlapped by a block cursor.")),e.editorWhitespaces=(0,I.registerColor)("editorWhitespace.foreground",{dark:"#e3e4e229",light:"#33333333",hcDark:"#e3e4e229",hcLight:"#CCCCCC"},d.localize(563,"Color of whitespace characters in the editor.")),e.editorLineNumbers=(0,I.registerColor)("editorLineNumber.foreground",{dark:"#858585",light:"#237893",hcDark:k.Color.white,hcLight:"#292929"},d.localize(564,"Color of editor line numbers.")),e.deprecatedEditorIndentGuides=(0,I.registerColor)("editorIndentGuide.background",e.editorWhitespaces,d.localize(565,"Color of the editor indentation guides."),!1,d.localize(566,"'editorIndentGuide.background' is deprecated. Use 'editorIndentGuide.background1' instead.")),e.deprecatedEditorActiveIndentGuides=(0,I.registerColor)("editorIndentGuide.activeBackground",e.editorWhitespaces,d.localize(567,"Color of the active editor indentation guides."),!1,d.localize(568,"'editorIndentGuide.activeBackground' is deprecated. Use 'editorIndentGuide.activeBackground1' instead.")),e.editorIndentGuide1=(0,I.registerColor)("editorIndentGuide.background1",e.deprecatedEditorIndentGuides,d.localize(569,"Color of the editor indentation guides (1).")),e.editorIndentGuide2=(0,I.registerColor)("editorIndentGuide.background2","#00000000",d.localize(570,"Color of the editor indentation guides (2).")),e.editorIndentGuide3=(0,I.registerColor)("editorIndentGuide.background3","#00000000",d.localize(571,"Color of the editor indentation guides (3).")),e.editorIndentGuide4=(0,I.registerColor)("editorIndentGuide.background4","#00000000",d.localize(572,"Color of the editor indentation guides (4).")),e.editorIndentGuide5=(0,I.registerColor)("editorIndentGuide.background5","#00000000",d.localize(573,"Color of the editor indentation guides (5).")),e.editorIndentGuide6=(0,I.registerColor)("editorIndentGuide.background6","#00000000",d.localize(574,"Color of the editor indentation guides (6).")),e.editorActiveIndentGuide1=(0,I.registerColor)("editorIndentGuide.activeBackground1",e.deprecatedEditorActiveIndentGuides,d.localize(575,"Color of the active editor indentation guides (1).")),e.editorActiveIndentGuide2=(0,I.registerColor)("editorIndentGuide.activeBackground2","#00000000",d.localize(576,"Color of the active editor indentation guides (2).")),e.editorActiveIndentGuide3=(0,I.registerColor)("editorIndentGuide.activeBackground3","#00000000",d.localize(577,"Color of the active editor indentation guides (3).")),e.editorActiveIndentGuide4=(0,I.registerColor)("editorIndentGuide.activeBackground4","#00000000",d.localize(578,"Color of the active editor indentation guides (4).")),e.editorActiveIndentGuide5=(0,I.registerColor)("editorIndentGuide.activeBackground5","#00000000",d.localize(579,"Color of the active editor indentation guides (5).")),e.editorActiveIndentGuide6=(0,I.registerColor)("editorIndentGuide.activeBackground6","#00000000",d.localize(580,"Color of the active editor indentation guides (6)."));const y=(0,I.registerColor)("editorActiveLineNumber.foreground",{dark:"#c6c6c6",light:"#0B216F",hcDark:I.activeContrastBorder,hcLight:I.activeContrastBorder},d.localize(581,"Color of editor active line number"),!1,d.localize(582,"Id is deprecated. Use 'editorLineNumber.activeForeground' instead."));e.editorActiveLineNumber=(0,I.registerColor)("editorLineNumber.activeForeground",y,d.localize(583,"Color of editor active line number")),e.editorDimmedLineNumber=(0,I.registerColor)("editorLineNumber.dimmedForeground",null,d.localize(584,"Color of the final editor line when editor.renderFinalNewline is set to dimmed.")),e.editorRuler=(0,I.registerColor)("editorRuler.foreground",{dark:"#5A5A5A",light:k.Color.lightgrey,hcDark:k.Color.white,hcLight:"#292929"},d.localize(585,"Color of the editor rulers.")),e.editorCodeLensForeground=(0,I.registerColor)("editorCodeLens.foreground",{dark:"#999999",light:"#919191",hcDark:"#999999",hcLight:"#292929"},d.localize(586,"Foreground color of editor CodeLens")),e.editorBracketMatchBackground=(0,I.registerColor)("editorBracketMatch.background",{dark:"#0064001a",light:"#0064001a",hcDark:"#0064001a",hcLight:"#0000"},d.localize(587,"Background color behind matching brackets")),e.editorBracketMatchBorder=(0,I.registerColor)("editorBracketMatch.border",{dark:"#888",light:"#B9B9B9",hcDark:I.contrastBorder,hcLight:I.contrastBorder},d.localize(588,"Color for matching brackets boxes")),e.editorOverviewRulerBorder=(0,I.registerColor)("editorOverviewRuler.border",{dark:"#7f7f7f4d",light:"#7f7f7f4d",hcDark:"#7f7f7f4d",hcLight:"#666666"},d.localize(589,"Color of the overview ruler border.")),e.editorOverviewRulerBackground=(0,I.registerColor)("editorOverviewRuler.background",null,d.localize(590,"Background color of the editor overview ruler.")),e.editorGutter=(0,I.registerColor)("editorGutter.background",I.editorBackground,d.localize(591,"Background color of the editor gutter. The gutter contains the glyph margins and the line numbers.")),e.editorUnnecessaryCodeBorder=(0,I.registerColor)("editorUnnecessaryCode.border",{dark:null,light:null,hcDark:k.Color.fromHex("#fff").transparent(.8),hcLight:I.contrastBorder},d.localize(592,"Border color of unnecessary (unused) source code in the editor.")),e.editorUnnecessaryCodeOpacity=(0,I.registerColor)("editorUnnecessaryCode.opacity",{dark:k.Color.fromHex("#000a"),light:k.Color.fromHex("#0007"),hcDark:null,hcLight:null},d.localize(593,`Opacity of unnecessary (unused) source code in the editor. For example, "#000000c0" will render the code with 75% opacity. For high contrast themes, use the 'editorUnnecessaryCode.border' theme color to underline unnecessary code instead of fading it out.`)),e.ghostTextBorder=(0,I.registerColor)("editorGhostText.border",{dark:null,light:null,hcDark:k.Color.fromHex("#fff").transparent(.8),hcLight:k.Color.fromHex("#292929").transparent(.8)},d.localize(594,"Border color of ghost text in the editor.")),e.ghostTextForeground=(0,I.registerColor)("editorGhostText.foreground",{dark:k.Color.fromHex("#ffffff56"),light:k.Color.fromHex("#0007"),hcDark:null,hcLight:null},d.localize(595,"Foreground color of the ghost text in the editor.")),e.ghostTextBackground=(0,I.registerColor)("editorGhostText.background",null,d.localize(596,"Background color of the ghost text in the editor."));const m=new k.Color(new k.RGBA(0,122,204,.6));e.overviewRulerRangeHighlight=(0,I.registerColor)("editorOverviewRuler.rangeHighlightForeground",m,d.localize(597,"Overview ruler marker color for range highlights. The color must not be opaque so as not to hide underlying decorations."),!0),e.overviewRulerError=(0,I.registerColor)("editorOverviewRuler.errorForeground",{dark:new k.Color(new k.RGBA(255,18,18,.7)),light:new k.Color(new k.RGBA(255,18,18,.7)),hcDark:new k.Color(new k.RGBA(255,50,50,1)),hcLight:"#B5200D"},d.localize(598,"Overview ruler marker color for errors.")),e.overviewRulerWarning=(0,I.registerColor)("editorOverviewRuler.warningForeground",{dark:I.editorWarningForeground,light:I.editorWarningForeground,hcDark:I.editorWarningBorder,hcLight:I.editorWarningBorder},d.localize(599,"Overview ruler marker color for warnings.")),e.overviewRulerInfo=(0,I.registerColor)("editorOverviewRuler.infoForeground",{dark:I.editorInfoForeground,light:I.editorInfoForeground,hcDark:I.editorInfoBorder,hcLight:I.editorInfoBorder},d.localize(600,"Overview ruler marker color for infos.")),e.editorBracketHighlightingForeground1=(0,I.registerColor)("editorBracketHighlight.foreground1",{dark:"#FFD700",light:"#0431FAFF",hcDark:"#FFD700",hcLight:"#0431FAFF"},d.localize(601,"Foreground color of brackets (1). Requires enabling bracket pair colorization.")),e.editorBracketHighlightingForeground2=(0,I.registerColor)("editorBracketHighlight.foreground2",{dark:"#DA70D6",light:"#319331FF",hcDark:"#DA70D6",hcLight:"#319331FF"},d.localize(602,"Foreground color of brackets (2). Requires enabling bracket pair colorization.")),e.editorBracketHighlightingForeground3=(0,I.registerColor)("editorBracketHighlight.foreground3",{dark:"#179FFF",light:"#7B3814FF",hcDark:"#87CEFA",hcLight:"#7B3814FF"},d.localize(603,"Foreground color of brackets (3). Requires enabling bracket pair colorization.")),e.editorBracketHighlightingForeground4=(0,I.registerColor)("editorBracketHighlight.foreground4","#00000000",d.localize(604,"Foreground color of brackets (4). Requires enabling bracket pair colorization.")),e.editorBracketHighlightingForeground5=(0,I.registerColor)("editorBracketHighlight.foreground5","#00000000",d.localize(605,"Foreground color of brackets (5). Requires enabling bracket pair colorization.")),e.editorBracketHighlightingForeground6=(0,I.registerColor)("editorBracketHighlight.foreground6","#00000000",d.localize(606,"Foreground color of brackets (6). Requires enabling bracket pair colorization.")),e.editorBracketHighlightingUnexpectedBracketForeground=(0,I.registerColor)("editorBracketHighlight.unexpectedBracket.foreground",{dark:new k.Color(new k.RGBA(255,18,18,.8)),light:new k.Color(new k.RGBA(255,18,18,.8)),hcDark:"new Color(new RGBA(255, 50, 50, 1))",hcLight:"#B5200D"},d.localize(607,"Foreground color of unexpected brackets.")),e.editorBracketPairGuideBackground1=(0,I.registerColor)("editorBracketPairGuide.background1","#00000000",d.localize(608,"Background color of inactive bracket pair guides (1). Requires enabling bracket pair guides.")),e.editorBracketPairGuideBackground2=(0,I.registerColor)("editorBracketPairGuide.background2","#00000000",d.localize(609,"Background color of inactive bracket pair guides (2). Requires enabling bracket pair guides.")),e.editorBracketPairGuideBackground3=(0,I.registerColor)("editorBracketPairGuide.background3","#00000000",d.localize(610,"Background color of inactive bracket pair guides (3). Requires enabling bracket pair guides.")),e.editorBracketPairGuideBackground4=(0,I.registerColor)("editorBracketPairGuide.background4","#00000000",d.localize(611,"Background color of inactive bracket pair guides (4). Requires enabling bracket pair guides.")),e.editorBracketPairGuideBackground5=(0,I.registerColor)("editorBracketPairGuide.background5","#00000000",d.localize(612,"Background color of inactive bracket pair guides (5). Requires enabling bracket pair guides.")),e.editorBracketPairGuideBackground6=(0,I.registerColor)("editorBracketPairGuide.background6","#00000000",d.localize(613,"Background color of inactive bracket pair guides (6). Requires enabling bracket pair guides.")),e.editorBracketPairGuideActiveBackground1=(0,I.registerColor)("editorBracketPairGuide.activeBackground1","#00000000",d.localize(614,"Background color of active bracket pair guides (1). Requires enabling bracket pair guides.")),e.editorBracketPairGuideActiveBackground2=(0,I.registerColor)("editorBracketPairGuide.activeBackground2","#00000000",d.localize(615,"Background color of active bracket pair guides (2). Requires enabling bracket pair guides.")),e.editorBracketPairGuideActiveBackground3=(0,I.registerColor)("editorBracketPairGuide.activeBackground3","#00000000",d.localize(616,"Background color of active bracket pair guides (3). Requires enabling bracket pair guides.")),e.editorBracketPairGuideActiveBackground4=(0,I.registerColor)("editorBracketPairGuide.activeBackground4","#00000000",d.localize(617,"Background color of active bracket pair guides (4). Requires enabling bracket pair guides.")),e.editorBracketPairGuideActiveBackground5=(0,I.registerColor)("editorBracketPairGuide.activeBackground5","#00000000",d.localize(618,"Background color of active bracket pair guides (5). Requires enabling bracket pair guides.")),e.editorBracketPairGuideActiveBackground6=(0,I.registerColor)("editorBracketPairGuide.activeBackground6","#00000000",d.localize(619,"Background color of active bracket pair guides (6). Requires enabling bracket pair guides.")),e.editorUnicodeHighlightBorder=(0,I.registerColor)("editorUnicodeHighlight.border",I.editorWarningForeground,d.localize(620,"Border color used to highlight unicode characters.")),e.editorUnicodeHighlightBackground=(0,I.registerColor)("editorUnicodeHighlight.background",I.editorWarningBackground,d.localize(621,"Background color used to highlight unicode characters.")),(0,E.registerThemingParticipant)((_,b)=>{const p=_.getColor(I.editorBackground),n=_.getColor(e.editorLineHighlight),o=n&&!n.isTransparent()?n:p;o&&b.addRule(`.monaco-editor .inputarea.ime-input { background-color: ${o}; }`)})}),define(ne[776],se([1,0,133,80,13,25,23,97,9,482]),function(oe,e,d,k,I,E,y,m,_){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CurrentLineMarginHighlightOverlay=e.CurrentLineHighlightOverlay=e.AbstractLineHighlightOverlay=void 0;class b extends d.DynamicViewOverlay{constructor(t){super(),this._context=t;const i=this._context.configuration.options,s=i.get(146);this._renderLineHighlight=i.get(97),this._renderLineHighlightOnlyWhenFocus=i.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 y.Selection(1,1,1,1)],this._renderData=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),super.dispose()}_readFromSelections(){let t=!1;const i=new Set;for(const c of this._selections)i.add(c.positionLineNumber);const s=Array.from(i);s.sort((c,l)=>c-l),I.equals(this._cursorLineNumbers,s)||(this._cursorLineNumbers=s,t=!0);const g=this._selections.every(c=>c.isEmpty());return this._selectionIsEmpty!==g&&(this._selectionIsEmpty=g,t=!0),t}onThemeChanged(t){return this._readFromSelections()}onConfigurationChanged(t){const i=this._context.configuration.options,s=i.get(146);return this._renderLineHighlight=i.get(97),this._renderLineHighlightOnlyWhenFocus=i.get(98),this._wordWrap=s.isViewportWrapping,this._contentLeft=s.contentLeft,this._contentWidth=s.contentWidth,!0}onCursorStateChanged(t){return this._selections=t.selections,this._readFromSelections()}onFlushed(t){return!0}onLinesDeleted(t){return!0}onLinesInserted(t){return!0}onScrollChanged(t){return t.scrollWidthChanged||t.scrollTopChanged}onZonesChanged(t){return!0}onFocusChanged(t){return this._renderLineHighlightOnlyWhenFocus?(this._focused=t.isFocused,!0):!1}prepareRender(t){if(!this._shouldRenderThis()){this._renderData=null;return}const i=t.visibleRange.startLineNumber,s=t.visibleRange.endLineNumber,g=[];for(let l=i;l<=s;l++){const a=l-i;g[a]=""}if(this._wordWrap){const l=this._renderOne(t,!1);for(const a of this._cursorLineNumbers){const r=this._context.viewModel.coordinatesConverter,u=r.convertViewPositionToModelPosition(new _.Position(a,1)).lineNumber,C=r.convertModelPositionToViewPosition(new _.Position(u,1)).lineNumber,f=r.convertModelPositionToViewPosition(new _.Position(u,this._context.viewModel.model.getLineMaxColumn(u))).lineNumber,h=Math.max(C,i),v=Math.min(f,s);for(let w=h;w<=v;w++){const S=w-i;g[S]=l}}}const c=this._renderOne(t,!0);for(const l of this._cursorLineNumbers){if(ls)continue;const a=l-i;g[a]=c}this._renderData=g}render(t,i){if(!this._renderData)return"";const s=i-t;return s>=this._renderData.length?"":this._renderData[s]}_shouldRenderInMargin(){return(this._renderLineHighlight==="gutter"||this._renderLineHighlight==="all")&&(!this._renderLineHighlightOnlyWhenFocus||this._focused)}_shouldRenderInContent(){return(this._renderLineHighlight==="line"||this._renderLineHighlight==="all")&&this._selectionIsEmpty&&(!this._renderLineHighlightOnlyWhenFocus||this._focused)}}e.AbstractLineHighlightOverlay=b;class p extends b{_renderOne(t,i){return`
    `}_shouldRenderThis(){return this._shouldRenderInContent()}_shouldRenderOther(){return this._shouldRenderInMargin()}}e.CurrentLineHighlightOverlay=p;class n extends b{_renderOne(t,i){return`
    `}_shouldRenderThis(){return!0}_shouldRenderOther(){return this._shouldRenderInContent()}}e.CurrentLineMarginHighlightOverlay=n,(0,E.registerThemingParticipant)((o,t)=>{const i=o.getColor(k.editorLineHighlight);if(i&&(t.addRule(`.monaco-editor .view-overlays .current-line { background-color: ${i}; }`),t.addRule(`.monaco-editor .margin-view-overlays .current-line-margin { background-color: ${i}; border: none; }`)),!i||i.isTransparent()||o.defines(k.editorLineHighlightBorder)){const s=o.getColor(k.editorLineHighlightBorder);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,m.isHighContrast)(o.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; }")))}})}),define(ne[777],se([1,0,133,80,25,9,13,19,329,239,485]),function(oe,e,d,k,I,E,y,m,_,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.IndentGuidesOverlay=void 0;class p extends d.DynamicViewOverlay{constructor(t){super(),this._context=t,this._primaryPosition=null;const i=this._context.configuration.options,s=i.get(147),g=i.get(50);this._spaceWidth=g.spaceWidth,this._maxIndentLeft=s.wrappingColumn===-1?-1:s.wrappingColumn*g.typicalHalfwidthCharacterWidth,this._bracketPairGuideOptions=i.get(16),this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(t){const i=this._context.configuration.options,s=i.get(147),g=i.get(50);return this._spaceWidth=g.spaceWidth,this._maxIndentLeft=s.wrappingColumn===-1?-1:s.wrappingColumn*g.typicalHalfwidthCharacterWidth,this._bracketPairGuideOptions=i.get(16),!0}onCursorStateChanged(t){const s=t.selections[0].getPosition();return this._primaryPosition?.equals(s)?!1:(this._primaryPosition=s,!0)}onDecorationsChanged(t){return!0}onFlushed(t){return!0}onLinesChanged(t){return!0}onLinesDeleted(t){return!0}onLinesInserted(t){return!0}onScrollChanged(t){return t.scrollTopChanged}onZonesChanged(t){return!0}onLanguageConfigurationChanged(t){return!0}prepareRender(t){if(!this._bracketPairGuideOptions.indentation&&this._bracketPairGuideOptions.bracketPairs===!1){this._renderResult=null;return}const i=t.visibleRange.startLineNumber,s=t.visibleRange.endLineNumber,g=t.scrollWidth,c=this._primaryPosition,l=this.getGuidesByLine(i,Math.min(s+1,this._context.viewModel.getLineCount()),c),a=[];for(let r=i;r<=s;r++){const u=r-i,C=l[u];let f="";const h=t.visibleRangeForPosition(new E.Position(r,1))?.left??0;for(const v of C){const w=v.column===-1?h+(v.visibleColumn-1)*this._spaceWidth:t.visibleRangeForPosition(new E.Position(r,v.column)).left;if(w>g||this._maxIndentLeft>0&&w>this._maxIndentLeft)break;const S=v.horizontalLine?v.horizontalLine.top?"horizontal-top":"horizontal-bottom":"vertical",L=v.horizontalLine?(t.visibleRangeForPosition(new E.Position(r,v.horizontalLine.endColumn))?.left??w+this._spaceWidth)-w:this._spaceWidth;f+=`
    `}a[u]=f}this._renderResult=a}getGuidesByLine(t,i,s){const g=this._bracketPairGuideOptions.bracketPairs!==!1?this._context.viewModel.getBracketGuidesInRangeByLine(t,i,s,{highlightActive:this._bracketPairGuideOptions.highlightActiveBracketPair,horizontalGuides:this._bracketPairGuideOptions.bracketPairsHorizontal===!0?b.HorizontalGuidesState.Enabled:this._bracketPairGuideOptions.bracketPairsHorizontal==="active"?b.HorizontalGuidesState.EnabledForActive:b.HorizontalGuidesState.Disabled,includeInactive:this._bracketPairGuideOptions.bracketPairs===!0}):null,c=this._bracketPairGuideOptions.indentation?this._context.viewModel.getLinesIndentGuides(t,i):null;let l=0,a=0,r=0;if(this._bracketPairGuideOptions.highlightActiveIndentation!==!1&&s){const f=this._context.viewModel.getActiveIndentGuide(s.lineNumber,t,i);l=f.startLineNumber,a=f.endLineNumber,r=f.indent}const{indentSize:u}=this._context.viewModel.model.getOptions(),C=[];for(let f=t;f<=i;f++){const h=new Array;C.push(h);const v=g?g[f-t]:[],w=new y.ArrayQueue(v),S=c?c[f-t]:0;for(let L=1;L<=S;L++){const D=(L-1)*u+1,T=(this._bracketPairGuideOptions.highlightActiveIndentation==="always"||v.length===0)&&l<=f&&f<=a&&L===r;h.push(...w.takeWhile(A=>A.visibleColumn!0)||[])}return C}render(t,i){if(!this._renderResult)return"";const s=i-t;return s<0||s>=this._renderResult.length?"":this._renderResult[s]}}e.IndentGuidesOverlay=p;function n(o){if(!(o&&o.isTransparent()))return o}(0,I.registerThemingParticipant)((o,t)=>{const i=[{bracketColor:k.editorBracketHighlightingForeground1,guideColor:k.editorBracketPairGuideBackground1,guideColorActive:k.editorBracketPairGuideActiveBackground1},{bracketColor:k.editorBracketHighlightingForeground2,guideColor:k.editorBracketPairGuideBackground2,guideColorActive:k.editorBracketPairGuideActiveBackground2},{bracketColor:k.editorBracketHighlightingForeground3,guideColor:k.editorBracketPairGuideBackground3,guideColorActive:k.editorBracketPairGuideActiveBackground3},{bracketColor:k.editorBracketHighlightingForeground4,guideColor:k.editorBracketPairGuideBackground4,guideColorActive:k.editorBracketPairGuideActiveBackground4},{bracketColor:k.editorBracketHighlightingForeground5,guideColor:k.editorBracketPairGuideBackground5,guideColorActive:k.editorBracketPairGuideActiveBackground5},{bracketColor:k.editorBracketHighlightingForeground6,guideColor:k.editorBracketPairGuideBackground6,guideColorActive:k.editorBracketPairGuideActiveBackground6}],s=new _.BracketPairGuidesClassNames,g=[{indentColor:k.editorIndentGuide1,indentColorActive:k.editorActiveIndentGuide1},{indentColor:k.editorIndentGuide2,indentColorActive:k.editorActiveIndentGuide2},{indentColor:k.editorIndentGuide3,indentColorActive:k.editorActiveIndentGuide3},{indentColor:k.editorIndentGuide4,indentColorActive:k.editorActiveIndentGuide4},{indentColor:k.editorIndentGuide5,indentColorActive:k.editorActiveIndentGuide5},{indentColor:k.editorIndentGuide6,indentColorActive:k.editorActiveIndentGuide6}],c=i.map(a=>{const r=o.getColor(a.bracketColor),u=o.getColor(a.guideColor),C=o.getColor(a.guideColorActive),f=n(n(u)??r?.transparent(.3)),h=n(n(C)??r);if(!(!f||!h))return{guideColor:f,guideColorActive:h}}).filter(m.isDefined),l=g.map(a=>{const r=o.getColor(a.indentColor),u=o.getColor(a.indentColorActive),C=n(r),f=n(u);if(!(!C||!f))return{indentColor:C,indentColorActive:f}}).filter(m.isDefined);if(c.length>0){for(let a=0;a<30;a++){const r=c[a%c.length];t.addRule(`.monaco-editor .${s.getInlineClassNameOfLevel(a).replace(/ /g,".")} { --guide-color: ${r.guideColor}; --guide-color-active: ${r.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.${s.activeClassName} { box-shadow: 1px 0 0 0 var(--guide-color-active) inset; }`),t.addRule(`.monaco-editor .horizontal-top.${s.activeClassName} { border-top: 1px solid var(--guide-color-active); }`),t.addRule(`.monaco-editor .horizontal-bottom.${s.activeClassName} { border-bottom: 1px solid var(--guide-color-active); }`)}if(l.length>0){for(let a=0;a<30;a++){const r=l[a%l.length];t.addRule(`.monaco-editor .lines-content .core-guide-indent.lvl-${a} { --indent-color: ${r.indentColor}; --indent-color-active: ${r.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; }")}})}),define(ne[416],se([1,0,16,133,9,4,25,80,486]),function(oe,e,d,k,I,E,y,m){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.LineNumbersOverlay=void 0;class _ extends k.DynamicViewOverlay{static{this.CLASS_NAME="line-numbers"}constructor(p){super(),this._context=p,this._readConfig(),this._lastCursorModelPosition=new I.Position(1,1),this._renderResult=null,this._activeLineNumber=1,this._context.addEventHandler(this)}_readConfig(){const p=this._context.configuration.options;this._lineHeight=p.get(67);const n=p.get(68);this._renderLineNumbers=n.renderType,this._renderCustomLineNumbers=n.renderFn,this._renderFinalNewline=p.get(96);const o=p.get(146);this._lineNumbersLeft=o.lineNumbersLeft,this._lineNumbersWidth=o.lineNumbersWidth}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(p){return this._readConfig(),!0}onCursorStateChanged(p){const n=p.selections[0].getPosition();this._lastCursorModelPosition=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(n);let o=!1;return this._activeLineNumber!==n.lineNumber&&(this._activeLineNumber=n.lineNumber,o=!0),(this._renderLineNumbers===2||this._renderLineNumbers===3)&&(o=!0),o}onFlushed(p){return!0}onLinesChanged(p){return!0}onLinesDeleted(p){return!0}onLinesInserted(p){return!0}onScrollChanged(p){return p.scrollTopChanged}onZonesChanged(p){return!0}onDecorationsChanged(p){return p.affectsLineNumber}_getLineRenderLineNumber(p){const n=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new I.Position(p,1));if(n.column!==1)return"";const o=n.lineNumber;if(this._renderCustomLineNumbers)return this._renderCustomLineNumbers(o);if(this._renderLineNumbers===2){const t=Math.abs(this._lastCursorModelPosition.lineNumber-o);return t===0?''+o+"":String(t)}if(this._renderLineNumbers===3){if(this._lastCursorModelPosition.lineNumber===o||o%10===0)return String(o);const t=this._context.viewModel.getLineCount();return o===t?String(o):""}return String(o)}prepareRender(p){if(this._renderLineNumbers===0){this._renderResult=null;return}const n=d.isLinux?this._lineHeight%2===0?" lh-even":" lh-odd":"",o=p.visibleRange.startLineNumber,t=p.visibleRange.endLineNumber,i=this._context.viewModel.getDecorationsInViewport(p.visibleRange).filter(l=>!!l.options.lineNumberClassName);i.sort((l,a)=>E.Range.compareRangesUsingEnds(l.range,a.range));let s=0;const g=this._context.viewModel.getLineCount(),c=[];for(let l=o;l<=t;l++){const a=l-o;let r=this._getLineRenderLineNumber(l),u="";for(;s${r}`}this._renderResult=c}render(p,n){if(!this._renderResult)return"";const o=n-p;return o<0||o>=this._renderResult.length?"":this._renderResult[o]}}e.LineNumbersOverlay=_,(0,y.registerThemingParticipant)((b,p)=>{const n=b.getColor(m.editorLineNumbers),o=b.getColor(m.editorDimmedLineNumber);o?p.addRule(`.monaco-editor .line-numbers.dimmed-line-number { color: ${o}; }`):n&&p.addRule(`.monaco-editor .line-numbers.dimmed-line-number { color: ${n.transparent(.4)}; }`)})}),define(ne[778],se([1,0,3,64,39,16,11,74,212,310,56,416,331,37,166,9,4,23,226,27,33,300,31,7,479]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r,u,C,f){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TextAreaHandler=void 0;class h{constructor(D,T,M,A,P){this._context=D,this.modelLineNumber=T,this.distanceToModelLineStart=M,this.widthOfHiddenLineTextBefore=A,this.distanceToModelLineEnd=P,this._visibleTextAreaBrand=void 0,this.startPosition=null,this.endPosition=null,this.visibleTextareaStart=null,this.visibleTextareaEnd=null,this._previousPresentation=null}prepareRender(D){const T=new s.Position(this.modelLineNumber,this.distanceToModelLineStart+1),M=new s.Position(this.modelLineNumber,this._context.viewModel.model.getLineMaxColumn(this.modelLineNumber)-this.distanceToModelLineEnd);this.startPosition=this._context.viewModel.coordinatesConverter.convertModelPositionToViewPosition(T),this.endPosition=this._context.viewModel.coordinatesConverter.convertModelPositionToViewPosition(M),this.startPosition.lineNumber===this.endPosition.lineNumber?(this.visibleTextareaStart=D.visibleRangeForPosition(this.startPosition),this.visibleTextareaEnd=D.visibleRangeForPosition(this.endPosition)):(this.visibleTextareaStart=null,this.visibleTextareaEnd=null)}definePresentation(D){return this._previousPresentation||(D?this._previousPresentation=D:this._previousPresentation={foreground:1,italic:!1,bold:!1,underline:!1,strikethrough:!1}),this._previousPresentation}}const v=k.isFirefox;let w=class extends p.ViewPart{constructor(D,T,M,A,P){super(D),this._keybindingService=A,this._instantiationService=P,this._primaryCursorPosition=new s.Position(1,1),this._primaryCursorVisibleRange=null,this._viewController=T,this._visibleRangeProvider=M,this._scrollLeft=0,this._scrollTop=0;const N=this._context.configuration.options,O=N.get(146);this._setAccessibilityOptions(N),this._contentLeft=O.contentLeft,this._contentWidth=O.contentWidth,this._contentHeight=O.height,this._fontInfo=N.get(50),this._lineHeight=N.get(67),this._emptySelectionClipboard=N.get(37),this._copyWithSyntaxHighlighting=N.get(25),this._visibleTextArea=null,this._selections=[new c.Selection(1,1,1,1)],this._modelSelections=[new c.Selection(1,1,1,1)],this._lastRenderPosition=null,this.textArea=(0,I.createFastDomNode)(document.createElement("textarea")),p.PartFingerprints.write(this.textArea,7),this.textArea.setClassName(`inputarea ${l.MOUSE_CURSOR_TEXT_CSS_CLASS_NAME}`),this.textArea.setAttribute("wrap",this._textAreaWrapping&&!this._visibleTextArea?"on":"off");const{tabSize:F}=this._context.viewModel.model.getOptions();this.textArea.domNode.style.tabSize=`${F*this._fontInfo.spaceWidth}px`,this.textArea.setAttribute("autocorrect","off"),this.textArea.setAttribute("autocapitalize","off"),this.textArea.setAttribute("autocomplete","off"),this.textArea.setAttribute("spellcheck","false"),this.textArea.setAttribute("aria-label",this._getAriaLabel(N)),this.textArea.setAttribute("aria-required",N.get(5)?"true":"false"),this.textArea.setAttribute("tabindex",String(N.get(125))),this.textArea.setAttribute("role","textbox"),this.textArea.setAttribute("aria-roledescription",d.localize(54,"editor")),this.textArea.setAttribute("aria-multiline","true"),this.textArea.setAttribute("aria-autocomplete",N.get(92)?"none":"both"),this._ensureReadOnlyAttribute(),this.textAreaCover=(0,I.createFastDomNode)(document.createElement("div")),this.textAreaCover.setPosition("absolute");const x={getLineCount:()=>this._context.viewModel.getLineCount(),getLineMaxColumn:q=>this._context.viewModel.getLineMaxColumn(q),getValueInRange:(q,H)=>this._context.viewModel.getValueInRange(q,H),getValueLengthInRange:(q,H)=>this._context.viewModel.getValueLengthInRange(q,H),modifyPosition:(q,H)=>this._context.viewModel.modifyPosition(q,H)},W={getDataToCopy:()=>{const q=this._context.viewModel.getPlainTextToCopy(this._modelSelections,this._emptySelectionClipboard,E.isWindows),H=this._context.viewModel.model.getEOL(),z=this._emptySelectionClipboard&&this._modelSelections.length===1&&this._modelSelections[0].isEmpty(),U=Array.isArray(q)?q:null,j=Array.isArray(q)?q.join(H):q;let Q,G=null;if(_.CopyOptions.forceCopyWithSyntaxHighlighting||this._copyWithSyntaxHighlighting&&j.length<65536){const K=this._context.viewModel.getRichTextToCopy(this._modelSelections,this._emptySelectionClipboard);K&&(Q=K.html,G=K.mode)}return{isFromEmptySelection:z,multicursorText:U,text:j,html:Q,mode:G}},getScreenReaderContent:()=>{if(this._accessibilitySupport===1){const q=this._selections[0];if(E.isMacintosh&&q.isEmpty()){const z=q.getStartPosition();let U=this._getWordBeforePosition(z);if(U.length===0&&(U=this._getCharacterBeforePosition(z)),U.length>0)return new b.TextAreaState(U,U.length,U.length,g.Range.fromPositions(z),0)}if(E.isMacintosh&&!q.isEmpty()&&x.getValueLengthInRange(q,0)<500){const z=x.getValueInRange(q,0);return new b.TextAreaState(z,0,z.length,q,0)}if(k.isSafari&&!q.isEmpty()){const z="vscode-placeholder";return new b.TextAreaState(z,0,z.length,null,void 0)}return b.TextAreaState.EMPTY}if(k.isAndroid){const q=this._selections[0];if(q.isEmpty()){const H=q.getStartPosition(),[z,U]=this._getAndroidWordAtPosition(H);if(z.length>0)return new b.TextAreaState(z,U,U,g.Range.fromPositions(H),0)}return b.TextAreaState.EMPTY}return b.PagedScreenReaderStrategy.fromEditorSelection(x,this._selections[0],this._accessibilityPageSize,this._accessibilitySupport===0)},deduceModelPosition:(q,H,z)=>this._context.viewModel.deduceModelPositionRelativeToViewPosition(q,H,z)},V=this._register(new _.TextAreaWrapper(this.textArea.domNode));this._textAreaInput=this._register(this._instantiationService.createInstance(_.TextAreaInput,W,V,E.OS,{isAndroid:k.isAndroid,isChrome:k.isChrome,isFirefox:k.isFirefox,isSafari:k.isSafari})),this._register(this._textAreaInput.onKeyDown(q=>{this._viewController.emitKeyDown(q)})),this._register(this._textAreaInput.onKeyUp(q=>{this._viewController.emitKeyUp(q)})),this._register(this._textAreaInput.onPaste(q=>{let H=!1,z=null,U=null;q.metadata&&(H=this._emptySelectionClipboard&&!!q.metadata.isFromEmptySelection,z=typeof q.metadata.multicursorText<"u"?q.metadata.multicursorText:null,U=q.metadata.mode),this._viewController.paste(q.text,H,z,U)})),this._register(this._textAreaInput.onCut(()=>{this._viewController.cut()})),this._register(this._textAreaInput.onType(q=>{q.replacePrevCharCnt||q.replaceNextCharCnt||q.positionDelta?(b._debugComposition&&console.log(` => compositionType: <<${q.text}>>, ${q.replacePrevCharCnt}, ${q.replaceNextCharCnt}, ${q.positionDelta}`),this._viewController.compositionType(q.text,q.replacePrevCharCnt,q.replaceNextCharCnt,q.positionDelta)):(b._debugComposition&&console.log(` => type: <<${q.text}>>`),this._viewController.type(q.text))})),this._register(this._textAreaInput.onSelectionChangeRequest(q=>{this._viewController.setSelection(q)})),this._register(this._textAreaInput.onCompositionStart(q=>{const H=this.textArea.domNode,z=this._modelSelections[0],{distanceToModelLineStart:U,widthOfHiddenTextBefore:j}=(()=>{const G=H.value.substring(0,Math.min(H.selectionStart,H.selectionEnd)),K=G.lastIndexOf(` +`),R=G.substring(K+1),J=R.lastIndexOf(" "),ie=R.length-J-1,ue=z.getStartPosition(),he=Math.min(ue.column-1,ie),pe=ue.column-1-he,ae=R.substring(0,R.length-he),{tabSize:ee}=this._context.viewModel.model.getOptions(),de=S(this.textArea.domNode.ownerDocument,ae,this._fontInfo,ee);return{distanceToModelLineStart:pe,widthOfHiddenTextBefore:de}})(),{distanceToModelLineEnd:Q}=(()=>{const G=H.value.substring(Math.max(H.selectionStart,H.selectionEnd)),K=G.indexOf(` +`),R=K===-1?G:G.substring(0,K),J=R.indexOf(" "),ie=J===-1?R.length:R.length-J-1,ue=z.getEndPosition(),he=Math.min(this._context.viewModel.model.getLineMaxColumn(ue.lineNumber)-ue.column,ie);return{distanceToModelLineEnd:this._context.viewModel.model.getLineMaxColumn(ue.lineNumber)-ue.column-he}})();this._context.viewModel.revealRange("keyboard",!0,g.Range.fromPositions(this._selections[0].getStartPosition()),0,1),this._visibleTextArea=new h(this._context,z.startLineNumber,U,j,Q),this.textArea.setAttribute("wrap",this._textAreaWrapping&&!this._visibleTextArea?"on":"off"),this._visibleTextArea.prepareRender(this._visibleRangeProvider),this._render(),this.textArea.setClassName(`inputarea ${l.MOUSE_CURSOR_TEXT_CSS_CLASS_NAME} ime-input`),this._viewController.compositionStart(),this._context.viewModel.onCompositionStart()})),this._register(this._textAreaInput.onCompositionUpdate(q=>{this._visibleTextArea&&(this._visibleTextArea.prepareRender(this._visibleRangeProvider),this._render())})),this._register(this._textAreaInput.onCompositionEnd(()=>{this._visibleTextArea=null,this.textArea.setAttribute("wrap",this._textAreaWrapping&&!this._visibleTextArea?"on":"off"),this._render(),this.textArea.setClassName(`inputarea ${l.MOUSE_CURSOR_TEXT_CSS_CLASS_NAME}`),this._viewController.compositionEnd(),this._context.viewModel.onCompositionEnd()})),this._register(this._textAreaInput.onFocus(()=>{this._context.viewModel.setHasFocus(!0)})),this._register(this._textAreaInput.onBlur(()=>{this._context.viewModel.setHasFocus(!1)})),this._register(u.IME.onDidChange(()=>{this._ensureReadOnlyAttribute()}))}writeScreenReaderContent(D){this._textAreaInput.writeNativeTextAreaContent(D)}dispose(){super.dispose()}_getAndroidWordAtPosition(D){const T='`~!@#$%^&*()-=+[{]}\\|;:",.<>/?',M=this._context.viewModel.getLineContent(D.lineNumber),A=(0,i.getMapForWordSeparators)(T,[]);let P=!0,N=D.column,O=!0,F=D.column,x=0;for(;x<50&&(P||O);){if(P&&N<=1&&(P=!1),P){const W=M.charCodeAt(N-2);A.get(W)!==0?P=!1:N--}if(O&&F>M.length&&(O=!1),O){const W=M.charCodeAt(F-1);A.get(W)!==0?O=!1:F++}x++}return[M.substring(N-1,F-1),D.column-N]}_getWordBeforePosition(D){const T=this._context.viewModel.getLineContent(D.lineNumber),M=(0,i.getMapForWordSeparators)(this._context.configuration.options.get(132),[]);let A=D.column,P=0;for(;A>1;){const N=T.charCodeAt(A-2);if(M.get(N)!==0||P>50)return T.substring(A-1,D.column-1);P++,A--}return T.substring(0,D.column-1)}_getCharacterBeforePosition(D){if(D.column>1){const M=this._context.viewModel.getLineContent(D.lineNumber).charAt(D.column-2);if(!y.isHighSurrogate(M.charCodeAt(0)))return M}return""}_getAriaLabel(D){if(D.get(2)===1){const M=this._keybindingService.lookupKeybinding("editor.action.toggleScreenReaderAccessibilityMode")?.getAriaLabel(),A=this._keybindingService.lookupKeybinding("workbench.action.showCommands")?.getAriaLabel(),P=this._keybindingService.lookupKeybinding("workbench.action.openGlobalKeybindings")?.getAriaLabel(),N=d.localize(55,"The editor is not accessible at this time.");return M?d.localize(56,"{0} To enable screen reader optimized mode, use {1}",N,M):A?d.localize(57,"{0} To enable screen reader optimized mode, open the quick pick with {1} and run the command Toggle Screen Reader Accessibility Mode, which is currently not triggerable via keyboard.",N,A):P?d.localize(58,"{0} Please assign a keybinding for the command Toggle Screen Reader Accessibility Mode by accessing the keybindings editor with {1} and run it.",N,P):N}return D.get(4)}_setAccessibilityOptions(D){this._accessibilitySupport=D.get(2);const T=D.get(3);this._accessibilitySupport===2&&T===t.EditorOptions.accessibilityPageSize.defaultValue?this._accessibilityPageSize=500:this._accessibilityPageSize=T;const A=D.get(146).wrappingColumn;if(A!==-1&&this._accessibilitySupport!==1){const P=D.get(50);this._textAreaWrapping=!0,this._textAreaWidth=Math.round(A*P.typicalHalfwidthCharacterWidth)}else this._textAreaWrapping=!1,this._textAreaWidth=v?0:1}onConfigurationChanged(D){const T=this._context.configuration.options,M=T.get(146);this._setAccessibilityOptions(T),this._contentLeft=M.contentLeft,this._contentWidth=M.contentWidth,this._contentHeight=M.height,this._fontInfo=T.get(50),this._lineHeight=T.get(67),this._emptySelectionClipboard=T.get(37),this._copyWithSyntaxHighlighting=T.get(25),this.textArea.setAttribute("wrap",this._textAreaWrapping&&!this._visibleTextArea?"on":"off");const{tabSize:A}=this._context.viewModel.model.getOptions();return this.textArea.domNode.style.tabSize=`${A*this._fontInfo.spaceWidth}px`,this.textArea.setAttribute("aria-label",this._getAriaLabel(T)),this.textArea.setAttribute("aria-required",T.get(5)?"true":"false"),this.textArea.setAttribute("tabindex",String(T.get(125))),(D.hasChanged(34)||D.hasChanged(92))&&this._ensureReadOnlyAttribute(),D.hasChanged(2)&&this._textAreaInput.writeNativeTextAreaContent("strategy changed"),!0}onCursorStateChanged(D){return this._selections=D.selections.slice(0),this._modelSelections=D.modelSelections.slice(0),this._textAreaInput.writeNativeTextAreaContent("selection changed"),!0}onDecorationsChanged(D){return!0}onFlushed(D){return!0}onLinesChanged(D){return!0}onLinesDeleted(D){return!0}onLinesInserted(D){return!0}onScrollChanged(D){return this._scrollLeft=D.scrollLeft,this._scrollTop=D.scrollTop,!0}onZonesChanged(D){return!0}isFocused(){return this._textAreaInput.isFocused()}focusTextArea(){this._textAreaInput.focusTextArea()}getLastRenderData(){return this._lastRenderPosition}setAriaOptions(D){D.activeDescendant?(this.textArea.setAttribute("aria-haspopup","true"),this.textArea.setAttribute("aria-autocomplete","list"),this.textArea.setAttribute("aria-activedescendant",D.activeDescendant)):(this.textArea.setAttribute("aria-haspopup","false"),this.textArea.setAttribute("aria-autocomplete","both"),this.textArea.removeAttribute("aria-activedescendant")),D.role&&this.textArea.setAttribute("role",D.role)}_ensureReadOnlyAttribute(){const D=this._context.configuration.options;!u.IME.enabled||D.get(34)&&D.get(92)?this.textArea.setAttribute("readonly","true"):this.textArea.removeAttribute("readonly")}prepareRender(D){this._primaryCursorPosition=new s.Position(this._selections[0].positionLineNumber,this._selections[0].positionColumn),this._primaryCursorVisibleRange=D.visibleRangeForPosition(this._primaryCursorPosition),this._visibleTextArea?.prepareRender(D)}render(D){this._textAreaInput.writeNativeTextAreaContent("render"),this._render()}_render(){if(this._visibleTextArea){const M=this._visibleTextArea.visibleTextareaStart,A=this._visibleTextArea.visibleTextareaEnd,P=this._visibleTextArea.startPosition,N=this._visibleTextArea.endPosition;if(P&&N&&M&&A&&A.left>=this._scrollLeft&&M.left<=this._scrollLeft+this._contentWidth){const O=this._context.viewLayout.getVerticalOffsetForLineNumber(this._primaryCursorPosition.lineNumber)-this._scrollTop,F=this._newlinecount(this.textArea.domNode.value.substr(0,this.textArea.domNode.selectionStart));let x=this._visibleTextArea.widthOfHiddenLineTextBefore,W=this._contentLeft+M.left-this._scrollLeft,V=A.left-M.left+1;if(Wthis._contentWidth&&(V=this._contentWidth);const q=this._context.viewModel.getViewLineData(P.lineNumber),H=q.tokens.findTokenIndexAtOffset(P.column-1),z=q.tokens.findTokenIndexAtOffset(N.column-1),U=H===z,j=this._visibleTextArea.definePresentation(U?q.tokens.getPresentation(H):null);this.textArea.domNode.scrollTop=F*this._lineHeight,this.textArea.domNode.scrollLeft=x,this._doRender({lastRenderPosition:null,top:O,left:W,width:V,height:this._lineHeight,useCover:!1,color:(a.TokenizationRegistry.getColorMap()||[])[j.foreground],italic:j.italic,bold:j.bold,underline:j.underline,strikethrough:j.strikethrough})}return}if(!this._primaryCursorVisibleRange){this._renderAtTopLeft();return}const D=this._contentLeft+this._primaryCursorVisibleRange.left-this._scrollLeft;if(Dthis._contentLeft+this._contentWidth){this._renderAtTopLeft();return}const T=this._context.viewLayout.getVerticalOffsetForLineNumber(this._selections[0].positionLineNumber)-this._scrollTop;if(T<0||T>this._contentHeight){this._renderAtTopLeft();return}if(E.isMacintosh||this._accessibilitySupport===2){this._doRender({lastRenderPosition:this._primaryCursorPosition,top:T,left:this._textAreaWrapping?this._contentLeft:D,width:this._textAreaWidth,height:this._lineHeight,useCover:!1}),this.textArea.domNode.scrollLeft=this._primaryCursorVisibleRange.left;const M=this._textAreaInput.textAreaState.newlineCountBeforeSelection??this._newlinecount(this.textArea.domNode.value.substr(0,this.textArea.domNode.selectionStart));this.textArea.domNode.scrollTop=M*this._lineHeight;return}this._doRender({lastRenderPosition:this._primaryCursorPosition,top:T,left:this._textAreaWrapping?this._contentLeft:D,width:this._textAreaWidth,height:v?0:1,useCover:!1})}_newlinecount(D){let T=0,M=-1;do{if(M=D.indexOf(` +`,M+1),M===-1)break;T++}while(!0);return T}_renderAtTopLeft(){this._doRender({lastRenderPosition:null,top:0,left:0,width:this._textAreaWidth,height:v?0:1,useCover:!0})}_doRender(D){this._lastRenderPosition=D.lastRenderPosition;const T=this.textArea,M=this.textAreaCover;(0,m.applyFontInfo)(T,this._fontInfo),T.setTop(D.top),T.setLeft(D.left),T.setWidth(D.width),T.setHeight(D.height),T.setColor(D.color?r.Color.Format.CSS.formatHex(D.color):""),T.setFontStyle(D.italic?"italic":""),D.bold&&T.setFontWeight("bold"),T.setTextDecoration(`${D.underline?" underline":""}${D.strikethrough?" line-through":""}`),M.setTop(D.useCover?D.top:0),M.setLeft(D.useCover?D.left:0),M.setWidth(D.useCover?D.width:0),M.setHeight(D.useCover?D.height:0);const A=this._context.configuration.options;A.get(57)?M.setClassName("monaco-editor-background textAreaCover "+o.Margin.OUTER_CLASS_NAME):A.get(68).renderType!==0?M.setClassName("monaco-editor-background textAreaCover "+n.LineNumbersOverlay.CLASS_NAME):M.setClassName("monaco-editor-background textAreaCover")}};e.TextAreaHandler=w,e.TextAreaHandler=w=ke([ce(3,C.IKeybindingService),ce(4,f.IInstantiationService)],w);function S(L,D,T,M){if(D.length===0)return 0;const A=L.createElement("div");A.style.position="absolute",A.style.top="-50000px",A.style.width="50000px";const P=L.createElement("span");(0,m.applyFontInfo)(P,T),P.style.whiteSpace="pre",P.style.tabSize=`${M*T.spaceWidth}px`,P.append(D),A.appendChild(P),L.body.appendChild(A);const N=P.offsetWidth;return A.remove(),N}}),define(ne[779],se([1,0,39,33,56,9,27,80,95,13]),function(oe,e,d,k,I,E,y,m,_,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DecorationsOverviewRuler=void 0;class p{constructor(t,i){const s=t.options;this.lineHeight=s.get(67),this.pixelRatio=s.get(144),this.overviewRulerLanes=s.get(83),this.renderBorder=s.get(82);const g=i.getColor(m.editorOverviewRulerBorder);this.borderColor=g?g.toString():null,this.hideCursor=s.get(59);const c=i.getColor(m.editorCursorForeground);this.cursorColorSingle=c?c.transparent(.7).toString():null;const l=i.getColor(m.editorMultiCursorPrimaryForeground);this.cursorColorPrimary=l?l.transparent(.7).toString():null;const a=i.getColor(m.editorMultiCursorSecondaryForeground);this.cursorColorSecondary=a?a.transparent(.7).toString():null,this.themeType=i.type;const r=s.get(73),u=r.enabled,C=r.side,f=i.getColor(m.editorOverviewRulerBackground),h=y.TokenizationRegistry.getDefaultBackground();f?this.backgroundColor=f:u&&C==="right"?this.backgroundColor=h:this.backgroundColor=null;const w=s.get(146).overviewRuler;this.top=w.top,this.right=w.right,this.domWidth=w.width,this.domHeight=w.height,this.overviewRulerLanes===0?(this.canvasWidth=0,this.canvasHeight=0):(this.canvasWidth=this.domWidth*this.pixelRatio|0,this.canvasHeight=this.domHeight*this.pixelRatio|0);const[S,L]=this._initLanes(1,this.canvasWidth,this.overviewRulerLanes);this.x=S,this.w=L}_initLanes(t,i,s){const g=i-t;if(s>=3){const c=Math.floor(g/3),l=Math.floor(g/3),a=g-c-l,r=t,u=r+c,C=r+c+a;return[[0,r,u,r,C,r,u,r],[0,c,a,c+a,l,c+a+l,a+l,c+a+l]]}else if(s===2){const c=Math.floor(g/2),l=g-c,a=t,r=a+c;return[[0,a,a,a,r,a,a,a],[0,c,c,c,l,c+l,c+l,c+l]]}else{const c=t,l=g;return[[0,c,c,c,c,c,c,c],[0,l,l,l,l,l,l,l]]}}equals(t){return this.lineHeight===t.lineHeight&&this.pixelRatio===t.pixelRatio&&this.overviewRulerLanes===t.overviewRulerLanes&&this.renderBorder===t.renderBorder&&this.borderColor===t.borderColor&&this.hideCursor===t.hideCursor&&this.cursorColorSingle===t.cursorColorSingle&&this.cursorColorPrimary===t.cursorColorPrimary&&this.cursorColorSecondary===t.cursorColorSecondary&&this.themeType===t.themeType&&k.Color.equals(this.backgroundColor,t.backgroundColor)&&this.top===t.top&&this.right===t.right&&this.domWidth===t.domWidth&&this.domHeight===t.domHeight&&this.canvasWidth===t.canvasWidth&&this.canvasHeight===t.canvasHeight}}class n extends I.ViewPart{constructor(t){super(t),this._actualShouldRender=0,this._renderedDecorations=[],this._renderedCursorPositions=[],this._domNode=(0,d.createFastDomNode)(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=y.TokenizationRegistry.onDidChange(i=>{i.changedColorMap&&this._updateSettings(!0)}),this._cursorPositions=[{position:new E.Position(1,1),color:this._settings.cursorColorSingle}]}dispose(){super.dispose(),this._tokensColorTrackerListener.dispose()}_updateSettings(t){const i=new p(this._context.configuration,this._context.theme);return this._settings&&this._settings.equals(i)?!1:(this._settings=i,this._domNode.setTop(this._settings.top),this._domNode.setRight(this._settings.right),this._domNode.setWidth(this._settings.domWidth),this._domNode.setHeight(this._settings.domHeight),this._domNode.domNode.width=this._settings.canvasWidth,this._domNode.domNode.height=this._settings.canvasHeight,t&&this._render(),!0)}_markRenderingIsNeeded(){return this._actualShouldRender=2,!0}_markRenderingIsMaybeNeeded(){return this._actualShouldRender=1,!0}onConfigurationChanged(t){return this._updateSettings(!1)?this._markRenderingIsNeeded():!1}onCursorStateChanged(t){this._cursorPositions=[];for(let i=0,s=t.selections.length;i1&&(g=i===0?this._settings.cursorColorPrimary:this._settings.cursorColorSecondary),this._cursorPositions.push({position:t.selections[i].getPosition(),color:g})}return this._cursorPositions.sort((i,s)=>E.Position.compare(i.position,s.position)),this._markRenderingIsMaybeNeeded()}onDecorationsChanged(t){return t.affectsOverviewRuler?this._markRenderingIsMaybeNeeded():!1}onFlushed(t){return this._markRenderingIsNeeded()}onScrollChanged(t){return t.scrollHeightChanged?this._markRenderingIsNeeded():!1}onZonesChanged(t){return this._markRenderingIsNeeded()}onThemeChanged(t){return this._updateSettings(!1)?this._markRenderingIsNeeded():!1}getDomNode(){return this._domNode.domNode}prepareRender(t){}render(t){this._render(),this._actualShouldRender=0}_render(){const t=this._settings.backgroundColor;if(this._settings.overviewRulerLanes===0){this._domNode.setBackgroundColor(t?k.Color.Format.CSS.formatHexA(t):""),this._domNode.setDisplay("none");return}const i=this._context.viewModel.getAllOverviewRulerDecorations(this._context.theme);if(i.sort(_.OverviewRulerDecorationsGroup.compareByRenderingProps),this._actualShouldRender===1&&!_.OverviewRulerDecorationsGroup.equalsArr(this._renderedDecorations,i)&&(this._actualShouldRender=2),this._actualShouldRender===1&&!(0,b.equals)(this._renderedCursorPositions,this._cursorPositions,(w,S)=>w.position.lineNumber===S.position.lineNumber&&w.color===S.color)&&(this._actualShouldRender=2),this._actualShouldRender===1)return;this._renderedDecorations=i,this._renderedCursorPositions=this._cursorPositions,this._domNode.setDisplay("block");const s=this._settings.canvasWidth,g=this._settings.canvasHeight,c=this._settings.lineHeight,l=this._context.viewLayout,a=this._context.viewLayout.getScrollHeight(),r=g/a,u=6*this._settings.pixelRatio|0,C=u/2|0,f=this._domNode.domNode.getContext("2d");t?t.isOpaque()?(f.fillStyle=k.Color.Format.CSS.formatHexA(t),f.fillRect(0,0,s,g)):(f.clearRect(0,0,s,g),f.fillStyle=k.Color.Format.CSS.formatHexA(t),f.fillRect(0,0,s,g)):f.clearRect(0,0,s,g);const h=this._settings.x,v=this._settings.w;for(const w of i){const S=w.color,L=w.data;f.fillStyle=S;let D=0,T=0,M=0;for(let A=0,P=L.length/3;Ag&&(q=g-C),x=q-C,W=q+C}x>M+1||N!==D?(A!==0&&f.fillRect(h[D],T,v[D],M-T),D=N,T=x,M=W):W>M&&(M=W)}f.fillRect(h[D],T,v[D],M-T)}if(!this._settings.hideCursor){const w=2*this._settings.pixelRatio|0,S=w/2|0,L=this._settings.x[7],D=this._settings.w[7];let T=-100,M=-100,A=null;for(let P=0,N=this._cursorPositions.length;Pg&&(x=g-S);const W=x-S,V=W+w;W>M+1||O!==A?(P!==0&&A&&f.fillRect(L,T,D,M-T),T=W,M=V):V>M&&(M=V),A=O,f.fillStyle=O}A&&f.fillRect(L,T,D,M-T)}this._settings.renderBorder&&this._settings.borderColor&&this._settings.overviewRulerLanes>0&&(f.beginPath(),f.lineWidth=1,f.strokeStyle=this._settings.borderColor,f.moveTo(0,0),f.lineTo(0,g),f.moveTo(1,0),f.lineTo(s,0),f.stroke())}}e.DecorationsOverviewRuler=n}),define(ne[780],se([1,0,39,14,56,655,37,80,25,97,5,496]),function(oe,e,d,k,I,E,y,m,_,b,p){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ViewCursors=void 0;class n extends I.ViewPart{static{this.BLINK_INTERVAL=500}constructor(t){super(t);const i=this._context.configuration.options;this._readOnly=i.get(92),this._cursorBlinking=i.get(26),this._cursorStyle=i.get(28),this._cursorSmoothCaretAnimation=i.get(27),this._selectionIsEmpty=!0,this._isComposingInput=!1,this._isVisible=!1,this._primaryCursor=new E.ViewCursor(this._context,E.CursorPlurality.Single),this._secondaryCursors=[],this._renderData=[],this._domNode=(0,d.createFastDomNode)(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 k.TimeoutTimer,this._cursorFlatBlinkInterval=new p.WindowIntervalTimer,this._blinkingEnabled=!1,this._editorHasFocus=!1,this._updateBlinking()}dispose(){super.dispose(),this._startCursorBlinkAnimation.dispose(),this._cursorFlatBlinkInterval.dispose()}getDomNode(){return this._domNode}onCompositionStart(t){return this._isComposingInput=!0,this._updateBlinking(),!0}onCompositionEnd(t){return this._isComposingInput=!1,this._updateBlinking(),!0}onConfigurationChanged(t){const i=this._context.configuration.options;this._readOnly=i.get(92),this._cursorBlinking=i.get(26),this._cursorStyle=i.get(28),this._cursorSmoothCaretAnimation=i.get(27),this._updateBlinking(),this._updateDomClassName(),this._primaryCursor.onConfigurationChanged(t);for(let s=0,g=this._secondaryCursors.length;si.length){const c=this._secondaryCursors.length-i.length;for(let l=0;l{for(let g=0,c=t.ranges.length;g{this._isVisible?this._hide():this._show()},n.BLINK_INTERVAL,(0,p.getWindow)(this._domNode.domNode)):this._startCursorBlinkAnimation.setIfNotSet(()=>{this._blinkingEnabled=!0,this._updateDomClassName()},n.BLINK_INTERVAL))}_updateDomClassName(){this._domNode.setClassName(this._getClassName())}_getClassName(){let t="cursors-layer";switch(this._selectionIsEmpty||(t+=" has-selection"),this._cursorStyle){case y.TextEditorCursorStyle.Line:t+=" cursor-line-style";break;case y.TextEditorCursorStyle.Block:t+=" cursor-block-style";break;case y.TextEditorCursorStyle.Underline:t+=" cursor-underline-style";break;case y.TextEditorCursorStyle.LineThin:t+=" cursor-line-thin-style";break;case y.TextEditorCursorStyle.BlockOutline:t+=" cursor-block-outline-style";break;case y.TextEditorCursorStyle.UnderlineThin:t+=" cursor-underline-thin-style";break;default:t+=" cursor-line-style"}if(this._blinkingEnabled)switch(this._getCursorBlinking()){case 1:t+=" cursor-blink";break;case 2:t+=" cursor-smooth";break;case 3:t+=" cursor-phase";break;case 4:t+=" cursor-expand";break;case 5:t+=" cursor-solid";break;default:t+=" cursor-solid"}else t+=" cursor-solid";return(this._cursorSmoothCaretAnimation==="on"||this._cursorSmoothCaretAnimation==="explicit")&&(t+=" cursor-smooth-caret-animation"),t}_show(){this._primaryCursor.show();for(let t=0,i=this._secondaryCursors.length;t{const i=[{class:".cursor",foreground:m.editorCursorForeground,background:m.editorCursorBackground},{class:".cursor-primary",foreground:m.editorMultiCursorPrimaryForeground,background:m.editorMultiCursorPrimaryBackground},{class:".cursor-secondary",foreground:m.editorMultiCursorSecondaryForeground,background:m.editorMultiCursorSecondaryBackground}];for(const s of i){const g=o.getColor(s.foreground);if(g){let c=o.getColor(s.background);c||(c=g.opposite()),t.addRule(`.monaco-editor .cursors-layer ${s.class} { background-color: ${g}; border-color: ${g}; color: ${c}; }`),(0,b.isHighContrast)(o.type)&&t.addRule(`.monaco-editor .cursors-layer.has-selection ${s.class} { border-left: 1px solid ${c}; border-right: 1px solid ${c}; }`)}}})}),define(ne[781],se([1,0,133,11,136,9,80,497]),function(oe,e,d,k,I,E,y){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.WhitespaceOverlay=void 0;class m extends d.DynamicViewOverlay{constructor(p){super(),this._context=p,this._options=new _(this._context.configuration),this._selection=[],this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(p){const n=new _(this._context.configuration);return this._options.equals(n)?p.hasChanged(146):(this._options=n,!0)}onCursorStateChanged(p){return this._selection=p.selections,this._options.renderWhitespace==="selection"}onDecorationsChanged(p){return!0}onFlushed(p){return!0}onLinesChanged(p){return!0}onLinesDeleted(p){return!0}onLinesInserted(p){return!0}onScrollChanged(p){return p.scrollTopChanged}onZonesChanged(p){return!0}prepareRender(p){if(this._options.renderWhitespace==="none"){this._renderResult=null;return}const n=p.visibleRange.startLineNumber,t=p.visibleRange.endLineNumber-n+1,i=new Array(t);for(let g=0;gg)continue;const C=u.startLineNumber===g?u.startColumn:l.minColumn,f=u.endLineNumber===g?u.endColumn:l.maxColumn;C=O.endOffset&&(N++,O=o&&o[N]),W!==9&&W!==32||u&&!M&&x<=P)continue;if(r&&x>=A&&x<=P&&W===32){const q=x-1>=0?g.charCodeAt(x-1):0,H=x+1=0?g.charCodeAt(x-1):0;if(W===32&&q!==32&&q!==9)continue}if(o&&(!O||O.startOffset>x||O.endOffset<=x))continue;const V=p.visibleRangeForPosition(new E.Position(n,x+1));V&&(s?(F=Math.max(F,V.left),W===9?T+=this._renderArrow(C,v,V.left):T+=``):W===9?T+=`
    ${D?"\uFFEB":"\u2192"}
    `:T+=`
    ${String.fromCharCode(L)}
    `)}return s?(F=Math.round(F+v),``+T+""):T}_renderArrow(p,n,o){const t=n/7,i=n,s=p/2,g=o,c={x:0,y:t/2},l={x:100/125*i,y:c.y},a={x:l.x-.2*l.x,y:l.y+.2*l.x},r={x:a.x+.1*l.x,y:a.y+.1*l.x},u={x:r.x+.35*l.x,y:r.y-.35*l.x},C={x:u.x,y:-u.y},f={x:r.x,y:-r.y},h={x:a.x,y:-a.y},v={x:l.x,y:-l.y},w={x:c.x,y:-c.y};return``}render(p,n){if(!this._renderResult)return"";const o=n-p;return o<0||o>=this._renderResult.length?"":this._renderResult[o]}}e.WhitespaceOverlay=m;class _{constructor(p){const n=p.options,o=n.get(50),t=n.get(38);t==="off"?(this.renderWhitespace="none",this.renderWithSVG=!1):t==="svg"?(this.renderWhitespace=n.get(100),this.renderWithSVG=!0):(this.renderWhitespace=n.get(100),this.renderWithSVG=!1),this.spaceWidth=o.spaceWidth,this.middotWidth=o.middotWidth,this.wsmiddotWidth=o.wsmiddotWidth,this.canUseHalfwidthRightwardsArrow=o.canUseHalfwidthRightwardsArrow,this.lineHeight=n.get(67),this.stopRenderingLineAfter=n.get(118)}equals(p){return this.renderWhitespace===p.renderWhitespace&&this.renderWithSVG===p.renderWithSVG&&this.spaceWidth===p.spaceWidth&&this.middotWidth===p.middotWidth&&this.wsmiddotWidth===p.wsmiddotWidth&&this.canUseHalfwidthRightwardsArrow===p.canUseHalfwidthRightwardsArrow&&this.lineHeight===p.lineHeight&&this.stopRenderingLineAfter===p.stopRenderingLineAfter}}}),define(ne[782],se([1,0,5,39,296,8,414,769,778,164,726,657,56,309,591,649,776,592,773,242,777,416,770,593,331,594,755,650,779,604,595,596,774,780,597,781,9,4,23,40,170,600,605,7,25]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r,u,C,f,h,v,w,S,L,D,T,M,A,P,N,O,F,x,W,V,q,H,z,U,j){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.View=void 0;let Q=class extends q.ViewEventHandler{constructor(J,ie,ue,he,pe,ae,ee){super(),this._instantiationService=ee,this._shouldRecomputeGlyphMarginLanes=!1,this._selections=[new W.Selection(1,1,1,1)],this._renderAnimationFrame=null;const de=new p.ViewController(ie,he,pe,J);this._context=new z.ViewContext(ie,ue,he),this._context.addEventHandler(this),this._viewParts=[],this._textAreaHandler=this._instantiationService.createInstance(_.TextAreaHandler,this._context,de,this._createTextAreaHandlerHelper()),this._viewParts.push(this._textAreaHandler),this._linesContent=(0,k.createFastDomNode)(document.createElement("div")),this._linesContent.setClassName("lines-content monaco-editor-background"),this._linesContent.setPosition("absolute"),this.domNode=(0,k.createFastDomNode)(document.createElement("div")),this.domNode.setClassName(this._getEditorClassName()),this.domNode.setAttribute("role","code"),this._overflowGuardContainer=(0,k.createFastDomNode)(document.createElement("div")),o.PartFingerprints.write(this._overflowGuardContainer,3),this._overflowGuardContainer.setClassName("overflow-guard"),this._scrollbar=new l.EditorScrollbar(this._context,this._linesContent,this.domNode,this._overflowGuardContainer),this._viewParts.push(this._scrollbar),this._viewLines=new C.ViewLines(this._context,this._linesContent),this._viewZones=new N.ViewZones(this._context),this._viewParts.push(this._viewZones);const ge=new L.DecorationsOverviewRuler(this._context);this._viewParts.push(ge);const X=new M.ScrollDecorationViewPart(this._context);this._viewParts.push(X);const B=new n.ContentViewOverlays(this._context);this._viewParts.push(B),B.addDynamicOverlay(new g.CurrentLineHighlightOverlay(this._context)),B.addDynamicOverlay(new A.SelectionsOverlay(this._context)),B.addDynamicOverlay(new r.IndentGuidesOverlay(this._context)),B.addDynamicOverlay(new c.DecorationsOverlay(this._context)),B.addDynamicOverlay(new O.WhitespaceOverlay(this._context));const $=new n.MarginViewOverlays(this._context);this._viewParts.push($),$.addDynamicOverlay(new g.CurrentLineMarginHighlightOverlay(this._context)),$.addDynamicOverlay(new v.MarginViewLineDecorationsOverlay(this._context)),$.addDynamicOverlay(new f.LinesDecorationsOverlay(this._context)),$.addDynamicOverlay(new u.LineNumbersOverlay(this._context)),this._glyphMarginWidgets=new a.GlyphMarginWidgets(this._context),this._viewParts.push(this._glyphMarginWidgets);const Y=new h.Margin(this._context);Y.getDomNode().appendChild(this._viewZones.marginDomNode),Y.getDomNode().appendChild($.getDomNode()),Y.getDomNode().appendChild(this._glyphMarginWidgets.domNode),this._viewParts.push(Y),this._contentWidgets=new s.ViewContentWidgets(this._context,this.domNode),this._viewParts.push(this._contentWidgets),this._viewCursors=new P.ViewCursors(this._context),this._viewParts.push(this._viewCursors),this._overlayWidgets=new S.ViewOverlayWidgets(this._context,this.domNode),this._viewParts.push(this._overlayWidgets);const Z=new T.Rulers(this._context);this._viewParts.push(Z);const te=new i.BlockDecorations(this._context);this._viewParts.push(te);const re=new w.Minimap(this._context);if(this._viewParts.push(re),ge){const le=this._scrollbar.getOverviewRulerLayoutInfo();le.parent.insertBefore(ge.getDomNode(),le.insertBefore)}this._linesContent.appendChild(B.getDomNode()),this._linesContent.appendChild(Z.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(Y.getDomNode()),this._overflowGuardContainer.appendChild(this._scrollbar.getDomNode()),this._overflowGuardContainer.appendChild(X.getDomNode()),this._overflowGuardContainer.appendChild(this._textAreaHandler.textArea),this._overflowGuardContainer.appendChild(this._textAreaHandler.textAreaCover),this._overflowGuardContainer.appendChild(this._overlayWidgets.getDomNode()),this._overflowGuardContainer.appendChild(re.getDomNode()),this._overflowGuardContainer.appendChild(te.domNode),this.domNode.appendChild(this._overflowGuardContainer),ae?(ae.appendChild(this._contentWidgets.overflowingContentWidgetsDomNode.domNode),ae.appendChild(this._overlayWidgets.overflowingOverlayWidgetsDomNode.domNode)):(this.domNode.appendChild(this._contentWidgets.overflowingContentWidgetsDomNode),this.domNode.appendChild(this._overlayWidgets.overflowingOverlayWidgetsDomNode)),this._applyLayout(),this._pointerHandler=this._register(new m.PointerHandler(this._context,de,this._createPointerHandlerHelper()))}_computeGlyphMarginLanes(){const J=this._context.viewModel.model,ie=this._context.viewModel.glyphLanes;let ue=[],he=0;ue=ue.concat(J.getAllMarginDecorations().map(pe=>{const ae=pe.options.glyphMargin?.position??V.GlyphMarginLane.Center;return he=Math.max(he,pe.range.endLineNumber),{range:pe.range,lane:ae,persist:pe.options.glyphMargin?.persistLane}})),ue=ue.concat(this._glyphMarginWidgets.getWidgets().map(pe=>{const ae=J.validateRange(pe.preference.range);return he=Math.max(he,ae.endLineNumber),{range:ae,lane:pe.preference.lane}})),ue.sort((pe,ae)=>x.Range.compareRangesUsingStarts(pe.range,ae.range)),ie.reset(he);for(const pe of ue)ie.push(pe.lane,pe.range,pe.persist);return ie}_createPointerHandlerHelper(){return{viewDomNode:this.domNode.domNode,linesContentDomNode:this._linesContent.domNode,viewLinesDomNode:this._viewLines.getDomNode().domNode,focusTextArea:()=>{this.focus()},dispatchTextAreaEvent:J=>{this._textAreaHandler.textArea.domNode.dispatchEvent(J)},getLastRenderData:()=>{const J=this._viewCursors.getLastRenderData()||[],ie=this._textAreaHandler.getLastRenderData();return new y.PointerHandlerLastRenderData(J,ie)},renderNow:()=>{this.render(!0,!1)},shouldSuppressMouseDownOnViewZone:J=>this._viewZones.shouldSuppressMouseDownOnViewZone(J),shouldSuppressMouseDownOnWidget:J=>this._contentWidgets.shouldSuppressMouseDownOnWidget(J),getPositionFromDOMInfo:(J,ie)=>(this._flushAccumulatedAndRenderNow(),this._viewLines.getPositionFromDOMInfo(J,ie)),visibleRangeForPosition:(J,ie)=>(this._flushAccumulatedAndRenderNow(),this._viewLines.visibleRangeForPosition(new F.Position(J,ie))),getLineWidth:J=>(this._flushAccumulatedAndRenderNow(),this._viewLines.getLineWidth(J))}}_createTextAreaHandlerHelper(){return{visibleRangeForPosition:J=>(this._flushAccumulatedAndRenderNow(),this._viewLines.visibleRangeForPosition(J))}}_applyLayout(){const ie=this._context.configuration.options.get(146);this.domNode.setWidth(ie.width),this.domNode.setHeight(ie.height),this._overflowGuardContainer.setWidth(ie.width),this._overflowGuardContainer.setHeight(ie.height),this._linesContent.setWidth(16777216),this._linesContent.setHeight(16777216)}_getEditorClassName(){const J=this._textAreaHandler.isFocused()?" focused":"";return this._context.configuration.options.get(143)+" "+(0,j.getThemeTypeSelector)(this._context.theme.type)+J}handleEvents(J){super.handleEvents(J),this._scheduleRender()}onConfigurationChanged(J){return this.domNode.setClassName(this._getEditorClassName()),this._applyLayout(),!1}onCursorStateChanged(J){return this._selections=J.selections,!1}onDecorationsChanged(J){return J.affectsGlyphMargin&&(this._shouldRecomputeGlyphMarginLanes=!0),!1}onFocusChanged(J){return this.domNode.setClassName(this._getEditorClassName()),!1}onThemeChanged(J){return this._context.theme.update(J.theme),this.domNode.setClassName(this._getEditorClassName()),!1}dispose(){this._renderAnimationFrame!==null&&(this._renderAnimationFrame.dispose(),this._renderAnimationFrame=null),this._contentWidgets.overflowingContentWidgetsDomNode.domNode.remove(),this._context.removeEventHandler(this),this._viewLines.dispose();for(const J of this._viewParts)J.dispose();super.dispose()}_scheduleRender(){if(this._store.isDisposed)throw new E.BugIndicatingError;if(this._renderAnimationFrame===null){const J=this._createCoordinatedRendering();this._renderAnimationFrame=K.INSTANCE.scheduleCoordinatedRendering({window:d.getWindow(this.domNode?.domNode),prepareRenderText:()=>{if(this._store.isDisposed)throw new E.BugIndicatingError;try{return J.prepareRenderText()}finally{this._renderAnimationFrame=null}},renderText:()=>{if(this._store.isDisposed)throw new E.BugIndicatingError;return J.renderText()},prepareRender:(ie,ue)=>{if(this._store.isDisposed)throw new E.BugIndicatingError;return J.prepareRender(ie,ue)},render:(ie,ue)=>{if(this._store.isDisposed)throw new E.BugIndicatingError;return J.render(ie,ue)}})}}_flushAccumulatedAndRenderNow(){const J=this._createCoordinatedRendering();G(()=>J.prepareRenderText());const ie=G(()=>J.renderText());if(ie){const[ue,he]=ie;G(()=>J.prepareRender(ue,he)),G(()=>J.render(ue,he))}}_getViewPartsToRender(){const J=[];let ie=0;for(const ue of this._viewParts)ue.shouldRender()&&(J[ie++]=ue);return J}_createCoordinatedRendering(){return{prepareRenderText:()=>{if(this._shouldRecomputeGlyphMarginLanes){this._shouldRecomputeGlyphMarginLanes=!1;const J=this._computeGlyphMarginLanes();this._context.configuration.setGlyphMarginDecorationLaneCount(J.requiredLanes)}I.inputLatency.onRenderStart()},renderText:()=>{if(!this.domNode.domNode.isConnected)return null;let J=this._getViewPartsToRender();if(!this._viewLines.shouldRender()&&J.length===0)return null;const ie=this._context.viewLayout.getLinesViewportData();this._context.viewModel.setViewport(ie.startLineNumber,ie.endLineNumber,ie.centeredLineNumber);const ue=new H.ViewportData(this._selections,ie,this._context.viewLayout.getWhitespaceViewportData(),this._context.viewModel);return this._contentWidgets.shouldRender()&&this._contentWidgets.onBeforeRender(ue),this._viewLines.shouldRender()&&(this._viewLines.renderText(ue),this._viewLines.onDidRender(),J=this._getViewPartsToRender()),[J,new b.RenderingContext(this._context.viewLayout,ue,this._viewLines)]},prepareRender:(J,ie)=>{for(const ue of J)ue.prepareRender(ie)},render:(J,ie)=>{for(const ue of J)ue.render(ie),ue.onDidRender()}}}delegateVerticalScrollbarPointerDown(J){this._scrollbar.delegateVerticalScrollbarPointerDown(J)}delegateScrollFromMouseWheelEvent(J){this._scrollbar.delegateScrollFromMouseWheelEvent(J)}restoreState(J){this._context.viewModel.viewLayout.setScrollPosition({scrollTop:J.scrollTop,scrollLeft:J.scrollLeft},1),this._context.viewModel.visibleLinesStabilized()}getOffsetForColumn(J,ie){const ue=this._context.viewModel.model.validatePosition({lineNumber:J,column:ie}),he=this._context.viewModel.coordinatesConverter.convertModelPositionToViewPosition(ue);this._flushAccumulatedAndRenderNow();const pe=this._viewLines.visibleRangeForPosition(new F.Position(he.lineNumber,he.column));return pe?pe.left:-1}getTargetAtClientPoint(J,ie){const ue=this._pointerHandler.getTargetAtClientPoint(J,ie);return ue?t.ViewUserInputEvents.convertViewToModelMouseTarget(ue,this._context.viewModel.coordinatesConverter):null}createOverviewRuler(J){return new D.OverviewRuler(this._context,J)}change(J){this._viewZones.changeViewZones(J),this._scheduleRender()}render(J,ie){if(ie){this._viewLines.forceShouldRender();for(const ue of this._viewParts)ue.forceShouldRender()}J?this._flushAccumulatedAndRenderNow():this._scheduleRender()}writeScreenReaderContent(J){this._textAreaHandler.writeScreenReaderContent(J)}focus(){this._textAreaHandler.focusTextArea()}isFocused(){return this._textAreaHandler.isFocused()}setAriaOptions(J){this._textAreaHandler.setAriaOptions(J)}addContentWidget(J){this._contentWidgets.addWidget(J.widget),this.layoutContentWidget(J),this._scheduleRender()}layoutContentWidget(J){this._contentWidgets.setWidgetPosition(J.widget,J.position?.position??null,J.position?.secondaryPosition??null,J.position?.preference??null,J.position?.positionAffinity??null),this._scheduleRender()}removeContentWidget(J){this._contentWidgets.removeWidget(J.widget),this._scheduleRender()}addOverlayWidget(J){this._overlayWidgets.addWidget(J.widget),this.layoutOverlayWidget(J),this._scheduleRender()}layoutOverlayWidget(J){this._overlayWidgets.setWidgetPosition(J.widget,J.position)&&this._scheduleRender()}removeOverlayWidget(J){this._overlayWidgets.removeWidget(J.widget),this._scheduleRender()}addGlyphMarginWidget(J){this._glyphMarginWidgets.addWidget(J.widget),this._shouldRecomputeGlyphMarginLanes=!0,this._scheduleRender()}layoutGlyphMarginWidget(J){const ie=J.position;this._glyphMarginWidgets.setWidgetPosition(J.widget,ie)&&(this._shouldRecomputeGlyphMarginLanes=!0,this._scheduleRender())}removeGlyphMarginWidget(J){this._glyphMarginWidgets.removeWidget(J.widget),this._shouldRecomputeGlyphMarginLanes=!0,this._scheduleRender()}};e.View=Q,e.View=Q=ke([ce(6,U.IInstantiationService)],Q);function G(R){try{return R()}catch(J){return(0,E.onUnexpectedError)(J),null}}class K{static{this.INSTANCE=new K}constructor(){this._coordinatedRenderings=[],this._animationFrameRunners=new Map}scheduleCoordinatedRendering(J){return this._coordinatedRenderings.push(J),this._scheduleRender(J.window),{dispose:()=>{const ie=this._coordinatedRenderings.indexOf(J);if(ie!==-1&&(this._coordinatedRenderings.splice(ie,1),this._coordinatedRenderings.length===0)){for(const[ue,he]of this._animationFrameRunners)he.dispose();this._animationFrameRunners.clear()}}}}_scheduleRender(J){if(!this._animationFrameRunners.has(J)){const ie=()=>{this._animationFrameRunners.delete(J),this._onRenderScheduled()};this._animationFrameRunners.set(J,d.runAtThisOrScheduleAtNextAnimationFrame(J,ie,100))}}_onRenderScheduled(){const J=this._coordinatedRenderings.slice(0);this._coordinatedRenderings=[];for(const ue of J)G(()=>ue.prepareRenderText());const ie=[];for(let ue=0,he=J.length;uepe.renderText())}for(let ue=0,he=J.length;uepe.prepareRender(ee,de))}for(let ue=0,he=J.length;uepe.render(ee,de))}}}}),define(ne[783],se([1,0,6,2,4,80,25]),function(oe,e,d,k,I,E,y){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ColorizedBracketPairsDecorationProvider=void 0;class m extends k.Disposable{constructor(p){super(),this.textModel=p,this.colorProvider=new _,this.onDidChangeEmitter=new d.Emitter,this.onDidChange=this.onDidChangeEmitter.event,this.colorizationOptions=p.getOptions().bracketPairColorizationOptions,this._register(p.bracketPairs.onDidChange(n=>{this.onDidChangeEmitter.fire()}))}handleDidChangeOptions(p){this.colorizationOptions=this.textModel.getOptions().bracketPairColorizationOptions}getDecorationsInRange(p,n,o,t){return t?[]:n===void 0?[]:this.colorizationOptions.enabled?this.textModel.bracketPairs.getBracketsInRange(p,!0).map(s=>({id:`bracket${s.range.toString()}-${s.nestingLevel}`,options:{description:"BracketPairColorization",inlineClassName:this.colorProvider.getInlineClassName(s,this.colorizationOptions.independentColorPoolPerBracketType)},ownerId:0,range:s.range})).toArray():[]}getAllDecorations(p,n){return p===void 0?[]:this.colorizationOptions.enabled?this.getDecorationsInRange(new I.Range(1,1,this.textModel.getLineCount(),1),p,n):[]}}e.ColorizedBracketPairsDecorationProvider=m;class _{constructor(){this.unexpectedClosingBracketClassName="unexpected-closing-bracket"}getInlineClassName(p,n){return p.isInvalid?this.unexpectedClosingBracketClassName:this.getInlineClassNameOfLevel(n?p.nestingLevelOfEqualBracketType:p.nestingLevel)}getInlineClassNameOfLevel(p){return`bracket-highlighting-${p%30}`}}(0,y.registerThemingParticipant)((b,p)=>{const n=[E.editorBracketHighlightingForeground1,E.editorBracketHighlightingForeground2,E.editorBracketHighlightingForeground3,E.editorBracketHighlightingForeground4,E.editorBracketHighlightingForeground5,E.editorBracketHighlightingForeground6],o=new _;p.addRule(`.monaco-editor .${o.unexpectedClosingBracketClassName} { color: ${b.getColor(E.editorBracketHighlightingUnexpectedBracketForeground)}; }`);const t=n.map(i=>b.getColor(i)).filter(i=>!!i).filter(i=>!i.isTransparent());for(let i=0;i<30;i++){const s=t[i%t.length];p.addRule(`.monaco-editor .${o.getInlineClassNameOfLevel(i)} { color: ${s}; }`)}})}),define(ne[784],se([1,0,108,2,40,25,80,51,4,42,6,32,45,298]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.MarkerDecorationsService=void 0;let i=class extends k.Disposable{constructor(c,l){super(),this._markerService=l,this._onDidChangeMarker=this._register(new p.Emitter),this._markerDecorations=new o.ResourceMap,c.getModels().forEach(a=>this._onModelAdded(a)),this._register(c.onModelAdded(this._onModelAdded,this)),this._register(c.onModelRemoved(this._onModelRemoved,this)),this._register(this._markerService.onMarkerChanged(this._handleMarkerChange,this))}dispose(){super.dispose(),this._markerDecorations.forEach(c=>c.dispose()),this._markerDecorations.clear()}getMarker(c,l){const a=this._markerDecorations.get(c);return a&&a.getMarker(l)||null}_handleMarkerChange(c){c.forEach(l=>{const a=this._markerDecorations.get(l);a&&this._updateDecorations(a)})}_onModelAdded(c){const l=new s(c);this._markerDecorations.set(c.uri,l),this._updateDecorations(l)}_onModelRemoved(c){const l=this._markerDecorations.get(c.uri);l&&(l.dispose(),this._markerDecorations.delete(c.uri)),(c.uri.scheme===b.Schemas.inMemory||c.uri.scheme===b.Schemas.internal||c.uri.scheme===b.Schemas.vscode)&&this._markerService?.read({resource:c.uri}).map(a=>a.owner).forEach(a=>this._markerService.remove(a,[c.uri]))}_updateDecorations(c){const l=this._markerService.read({resource:c.model.uri,take:500});c.update(l)&&this._onDidChangeMarker.fire(c.model)}};e.MarkerDecorationsService=i,e.MarkerDecorationsService=i=ke([ce(0,m.IModelService),ce(1,d.IMarkerService)],i);class s extends k.Disposable{constructor(c){super(),this.model=c,this._map=new o.BidirectionalMap,this._register((0,k.toDisposable)(()=>{this.model.deltaDecorations([...this._map.values()],[]),this._map.clear()}))}update(c){const{added:l,removed:a}=(0,t.diffSets)(new Set(this._map.keys()),new Set(c));if(l.length===0&&a.length===0)return!1;const r=a.map(f=>this._map.get(f)),u=l.map(f=>({range:this._createDecorationRange(this.model,f),options:this._createDecorationOption(f)})),C=this.model.deltaDecorations(r,u);for(const f of a)this._map.delete(f);for(let f=0;f=r)return a;const u=c.getWordAtPosition(a.getStartPosition());u&&(a=new _.Range(a.startLineNumber,u.startColumn,a.endLineNumber,u.endColumn))}else if(l.endColumn===Number.MAX_VALUE&&l.startColumn===1&&a.startLineNumber===a.endLineNumber){const r=c.getLineFirstNonWhitespaceColumn(l.startLineNumber);r=0:!1}}}),define(ne[282],se([1,0,148,25,62,589,43]),function(oe,e,d,k,I,E,y){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SemanticTokensProviderStyling=void 0,e.toMultilineTokens2=b;const m=!1;let _=class{constructor(t,i,s,g){this._legend=t,this._themeService=i,this._languageService=s,this._logService=g,this._hasWarnedOverlappingTokens=!1,this._hasWarnedInvalidLengthTokens=!1,this._hasWarnedInvalidEditStart=!1,this._hashTable=new n}getMetadata(t,i,s){const g=this._languageService.languageIdCodec.encodeLanguageId(s),c=this._hashTable.get(t,i,g);let l;if(c)l=c.metadata,m&&this._logService.getLevel()===I.LogLevel.Trace&&this._logService.trace(`SemanticTokensProviderStyling [CACHED] ${t} / ${i}: foreground ${d.TokenMetadata.getForeground(l)}, fontStyle ${d.TokenMetadata.getFontStyle(l).toString(2)}`);else{let a=this._legend.tokenTypes[t];const r=[];if(a){let u=i;for(let f=0;u>0&&f>1;m&&u>0&&this._logService.getLevel()===I.LogLevel.Trace&&(this._logService.trace(`SemanticTokensProviderStyling: unknown token modifier index: ${i.toString(2)} for legend: ${JSON.stringify(this._legend.tokenModifiers)}`),r.push("not-in-legend"));const C=this._themeService.getColorTheme().getTokenStyleMetadata(a,r,s);if(typeof C>"u")l=2147483647;else{if(l=0,typeof C.italic<"u"){const f=(C.italic?1:0)<<11;l|=f|1}if(typeof C.bold<"u"){const f=(C.bold?2:0)<<11;l|=f|2}if(typeof C.underline<"u"){const f=(C.underline?4:0)<<11;l|=f|4}if(typeof C.strikethrough<"u"){const f=(C.strikethrough?8:0)<<11;l|=f|8}if(C.foreground){const f=C.foreground<<15;l|=f|16}l===0&&(l=2147483647)}}else m&&this._logService.getLevel()===I.LogLevel.Trace&&this._logService.trace(`SemanticTokensProviderStyling: unknown token type index: ${t} for legend: ${JSON.stringify(this._legend.tokenTypes)}`),l=2147483647,a="not-in-legend";this._hashTable.add(t,i,g,l),m&&this._logService.getLevel()===I.LogLevel.Trace&&this._logService.trace(`SemanticTokensProviderStyling ${t} (${a}) / ${i} (${r.join(" ")}): foreground ${d.TokenMetadata.getForeground(l)}, fontStyle ${d.TokenMetadata.getFontStyle(l).toString(2)}`)}return l}warnOverlappingSemanticTokens(t,i){this._hasWarnedOverlappingTokens||(this._hasWarnedOverlappingTokens=!0,this._logService.warn(`Overlapping semantic tokens detected at lineNumber ${t}, column ${i}`))}warnInvalidLengthSemanticTokens(t,i){this._hasWarnedInvalidLengthTokens||(this._hasWarnedInvalidLengthTokens=!0,this._logService.warn(`Semantic token with invalid length detected at lineNumber ${t}, column ${i}`))}warnInvalidEditStart(t,i,s,g,c){this._hasWarnedInvalidEditStart||(this._hasWarnedInvalidEditStart=!0,this._logService.warn(`Invalid semantic tokens edit detected (previousResultId: ${t}, resultId: ${i}) at edit #${s}: The provided start offset ${g} is outside the previous data (length ${c}).`))}};e.SemanticTokensProviderStyling=_,e.SemanticTokensProviderStyling=_=ke([ce(1,k.IThemeService),ce(2,y.ILanguageService),ce(3,I.ILogService)],_);function b(o,t,i){const s=o.data,g=o.data.length/5|0,c=Math.max(Math.ceil(g/1024),400),l=[];let a=0,r=1,u=0;for(;aC&&s[5*T]===0;)T--;if(T-1===C){let M=f;for(;M+1N)t.warnOverlappingSemanticTokens(P,N+1);else{const V=t.getMetadata(x,W,i);V!==2147483647&&(w===0&&(w=P),h[v]=P-w,h[v+1]=N,h[v+2]=F,h[v+3]=V,v+=4,S=P,L=F)}r=P,u=N,a++}v!==h.length&&(h=h.subarray(0,v));const D=E.SparseMultilineTokens.create(w,h);l.push(D)}return l}class p{constructor(t,i,s,g){this.tokenTypeIndex=t,this.tokenModifierSet=i,this.languageId=s,this.metadata=g,this.next=null}}class n{static{this._SIZES=[3,7,13,31,61,127,251,509,1021,2039,4093,8191,16381,32749,65521,131071,262139,524287,1048573,2097143]}constructor(){this._elementsCount=0,this._currentLengthIndex=0,this._currentLength=n._SIZES[this._currentLengthIndex],this._growCount=Math.round(this._currentLengthIndex+1=this._growCount){const c=this._elements;this._currentLengthIndex++,this._currentLength=n._SIZES[this._currentLengthIndex],this._growCount=Math.round(this._currentLengthIndex+1{this._caches=new WeakMap}))}getStyling(n){return this._caches.has(n)||this._caches.set(n,new y.SemanticTokensProviderStyling(n.getLegend(),this._themeService,this._languageService,this._logService)),this._caches.get(n)}};e.SemanticTokensStylingService=b,e.SemanticTokensStylingService=b=ke([ce(0,I.IThemeService),ce(1,E.ILogService),ce(2,k.ILanguageService)],b),(0,_.registerSingleton)(m.ISemanticTokensStylingService,b,1)}),define(ne[786],se([1,0,15,80,3,89,379,700,528]),function(oe,e,d,k,I,E,y,m){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),(0,d.registerEditorContribution)(y.PlaceholderTextContribution.ID,(0,m.wrapInReloadableClass1)(()=>y.PlaceholderTextContribution),0),(0,E.registerColor)("editor.placeholder.foreground",k.ghostTextForeground,(0,I.localize)(1194,"Foreground color of the placeholder text in the editor."))}),define(ne[417],se([1,0,127,2,168,40,80,25,46]),function(oe,e,d,k,I,E,y,m,_){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractEditorNavigationQuickAccessProvider=void 0;class b{constructor(n){this.options=n,this.rangeHighlightDecorationId=void 0}provide(n,o,t){const i=new k.DisposableStore;n.canAcceptInBackground=!!this.options?.canAcceptInBackground,n.matchOnLabel=n.matchOnDescription=n.matchOnDetail=n.sortByLabel=!1;const s=i.add(new k.MutableDisposable);return s.value=this.doProvide(n,o,t),i.add(this.onDidActiveTextEditorControlChange(()=>{s.value=void 0,s.value=this.doProvide(n,o)})),i}doProvide(n,o,t){const i=new k.DisposableStore,s=this.activeTextEditorControl;if(s&&this.canProvideWithTextEditor(s)){const g={editor:s},c=(0,I.getCodeEditor)(s);if(c){let l=s.saveViewState()??void 0;i.add(c.onDidChangeCursorPosition(()=>{l=s.saveViewState()??void 0})),g.restoreViewState=()=>{l&&s===this.activeTextEditorControl&&s.restoreViewState(l)},i.add((0,d.createSingleCallFunction)(o.onCancellationRequested)(()=>g.restoreViewState?.()))}i.add((0,k.toDisposable)(()=>this.clearDecorations(s))),i.add(this.provideWithTextEditor(g,n,o,t))}else i.add(this.provideWithoutTextEditor(n,o));return i}canProvideWithTextEditor(n){return!0}gotoLocation({editor:n},o){n.setSelection(o.range,"code.jump"),n.revealRangeInCenter(o.range,0),o.preserveFocus||n.focus();const t=n.getModel();t&&"getLineContent"in t&&(0,_.status)(`${t.getLineContent(o.range.startLineNumber)}`)}getModel(n){return(0,I.isDiffEditor)(n)?n.getModel()?.modified:n.getModel()}addDecorations(n,o){n.changeDecorations(t=>{const i=[];this.rangeHighlightDecorationId&&(i.push(this.rangeHighlightDecorationId.overviewRulerDecorationId),i.push(this.rangeHighlightDecorationId.rangeHighlightId),this.rangeHighlightDecorationId=void 0);const s=[{range:o,options:{description:"quick-access-range-highlight",className:"rangeHighlight",isWholeLine:!0}},{range:o,options:{description:"quick-access-range-highlight-overview",overviewRuler:{color:(0,m.themeColorFromId)(y.overviewRulerRangeHighlight),position:E.OverviewRulerLane.Full}}}],[g,c]=t.deltaDecorations(i,s);this.rangeHighlightDecorationId={rangeHighlightId:g,overviewRulerDecorationId:c}})}clearDecorations(n){const o=this.rangeHighlightDecorationId;o&&(n.changeDecorations(t=>{t.deltaDecorations([o.overviewRulerDecorationId,o.rangeHighlightId],[])}),this.rangeHighlightDecorationId=void 0)}}e.AbstractEditorNavigationQuickAccessProvider=b}),define(ne[787],se([1,0,2,168,417,3]),function(oe,e,d,k,I,E){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractGotoLineQuickAccessProvider=void 0;class y extends I.AbstractEditorNavigationQuickAccessProvider{static{this.PREFIX=":"}constructor(){super({canAcceptInBackground:!0})}provideWithoutTextEditor(_){const b=(0,E.localize)(1195,"Open a text editor first to go to a line.");return _.items=[{label:b}],_.ariaLabel=b,d.Disposable.None}provideWithTextEditor(_,b,p){const n=_.editor,o=new d.DisposableStore;o.add(b.onDidAccept(s=>{const[g]=b.selectedItems;if(g){if(!this.isValidLineNumber(n,g.lineNumber))return;this.gotoLocation(_,{range:this.toRange(g.lineNumber,g.column),keyMods:b.keyMods,preserveFocus:s.inBackground}),s.inBackground||b.hide()}}));const t=()=>{const s=this.parsePosition(n,b.value.trim().substr(y.PREFIX.length)),g=this.getPickLabel(n,s.lineNumber,s.column);if(b.items=[{lineNumber:s.lineNumber,column:s.column,label:g}],b.ariaLabel=g,!this.isValidLineNumber(n,s.lineNumber)){this.clearDecorations(n);return}const c=this.toRange(s.lineNumber,s.column);n.revealRangeInCenter(c,0),this.addDecorations(n,c)};t(),o.add(b.onDidChangeValue(()=>t()));const i=(0,k.getCodeEditor)(n);return i&&i.getOptions().get(68).renderType===2&&(i.updateOptions({lineNumbers:"on"}),o.add((0,d.toDisposable)(()=>i.updateOptions({lineNumbers:"relative"})))),o}toRange(_=1,b=1){return{startLineNumber:_,startColumn:b,endLineNumber:_,endColumn:b}}parsePosition(_,b){const p=b.split(/,|:|#/).map(o=>parseInt(o,10)).filter(o=>!isNaN(o)),n=this.lineCount(_)+1;return{lineNumber:p[0]>0?p[0]:n+p[0],column:p[1]}}getPickLabel(_,b,p){if(this.isValidLineNumber(_,b))return this.isValidColumn(_,b,p)?(0,E.localize)(1196,"Go to line {0} and character {1}.",b,p):(0,E.localize)(1197,"Go to line {0}.",b);const n=_.getPosition()||{lineNumber:1,column:1},o=this.lineCount(_);return o>1?(0,E.localize)(1198,"Current Line: {0}, Character: {1}. Type a line number between 1 and {2} to navigate to.",n.lineNumber,n.column,o):(0,E.localize)(1199,"Current Line: {0}, Character: {1}. Type a line number to navigate to.",n.lineNumber,n.column)}isValidLineNumber(_,b){return!b||typeof b!="number"?!1:b>0&&b<=this.lineCount(_)}isValidColumn(_,b,p){if(!p||typeof p!="number")return!1;const n=this.getModel(_);if(!n)return!1;const o={lineNumber:b,column:p};return n.validatePosition(o).equals(o)}lineCount(_){return this.getModel(_)?.getLineCount()??0}}e.AbstractGotoLineQuickAccessProvider=y}),define(ne[788],se([1,0,14,18,26,30,628,2,11,4,27,182,417,3,17,67]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s){"use strict";var g;Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractGotoSymbolQuickAccessProvider=void 0;let c=class extends o.AbstractEditorNavigationQuickAccessProvider{static{g=this}static{this.PREFIX="@"}static{this.SCOPE_PREFIX=":"}static{this.PREFIX_BY_CATEGORY=`${this.PREFIX}${this.SCOPE_PREFIX}`}constructor(u,C,f=Object.create(null)){super(f),this._languageFeaturesService=u,this._outlineModelService=C,this.options=f,this.options.canAcceptInBackground=!0}provideWithoutTextEditor(u){return this.provideLabelPick(u,(0,t.localize)(1200,"To go to a symbol, first open a text editor with symbol information.")),m.Disposable.None}provideWithTextEditor(u,C,f,h){const v=u.editor,w=this.getModel(v);return w?this._languageFeaturesService.documentSymbolProvider.has(w)?this.doProvideWithEditorSymbols(u,w,C,f,h):this.doProvideWithoutEditorSymbols(u,w,C,f):m.Disposable.None}doProvideWithoutEditorSymbols(u,C,f,h){const v=new m.DisposableStore;return this.provideLabelPick(f,(0,t.localize)(1201,"The active text editor does not provide symbol information.")),(async()=>!await this.waitForLanguageSymbolRegistry(C,v)||h.isCancellationRequested||v.add(this.doProvideWithEditorSymbols(u,C,f,h)))(),v}provideLabelPick(u,C){u.items=[{label:C,index:0,kind:14}],u.ariaLabel=C}async waitForLanguageSymbolRegistry(u,C){if(this._languageFeaturesService.documentSymbolProvider.has(u))return!0;const f=new d.DeferredPromise,h=C.add(this._languageFeaturesService.documentSymbolProvider.onDidChange(()=>{this._languageFeaturesService.documentSymbolProvider.has(u)&&(h.dispose(),f.complete(!0))}));return C.add((0,m.toDisposable)(()=>f.complete(!1))),f.p}doProvideWithEditorSymbols(u,C,f,h,v){const w=u.editor,S=new m.DisposableStore;S.add(f.onDidAccept(M=>{const[A]=f.selectedItems;A&&A.range&&(this.gotoLocation(u,{range:A.range.selection,keyMods:f.keyMods,preserveFocus:M.inBackground}),v?.handleAccept?.(A),M.inBackground||f.hide())})),S.add(f.onDidTriggerItemButton(({item:M})=>{M&&M.range&&(this.gotoLocation(u,{range:M.range.selection,keyMods:f.keyMods,forceSideBySide:!0}),f.hide())}));const L=this.getDocumentSymbols(C,h);let D;const T=async M=>{D?.dispose(!0),f.busy=!1,D=new k.CancellationTokenSource(h),f.busy=!0;try{const A=(0,y.prepareQuery)(f.value.substr(g.PREFIX.length).trim()),P=await this.doGetSymbolPicks(L,A,void 0,D.token,C);if(h.isCancellationRequested)return;if(P.length>0){if(f.items=P,M&&A.original.length===0){const N=(0,s.findLast)(P,O=>!!(O.type!=="separator"&&O.range&&b.Range.containsPosition(O.range.decoration,M)));N&&(f.activeItems=[N])}}else A.original.length>0?this.provideLabelPick(f,(0,t.localize)(1202,"No matching editor symbols")):this.provideLabelPick(f,(0,t.localize)(1203,"No editor symbols"))}finally{h.isCancellationRequested||(f.busy=!1)}};return S.add(f.onDidChangeValue(()=>T(void 0))),T(w.getSelection()?.getPosition()),S.add(f.onDidChangeActive(()=>{const[M]=f.activeItems;M&&M.range&&(w.revealRangeInCenter(M.range.selection,0),this.addDecorations(w,M.range.decoration))})),S}async doGetSymbolPicks(u,C,f,h,v){const w=await u;if(h.isCancellationRequested)return[];const S=C.original.indexOf(g.SCOPE_PREFIX)===0,L=S?1:0;let D,T;C.values&&C.values.length>1?(D=(0,y.pieceToQuery)(C.values[0]),T=(0,y.pieceToQuery)(C.values.slice(1))):D=C;let M;const A=this.options?.openSideBySideDirection?.();A&&(M=[{iconClass:A==="right"?E.ThemeIcon.asClassName(I.Codicon.splitHorizontal):E.ThemeIcon.asClassName(I.Codicon.splitVertical),tooltip:A==="right"?(0,t.localize)(1204,"Open to the Side"):(0,t.localize)(1205,"Open to the Bottom")}]);const P=[];for(let F=0;FL){let K=!1;if(D!==C&&([z,U]=(0,y.scoreFuzzy2)(V,{...C,values:void 0},L,q),typeof z=="number"&&(K=!0)),typeof z!="number"&&([z,U]=(0,y.scoreFuzzy2)(V,D,L,q),typeof z!="number"))continue;if(!K&&T){if(H&&T.original.length>0&&([j,Q]=(0,y.scoreFuzzy2)(H,T)),typeof j!="number")continue;typeof z=="number"&&(z+=j)}}const G=x.tags&&x.tags.indexOf(1)>=0;P.push({index:F,kind:x.kind,score:z,label:V,ariaLabel:(0,p.getAriaLabelForSymbol)(x.name,x.kind),description:H,highlights:G?void 0:{label:U,description:Q},range:{selection:b.Range.collapseToStart(x.selectionRange),decoration:x.range},uri:v.uri,symbolName:W,strikethrough:G,buttons:M})}const N=P.sort((F,x)=>S?this.compareByKindAndScore(F,x):this.compareByScore(F,x));let O=[];if(S){let V=function(){x&&typeof F=="number"&&W>0&&(x.label=(0,_.format)(a[F]||l,W))},F,x,W=0;for(const q of N)F!==q.kind?(V(),F=q.kind,W=1,x={type:"separator"},O.push(x)):W++,O.push(q);V()}else N.length>0&&(O=[{label:(0,t.localize)(1206,"symbols ({0})",P.length),type:"separator"},...N]);return O}compareByScore(u,C){if(typeof u.score!="number"&&typeof C.score=="number")return 1;if(typeof u.score=="number"&&typeof C.score!="number")return-1;if(typeof u.score=="number"&&typeof C.score=="number"){if(u.score>C.score)return-1;if(u.scoreC.index?1:0}compareByKindAndScore(u,C){const f=a[u.kind]||l,h=a[C.kind]||l,v=f.localeCompare(h);return v===0?this.compareByScore(u,C):v}async getDocumentSymbols(u,C){const f=await this._outlineModelService.getOrCreate(u,C);return C.isCancellationRequested?[]:f.asListOfDocumentSymbols()}};e.AbstractGotoSymbolQuickAccessProvider=c,e.AbstractGotoSymbolQuickAccessProvider=c=g=ke([ce(0,i.ILanguageFeaturesService),ce(1,n.IOutlineModelService)],c);const l=(0,t.localize)(1207,"properties ({0})"),a={5:(0,t.localize)(1208,"methods ({0})"),11:(0,t.localize)(1209,"functions ({0})"),8:(0,t.localize)(1210,"constructors ({0})"),12:(0,t.localize)(1211,"variables ({0})"),4:(0,t.localize)(1212,"classes ({0})"),22:(0,t.localize)(1213,"structs ({0})"),23:(0,t.localize)(1214,"events ({0})"),24:(0,t.localize)(1215,"operators ({0})"),10:(0,t.localize)(1216,"interfaces ({0})"),2:(0,t.localize)(1217,"namespaces ({0})"),3:(0,t.localize)(1218,"packages ({0})"),25:(0,t.localize)(1219,"type parameters ({0})"),1:(0,t.localize)(1220,"modules ({0})"),6:(0,t.localize)(1221,"properties ({0})"),9:(0,t.localize)(1222,"enumerations ({0})"),21:(0,t.localize)(1223,"enumeration members ({0})"),14:(0,t.localize)(1224,"strings ({0})"),0:(0,t.localize)(1225,"files ({0})"),17:(0,t.localize)(1226,"arrays ({0})"),15:(0,t.localize)(1227,"numbers ({0})"),16:(0,t.localize)(1228,"booleans ({0})"),18:(0,t.localize)(1229,"objects ({0})"),19:(0,t.localize)(1230,"keys ({0})"),7:(0,t.localize)(1231,"fields ({0})"),13:(0,t.localize)(1232,"constants ({0})")}}),define(ne[789],se([1,0,5,47,46,81,44,114,115,13,14,18,26,6,2,54,19,74,9,4,27,3,12,31,62,110,32,25,529]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r,u,C,f,h,v,w,S){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.RenameWidget=e.CONTEXT_RENAME_INPUT_FOCUSED=e.CONTEXT_RENAME_INPUT_VISIBLE=void 0;const L=!1;e.CONTEXT_RENAME_INPUT_VISIBLE=new C.RawContextKey("renameInputVisible",!1,u.localize(1246,"Whether the rename input widget is visible")),e.CONTEXT_RENAME_INPUT_FOCUSED=new C.RawContextKey("renameInputFocused",!1,u.localize(1247,"Whether the rename input widget is focused"));let D=class{constructor(N,O,F,x,W,V){this._editor=N,this._acceptKeybindings=O,this._themeService=F,this._keybindingService=x,this._logService=V,this.allowEditorOverflow=!0,this._disposables=new i.DisposableStore,this._visibleContextKey=e.CONTEXT_RENAME_INPUT_VISIBLE.bindTo(W),this._isEditingRenameCandidate=!1,this._nRenameSuggestionsInvocations=0,this._hadAutomaticRenameSuggestionsInvocation=!1,this._candidates=new Set,this._beforeFirstInputFieldEditSW=new s.StopWatch,this._inputWithButton=new M,this._disposables.add(this._inputWithButton),this._editor.addContentWidget(this),this._disposables.add(this._editor.onDidChangeConfiguration(q=>{q.hasChanged(50)&&this._updateFont()})),this._disposables.add(F.onDidColorThemeChange(this._updateStyles,this))}dispose(){this._disposables.dispose(),this._editor.removeContentWidget(this)}getId(){return"__renameInputWidget"}getDomNode(){return this._domNode||(this._domNode=document.createElement("div"),this._domNode.className="monaco-editor rename-box",this._domNode.appendChild(this._inputWithButton.domNode),this._renameCandidateListView=this._disposables.add(new T(this._domNode,{fontInfo:this._editor.getOption(50),onFocusChange:N=>{this._inputWithButton.input.value=N,this._isEditingRenameCandidate=!1},onSelectionChange:()=>{this._isEditingRenameCandidate=!1,this.acceptInput(!1)}})),this._disposables.add(this._inputWithButton.onDidInputChange(()=>{this._renameCandidateListView?.focusedCandidate!==void 0&&(this._isEditingRenameCandidate=!0),this._timeBeforeFirstInputFieldEdit??=this._beforeFirstInputFieldEditSW.elapsed(),this._renameCandidateProvidersCts?.token.isCancellationRequested===!1&&this._renameCandidateProvidersCts.cancel(),this._renameCandidateListView?.clearFocus()})),this._label=document.createElement("div"),this._label.className="rename-label",this._domNode.appendChild(this._label),this._updateFont(),this._updateStyles(this._themeService.getColorTheme())),this._domNode}_updateStyles(N){if(!this._domNode)return;const O=N.getColor(w.widgetShadow),F=N.getColor(w.widgetBorder);this._domNode.style.backgroundColor=String(N.getColor(w.editorWidgetBackground)??""),this._domNode.style.boxShadow=O?` 0 0 8px 2px ${O}`:"",this._domNode.style.border=F?`1px solid ${F}`:"",this._domNode.style.color=String(N.getColor(w.inputForeground)??"");const x=N.getColor(w.inputBorder);this._inputWithButton.domNode.style.backgroundColor=String(N.getColor(w.inputBackground)??""),this._inputWithButton.input.style.backgroundColor=String(N.getColor(w.inputBackground)??""),this._inputWithButton.domNode.style.borderWidth=x?"1px":"0px",this._inputWithButton.domNode.style.borderStyle=x?"solid":"none",this._inputWithButton.domNode.style.borderColor=x?.toString()??"none"}_updateFont(){if(this._domNode===void 0)return;(0,g.assertType)(this._label!==void 0,"RenameWidget#_updateFont: _label must not be undefined given _domNode is defined"),this._editor.applyFontInfo(this._inputWithButton.input);const N=this._editor.getOption(50);this._label.style.fontSize=`${this._computeLabelFontSize(N.fontSize)}px`}_computeLabelFontSize(N){return N*.8}getPosition(){if(!this._visible||!this._editor.hasModel()||!this._editor.getDomNode())return null;const N=d.getClientArea(this.getDomNode().ownerDocument.body),O=d.getDomNodePagePosition(this._editor.getDomNode()),F=this._getTopForPosition();this._nPxAvailableAbove=F+O.top,this._nPxAvailableBelow=N.height-this._nPxAvailableAbove;const x=this._editor.getOption(67),{totalHeight:W}=A.getLayoutInfo({lineHeight:x}),V=this._nPxAvailableBelow>W*6?[2,1]:[1,2];return{position:this._position,preference:V}}beforeRender(){const[N,O]=this._acceptKeybindings;return this._label.innerText=u.localize(1248,"{0} to Rename, {1} to Preview",this._keybindingService.lookupKeybinding(N)?.getLabel(),this._keybindingService.lookupKeybinding(O)?.getLabel()),this._domNode.style.minWidth="200px",null}afterRender(N){if(N===null){this.cancelInput(!0,"afterRender (because position is null)");return}if(!this._editor.hasModel()||!this._editor.getDomNode())return;(0,g.assertType)(this._renameCandidateListView),(0,g.assertType)(this._nPxAvailableAbove!==void 0),(0,g.assertType)(this._nPxAvailableBelow!==void 0);const O=d.getTotalHeight(this._inputWithButton.domNode),F=d.getTotalHeight(this._label);let x;N===2?x=this._nPxAvailableBelow:x=this._nPxAvailableAbove,this._renameCandidateListView.layout({height:x-F-O,width:d.getTotalWidth(this._inputWithButton.domNode)})}acceptInput(N){this._trace("invoking acceptInput"),this._currentAcceptInput?.(N)}cancelInput(N,O){this._currentCancelInput?.(N)}focusNextRenameSuggestion(){this._renameCandidateListView?.focusNext()||(this._inputWithButton.input.value=this._currentName)}focusPreviousRenameSuggestion(){this._renameCandidateListView?.focusPrevious()||(this._inputWithButton.input.value=this._currentName)}getInput(N,O,F,x,W){const{start:V,end:q}=this._getSelection(N,O);this._renameCts=W;const H=new i.DisposableStore;this._nRenameSuggestionsInvocations=0,this._hadAutomaticRenameSuggestionsInvocation=!1,x===void 0?this._inputWithButton.button.style.display="none":(this._inputWithButton.button.style.display="flex",this._requestRenameCandidatesOnce=x,this._requestRenameCandidates(O,!1),H.add(d.addDisposableListener(this._inputWithButton.button,"click",()=>this._requestRenameCandidates(O,!0))),H.add(d.addDisposableListener(this._inputWithButton.button,d.EventType.KEY_DOWN,U=>{const j=new k.StandardKeyboardEvent(U);(j.equals(3)||j.equals(10))&&(j.stopPropagation(),j.preventDefault(),this._requestRenameCandidates(O,!0))}))),this._isEditingRenameCandidate=!1,this._domNode.classList.toggle("preview",F),this._position=new l.Position(N.startLineNumber,N.startColumn),this._currentName=O,this._inputWithButton.input.value=O,this._inputWithButton.input.setAttribute("selectionStart",V.toString()),this._inputWithButton.input.setAttribute("selectionEnd",q.toString()),this._inputWithButton.input.size=Math.max((N.endColumn-N.startColumn)*1.1,20),this._beforeFirstInputFieldEditSW.reset(),H.add((0,i.toDisposable)(()=>{this._renameCts=void 0,W.dispose(!0)})),H.add((0,i.toDisposable)(()=>{this._renameCandidateProvidersCts!==void 0&&(this._renameCandidateProvidersCts.dispose(!0),this._renameCandidateProvidersCts=void 0)})),H.add((0,i.toDisposable)(()=>this._candidates.clear()));const z=new p.DeferredPromise;return z.p.finally(()=>{H.dispose(),this._hide()}),this._currentCancelInput=U=>(this._trace("invoking _currentCancelInput"),this._currentAcceptInput=void 0,this._currentCancelInput=void 0,this._renameCandidateListView?.clearCandidates(),z.complete(U),!0),this._currentAcceptInput=U=>{this._trace("invoking _currentAcceptInput"),(0,g.assertType)(this._renameCandidateListView!==void 0);const j=this._renameCandidateListView.nCandidates;let Q,G;const K=this._renameCandidateListView.focusedCandidate;if(K!==void 0?(this._trace("using new name from renameSuggestion"),Q=K,G={k:"renameSuggestion"}):(this._trace("using new name from inputField"),Q=this._inputWithButton.input.value,G=this._isEditingRenameCandidate?{k:"userEditedRenameSuggestion"}:{k:"inputField"}),Q===O||Q.trim().length===0){this.cancelInput(!0,"_currentAcceptInput (because newName === value || newName.trim().length === 0)");return}this._currentAcceptInput=void 0,this._currentCancelInput=void 0,this._renameCandidateListView.clearCandidates(),z.complete({newName:Q,wantsPreview:F&&U,stats:{source:G,nRenameSuggestions:j,timeBeforeFirstInputFieldEdit:this._timeBeforeFirstInputFieldEdit,nRenameSuggestionsInvocations:this._nRenameSuggestionsInvocations,hadAutomaticRenameSuggestionsInvocation:this._hadAutomaticRenameSuggestionsInvocation}})},H.add(W.token.onCancellationRequested(()=>this.cancelInput(!0,"cts.token.onCancellationRequested"))),L||H.add(this._editor.onDidBlurEditorWidget(()=>this.cancelInput(!this._domNode?.ownerDocument.hasFocus(),"editor.onDidBlurEditorWidget"))),this._show(),z.p}_requestRenameCandidates(N,O){if(this._requestRenameCandidatesOnce!==void 0&&(this._renameCandidateProvidersCts!==void 0&&this._renameCandidateProvidersCts.dispose(!0),(0,g.assertType)(this._renameCts),this._inputWithButton.buttonState!=="stop")){this._renameCandidateProvidersCts=new n.CancellationTokenSource;const F=O?r.NewSymbolNameTriggerKind.Invoke:r.NewSymbolNameTriggerKind.Automatic,x=this._requestRenameCandidatesOnce(F,this._renameCandidateProvidersCts.token);if(x.length===0){this._inputWithButton.setSparkleButton();return}O||(this._hadAutomaticRenameSuggestionsInvocation=!0),this._nRenameSuggestionsInvocations+=1,this._inputWithButton.setStopButton(),this._updateRenameCandidates(x,N,this._renameCts.token)}}_getSelection(N,O){(0,g.assertType)(this._editor.hasModel());const F=this._editor.getSelection();let x=0,W=O.length;return!a.Range.isEmpty(F)&&!a.Range.spansMultipleLines(F)&&a.Range.containsRange(N,F)&&(x=Math.max(0,F.startColumn-N.startColumn),W=Math.min(N.endColumn,F.endColumn)-N.startColumn),{start:x,end:W}}_show(){this._trace("invoking _show"),this._editor.revealLineInCenterIfOutsideViewport(this._position.lineNumber,0),this._visible=!0,this._visibleContextKey.set(!0),this._editor.layoutContentWidget(this),setTimeout(()=>{this._inputWithButton.input.focus(),this._inputWithButton.input.setSelectionRange(parseInt(this._inputWithButton.input.getAttribute("selectionStart")),parseInt(this._inputWithButton.input.getAttribute("selectionEnd")))},100)}async _updateRenameCandidates(N,O,F){const x=(...z)=>this._trace("_updateRenameCandidates",...z);x("start");const W=await(0,p.raceCancellation)(Promise.allSettled(N),F);if(this._inputWithButton.setSparkleButton(),W===void 0){x("returning early - received updateRenameCandidates results - undefined");return}const V=W.flatMap(z=>z.status==="fulfilled"&&(0,g.isDefined)(z.value)?z.value:[]);x(`received updateRenameCandidates results - total (unfiltered) ${V.length} candidates.`);const q=b.distinct(V,z=>z.newSymbolName);x(`distinct candidates - ${q.length} candidates.`);const H=q.filter(({newSymbolName:z})=>z.trim().length>0&&z!==this._inputWithButton.input.value&&z!==O&&!this._candidates.has(z));if(x(`valid distinct candidates - ${V.length} candidates.`),H.forEach(z=>this._candidates.add(z.newSymbolName)),H.length<1){x("returning early - no valid distinct candidates");return}x("setting candidates"),this._renameCandidateListView.setCandidates(H),x("asking editor to re-layout"),this._editor.layoutContentWidget(this)}_hide(){this._trace("invoked _hide"),this._visible=!1,this._visibleContextKey.reset(),this._editor.layoutContentWidget(this)}_getTopForPosition(){const N=this._editor.getVisibleRanges();let O;return N.length>0?O=N[0].startLineNumber:(this._logService.warn("RenameWidget#_getTopForPosition: this should not happen - visibleRanges is empty"),O=Math.max(1,this._position.lineNumber-5)),this._editor.getTopForLineNumber(this._position.lineNumber)-this._editor.getTopForLineNumber(O)}_trace(...N){this._logService.trace("RenameWidget",...N)}};e.RenameWidget=D,e.RenameWidget=D=ke([ce(2,S.IThemeService),ce(3,f.IKeybindingService),ce(4,C.IContextKeyService),ce(5,h.ILogService)],D);class T{constructor(N,O){this._disposables=new i.DisposableStore,this._availableHeight=0,this._minimumWidth=0,this._lineHeight=O.fontInfo.lineHeight,this._typicalHalfwidthCharacterWidth=O.fontInfo.typicalHalfwidthCharacterWidth,this._listContainer=document.createElement("div"),this._listContainer.className="rename-box rename-candidate-list-container",N.appendChild(this._listContainer),this._listWidget=T._createListWidget(this._listContainer,this._candidateViewHeight,O.fontInfo),this._listWidget.onDidChangeFocus(F=>{F.elements.length===1&&O.onFocusChange(F.elements[0].newSymbolName)},this._disposables),this._listWidget.onDidChangeSelection(F=>{F.elements.length===1&&O.onSelectionChange()},this._disposables),this._disposables.add(this._listWidget.onDidBlur(F=>{this._listWidget.setFocus([])})),this._listWidget.style((0,v.getListStyles)({listInactiveFocusForeground:w.quickInputListFocusForeground,listInactiveFocusBackground:w.quickInputListFocusBackground}))}dispose(){this._listWidget.dispose(),this._disposables.dispose()}layout({height:N,width:O}){this._availableHeight=N,this._minimumWidth=O}setCandidates(N){this._listWidget.splice(0,0,N);const O=this._pickListHeight(this._listWidget.length),F=this._pickListWidth(N);this._listWidget.layout(O,F),this._listContainer.style.height=`${O}px`,this._listContainer.style.width=`${F}px`,I.status(u.localize(1249,"Received {0} rename suggestions",N.length))}clearCandidates(){this._listContainer.style.height="0px",this._listContainer.style.width="0px",this._listWidget.splice(0,this._listWidget.length,[])}get nCandidates(){return this._listWidget.length}get focusedCandidate(){if(this._listWidget.length===0)return;const N=this._listWidget.getSelectedElements()[0];if(N!==void 0)return N.newSymbolName;const O=this._listWidget.getFocusedElements()[0];if(O!==void 0)return O.newSymbolName}focusNext(){if(this._listWidget.length===0)return!1;const N=this._listWidget.getFocus();if(N.length===0)return this._listWidget.focusFirst(),this._listWidget.reveal(0),!0;if(N[0]===this._listWidget.length-1)return this._listWidget.setFocus([]),this._listWidget.reveal(0),!1;{this._listWidget.focusNext();const O=this._listWidget.getFocus()[0];return this._listWidget.reveal(O),!0}}focusPrevious(){if(this._listWidget.length===0)return!1;const N=this._listWidget.getFocus();if(N.length===0){this._listWidget.focusLast();const O=this._listWidget.getFocus()[0];return this._listWidget.reveal(O),!0}else{if(N[0]===0)return this._listWidget.setFocus([]),!1;{this._listWidget.focusPrevious();const O=this._listWidget.getFocus()[0];return this._listWidget.reveal(O),!0}}}clearFocus(){this._listWidget.setFocus([])}get _candidateViewHeight(){const{totalHeight:N}=A.getLayoutInfo({lineHeight:this._lineHeight});return N}_pickListHeight(N){const O=this._candidateViewHeight*N;return Math.min(O,this._availableHeight,this._candidateViewHeight*7)}_pickListWidth(N){const O=Math.ceil(Math.max(...N.map(x=>x.newSymbolName.length))*this._typicalHalfwidthCharacterWidth);return Math.max(this._minimumWidth,25+O+10)}static _createListWidget(N,O,F){const x=new class{getTemplateId(V){return"candidate"}getHeight(V){return O}},W=new class{constructor(){this.templateId="candidate"}renderTemplate(V){return new A(V,F)}renderElement(V,q,H){H.populate(V)}disposeTemplate(V){V.dispose()}};return new _.List("NewSymbolNameCandidates",N,x,[W],{keyboardSupport:!1,mouseSupport:!0,multipleSelectionSupport:!1})}}class M{constructor(){this._onDidInputChange=new t.Emitter,this.onDidInputChange=this._onDidInputChange.event,this._disposables=new i.DisposableStore}get domNode(){return this._domNode||(this._domNode=document.createElement("div"),this._domNode.className="rename-input-with-button",this._domNode.style.display="flex",this._domNode.style.flexDirection="row",this._domNode.style.alignItems="center",this._inputNode=document.createElement("input"),this._inputNode.className="rename-input",this._inputNode.type="text",this._inputNode.style.border="none",this._inputNode.setAttribute("aria-label",u.localize(1250,"Rename input. Type new name and press Enter to commit.")),this._domNode.appendChild(this._inputNode),this._buttonNode=document.createElement("div"),this._buttonNode.className="rename-suggestions-button",this._buttonNode.setAttribute("tabindex","0"),this._buttonGenHoverText=u.localize(1251,"Generate new name suggestions"),this._buttonCancelHoverText=u.localize(1252,"Cancel"),this._buttonHover=(0,E.getBaseLayerHoverDelegate)().setupManagedHover((0,y.getDefaultHoverDelegate)("element"),this._buttonNode,this._buttonGenHoverText),this._disposables.add(this._buttonHover),this._domNode.appendChild(this._buttonNode),this._disposables.add(d.addDisposableListener(this.input,d.EventType.INPUT,()=>this._onDidInputChange.fire())),this._disposables.add(d.addDisposableListener(this.input,d.EventType.KEY_DOWN,N=>{const O=new k.StandardKeyboardEvent(N);(O.keyCode===15||O.keyCode===17)&&this._onDidInputChange.fire()})),this._disposables.add(d.addDisposableListener(this.input,d.EventType.CLICK,()=>this._onDidInputChange.fire())),this._disposables.add(d.addDisposableListener(this.input,d.EventType.FOCUS,()=>{this.domNode.style.outlineWidth="1px",this.domNode.style.outlineStyle="solid",this.domNode.style.outlineOffset="-1px",this.domNode.style.outlineColor="var(--vscode-focusBorder)"})),this._disposables.add(d.addDisposableListener(this.input,d.EventType.BLUR,()=>{this.domNode.style.outline="none"}))),this._domNode}get input(){return(0,g.assertType)(this._inputNode),this._inputNode}get button(){return(0,g.assertType)(this._buttonNode),this._buttonNode}get buttonState(){return this._buttonState}setSparkleButton(){this._buttonState="sparkle",this._sparkleIcon??=(0,m.renderIcon)(o.Codicon.sparkle),d.clearNode(this.button),this.button.appendChild(this._sparkleIcon),this.button.setAttribute("aria-label","Generating new name suggestions"),this._buttonHover?.update(this._buttonGenHoverText),this.input.focus()}setStopButton(){this._buttonState="stop",this._stopIcon??=(0,m.renderIcon)(o.Codicon.primitiveSquare),d.clearNode(this.button),this.button.appendChild(this._stopIcon),this.button.setAttribute("aria-label","Cancel generating new name suggestions"),this._buttonHover?.update(this._buttonCancelHoverText),this.input.focus()}dispose(){this._disposables.dispose()}}class A{static{this._PADDING=2}constructor(N,O){this._domNode=document.createElement("div"),this._domNode.className="rename-box rename-candidate",this._domNode.style.display="flex",this._domNode.style.columnGap="5px",this._domNode.style.alignItems="center",this._domNode.style.height=`${O.lineHeight}px`,this._domNode.style.padding=`${A._PADDING}px`;const F=document.createElement("div");F.style.display="flex",F.style.alignItems="center",F.style.width=F.style.height=`${O.lineHeight*.8}px`,this._domNode.appendChild(F),this._icon=(0,m.renderIcon)(o.Codicon.sparkle),this._icon.style.display="none",F.appendChild(this._icon),this._label=document.createElement("div"),c.applyFontInfo(this._label,O),this._domNode.appendChild(this._label),N.appendChild(this._domNode)}populate(N){this._updateIcon(N),this._updateLabel(N)}_updateIcon(N){const O=!!N.tags?.includes(r.NewSymbolNameTag.AIGenerated);this._icon.style.display=O?"inherit":"none"}_updateLabel(N){this._label.innerText=N.newSymbolName}static getLayoutInfo({lineHeight:N}){return{totalHeight:N+A._PADDING*2}}dispose(){}}}),define(ne[790],se([1,0,46,14,18,8,57,2,19,22,15,152,34,9,4,20,27,17,211,122,184,3,29,109,12,7,62,50,96,38,63,789]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r,u,C,f,h,v,w,S,L,D,T,M){"use strict";var A;Object.defineProperty(e,"__esModule",{value:!0}),e.RenameAction=void 0,e.rename=N;class P{constructor(V,q,H){this.model=V,this.position=q,this._providerRenameIdx=0,this._providers=H.ordered(V)}hasProvider(){return this._providers.length>0}async resolveRenameLocation(V){const q=[];for(this._providerRenameIdx=0;this._providerRenameIdx0?q.join(` +`):void 0}:{range:i.Range.fromPositions(this.position),text:"",rejectReason:q.length>0?q.join(` +`):void 0}}async provideRenameEdits(V,q){return this._provideRenameEdits(V,this._providerRenameIdx,[],q)}async _provideRenameEdits(V,q,H,z){const U=this._providers[q];if(!U)return{edits:[],rejectReason:H.join(` +`)};const j=await U.provideRenameEdits(this.model,this.position,V,z);if(j){if(j.rejectReason)return this._provideRenameEdits(V,q+1,H.concat(j.rejectReason),z)}else return this._provideRenameEdits(V,q+1,H.concat(u.localize(1235,"No result.")),z);return j}}async function N(W,V,q,H){const z=new P(V,q,W),U=await z.resolveRenameLocation(I.CancellationToken.None);return U?.rejectReason?{edits:[],rejectReason:U.rejectReason}:z.provideRenameEdits(H,I.CancellationToken.None)}let O=class{static{A=this}static{this.ID="editor.contrib.renameController"}static get(V){return V.getContribution(A.ID)}constructor(V,q,H,z,U,j,Q,G,K){this.editor=V,this._instaService=q,this._notificationService=H,this._bulkEditService=z,this._progressService=U,this._logService=j,this._configService=Q,this._languageFeaturesService=G,this._telemetryService=K,this._disposableStore=new m.DisposableStore,this._cts=new I.CancellationTokenSource,this._renameWidget=this._disposableStore.add(this._instaService.createInstance(M.RenameWidget,this.editor,["acceptRenameInput","acceptRenameInputWithPreview"]))}dispose(){this._disposableStore.dispose(),this._cts.dispose(!0)}async run(){const V=this._logService.trace.bind(this._logService,"[rename]");if(this._cts.dispose(!0),this._cts=new I.CancellationTokenSource,!this.editor.hasModel()){V("editor has no model");return}const q=this.editor.getPosition(),H=new P(this.editor.getModel(),q,this._languageFeaturesService.renameProvider);if(!H.hasProvider()){V("skeleton has no provider");return}const z=new a.EditorStateCancellationTokenSource(this.editor,5,void 0,this._cts.token);let U;try{V("resolving rename location");const he=H.resolveRenameLocation(z.token);this._progressService.showWhile(he,250),U=await he,V("resolved rename location")}catch(he){he instanceof E.CancellationError?V("resolve rename location cancelled",JSON.stringify(he,null," ")):(V("resolve rename location failed",he instanceof Error?he:JSON.stringify(he,null," ")),(typeof he=="string"||(0,y.isMarkdownString)(he))&&r.MessageController.get(this.editor)?.showMessage(he||u.localize(1236,"An unknown error occurred while resolving rename location"),q));return}finally{z.dispose()}if(!U){V("returning early - no loc");return}if(U.rejectReason){V(`returning early - rejected with reason: ${U.rejectReason}`,U.rejectReason),r.MessageController.get(this.editor)?.showMessage(U.rejectReason,q);return}if(z.token.isCancellationRequested){V("returning early - cts1 cancelled");return}const j=new a.EditorStateCancellationTokenSource(this.editor,5,U.range,this._cts.token),Q=this.editor.getModel(),G=this._languageFeaturesService.newSymbolNamesProvider.all(Q),K=await Promise.all(G.map(async he=>[he,await he.supportsAutomaticNewSymbolNamesTriggerKind??!1])),R=(he,pe)=>{let ae=K.slice();return he===g.NewSymbolNameTriggerKind.Automatic&&(ae=ae.filter(([ee,de])=>de)),ae.map(([ee])=>ee.provideNewSymbolNames(Q,U.range,he,pe))};V("creating rename input field and awaiting its result");const J=this._bulkEditService.hasPreviewHandler()&&this._configService.getValue(this.editor.getModel().uri,"editor.rename.enablePreview"),ie=await this._renameWidget.getInput(U.range,U.text,J,G.length>0?R:void 0,j);if(V("received response from rename input field"),G.length>0&&this._reportTelemetry(G.length,Q.getLanguageId(),ie),typeof ie=="boolean"){V(`returning early - rename input field response - ${ie}`),ie&&this.editor.focus(),j.dispose();return}this.editor.focus(),V("requesting rename edits");const ue=(0,k.raceCancellation)(H.provideRenameEdits(ie.newName,j.token),j.token).then(async he=>{if(!he){V("returning early - no rename edits result");return}if(!this.editor.hasModel()){V("returning early - no model after rename edits are provided");return}if(he.rejectReason){V(`returning early - rejected with reason: ${he.rejectReason}`),this._notificationService.info(he.rejectReason);return}this.editor.setSelection(i.Range.fromPositions(this.editor.getSelection().getPosition())),V("applying edits"),this._bulkEditService.apply(he,{editor:this.editor,showPreview:ie.wantsPreview,label:u.localize(1237,"Renaming '{0}' to '{1}'",U?.text,ie.newName),code:"undoredo.rename",quotableLabel:u.localize(1238,"Renaming {0} to {1}",U?.text,ie.newName),respectAutoSaveConfig:!0}).then(pe=>{V("edits applied"),pe.ariaSummary&&(0,d.alert)(u.localize(1239,"Successfully renamed '{0}' to '{1}'. Summary: {2}",U.text,ie.newName,pe.ariaSummary))}).catch(pe=>{V(`error when applying edits ${JSON.stringify(pe,null," ")}`),this._notificationService.error(u.localize(1240,"Rename failed to apply edits")),this._logService.error(pe)})},he=>{V("error when providing rename edits",JSON.stringify(he,null," ")),this._notificationService.error(u.localize(1241,"Rename failed to compute edits")),this._logService.error(he)}).finally(()=>{j.dispose()});return V("returning rename operation"),this._progressService.showWhile(ue,250),ue}acceptRenameInput(V){this._renameWidget.acceptInput(V)}cancelRenameInput(){this._renameWidget.cancelInput(!0,"cancelRenameInput command")}focusNextRenameSuggestion(){this._renameWidget.focusNextRenameSuggestion()}focusPreviousRenameSuggestion(){this._renameWidget.focusPreviousRenameSuggestion()}_reportTelemetry(V,q,H){const z=typeof H=="boolean"?{kind:"cancelled",languageId:q,nRenameSuggestionProviders:V}:{kind:"accepted",languageId:q,nRenameSuggestionProviders:V,source:H.stats.source.k,nRenameSuggestions:H.stats.nRenameSuggestions,timeBeforeFirstInputFieldEdit:H.stats.timeBeforeFirstInputFieldEdit,wantsPreview:H.wantsPreview,nRenameSuggestionsInvocations:H.stats.nRenameSuggestionsInvocations,hadAutomaticRenameSuggestionsInvocation:H.stats.hadAutomaticRenameSuggestionsInvocation};this._telemetryService.publicLog2("renameInvokedEvent",z)}};O=A=ke([ce(1,v.IInstantiationService),ce(2,S.INotificationService),ce(3,n.IBulkEditService),ce(4,L.IEditorProgressService),ce(5,w.ILogService),ce(6,l.ITextResourceConfigurationService),ce(7,c.ILanguageFeaturesService),ce(8,T.ITelemetryService)],O);class F extends p.EditorAction{constructor(){super({id:"editor.action.rename",label:u.localize(1242,"Rename Symbol"),alias:"Rename Symbol",precondition:h.ContextKeyExpr.and(s.EditorContextKeys.writable,s.EditorContextKeys.hasRenameProvider),kbOpts:{kbExpr:s.EditorContextKeys.editorTextFocus,primary:60,weight:100},contextMenuOpts:{group:"1_modification",order:1.1}})}runCommand(V,q){const H=V.get(o.ICodeEditorService),[z,U]=Array.isArray(q)&&q||[void 0,void 0];return b.URI.isUri(z)&&t.Position.isIPosition(U)?H.openCodeEditor({resource:z},H.getActiveCodeEditor()).then(j=>{j&&(j.setPosition(U),j.invokeWithinContext(Q=>(this.reportTelemetry(Q,j),this.run(Q,j))))},E.onUnexpectedError):super.runCommand(V,q)}run(V,q){const H=V.get(w.ILogService),z=O.get(q);return z?(H.trace("[RenameAction] got controller, running..."),z.run()):(H.trace("[RenameAction] returning early - controller missing"),Promise.resolve())}}e.RenameAction=F,(0,p.registerEditorContribution)(O.ID,O,4),(0,p.registerEditorAction)(F);const x=p.EditorCommand.bindToContribution(O.get);(0,p.registerEditorCommand)(new x({id:"acceptRenameInput",precondition:M.CONTEXT_RENAME_INPUT_VISIBLE,handler:W=>W.acceptRenameInput(!1),kbOpts:{weight:199,kbExpr:h.ContextKeyExpr.and(s.EditorContextKeys.focus,h.ContextKeyExpr.not("isComposing")),primary:3}})),(0,p.registerEditorCommand)(new x({id:"acceptRenameInputWithPreview",precondition:h.ContextKeyExpr.and(M.CONTEXT_RENAME_INPUT_VISIBLE,h.ContextKeyExpr.has("config.editor.rename.enablePreview")),handler:W=>W.acceptRenameInput(!0),kbOpts:{weight:199,kbExpr:h.ContextKeyExpr.and(s.EditorContextKeys.focus,h.ContextKeyExpr.not("isComposing")),primary:2051}})),(0,p.registerEditorCommand)(new x({id:"cancelRenameInput",precondition:M.CONTEXT_RENAME_INPUT_VISIBLE,handler:W=>W.cancelRenameInput(),kbOpts:{weight:199,kbExpr:s.EditorContextKeys.focus,primary:9,secondary:[1033]}})),(0,C.registerAction2)(class extends C.Action2{constructor(){super({id:"focusNextRenameSuggestion",title:{...u.localize2(1244,"Focus Next Rename Suggestion")},precondition:M.CONTEXT_RENAME_INPUT_VISIBLE,keybinding:[{primary:18,weight:199}]})}run(V){const q=V.get(o.ICodeEditorService).getFocusedCodeEditor();if(!q)return;const H=O.get(q);H&&H.focusNextRenameSuggestion()}}),(0,C.registerAction2)(class extends C.Action2{constructor(){super({id:"focusPreviousRenameSuggestion",title:{...u.localize2(1245,"Focus Previous Rename Suggestion")},precondition:M.CONTEXT_RENAME_INPUT_VISIBLE,keybinding:[{primary:16,weight:199}]})}run(V){const q=V.get(o.ICodeEditorService).getFocusedCodeEditor();if(!q)return;const H=O.get(q);H&&H.focusPreviousRenameSuggestion()}}),(0,p.registerModelAndPositionCommand)("_executeDocumentRenameProvider",function(W,V,q,...H){const[z]=H;(0,_.assertType)(typeof z=="string");const{renameProvider:U}=W.get(c.ILanguageFeaturesService);return N(U,V,q,z)}),(0,p.registerModelAndPositionCommand)("_executePrepareRename",async function(W,V,q){const{renameProvider:H}=W.get(c.ILanguageFeaturesService),U=await new P(V,q,H).resolveRenameLocation(I.CancellationToken.None);if(U?.rejectReason)throw new Error(U.rejectReason);return U}),D.Registry.as(f.Extensions.Configuration).registerConfiguration({id:"editor",properties:{"editor.rename.enablePreview":{scope:5,description:u.localize(1243,"Enable/disable the ability to preview changes before renaming"),default:!0,type:"boolean"}}})}),define(ne[791],se([1,0,2,8,51,28,14,18,25,282,387,79,54,17,267,130,339]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g){"use strict";var c;Object.defineProperty(e,"__esModule",{value:!0}),e.DocumentSemanticTokensFeature=void 0;let l=class extends d.Disposable{constructor(C,f,h,v,w,S){super(),this._watchers=Object.create(null);const L=M=>{this._watchers[M.uri.toString()]=new a(M,C,h,w,S)},D=(M,A)=>{A.dispose(),delete this._watchers[M.uri.toString()]},T=()=>{for(const M of f.getModels()){const A=this._watchers[M.uri.toString()];(0,g.isSemanticColoringEnabled)(M,h,v)?A||L(M):A&&D(M,A)}};f.getModels().forEach(M=>{(0,g.isSemanticColoringEnabled)(M,h,v)&&L(M)}),this._register(f.onModelAdded(M=>{(0,g.isSemanticColoringEnabled)(M,h,v)&&L(M)})),this._register(f.onModelRemoved(M=>{const A=this._watchers[M.uri.toString()];A&&D(M,A)})),this._register(v.onDidChangeConfiguration(M=>{M.affectsConfiguration(g.SEMANTIC_HIGHLIGHTING_SETTING_ID)&&T()})),this._register(h.onDidColorThemeChange(T))}dispose(){for(const C of Object.values(this._watchers))C.dispose();super.dispose()}};e.DocumentSemanticTokensFeature=l,e.DocumentSemanticTokensFeature=l=ke([ce(0,i.ISemanticTokensStylingService),ce(1,I.IModelService),ce(2,_.IThemeService),ce(3,E.IConfigurationService),ce(4,n.ILanguageFeatureDebounceService),ce(5,t.ILanguageFeaturesService)],l);let a=class extends d.Disposable{static{c=this}static{this.REQUEST_MIN_DELAY=300}static{this.REQUEST_MAX_DELAY=2e3}constructor(C,f,h,v,w){super(),this._semanticTokensStylingService=f,this._isDisposed=!1,this._model=C,this._provider=w.documentSemanticTokensProvider,this._debounceInformation=v.for(this._provider,"DocumentSemanticTokens",{min:c.REQUEST_MIN_DELAY,max:c.REQUEST_MAX_DELAY}),this._fetchDocumentSemanticTokens=this._register(new y.RunOnceScheduler(()=>this._fetchDocumentSemanticTokensNow(),c.REQUEST_MIN_DELAY)),this._currentDocumentResponse=null,this._currentDocumentRequestCancellationTokenSource=null,this._documentProvidersChangeListeners=[],this._providersChangedDuringRequest=!1,this._register(this._model.onDidChangeContent(()=>{this._fetchDocumentSemanticTokens.isScheduled()||this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))})),this._register(this._model.onDidChangeAttached(()=>{this._fetchDocumentSemanticTokens.isScheduled()||this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))})),this._register(this._model.onDidChangeLanguage(()=>{this._currentDocumentResponse&&(this._currentDocumentResponse.dispose(),this._currentDocumentResponse=null),this._currentDocumentRequestCancellationTokenSource&&(this._currentDocumentRequestCancellationTokenSource.cancel(),this._currentDocumentRequestCancellationTokenSource=null),this._setDocumentSemanticTokens(null,null,null,[]),this._fetchDocumentSemanticTokens.schedule(0)}));const S=()=>{(0,d.dispose)(this._documentProvidersChangeListeners),this._documentProvidersChangeListeners=[];for(const L of this._provider.all(C))typeof L.onDidChange=="function"&&this._documentProvidersChangeListeners.push(L.onDidChange(()=>{if(this._currentDocumentRequestCancellationTokenSource){this._providersChangedDuringRequest=!0;return}this._fetchDocumentSemanticTokens.schedule(0)}))};S(),this._register(this._provider.onDidChange(()=>{S(),this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))})),this._register(h.onDidColorThemeChange(L=>{this._setDocumentSemanticTokens(null,null,null,[]),this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))})),this._fetchDocumentSemanticTokens.schedule(0)}dispose(){this._currentDocumentResponse&&(this._currentDocumentResponse.dispose(),this._currentDocumentResponse=null),this._currentDocumentRequestCancellationTokenSource&&(this._currentDocumentRequestCancellationTokenSource.cancel(),this._currentDocumentRequestCancellationTokenSource=null),(0,d.dispose)(this._documentProvidersChangeListeners),this._documentProvidersChangeListeners=[],this._setDocumentSemanticTokens(null,null,null,[]),this._isDisposed=!0,super.dispose()}_fetchDocumentSemanticTokensNow(){if(this._currentDocumentRequestCancellationTokenSource)return;if(!(0,p.hasDocumentSemanticTokensProvider)(this._provider,this._model)){this._currentDocumentResponse&&this._model.tokenization.setSemanticTokens(null,!1);return}if(!this._model.isAttachedToEditor())return;const C=new m.CancellationTokenSource,f=this._currentDocumentResponse?this._currentDocumentResponse.provider:null,h=this._currentDocumentResponse&&this._currentDocumentResponse.resultId||null,v=(0,p.getDocumentSemanticTokens)(this._provider,this._model,f,h,C.token);this._currentDocumentRequestCancellationTokenSource=C,this._providersChangedDuringRequest=!1;const w=[],S=this._model.onDidChangeContent(D=>{w.push(D)}),L=new o.StopWatch(!1);v.then(D=>{if(this._debounceInformation.update(this._model,L.elapsed()),this._currentDocumentRequestCancellationTokenSource=null,S.dispose(),!D)this._setDocumentSemanticTokens(null,null,null,w);else{const{provider:T,tokens:M}=D,A=this._semanticTokensStylingService.getStyling(T);this._setDocumentSemanticTokens(T,M||null,A,w)}},D=>{D&&(k.isCancellationError(D)||typeof D.message=="string"&&D.message.indexOf("busy")!==-1)||k.onUnexpectedError(D),this._currentDocumentRequestCancellationTokenSource=null,S.dispose(),(w.length>0||this._providersChangedDuringRequest)&&(this._fetchDocumentSemanticTokens.isScheduled()||this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model)))})}static _copy(C,f,h,v,w){w=Math.min(w,h.length-v,C.length-f);for(let S=0;S{(v.length>0||this._providersChangedDuringRequest)&&!this._fetchDocumentSemanticTokens.isScheduled()&&this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))};if(this._currentDocumentResponse&&(this._currentDocumentResponse.dispose(),this._currentDocumentResponse=null),this._isDisposed){C&&f&&C.releaseDocumentSemanticTokens(f.resultId);return}if(!C||!h){this._model.tokenization.setSemanticTokens(null,!1);return}if(!f){this._model.tokenization.setSemanticTokens(null,!0),S();return}if((0,p.isSemanticTokensEdits)(f)){if(!w){this._model.tokenization.setSemanticTokens(null,!0);return}if(f.edits.length===0)f={resultId:f.resultId,data:w.data};else{let L=0;for(const P of f.edits)L+=(P.data?P.data.length:0)-P.deleteCount;const D=w.data,T=new Uint32Array(D.length+L);let M=D.length,A=T.length;for(let P=f.edits.length-1;P>=0;P--){const N=f.edits[P];if(N.start>D.length){h.warnInvalidEditStart(w.resultId,f.resultId,P,N.start,D.length),this._model.tokenization.setSemanticTokens(null,!0);return}const O=M-(N.start+N.deleteCount);O>0&&(c._copy(D,M-O,T,A-O,O),A-=O),N.data&&(c._copy(N.data,0,T,A-N.data.length,N.data.length),A-=N.data.length),M=N.start}M>0&&c._copy(D,0,T,0,M),f={resultId:f.resultId,data:T}}}if((0,p.isSemanticTokens)(f)){this._currentDocumentResponse=new r(C,f.resultId,f.data);const L=(0,b.toMultilineTokens2)(f,h,this._model.getLanguageId());if(v.length>0)for(const D of v)for(const T of L)for(const M of D.changes)T.applyEdit(M.range,M.text);this._model.tokenization.setSemanticTokens(L,!0)}else this._model.tokenization.setSemanticTokens(null,!0);S()}};a=c=ke([ce(1,i.ISemanticTokensStylingService),ce(2,_.IThemeService),ce(3,n.ILanguageFeatureDebounceService),ce(4,t.ILanguageFeaturesService)],a);class r{constructor(C,f,h){this.provider=C,this.resultId=f,this.data=h}dispose(){this.provider.releaseDocumentSemanticTokens(this.resultId)}}(0,s.registerEditorFeature)(l)}),define(ne[792],se([1,0,14,2,15,387,339,282,28,25,79,54,17,267]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ViewportSemanticTokensContribution=void 0;let i=class extends k.Disposable{static{this.ID="editor.contrib.viewportSemanticTokens"}constructor(g,c,l,a,r,u){super(),this._semanticTokensStylingService=c,this._themeService=l,this._configurationService=a,this._editor=g,this._provider=u.documentRangeSemanticTokensProvider,this._debounceInformation=r.for(this._provider,"DocumentRangeSemanticTokens",{min:100,max:500}),this._tokenizeViewport=this._register(new d.RunOnceScheduler(()=>this._tokenizeViewportNow(),100)),this._outstandingRequests=[];const C=()=>{this._editor.hasModel()&&this._tokenizeViewport.schedule(this._debounceInformation.get(this._editor.getModel()))};this._register(this._editor.onDidScrollChange(()=>{C()})),this._register(this._editor.onDidChangeModel(()=>{this._cancelAll(),C()})),this._register(this._editor.onDidChangeModelContent(f=>{this._cancelAll(),C()})),this._register(this._provider.onDidChange(()=>{this._cancelAll(),C()})),this._register(this._configurationService.onDidChangeConfiguration(f=>{f.affectsConfiguration(y.SEMANTIC_HIGHLIGHTING_SETTING_ID)&&(this._cancelAll(),C())})),this._register(this._themeService.onDidColorThemeChange(()=>{this._cancelAll(),C()})),C()}_cancelAll(){for(const g of this._outstandingRequests)g.cancel();this._outstandingRequests=[]}_removeOutstandingRequest(g){for(let c=0,l=this._outstandingRequests.length;cthis._requestRange(g,l)))}_requestRange(g,c){const l=g.getVersionId(),a=(0,d.createCancelablePromise)(u=>Promise.resolve((0,E.getDocumentRangeSemanticTokens)(this._provider,g,c,u))),r=new n.StopWatch(!1);return a.then(u=>{if(this._debounceInformation.update(g,r.elapsed()),!u||!u.tokens||g.isDisposed()||g.getVersionId()!==l)return;const{provider:C,tokens:f}=u,h=this._semanticTokensStylingService.getStyling(C);g.tokenization.setPartialSemanticTokens(c,(0,m.toMultilineTokens2)(f,h,g.getLanguageId()))}).then(()=>this._removeOutstandingRequest(a),()=>this._removeOutstandingRequest(a)),a}};e.ViewportSemanticTokensContribution=i,e.ViewportSemanticTokensContribution=i=ke([ce(1,t.ISemanticTokensStylingService),ce(2,b.IThemeService),ce(3,_.IConfigurationService),ce(4,p.ILanguageFeatureDebounceService),ce(5,o.ILanguageFeaturesService)],i),(0,I.registerEditorContribution)(i.ID,i,1)}),define(ne[793],se([1,0,5,254,26,30,6,82,2,22,27,708,51,43,3,382,71,25,402]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ItemRenderer=void 0,e.getAriaId=a;function a(h){return`suggest-aria-id:${h}`}const r=(0,g.registerIcon)("suggest-more-info",I.Codicon.chevronRight,i.localize(1346,"Icon for more information in the suggest widget.")),u=new class Pt{static{this._regexRelaxed=/(#([\da-fA-F]{3}){1,2}|(rgb|hsl)a\(\s*(\d{1,3}%?\s*,\s*){3}(1|0?\.\d+)\)|(rgb|hsl)\(\s*\d{1,3}%?(\s*,\s*\d{1,3}%?){2}\s*\))/}static{this._regexStrict=new RegExp(`^${Pt._regexRelaxed.source}$`,"i")}extract(v,w){if(v.textLabel.match(Pt._regexStrict))return w[0]=v.textLabel,!0;if(v.completion.detail&&v.completion.detail.match(Pt._regexStrict))return w[0]=v.completion.detail,!0;if(v.completion.documentation){const S=typeof v.completion.documentation=="string"?v.completion.documentation:v.completion.documentation.value,L=Pt._regexRelaxed.exec(S);if(L&&(L.index===0||L.index+L[0].length===S.length))return w[0]=L[0],!0}return!1}};let C=class{constructor(v,w,S,L){this._editor=v,this._modelService=w,this._languageService=S,this._themeService=L,this._onDidToggleDetails=new y.Emitter,this.onDidToggleDetails=this._onDidToggleDetails.event,this.templateId="suggestion"}dispose(){this._onDidToggleDetails.dispose()}renderTemplate(v){const w=new _.DisposableStore,S=v;S.classList.add("show-file-icons");const L=(0,d.append)(v,(0,d.$)(".icon")),D=(0,d.append)(L,(0,d.$)("span.colorspan")),T=(0,d.append)(v,(0,d.$)(".contents")),M=(0,d.append)(T,(0,d.$)(".main")),A=(0,d.append)(M,(0,d.$)(".icon-label.codicon")),P=(0,d.append)(M,(0,d.$)("span.left")),N=(0,d.append)(M,(0,d.$)("span.right")),O=new k.IconLabel(P,{supportHighlights:!0,supportIcons:!0});w.add(O);const F=(0,d.append)(P,(0,d.$)("span.signature-label")),x=(0,d.append)(P,(0,d.$)("span.qualifier-label")),W=(0,d.append)(N,(0,d.$)("span.details-label")),V=(0,d.append)(N,(0,d.$)("span.readMore"+E.ThemeIcon.asCSSSelector(r)));return V.title=i.localize(1347,"Read More"),{root:S,left:P,right:N,icon:L,colorspan:D,iconLabel:O,iconContainer:A,parametersLabel:F,qualifierLabel:x,detailsLabel:W,readMore:V,disposables:w,configureFont:()=>{const H=this._editor.getOptions(),z=H.get(50),U=z.getMassagedFontFamily(),j=z.fontFeatureSettings,Q=H.get(120)||z.fontSize,G=H.get(121)||z.lineHeight,K=z.fontWeight,R=z.letterSpacing,J=`${Q}px`,ie=`${G}px`,ue=`${R}px`;S.style.fontSize=J,S.style.fontWeight=K,S.style.letterSpacing=ue,M.style.fontFamily=U,M.style.fontFeatureSettings=j,M.style.lineHeight=ie,L.style.height=ie,L.style.width=ie,V.style.height=ie,V.style.width=ie}}}renderElement(v,w,S){S.configureFont();const{completion:L}=v;S.root.id=a(w),S.colorspan.style.backgroundColor="";const D={labelEscapeNewLines:!0,matches:(0,m.createMatches)(v.score)},T=[];if(L.kind===19&&u.extract(v,T))S.icon.className="icon customcolor",S.iconContainer.className="icon hide",S.colorspan.style.backgroundColor=T[0];else if(L.kind===20&&this._themeService.getFileIconTheme().hasFileIcons){S.icon.className="icon hide",S.iconContainer.className="icon hide";const M=(0,n.getIconClasses)(this._modelService,this._languageService,b.URI.from({scheme:"fake",path:v.textLabel}),s.FileKind.FILE),A=(0,n.getIconClasses)(this._modelService,this._languageService,b.URI.from({scheme:"fake",path:L.detail}),s.FileKind.FILE);D.extraClasses=M.length>A.length?M:A}else L.kind===23&&this._themeService.getFileIconTheme().hasFolderIcons?(S.icon.className="icon hide",S.iconContainer.className="icon hide",D.extraClasses=[(0,n.getIconClasses)(this._modelService,this._languageService,b.URI.from({scheme:"fake",path:v.textLabel}),s.FileKind.FOLDER),(0,n.getIconClasses)(this._modelService,this._languageService,b.URI.from({scheme:"fake",path:L.detail}),s.FileKind.FOLDER)].flat()):(S.icon.className="icon hide",S.iconContainer.className="",S.iconContainer.classList.add("suggest-icon",...E.ThemeIcon.asClassNameArray(p.CompletionItemKinds.toIcon(L.kind))));L.tags&&L.tags.indexOf(1)>=0&&(D.extraClasses=(D.extraClasses||[]).concat(["deprecated"]),D.matches=[]),S.iconLabel.setLabel(v.textLabel,void 0,D),typeof L.label=="string"?(S.parametersLabel.textContent="",S.detailsLabel.textContent=f(L.detail||""),S.root.classList.add("string-label")):(S.parametersLabel.textContent=f(L.label.detail||""),S.detailsLabel.textContent=f(L.label.description||""),S.root.classList.remove("string-label")),this._editor.getOption(119).showInlineDetails?(0,d.show)(S.detailsLabel):(0,d.hide)(S.detailsLabel),(0,l.canExpandCompletionItem)(v)?(S.right.classList.add("can-expand-details"),(0,d.show)(S.readMore),S.readMore.onmousedown=M=>{M.stopPropagation(),M.preventDefault()},S.readMore.onclick=M=>{M.stopPropagation(),M.preventDefault(),this._onDidToggleDetails.fire()}):(S.right.classList.remove("can-expand-details"),(0,d.hide)(S.readMore),S.readMore.onmousedown=null,S.readMore.onclick=null)}disposeTemplate(v){v.disposables.dispose()}};e.ItemRenderer=C,e.ItemRenderer=C=ke([ce(1,o.IModelService),ce(2,t.ILanguageService),ce(3,c.IThemeService)],C);function f(h){return h.replace(/\r\n|\r|\n/g,"")}}),define(ne[794],se([1,0,787,38,156,34,107,6,15,20,66]),function(oe,e,d,k,I,E,y,m,_,b,p){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.GotoLineAction=e.StandaloneGotoLineQuickAccessProvider=void 0;let n=class extends d.AbstractGotoLineQuickAccessProvider{constructor(i){super(),this.editorService=i,this.onDidActiveTextEditorControlChange=m.Event.None}get activeTextEditorControl(){return this.editorService.getFocusedCodeEditor()??void 0}};e.StandaloneGotoLineQuickAccessProvider=n,e.StandaloneGotoLineQuickAccessProvider=n=ke([ce(0,E.ICodeEditorService)],n);class o extends _.EditorAction{static{this.ID="editor.action.gotoLine"}constructor(){super({id:o.ID,label:y.GoToLineNLS.gotoLineActionLabel,alias:"Go to Line/Column...",precondition:void 0,kbOpts:{kbExpr:b.EditorContextKeys.focus,primary:2085,mac:{primary:293},weight:100}})}run(i){i.get(p.IQuickInputService).quickAccess.show(n.PREFIX)}}e.GotoLineAction=o,(0,_.registerEditorAction)(o),k.Registry.as(I.Extensions.Quickaccess).registerQuickAccessProvider({ctor:n,prefix:n.PREFIX,helpEntries:[{description:y.GoToLineNLS.gotoLineActionLabel,commandId:o.ID}]})}),define(ne[795],se([1,0,788,38,156,34,107,6,15,20,66,182,17,195,280]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.GotoSymbolAction=e.StandaloneGotoSymbolQuickAccessProvider=void 0;let t=class extends d.AbstractGotoSymbolQuickAccessProvider{constructor(g,c,l){super(c,l),this.editorService=g,this.onDidActiveTextEditorControlChange=m.Event.None}get activeTextEditorControl(){return this.editorService.getFocusedCodeEditor()??void 0}};e.StandaloneGotoSymbolQuickAccessProvider=t,e.StandaloneGotoSymbolQuickAccessProvider=t=ke([ce(0,E.ICodeEditorService),ce(1,o.ILanguageFeaturesService),ce(2,n.IOutlineModelService)],t);class i extends _.EditorAction{static{this.ID="editor.action.quickOutline"}constructor(){super({id:i.ID,label:y.QuickOutlineNLS.quickOutlineActionLabel,alias:"Go to Symbol...",precondition:b.EditorContextKeys.hasDocumentSymbolProvider,kbOpts:{kbExpr:b.EditorContextKeys.focus,primary:3117,weight:100},contextMenuOpts:{group:"navigation",order:3}})}run(g){g.get(p.IQuickInputService).quickAccess.show(d.AbstractGotoSymbolQuickAccessProvider.PREFIX,{itemActivation:p.ItemActivation.NONE})}}e.GotoSymbolAction=i,(0,_.registerEditorAction)(i),k.Registry.as(I.Extensions.Quickaccess).registerQuickAccessProvider({ctor:t,prefix:d.AbstractGotoSymbolQuickAccessProvider.PREFIX,helpEntries:[{description:y.QuickOutlineNLS.quickOutlineActionLabel,prefix:d.AbstractGotoSymbolQuickAccessProvider.PREFIX,commandId:i.ID},{description:y.QuickOutlineNLS.quickOutlineByCategoryActionLabel,prefix:d.AbstractGotoSymbolQuickAccessProvider.PREFIX_BY_CATEGORY}]})}),define(ne[418],se([1,0,5,42,771,34,12,49,25]),function(oe,e,d,k,I,E,y,m,_){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.StandaloneCodeEditorService=void 0;let b=class extends I.AbstractCodeEditorService{constructor(n,o){super(o),this._register(this.onCodeEditorAdd(()=>this._checkContextKey())),this._register(this.onCodeEditorRemove(()=>this._checkContextKey())),this._editorIsOpen=n.createKey("editorIsOpen",!1),this._activeCodeEditor=null,this._register(this.registerCodeEditorOpenHandler(async(t,i,s)=>i?this.doOpenEditor(i,t):null))}_checkContextKey(){let n=!1;for(const o of this.listCodeEditors())if(!o.isSimpleWidget){n=!0;break}this._editorIsOpen.set(n)}setActiveCodeEditor(n){this._activeCodeEditor=n}getActiveCodeEditor(){return this._activeCodeEditor}doOpenEditor(n,o){if(!this.findModel(n,o.resource)){if(o.resource){const s=o.resource.scheme;if(s===k.Schemas.http||s===k.Schemas.https)return(0,d.windowOpenNoOpener)(o.resource.toString()),n}return null}const i=o.options?o.options.selection:null;if(i)if(typeof i.endLineNumber=="number"&&typeof i.endColumn=="number")n.setSelection(i),n.revealRangeInCenter(i,1);else{const s={lineNumber:i.startLineNumber,column:i.startColumn};n.setPosition(s),n.revealPositionInCenter(s,1)}return n}findModel(n,o){const t=n.getModel();return t&&t.uri.toString()!==o.toString()?null:t}};e.StandaloneCodeEditorService=b,e.StandaloneCodeEditorService=b=ke([ce(0,y.IContextKeyService),ce(1,_.IThemeService)],b),(0,m.registerSingleton)(E.ICodeEditorService,b,0)}),define(ne[796],se([1,0,80,32]),function(oe,e,d,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.hc_light=e.hc_black=e.vs_dark=e.vs=void 0,e.vs={base:"vs",inherit:!1,rules:[{token:"",foreground:"000000",background:"fffffe"},{token:"invalid",foreground:"cd3131"},{token:"emphasis",fontStyle:"italic"},{token:"strong",fontStyle:"bold"},{token:"variable",foreground:"001188"},{token:"variable.predefined",foreground:"4864AA"},{token:"constant",foreground:"dd0000"},{token:"comment",foreground:"008000"},{token:"number",foreground:"098658"},{token:"number.hex",foreground:"3030c0"},{token:"regexp",foreground:"800000"},{token:"annotation",foreground:"808080"},{token:"type",foreground:"008080"},{token:"delimiter",foreground:"000000"},{token:"delimiter.html",foreground:"383838"},{token:"delimiter.xml",foreground:"0000FF"},{token:"tag",foreground:"800000"},{token:"tag.id.pug",foreground:"4F76AC"},{token:"tag.class.pug",foreground:"4F76AC"},{token:"meta.scss",foreground:"800000"},{token:"metatag",foreground:"e00000"},{token:"metatag.content.html",foreground:"FF0000"},{token:"metatag.html",foreground:"808080"},{token:"metatag.xml",foreground:"808080"},{token:"metatag.php",fontStyle:"bold"},{token:"key",foreground:"863B00"},{token:"string.key.json",foreground:"A31515"},{token:"string.value.json",foreground:"0451A5"},{token:"attribute.name",foreground:"FF0000"},{token:"attribute.value",foreground:"0451A5"},{token:"attribute.value.number",foreground:"098658"},{token:"attribute.value.unit",foreground:"098658"},{token:"attribute.value.html",foreground:"0000FF"},{token:"attribute.value.xml",foreground:"0000FF"},{token:"string",foreground:"A31515"},{token:"string.html",foreground:"0000FF"},{token:"string.sql",foreground:"FF0000"},{token:"string.yaml",foreground:"0451A5"},{token:"keyword",foreground:"0000FF"},{token:"keyword.json",foreground:"0451A5"},{token:"keyword.flow",foreground:"AF00DB"},{token:"keyword.flow.scss",foreground:"0000FF"},{token:"operator.scss",foreground:"666666"},{token:"operator.sql",foreground:"778899"},{token:"operator.swift",foreground:"666666"},{token:"predefined.sql",foreground:"C700C7"}],colors:{[k.editorBackground]:"#FFFFFE",[k.editorForeground]:"#000000",[k.editorInactiveSelection]:"#E5EBF1",[d.editorIndentGuide1]:"#D3D3D3",[d.editorActiveIndentGuide1]:"#939393",[k.editorSelectionHighlight]:"#ADD6FF4D"}},e.vs_dark={base:"vs-dark",inherit:!1,rules:[{token:"",foreground:"D4D4D4",background:"1E1E1E"},{token:"invalid",foreground:"f44747"},{token:"emphasis",fontStyle:"italic"},{token:"strong",fontStyle:"bold"},{token:"variable",foreground:"74B0DF"},{token:"variable.predefined",foreground:"4864AA"},{token:"variable.parameter",foreground:"9CDCFE"},{token:"constant",foreground:"569CD6"},{token:"comment",foreground:"608B4E"},{token:"number",foreground:"B5CEA8"},{token:"number.hex",foreground:"5BB498"},{token:"regexp",foreground:"B46695"},{token:"annotation",foreground:"cc6666"},{token:"type",foreground:"3DC9B0"},{token:"delimiter",foreground:"DCDCDC"},{token:"delimiter.html",foreground:"808080"},{token:"delimiter.xml",foreground:"808080"},{token:"tag",foreground:"569CD6"},{token:"tag.id.pug",foreground:"4F76AC"},{token:"tag.class.pug",foreground:"4F76AC"},{token:"meta.scss",foreground:"A79873"},{token:"meta.tag",foreground:"CE9178"},{token:"metatag",foreground:"DD6A6F"},{token:"metatag.content.html",foreground:"9CDCFE"},{token:"metatag.html",foreground:"569CD6"},{token:"metatag.xml",foreground:"569CD6"},{token:"metatag.php",fontStyle:"bold"},{token:"key",foreground:"9CDCFE"},{token:"string.key.json",foreground:"9CDCFE"},{token:"string.value.json",foreground:"CE9178"},{token:"attribute.name",foreground:"9CDCFE"},{token:"attribute.value",foreground:"CE9178"},{token:"attribute.value.number.css",foreground:"B5CEA8"},{token:"attribute.value.unit.css",foreground:"B5CEA8"},{token:"attribute.value.hex.css",foreground:"D4D4D4"},{token:"string",foreground:"CE9178"},{token:"string.sql",foreground:"FF0000"},{token:"keyword",foreground:"569CD6"},{token:"keyword.flow",foreground:"C586C0"},{token:"keyword.json",foreground:"CE9178"},{token:"keyword.flow.scss",foreground:"569CD6"},{token:"operator.scss",foreground:"909090"},{token:"operator.sql",foreground:"778899"},{token:"operator.swift",foreground:"909090"},{token:"predefined.sql",foreground:"FF00FF"}],colors:{[k.editorBackground]:"#1E1E1E",[k.editorForeground]:"#D4D4D4",[k.editorInactiveSelection]:"#3A3D41",[d.editorIndentGuide1]:"#404040",[d.editorActiveIndentGuide1]:"#707070",[k.editorSelectionHighlight]:"#ADD6FF26"}},e.hc_black={base:"hc-black",inherit:!1,rules:[{token:"",foreground:"FFFFFF",background:"000000"},{token:"invalid",foreground:"f44747"},{token:"emphasis",fontStyle:"italic"},{token:"strong",fontStyle:"bold"},{token:"variable",foreground:"1AEBFF"},{token:"variable.parameter",foreground:"9CDCFE"},{token:"constant",foreground:"569CD6"},{token:"comment",foreground:"608B4E"},{token:"number",foreground:"FFFFFF"},{token:"regexp",foreground:"C0C0C0"},{token:"annotation",foreground:"569CD6"},{token:"type",foreground:"3DC9B0"},{token:"delimiter",foreground:"FFFF00"},{token:"delimiter.html",foreground:"FFFF00"},{token:"tag",foreground:"569CD6"},{token:"tag.id.pug",foreground:"4F76AC"},{token:"tag.class.pug",foreground:"4F76AC"},{token:"meta",foreground:"D4D4D4"},{token:"meta.tag",foreground:"CE9178"},{token:"metatag",foreground:"569CD6"},{token:"metatag.content.html",foreground:"1AEBFF"},{token:"metatag.html",foreground:"569CD6"},{token:"metatag.xml",foreground:"569CD6"},{token:"metatag.php",fontStyle:"bold"},{token:"key",foreground:"9CDCFE"},{token:"string.key",foreground:"9CDCFE"},{token:"string.value",foreground:"CE9178"},{token:"attribute.name",foreground:"569CD6"},{token:"attribute.value",foreground:"3FF23F"},{token:"string",foreground:"CE9178"},{token:"string.sql",foreground:"FF0000"},{token:"keyword",foreground:"569CD6"},{token:"keyword.flow",foreground:"C586C0"},{token:"operator.sql",foreground:"778899"},{token:"operator.swift",foreground:"909090"},{token:"predefined.sql",foreground:"FF00FF"}],colors:{[k.editorBackground]:"#000000",[k.editorForeground]:"#FFFFFF",[d.editorIndentGuide1]:"#FFFFFF",[d.editorActiveIndentGuide1]:"#FFFFFF"}},e.hc_light={base:"hc-light",inherit:!1,rules:[{token:"",foreground:"292929",background:"FFFFFF"},{token:"invalid",foreground:"B5200D"},{token:"emphasis",fontStyle:"italic"},{token:"strong",fontStyle:"bold"},{token:"variable",foreground:"264F70"},{token:"variable.predefined",foreground:"4864AA"},{token:"constant",foreground:"dd0000"},{token:"comment",foreground:"008000"},{token:"number",foreground:"098658"},{token:"number.hex",foreground:"3030c0"},{token:"regexp",foreground:"800000"},{token:"annotation",foreground:"808080"},{token:"type",foreground:"008080"},{token:"delimiter",foreground:"000000"},{token:"delimiter.html",foreground:"383838"},{token:"tag",foreground:"800000"},{token:"tag.id.pug",foreground:"4F76AC"},{token:"tag.class.pug",foreground:"4F76AC"},{token:"meta.scss",foreground:"800000"},{token:"metatag",foreground:"e00000"},{token:"metatag.content.html",foreground:"B5200D"},{token:"metatag.html",foreground:"808080"},{token:"metatag.xml",foreground:"808080"},{token:"metatag.php",fontStyle:"bold"},{token:"key",foreground:"863B00"},{token:"string.key.json",foreground:"A31515"},{token:"string.value.json",foreground:"0451A5"},{token:"attribute.name",foreground:"264F78"},{token:"attribute.value",foreground:"0451A5"},{token:"string",foreground:"A31515"},{token:"string.sql",foreground:"B5200D"},{token:"keyword",foreground:"0000FF"},{token:"keyword.flow",foreground:"AF00DB"},{token:"operator.sql",foreground:"778899"},{token:"operator.swift",foreground:"666666"},{token:"predefined.sql",foreground:"C700C7"}],colors:{[k.editorBackground]:"#FFFFFF",[k.editorForeground]:"#292929",[d.editorIndentGuide1]:"#292929",[d.editorActiveIndentGuide1]:"#292929"}}}),define(ne[419],se([1,0,5,64,33,6,27,148,572,796,38,32,25,2,97,767,52]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.StandaloneThemeService=e.HC_LIGHT_THEME_NAME=e.HC_BLACK_THEME_NAME=e.VS_DARK_THEME_NAME=e.VS_LIGHT_THEME_NAME=void 0,e.VS_LIGHT_THEME_NAME="vs",e.VS_DARK_THEME_NAME="vs-dark",e.HC_BLACK_THEME_NAME="hc-black",e.HC_LIGHT_THEME_NAME="hc-light";const c=p.Registry.as(n.Extensions.ColorContribution),l=p.Registry.as(o.Extensions.ThemingContribution);class a{constructor(v,w){this.semanticHighlighting=!1,this.themeData=w;const S=w.base;v.length>0?(r(v)?this.id=v:this.id=S+" "+v,this.themeName=v):(this.id=S,this.themeName=S),this.colors=null,this.defaultColors=Object.create(null),this._tokenTheme=null}get base(){return this.themeData.base}notifyBaseUpdated(){this.themeData.inherit&&(this.colors=null,this._tokenTheme=null)}getColors(){if(!this.colors){const v=new Map;for(const w in this.themeData.colors)v.set(w,I.Color.fromHex(this.themeData.colors[w]));if(this.themeData.inherit){const w=u(this.themeData.base);for(const S in w.colors)v.has(S)||v.set(S,I.Color.fromHex(w.colors[S]))}this.colors=v}return this.colors}getColor(v,w){const S=this.getColors().get(v);if(S)return S;if(w!==!1)return this.getDefault(v)}getDefault(v){let w=this.defaultColors[v];return w||(w=c.resolveDefaultColor(v,this),this.defaultColors[v]=w,w)}defines(v){return this.getColors().has(v)}get type(){switch(this.base){case e.VS_LIGHT_THEME_NAME:return i.ColorScheme.LIGHT;case e.HC_BLACK_THEME_NAME:return i.ColorScheme.HIGH_CONTRAST_DARK;case e.HC_LIGHT_THEME_NAME:return i.ColorScheme.HIGH_CONTRAST_LIGHT;default:return i.ColorScheme.DARK}}get tokenTheme(){if(!this._tokenTheme){let v=[],w=[];if(this.themeData.inherit){const D=u(this.themeData.base);v=D.rules,D.encodedTokensColors&&(w=D.encodedTokensColors)}const S=this.themeData.colors["editor.foreground"],L=this.themeData.colors["editor.background"];if(S||L){const D={token:""};S&&(D.foreground=S),L&&(D.background=L),v.push(D)}v=v.concat(this.themeData.rules),this.themeData.encodedTokensColors&&(w=this.themeData.encodedTokensColors),this._tokenTheme=_.TokenTheme.createFromRawTokenTheme(v,w)}return this._tokenTheme}getTokenStyleMetadata(v,w,S){const D=this.tokenTheme._match([v].concat(w).join(".")).metadata,T=m.TokenMetadata.getForeground(D),M=m.TokenMetadata.getFontStyle(D);return{foreground:T,italic:!!(M&1),bold:!!(M&2),underline:!!(M&4),strikethrough:!!(M&8)}}}function r(h){return h===e.VS_LIGHT_THEME_NAME||h===e.VS_DARK_THEME_NAME||h===e.HC_BLACK_THEME_NAME||h===e.HC_LIGHT_THEME_NAME}function u(h){switch(h){case e.VS_LIGHT_THEME_NAME:return b.vs;case e.VS_DARK_THEME_NAME:return b.vs_dark;case e.HC_BLACK_THEME_NAME:return b.hc_black;case e.HC_LIGHT_THEME_NAME:return b.hc_light}}function C(h){const v=u(h);return new a(h,v)}class f extends t.Disposable{constructor(){super(),this._onColorThemeChange=this._register(new E.Emitter),this.onDidColorThemeChange=this._onColorThemeChange.event,this._onProductIconThemeChange=this._register(new E.Emitter),this.onDidProductIconThemeChange=this._onProductIconThemeChange.event,this._environment=Object.create(null),this._builtInProductIconTheme=new s.UnthemedProductIconTheme,this._autoDetectHighContrast=!0,this._knownThemes=new Map,this._knownThemes.set(e.VS_LIGHT_THEME_NAME,C(e.VS_LIGHT_THEME_NAME)),this._knownThemes.set(e.VS_DARK_THEME_NAME,C(e.VS_DARK_THEME_NAME)),this._knownThemes.set(e.HC_BLACK_THEME_NAME,C(e.HC_BLACK_THEME_NAME)),this._knownThemes.set(e.HC_LIGHT_THEME_NAME,C(e.HC_LIGHT_THEME_NAME));const v=this._register((0,s.getIconsStyleSheet)(this));this._codiconCSS=v.getCSS(),this._themeCSS="",this._allCSS=`${this._codiconCSS} +${this._themeCSS}`,this._globalStyleElement=null,this._styleElements=[],this._colorMapOverride=null,this.setTheme(e.VS_LIGHT_THEME_NAME),this._onOSSchemeChanged(),this._register(v.onDidChange(()=>{this._codiconCSS=v.getCSS(),this._updateCSS()})),(0,k.addMatchMediaChangeListener)(g.mainWindow,"(forced-colors: active)",()=>{this._onOSSchemeChanged()})}registerEditorContainer(v){return d.isInShadowDOM(v)?this._registerShadowDomContainer(v):this._registerRegularEditorContainer()}_registerRegularEditorContainer(){return this._globalStyleElement||(this._globalStyleElement=d.createStyleSheet(void 0,v=>{v.className="monaco-colors",v.textContent=this._allCSS}),this._styleElements.push(this._globalStyleElement)),t.Disposable.None}_registerShadowDomContainer(v){const w=d.createStyleSheet(v,S=>{S.className="monaco-colors",S.textContent=this._allCSS});return this._styleElements.push(w),{dispose:()=>{for(let S=0;S{S.base===v&&S.notifyBaseUpdated()}),this._theme.themeName===v&&this.setTheme(v)}getColorTheme(){return this._theme}setColorMapOverride(v){this._colorMapOverride=v,this._updateThemeOrColorMap()}setTheme(v){let w;this._knownThemes.has(v)?w=this._knownThemes.get(v):w=this._knownThemes.get(e.VS_LIGHT_THEME_NAME),this._updateActualTheme(w)}_updateActualTheme(v){!v||this._theme===v||(this._theme=v,this._updateThemeOrColorMap())}_onOSSchemeChanged(){if(this._autoDetectHighContrast){const v=g.mainWindow.matchMedia("(forced-colors: active)").matches;if(v!==(0,i.isHighContrast)(this._theme.type)){let w;(0,i.isDark)(this._theme.type)?w=v?e.HC_BLACK_THEME_NAME:e.VS_DARK_THEME_NAME:w=v?e.HC_LIGHT_THEME_NAME:e.VS_LIGHT_THEME_NAME,this._updateActualTheme(this._knownThemes.get(w))}}}setAutoDetectHighContrast(v){this._autoDetectHighContrast=v,this._onOSSchemeChanged()}_updateThemeOrColorMap(){const v=[],w={},S={addRule:T=>{w[T]||(v.push(T),w[T]=!0)}};l.getThemingParticipants().forEach(T=>T(this._theme,S,this._environment));const L=[];for(const T of c.getColors()){const M=this._theme.getColor(T.id,!0);M&&L.push(`${(0,n.asCssVariableName)(T.id)}: ${M.toString()};`)}S.addRule(`.monaco-editor, .monaco-diff-editor, .monaco-component { ${L.join(` +`)} }`);const D=this._colorMapOverride||this._theme.tokenTheme.getColorMap();S.addRule((0,_.generateTokensCSSForColorMap)(D)),this._themeCSS=v.join(` +`),this._updateCSS(),y.TokenizationRegistry.setColorMap(D),this._onColorThemeChange.fire(this._theme)}_updateCSS(){this._allCSS=`${this._codiconCSS} +${this._themeCSS}`,this._styleElements.forEach(v=>v.textContent=this._allCSS)}getFileIconTheme(){return{hasFileIcons:!1,hasFolderIcons:!1,hidesExplorerArrows:!1}}getProductIconTheme(){return this._builtInProductIconTheme}}e.StandaloneThemeService=f}),define(ne[797],se([1,0,15,153,107,97,419]),function(oe,e,d,k,I,E,y){"use strict";Object.defineProperty(e,"__esModule",{value:!0});class m extends d.EditorAction{constructor(){super({id:"editor.action.toggleHighContrast",label:I.ToggleHighContrastNLS.toggleHighContrast,alias:"Toggle High Contrast Theme",precondition:void 0}),this._originalThemeName=null}run(b,p){const n=b.get(k.IStandaloneThemeService),o=n.getColorTheme();(0,E.isHighContrast)(o.type)?(n.setTheme(this._originalThemeName||((0,E.isDark)(o.type)?y.VS_DARK_THEME_NAME:y.VS_LIGHT_THEME_NAME)),this._originalThemeName=null):(n.setTheme((0,E.isDark)(o.type)?y.HC_BLACK_THEME_NAME:y.HC_LIGHT_THEME_NAME),this._originalThemeName=o.themeName)}}(0,d.registerEditorAction)(m)}),define(ne[124],se([1,0,5,47,151,359,41,247,2,16,3,29,381,12,58,7,31,50,101,25,30,97,19,32,110,61,542]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r,u,C,f,h,v){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DropdownWithDefaultActionViewItem=e.SubmenuEntryActionViewItem=e.TextOnlyMenuEntryActionViewItem=e.MenuEntryActionViewItem=void 0,e.createAndFillInContextMenuActions=w,e.createAndFillInActionBarActions=S,e.createActionViewItem=N;function w(O,F,x,W){let V,q,H;if(Array.isArray(O))H=O,V=F,q=x;else{const j=F;H=O.getActions(j),V=x,q=W}const z=d.ModifierKeyEmitter.getInstance(),U=z.keyStatus.altKey||(b.isWindows||b.isLinux)&&z.keyStatus.shiftKey;L(H,V,U,q?j=>j===q:j=>j==="navigation")}function S(O,F,x,W,V,q){let H,z,U,j,Q;if(Array.isArray(O))Q=O,H=F,z=x,U=W,j=V;else{const K=F;Q=O.getActions(K),H=x,z=W,U=V,j=q}L(Q,H,!1,typeof z=="string"?K=>K===z:z,U,j)}function L(O,F,x,W=H=>H==="navigation",V=()=>!1,q=!1){let H,z;Array.isArray(F)?(H=F,z=F):(H=F.primary,z=F.secondary);const U=new Set;for(const[j,Q]of O){let G;W(j)?(G=H,G.length>0&&q&&G.push(new y.Separator)):(G=z,G.length>0&&G.push(new y.Separator));for(let K of Q){x&&(K=K instanceof n.MenuItemAction&&K.alt?K.alt:K);const R=G.push(K);K instanceof y.SubmenuAction&&U.add({group:j,action:K,index:R-1})}}for(const{group:j,action:Q,index:G}of U){const K=W(j)?H:z,R=Q.actions;V(Q,j,K.length)&&K.splice(G,1,...R)}}let D=class extends I.ActionViewItem{constructor(F,x,W,V,q,H,z,U){super(void 0,F,{icon:!!(F.class||F.item.icon),label:!F.class&&!F.item.icon,draggable:x?.draggable,keybinding:x?.keybinding,hoverDelegate:x?.hoverDelegate}),this._options=x,this._keybindingService=W,this._notificationService=V,this._contextKeyService=q,this._themeService=H,this._contextMenuService=z,this._accessibilityService=U,this._wantsAltCommand=!1,this._itemClassDispose=this._register(new _.MutableDisposable),this._altKey=d.ModifierKeyEmitter.getInstance()}get _menuItemAction(){return this._action}get _commandAction(){return this._wantsAltCommand&&this._menuItemAction.alt||this._menuItemAction}async onClick(F){F.preventDefault(),F.stopPropagation();try{await this.actionRunner.run(this._commandAction,this._context)}catch(x){this._notificationService.error(x)}}render(F){if(super.render(F),F.classList.add("menu-entry"),this.options.icon&&this._updateItemClass(this._menuItemAction.item),this._menuItemAction.alt){let x=!1;const W=()=>{const V=!!this._menuItemAction.alt?.enabled&&(!this._accessibilityService.isMotionReduced()||x)&&(this._altKey.keyStatus.altKey||this._altKey.keyStatus.shiftKey&&x);V!==this._wantsAltCommand&&(this._wantsAltCommand=V,this.updateLabel(),this.updateTooltip(),this.updateClass())};this._register(this._altKey.event(W)),this._register((0,d.addDisposableListener)(F,"mouseleave",V=>{x=!1,W()})),this._register((0,d.addDisposableListener)(F,"mouseenter",V=>{x=!0,W()})),W()}}updateLabel(){this.options.label&&this.label&&(this.label.textContent=this._commandAction.label)}getTooltip(){const F=this._keybindingService.lookupKeybinding(this._commandAction.id,this._contextKeyService),x=F&&F.getLabel(),W=this._commandAction.tooltip||this._commandAction.label;let V=x?(0,p.localize)(1483,"{0} ({1})",W,x):W;if(!this._wantsAltCommand&&this._menuItemAction.alt?.enabled){const q=this._menuItemAction.alt.tooltip||this._menuItemAction.alt.label,H=this._keybindingService.lookupKeybinding(this._menuItemAction.alt.id,this._contextKeyService),z=H&&H.getLabel(),U=z?(0,p.localize)(1484,"{0} ({1})",q,z):q;V=(0,p.localize)(1485,`{0} +[{1}] {2}`,V,m.UILabelProvider.modifierLabels[b.OS].altKey,U)}return V}updateClass(){this.options.icon&&(this._commandAction!==this._menuItemAction?this._menuItemAction.alt&&this._updateItemClass(this._menuItemAction.alt.item):this._updateItemClass(this._menuItemAction.item))}_updateItemClass(F){this._itemClassDispose.value=void 0;const{element:x,label:W}=this;if(!x||!W)return;const V=this._commandAction.checked&&(0,o.isICommandActionToggleInfo)(F.toggled)&&F.toggled.icon?F.toggled.icon:F.icon;if(V)if(r.ThemeIcon.isThemeIcon(V)){const q=r.ThemeIcon.asClassNameArray(V);W.classList.add(...q),this._itemClassDispose.value=(0,_.toDisposable)(()=>{W.classList.remove(...q)})}else W.style.backgroundImage=(0,u.isDark)(this._themeService.getColorTheme().type)?(0,d.asCSSUrl)(V.dark):(0,d.asCSSUrl)(V.light),W.classList.add("icon"),this._itemClassDispose.value=(0,_.combinedDisposable)((0,_.toDisposable)(()=>{W.style.backgroundImage="",W.classList.remove("icon")}),this._themeService.onDidColorThemeChange(()=>{this.updateClass()}))}};e.MenuEntryActionViewItem=D,e.MenuEntryActionViewItem=D=ke([ce(2,g.IKeybindingService),ce(3,c.INotificationService),ce(4,t.IContextKeyService),ce(5,a.IThemeService),ce(6,i.IContextMenuService),ce(7,v.IAccessibilityService)],D);class T extends D{render(F){this.options.label=!0,this.options.icon=!1,super.render(F),F.classList.add("text-only"),F.classList.toggle("use-comma",this._options?.useComma??!1)}updateLabel(){const F=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService);if(!F)return super.updateLabel();if(this.label){const x=T._symbolPrintEnter(F);this._options?.conversational?this.label.textContent=(0,p.localize)(1486,"{1} to {0}",this._action.label,x):this.label.textContent=(0,p.localize)(1487,"{0} ({1})",this._action.label,x)}}static _symbolPrintEnter(F){return F.getLabel()?.replace(/\benter\b/gi,"\u23CE").replace(/\bEscape\b/gi,"Esc")}}e.TextOnlyMenuEntryActionViewItem=T;let M=class extends E.DropdownMenuActionViewItem{constructor(F,x,W,V,q){const H={...x,menuAsChild:x?.menuAsChild??!1,classNames:x?.classNames??(r.ThemeIcon.isThemeIcon(F.item.icon)?r.ThemeIcon.asClassName(F.item.icon):void 0),keybindingProvider:x?.keybindingProvider??(z=>W.lookupKeybinding(z.id))};super(F,{getActions:()=>F.actions},V,H),this._keybindingService=W,this._contextMenuService=V,this._themeService=q}render(F){super.render(F),(0,C.assertType)(this.element),F.classList.add("menu-entry");const x=this._action,{icon:W}=x.item;if(W&&!r.ThemeIcon.isThemeIcon(W)){this.element.classList.add("icon");const V=()=>{this.element&&(this.element.style.backgroundImage=(0,u.isDark)(this._themeService.getColorTheme().type)?(0,d.asCSSUrl)(W.dark):(0,d.asCSSUrl)(W.light))};V(),this._register(this._themeService.onDidColorThemeChange(()=>{V()}))}}};e.SubmenuEntryActionViewItem=M,e.SubmenuEntryActionViewItem=M=ke([ce(2,g.IKeybindingService),ce(3,i.IContextMenuService),ce(4,a.IThemeService)],M);let A=class extends I.BaseActionViewItem{constructor(F,x,W,V,q,H,z,U){super(null,F),this._keybindingService=W,this._notificationService=V,this._contextMenuService=q,this._menuService=H,this._instaService=z,this._storageService=U,this._container=null,this._options=x,this._storageKey=`${F.item.submenu.id}_lastActionId`;let j;const Q=x?.persistLastActionId?U.get(this._storageKey,1):void 0;Q&&(j=F.actions.find(K=>Q===K.id)),j||(j=F.actions[0]),this._defaultAction=this._instaService.createInstance(D,j,{keybinding:this._getDefaultActionKeybindingLabel(j)});const G={keybindingProvider:K=>this._keybindingService.lookupKeybinding(K.id),...x,menuAsChild:x?.menuAsChild??!0,classNames:x?.classNames??["codicon","codicon-chevron-down"],actionRunner:x?.actionRunner??new y.ActionRunner};this._dropdown=new E.DropdownMenuActionViewItem(F,F.actions,this._contextMenuService,G),this._register(this._dropdown.actionRunner.onDidRun(K=>{K.action instanceof n.MenuItemAction&&this.update(K.action)}))}update(F){this._options?.persistLastActionId&&this._storageService.store(this._storageKey,F.id,1,1),this._defaultAction.dispose(),this._defaultAction=this._instaService.createInstance(D,F,{keybinding:this._getDefaultActionKeybindingLabel(F)}),this._defaultAction.actionRunner=new class extends y.ActionRunner{async runAction(x,W){await x.run(void 0)}},this._container&&this._defaultAction.render((0,d.prepend)(this._container,(0,d.$)(".action-container")))}_getDefaultActionKeybindingLabel(F){let x;if(this._options?.renderKeybindingWithDefaultActionLabel){const W=this._keybindingService.lookupKeybinding(F.id);W&&(x=`(${W.getLabel()})`)}return x}setActionContext(F){super.setActionContext(F),this._defaultAction.setActionContext(F),this._dropdown.setActionContext(F)}render(F){this._container=F,super.render(this._container),this._container.classList.add("monaco-dropdown-with-default");const x=(0,d.$)(".action-container");this._defaultAction.render((0,d.append)(this._container,x)),this._register((0,d.addDisposableListener)(x,d.EventType.KEY_DOWN,V=>{const q=new k.StandardKeyboardEvent(V);q.equals(17)&&(this._defaultAction.element.tabIndex=-1,this._dropdown.focus(),q.stopPropagation())}));const W=(0,d.$)(".dropdown-action-container");this._dropdown.render((0,d.append)(this._container,W)),this._register((0,d.addDisposableListener)(W,d.EventType.KEY_DOWN,V=>{const q=new k.StandardKeyboardEvent(V);q.equals(15)&&(this._defaultAction.element.tabIndex=0,this._dropdown.setFocusable(!1),this._defaultAction.element?.focus(),q.stopPropagation())}))}focus(F){F?this._dropdown.focus():(this._defaultAction.element.tabIndex=0,this._defaultAction.element.focus())}blur(){this._defaultAction.element.tabIndex=-1,this._dropdown.blur(),this._container.blur()}setFocusable(F){F?this._defaultAction.element.tabIndex=0:(this._defaultAction.element.tabIndex=-1,this._dropdown.setFocusable(!1))}dispose(){this._defaultAction.dispose(),this._dropdown.dispose(),super.dispose()}};e.DropdownWithDefaultActionViewItem=A,e.DropdownWithDefaultActionViewItem=A=ke([ce(2,g.IKeybindingService),ce(3,c.INotificationService),ce(4,i.IContextMenuService),ce(5,n.IMenuService),ce(6,s.IInstantiationService),ce(7,l.IStorageService)],A);let P=class extends I.SelectActionViewItem{constructor(F,x){super(null,F,F.actions.map(W=>({text:W.id===y.Separator.ID?"\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500":W.label,isDisabled:!W.enabled})),0,x,h.defaultSelectBoxStyles,{ariaLabel:F.tooltip,optionsAsChildren:!0}),this.select(Math.max(0,F.actions.findIndex(W=>W.checked)))}render(F){super.render(F),F.style.borderColor=(0,f.asCssVariable)(f.selectBorder)}runAction(F,x){const W=this.action.actions[x];W&&this.actionRunner.run(W)}};P=ke([ce(1,i.IContextViewService)],P);function N(O,F,x){return F instanceof n.MenuItemAction?O.createInstance(D,F,x):F instanceof n.SubmenuItemAction?F.item.isSelection?O.createInstance(P,F):F.item.rememberDefaultAction?O.createInstance(A,F,{...x,persistLastActionId:!0}):O.createInstance(M,F,x):void 0}}),define(ne[798],se([1,0,5,87,2,124,29,12,7]),function(oe,e,d,k,I,E,y,m,_){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SuggestWidgetStatus=void 0;let b=class{constructor(n,o,t,i,s){this._menuId=o,this._menuService=i,this._contextKeyService=s,this._menuDisposables=new I.DisposableStore,this.element=d.append(n,d.$(".suggest-status-bar"));const g=c=>c instanceof y.MenuItemAction?t.createInstance(E.TextOnlyMenuEntryActionViewItem,c,{useComma:!0}):void 0;this._leftActions=new k.ActionBar(this.element,{actionViewItemProvider:g}),this._rightActions=new k.ActionBar(this.element,{actionViewItemProvider:g}),this._leftActions.domNode.classList.add("left"),this._rightActions.domNode.classList.add("right")}dispose(){this._menuDisposables.dispose(),this._leftActions.dispose(),this._rightActions.dispose(),this.element.remove()}show(){const n=this._menuService.createMenu(this._menuId,this._contextKeyService),o=()=>{const t=[],i=[];for(const[s,g]of n.getActions())s==="left"?t.push(...g):i.push(...g);this._leftActions.clear(),this._leftActions.push(t),this._rightActions.clear(),this._rightActions.push(i)};this._menuDisposables.add(n.onDidChange(()=>o())),this._menuDisposables.add(n)}hide(){this._menuDisposables.clear()}};e.SuggestWidgetStatus=b,e.SuggestWidgetStatus=b=ke([ce(2,_.IInstantiationService),ce(3,y.IMenuService),ce(4,m.IContextKeyService)],b)}),define(ne[218],se([1,0,5,77,643,41,13,298,8,6,53,2,3,124,29,406,24,12,58,31,63]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.MenuWorkbenchToolBar=e.WorkbenchToolBar=void 0;let u=class extends I.ToolBar{constructor(h,v,w,S,L,D,T,M){super(h,L,{getKeyBinding:P=>D.lookupKeybinding(P.id)??void 0,...v,allowContextMenu:!0,skipTelemetry:typeof v?.telemetrySource=="string"}),this._options=v,this._menuService=w,this._contextKeyService=S,this._contextMenuService=L,this._keybindingService=D,this._commandService=T,this._sessionDisposables=this._store.add(new n.DisposableStore);const A=v?.telemetrySource;A&&this._store.add(this.actionBar.onDidRun(P=>M.publicLog2("workbenchActionExecuted",{id:P.action.id,from:A})))}setActions(h,v=[],w){this._sessionDisposables.clear();const S=h.slice(),L=v.slice(),D=[];let T=0;const M=[];let A=!1;if(this._options?.hiddenItemStrategy!==-1)for(let P=0;PF?.id)),N=this._options.overflowBehavior.maxItems-P.size;let O=0;for(let F=0;F=N&&(S[F]=void 0,M[F]=x))}}(0,y.coalesceInPlace)(S),(0,y.coalesceInPlace)(M),super.setActions(S,E.Separator.join(M,L)),(D.length>0||S.length>0)&&this._sessionDisposables.add((0,d.addDisposableListener)(this.getElement(),"contextmenu",P=>{const N=new k.StandardMouseEvent((0,d.getWindow)(this.getElement()),P),O=this.getItemAction(N.target);if(!O)return;N.preventDefault(),N.stopPropagation();const F=[];if(O instanceof i.MenuItemAction&&O.menuKeybinding)F.push(O.menuKeybinding);else if(!(O instanceof i.SubmenuItemAction||O instanceof I.ToggleMenuAction)){const W=!!this._keybindingService.lookupKeybinding(O.id);F.push((0,s.createConfigureKeybindingAction)(this._commandService,this._keybindingService,O.id,void 0,W))}if(D.length>0){let W=!1;if(T===1&&this._options?.hiddenItemStrategy===0){W=!0;for(let V=0;Vthis._menuService.resetHiddenStates(w)}))),x.length!==0&&this._contextMenuService.showContextMenu({getAnchor:()=>N,getActions:()=>x,menuId:this._options?.contextMenu,menuActionOptions:{renderShortTitle:!0,...this._options?.menuOptions},skipTelemetry:typeof this._options?.telemetrySource=="string",contextKeyService:this._contextKeyService})}))}};e.WorkbenchToolBar=u,e.WorkbenchToolBar=u=ke([ce(2,i.IMenuService),ce(3,c.IContextKeyService),ce(4,l.IContextMenuService),ce(5,a.IKeybindingService),ce(6,g.ICommandService),ce(7,r.ITelemetryService)],u);let C=class extends u{constructor(h,v,w,S,L,D,T,M,A){super(h,{resetMenu:v,...w},S,L,D,T,M,A),this._onDidChangeMenuItems=this._store.add(new b.Emitter),this.onDidChangeMenuItems=this._onDidChangeMenuItems.event;const P=this._store.add(S.createMenu(v,L,{emitEventsForSubmenuChanges:!0})),N=()=>{const O=[],F=[];(0,t.createAndFillInActionBarActions)(P,w?.menuOptions,{primary:O,secondary:F},w?.toolbarOptions?.primaryGroup,w?.toolbarOptions?.shouldInlineSubmenu,w?.toolbarOptions?.useSeparatorsInPrimaryActions),h.classList.toggle("has-no-actions",O.length===0&&F.length===0),super.setActions(O,F)};this._store.add(P.onDidChange(()=>{N(),this._onDidChangeMenuItems.fire(this)})),N()}setActions(){throw new _.BugIndicatingError("This toolbar is populated from a menu.")}};e.MenuWorkbenchToolBar=C,e.MenuWorkbenchToolBar=C=ke([ce(3,i.IMenuService),ce(4,c.IContextKeyService),ce(5,l.IContextMenuService),ce(6,a.IKeybindingService),ce(7,g.ICommandService),ce(8,r.ITelemetryService)],C)}),define(ne[799],se([1,0,5,2,21,65,363,88,654,365,55,68,4,104,105,581,218,29,12,118,7]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DiffEditorGutter=void 0;const u=[],C=35;let f=class extends k.Disposable{constructor(S,L,D,T,M,A,P,N,O){super(),this._diffModel=L,this._editors=D,this._options=T,this._sashLayout=M,this._boundarySashes=A,this._instantiationService=P,this._contextKeyService=N,this._menuService=O,this._menu=this._register(this._menuService.createMenu(c.MenuId.DiffEditorHunkToolbar,this._contextKeyService)),this._actions=(0,I.observableFromEvent)(this,this._menu.onDidChange,()=>this._menu.getActions()),this._hasActions=this._actions.map(F=>F.length>0),this._showSash=(0,I.derived)(this,F=>this._options.renderSideBySide.read(F)&&this._hasActions.read(F)),this.width=(0,I.derived)(this,F=>this._hasActions.read(F)?C:0),this.elements=(0,d.h)("div.gutter@gutter",{style:{position:"absolute",height:"100%",width:C+"px"}},[]),this._currentDiff=(0,I.derived)(this,F=>{const x=this._diffModel.read(F);if(!x)return;const W=x.diff.read(F)?.mappings,V=this._editors.modifiedCursor.read(F);if(V)return W?.find(q=>q.lineRangeMapping.modified.contains(V.lineNumber))}),this._selectedDiffs=(0,I.derived)(this,F=>{const W=this._diffModel.read(F)?.diff.read(F);if(!W)return u;const V=this._editors.modifiedSelections.read(F);if(V.every(U=>U.isEmpty()))return u;const q=new p.LineRangeSet(V.map(U=>p.LineRange.fromRangeInclusive(U))),z=W.mappings.filter(U=>U.lineRangeMapping.innerChanges&&q.intersects(U.lineRangeMapping.modified)).map(U=>({mapping:U,rangeMappings:U.lineRangeMapping.innerChanges.filter(j=>V.some(Q=>o.Range.areIntersecting(j.modifiedRange,Q)))}));return z.length===0||z.every(U=>U.rangeMappings.length===0)?u:z}),this._register((0,m.prependRemoveOnDispose)(S,this.elements.root)),this._register((0,d.addDisposableListener)(this.elements.root,"click",()=>{this._editors.modified.focus()})),this._register((0,m.applyStyle)(this.elements.root,{display:this._hasActions.map(F=>F?"block":"none")})),(0,E.derivedDisposable)(this,F=>this._showSash.read(F)?new y.DiffEditorSash(S,this._sashLayout.dimensions,this._options.enableSplitViewResizing,this._boundarySashes,(0,E.derivedWithSetter)(this,W=>this._sashLayout.sashLeft.read(W)-C,(W,V)=>this._sashLayout.sashLeft.set(W+C,V)),()=>this._sashLayout.resetSash()):void 0).recomputeInitiallyAndOnChange(this._store),this._register(new _.EditorGutter(this._editors.modified,this.elements.root,{getIntersectingGutterItems:(F,x)=>{const W=this._diffModel.read(x);if(!W)return[];const V=W.diff.read(x);if(!V)return[];const q=this._selectedDiffs.read(x);if(q.length>0){const z=i.DetailedLineRangeMapping.fromRangeMappings(q.flatMap(U=>U.rangeMappings));return[new h(z,!0,c.MenuId.DiffEditorSelectionToolbar,void 0,W.model.original.uri,W.model.modified.uri)]}const H=this._currentDiff.read(x);return V.mappings.map(z=>new h(z.lineRangeMapping.withInnerChangesFromLineRanges(),z.lineRangeMapping===H?.lineRangeMapping,c.MenuId.DiffEditorHunkToolbar,void 0,W.model.original.uri,W.model.modified.uri))},createView:(F,x)=>this._instantiationService.createInstance(v,F,x,this)})),this._register((0,d.addDisposableListener)(this.elements.gutter,d.EventType.MOUSE_WHEEL,F=>{this._editors.modified.getOption(104).handleMouseWheel&&this._editors.modified.delegateScrollFromMouseWheelEvent(F)},{passive:!1}))}computeStagedValue(S){const L=S.innerChanges??[],D=new s.TextModelText(this._editors.modifiedModel.get()),T=new s.TextModelText(this._editors.original.getModel());return new t.TextEdit(L.map(P=>P.toTextEdit(D))).apply(T)}layout(S){this.elements.gutter.style.left=S+"px"}};e.DiffEditorGutter=f,e.DiffEditorGutter=f=ke([ce(6,r.IInstantiationService),ce(7,l.IContextKeyService),ce(8,c.IMenuService)],f);class h{constructor(S,L,D,T,M,A){this.mapping=S,this.showAlways=L,this.menuId=D,this.rangeOverride=T,this.originalUri=M,this.modifiedUri=A}get id(){return this.mapping.modified.toString()}get range(){return this.rangeOverride??this.mapping.modified}}let v=class extends k.Disposable{constructor(S,L,D,T){super(),this._item=S,this._elements=(0,d.h)("div.gutterItem",{style:{height:"20px",width:"34px"}},[(0,d.h)("div.background@background",{},[]),(0,d.h)("div.buttons@buttons",{},[])]),this._showAlways=this._item.map(this,A=>A.showAlways),this._menuId=this._item.map(this,A=>A.menuId),this._isSmall=(0,I.observableValue)(this,!1),this._lastItemRange=void 0,this._lastViewRange=void 0;const M=this._register(T.createInstance(a.WorkbenchHoverDelegate,"element",!0,{position:{hoverPosition:1}}));this._register((0,m.appendRemoveOnDispose)(L,this._elements.root)),this._register((0,I.autorun)(A=>{const P=this._showAlways.read(A);this._elements.root.classList.toggle("noTransition",!0),this._elements.root.classList.toggle("showAlways",P),setTimeout(()=>{this._elements.root.classList.toggle("noTransition",!1)},0)})),this._register((0,I.autorunWithStore)((A,P)=>{this._elements.buttons.replaceChildren();const N=P.add(T.createInstance(g.MenuWorkbenchToolBar,this._elements.buttons,this._menuId.read(A),{orientation:1,hoverDelegate:M,toolbarOptions:{primaryGroup:O=>O.startsWith("primary")},overflowBehavior:{maxItems:this._isSmall.read(A)?1:3},hiddenItemStrategy:0,actionRunner:new b.ActionRunnerWithContext(()=>{const O=this._item.get(),F=O.mapping;return{mapping:F,originalWithModifiedChanges:D.computeStagedValue(F),originalUri:O.originalUri,modifiedUri:O.modifiedUri}}),menuOptions:{shouldForwardArgs:!0}}));P.add(N.onDidChangeMenuItems(()=>{this._lastItemRange&&this.layout(this._lastItemRange,this._lastViewRange)}))}))}layout(S,L){this._lastItemRange=S,this._lastViewRange=L;let D=this._elements.buttons.clientHeight;this._isSmall.set(this._item.get().mapping.original.startLineNumber===1&&S.length<30,void 0),D=this._elements.buttons.clientHeight;const T=S.length/2-D/2,M=D;let A=S.start+T;const P=n.OffsetRange.tryCreate(M,L.endExclusive-M-D),N=n.OffsetRange.tryCreate(S.start+M,S.endExclusive-D-M);N&&P&&N.startthis.editor.getOption(62).showToolbar==="always"),this.sessionPosition=void 0,this.position=(0,p.derived)(this,q=>{const H=this.model.read(q)?.primaryGhostText.read(q);if(!this.alwaysShowToolbar.read(q)||!H||H.parts.length===0)return this.sessionPosition=void 0,null;const z=H.parts[0].column;this.sessionPosition&&this.sessionPosition.lineNumber!==H.lineNumber&&(this.sessionPosition=void 0);const U=new i.Position(H.lineNumber,Math.min(z,this.sessionPosition?.column??Number.MAX_SAFE_INTEGER));return this.sessionPosition=U,U}),this._register((0,p.autorunWithStore)((q,H)=>{const z=this.model.read(q);if(!z||!this.alwaysShowToolbar.read(q))return;const U=(0,n.derivedWithStore)((Q,G)=>{const K=G.add(this.instantiationService.createInstance(A,this.editor,!0,this.position,z.selectedInlineCompletionIndex,z.inlineCompletionsCount,z.activeCommands));return x.addContentWidget(K),G.add((0,b.toDisposable)(()=>x.removeContentWidget(K))),G.add((0,p.autorun)(R=>{this.position.read(R)&&z.lastTriggerKind.read(R)!==s.InlineCompletionTriggerKind.Explicit&&z.triggerExplicitly()})),K}),j=(0,p.derivedObservableWithCache)(this,(Q,G)=>!!this.position.read(Q)||!!G);H.add((0,p.autorun)(Q=>{j.read(Q)&&U.read(Q)}))}))}};e.InlineCompletionsHintsWidget=D,e.InlineCompletionsHintsWidget=D=ke([ce(2,h.IInstantiationService)],D);const T=(0,S.registerIcon)("inline-suggestion-hints-next",_.Codicon.chevronRight,(0,c.localize)(1090,"Icon for show next parameter hint.")),M=(0,S.registerIcon)("inline-suggestion-hints-previous",_.Codicon.chevronLeft,(0,c.localize)(1091,"Icon for show previous parameter hint."));let A=class extends b.Disposable{static{L=this}static{this._dropDownVisible=!1}static get dropDownVisible(){return this._dropDownVisible}static{this.id=0}createCommandAction(x,W,V){const q=new E.Action(x,W,V,!0,()=>this._commandService.executeCommand(x)),H=this.keybindingService.lookupKeybinding(x,this._contextKeyService);let z=W;return H&&(z=(0,c.localize)(1092,"{0} ({1})",W,H.getLabel())),q.tooltip=z,q}constructor(x,W,V,q,H,z,U,j,Q,G,K){super(),this.editor=x,this.withBorder=W,this._position=V,this._currentSuggestionIdx=q,this._suggestionCount=H,this._extraCommands=z,this._commandService=U,this.keybindingService=Q,this._contextKeyService=G,this._menuService=K,this.id=`InlineSuggestionHintsContentWidget${L.id++}`,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this.nodes=(0,d.h)("div.inlineSuggestionsHints",{className:this.withBorder?".withBorder":""},[(0,d.h)("div@toolBar")]),this.previousAction=this.createCommandAction(g.showPreviousInlineSuggestionActionId,(0,c.localize)(1093,"Previous"),t.ThemeIcon.asClassName(M)),this.availableSuggestionCountAction=new E.Action("inlineSuggestionHints.availableSuggestionCount","",void 0,!1),this.nextAction=this.createCommandAction(g.showNextInlineSuggestionActionId,(0,c.localize)(1094,"Next"),t.ThemeIcon.asClassName(T)),this.inlineCompletionsActionsMenus=this._register(this._menuService.createMenu(r.MenuId.InlineCompletionsActions,this._contextKeyService)),this.clearAvailableSuggestionCountLabelDebounced=this._register(new m.RunOnceScheduler(()=>{this.availableSuggestionCountAction.label=""},100)),this.disableButtonsDebounced=this._register(new m.RunOnceScheduler(()=>{this.previousAction.enabled=this.nextAction.enabled=!1},100)),this.toolBar=this._register(j.createInstance(O,this.nodes.toolBar,r.MenuId.InlineSuggestionToolbar,{menuOptions:{renderShortTitle:!0},toolbarOptions:{primaryGroup:R=>R.startsWith("primary")},actionViewItemProvider:(R,J)=>{if(R instanceof r.MenuItemAction)return j.createInstance(N,R,void 0);if(R===this.availableSuggestionCountAction){const ie=new P(void 0,R,{label:!0,icon:!1});return ie.setClass("availableSuggestionCount"),ie}},telemetrySource:"InlineSuggestionToolbar"})),this.toolBar.setPrependedPrimaryActions([this.previousAction,this.availableSuggestionCountAction,this.nextAction]),this._register(this.toolBar.onDidChangeDropdownVisibility(R=>{L._dropDownVisible=R})),this._register((0,p.autorun)(R=>{this._position.read(R),this.editor.layoutContentWidget(this)})),this._register((0,p.autorun)(R=>{const J=this._suggestionCount.read(R),ie=this._currentSuggestionIdx.read(R);J!==void 0?(this.clearAvailableSuggestionCountLabelDebounced.cancel(),this.availableSuggestionCountAction.label=`${ie+1}/${J}`):this.clearAvailableSuggestionCountLabelDebounced.schedule(),J!==void 0&&J>1?(this.disableButtonsDebounced.cancel(),this.previousAction.enabled=this.nextAction.enabled=!0):this.disableButtonsDebounced.schedule()})),this._register((0,p.autorun)(R=>{const ie=this._extraCommands.read(R).map(ue=>({class:void 0,id:ue.id,enabled:!0,tooltip:ue.tooltip||"",label:ue.title,run:he=>this._commandService.executeCommand(ue.id)}));for(const[ue,he]of this.inlineCompletionsActionsMenus.getActions())for(const pe of he)pe instanceof r.MenuItemAction&&ie.push(pe);ie.length>0&&ie.unshift(new E.Separator),this.toolBar.setAdditionalSecondaryActions(ie)}))}getId(){return this.id}getDomNode(){return this.nodes.root}getPosition(){return{position:this._position.get(),preference:[1,2],positionAffinity:3}}};e.InlineSuggestionHintsContentWidget=A,e.InlineSuggestionHintsContentWidget=A=L=ke([ce(6,u.ICommandService),ce(7,h.IInstantiationService),ce(8,v.IKeybindingService),ce(9,C.IContextKeyService),ce(10,r.IMenuService)],A);class P extends k.ActionViewItem{constructor(){super(...arguments),this._className=void 0}setClass(x){this._className=x}render(x){super.render(x),this._className&&x.classList.add(this._className)}updateTooltip(){}}class N extends l.MenuEntryActionViewItem{updateLabel(){const x=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService);if(!x)return super.updateLabel();if(this.label){const W=(0,d.h)("div.keybinding").root;this._register(new I.KeybindingLabel(W,o.OS,{disableTitle:!0,...I.unthemedKeybindingLabelOptions})).set(x),this.label.textContent=this._action.label,this.label.appendChild(W),this.label.classList.add("inlineSuggestionStatusBarItemLabel")}}updateTooltip(){}}let O=class extends a.WorkbenchToolBar{constructor(x,W,V,q,H,z,U,j,Q){super(x,{resetMenu:W,...V},q,H,z,U,j,Q),this.menuId=W,this.options2=V,this.menuService=q,this.contextKeyService=H,this.menu=this._store.add(this.menuService.createMenu(this.menuId,this.contextKeyService,{emitEventsForSubmenuChanges:!0})),this.additionalActions=[],this.prependedPrimaryActions=[],this._store.add(this.menu.onDidChange(()=>this.updateToolbar())),this.updateToolbar()}updateToolbar(){const x=[],W=[];(0,l.createAndFillInActionBarActions)(this.menu,this.options2?.menuOptions,{primary:x,secondary:W},this.options2?.toolbarOptions?.primaryGroup,this.options2?.toolbarOptions?.shouldInlineSubmenu,this.options2?.toolbarOptions?.useSeparatorsInPrimaryActions),W.push(...this.additionalActions),x.unshift(...this.prependedPrimaryActions),this.setActions(x,W)}setPrependedPrimaryActions(x){(0,y.equals)(this.prependedPrimaryActions,x,(W,V)=>W===V)||(this.prependedPrimaryActions=x,this.updateToolbar())}setAdditionalSecondaryActions(x){(0,y.equals)(this.additionalActions,x,(W,V)=>W===V)||(this.additionalActions=x,this.updateToolbar())}};e.CustomizedMenuWorkbenchToolBar=O,e.CustomizedMenuWorkbenchToolBar=O=ke([ce(3,r.IMenuService),ce(4,C.IContextKeyService),ce(5,f.IContextMenuService),ce(6,v.IKeybindingService),ce(7,u.ICommandService),ce(8,w.ITelemetryService)],O)}),define(ne[800],se([1,0,5,206,41,13,2,21,16,9,124,218,29,24,12,58,7,31,63,519]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l){"use strict";var a;Object.defineProperty(e,"__esModule",{value:!0}),e.CustomizedMenuWorkbenchToolBar=e.InlineEditHintsContentWidget=e.InlineEditHintsWidget=void 0;let r=class extends y.Disposable{constructor(v,w,S){super(),this.editor=v,this.model=w,this.instantiationService=S,this.alwaysShowToolbar=(0,m.observableFromEvent)(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(63).showToolbar==="always"),this.sessionPosition=void 0,this.position=(0,m.derived)(this,L=>{const D=this.model.read(L)?.model.ghostText.read(L);if(!this.alwaysShowToolbar.read(L)||!D||D.parts.length===0)return this.sessionPosition=void 0,null;const T=D.parts[0].column;this.sessionPosition&&this.sessionPosition.lineNumber!==D.lineNumber&&(this.sessionPosition=void 0);const M=new b.Position(D.lineNumber,Math.min(T,this.sessionPosition?.column??Number.MAX_SAFE_INTEGER));return this.sessionPosition=M,M}),this._register((0,m.autorunWithStore)((L,D)=>{if(!this.model.read(L)||!this.alwaysShowToolbar.read(L))return;const M=D.add(this.instantiationService.createInstance(u,this.editor,!0,this.position));v.addContentWidget(M),D.add((0,y.toDisposable)(()=>v.removeContentWidget(M)))}))}};e.InlineEditHintsWidget=r,e.InlineEditHintsWidget=r=ke([ce(2,g.IInstantiationService)],r);let u=class extends y.Disposable{static{a=this}static{this._dropDownVisible=!1}static{this.id=0}constructor(v,w,S,L,D,T){super(),this.editor=v,this.withBorder=w,this._position=S,this._contextKeyService=D,this._menuService=T,this.id=`InlineEditHintsContentWidget${a.id++}`,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this.nodes=(0,d.h)("div.inlineEditHints",{className:this.withBorder?".withBorder":""},[(0,d.h)("div@toolBar")]),this.inlineCompletionsActionsMenus=this._register(this._menuService.createMenu(o.MenuId.InlineEditActions,this._contextKeyService)),this.toolBar=this._register(L.createInstance(f,this.nodes.toolBar,this.editor,o.MenuId.InlineEditToolbar,{menuOptions:{renderShortTitle:!0},toolbarOptions:{primaryGroup:M=>M.startsWith("primary")},actionViewItemProvider:(M,A)=>{if(M instanceof o.MenuItemAction)return L.createInstance(C,M,void 0)},telemetrySource:"InlineEditToolbar"})),this._register(this.toolBar.onDidChangeDropdownVisibility(M=>{a._dropDownVisible=M})),this._register((0,m.autorun)(M=>{this._position.read(M),this.editor.layoutContentWidget(this)})),this._register((0,m.autorun)(M=>{const A=[];for(const[P,N]of this.inlineCompletionsActionsMenus.getActions())for(const O of N)O instanceof o.MenuItemAction&&A.push(O);A.length>0&&A.unshift(new I.Separator),this.toolBar.setAdditionalSecondaryActions(A)}))}getId(){return this.id}getDomNode(){return this.nodes.root}getPosition(){return{position:this._position.get(),preference:[1,2],positionAffinity:3}}};e.InlineEditHintsContentWidget=u,e.InlineEditHintsContentWidget=u=a=ke([ce(3,g.IInstantiationService),ce(4,i.IContextKeyService),ce(5,o.IMenuService)],u);class C extends p.MenuEntryActionViewItem{updateLabel(){const v=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService);if(!v)return super.updateLabel();if(this.label){const w=(0,d.h)("div.keybinding").root;this._register(new k.KeybindingLabel(w,_.OS,{disableTitle:!0,...k.unthemedKeybindingLabelOptions})).set(v),this.label.textContent=this._action.label,this.label.appendChild(w),this.label.classList.add("inlineEditStatusBarItemLabel")}}updateTooltip(){}}let f=class extends n.WorkbenchToolBar{constructor(v,w,S,L,D,T,M,A,P,N){super(v,{resetMenu:S,...L},D,T,M,A,P,N),this.editor=w,this.menuId=S,this.options2=L,this.menuService=D,this.contextKeyService=T,this.menu=this._store.add(this.menuService.createMenu(this.menuId,this.contextKeyService,{emitEventsForSubmenuChanges:!0})),this.additionalActions=[],this.prependedPrimaryActions=[],this._store.add(this.menu.onDidChange(()=>this.updateToolbar())),this._store.add(this.editor.onDidChangeCursorPosition(()=>this.updateToolbar())),this.updateToolbar()}updateToolbar(){const v=[],w=[];(0,p.createAndFillInActionBarActions)(this.menu,this.options2?.menuOptions,{primary:v,secondary:w},this.options2?.toolbarOptions?.primaryGroup,this.options2?.toolbarOptions?.shouldInlineSubmenu,this.options2?.toolbarOptions?.useSeparatorsInPrimaryActions),w.push(...this.additionalActions),v.unshift(...this.prependedPrimaryActions),this.setActions(v,w)}setAdditionalSecondaryActions(v){(0,E.equals)(this.additionalActions,v,(w,S)=>w===S)||(this.additionalActions=v,this.updateToolbar())}};e.CustomizedMenuWorkbenchToolBar=f,e.CustomizedMenuWorkbenchToolBar=f=ke([ce(4,o.IMenuService),ce(5,i.IContextKeyService),ce(6,s.IContextMenuService),ce(7,c.IKeybindingService),ce(8,t.ICommandService),ce(9,l.ITelemetryService)],f)}),define(ne[801],se([1,0,5,41,6,2,124,29,12,31,50,63,761,58]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ContextMenuMenuDelegate=e.ContextMenuService=void 0;let i=class extends E.Disposable{get contextMenuHandler(){return this._contextMenuHandler||(this._contextMenuHandler=new o.ContextMenuHandler(this.contextViewService,this.telemetryService,this.notificationService,this.keybindingService)),this._contextMenuHandler}constructor(c,l,a,r,u,C){super(),this.telemetryService=c,this.notificationService=l,this.contextViewService=a,this.keybindingService=r,this.menuService=u,this.contextKeyService=C,this._contextMenuHandler=void 0,this._onDidShowContextMenu=this._store.add(new I.Emitter),this.onDidShowContextMenu=this._onDidShowContextMenu.event,this._onDidHideContextMenu=this._store.add(new I.Emitter)}configure(c){this.contextMenuHandler.configure(c)}showContextMenu(c){c=s.transform(c,this.menuService,this.contextKeyService),this.contextMenuHandler.showContextMenu({...c,onHide:l=>{c.onHide?.(l),this._onDidHideContextMenu.fire()}}),d.ModifierKeyEmitter.getInstance().resetKeyStatus(),this._onDidShowContextMenu.fire()}};e.ContextMenuService=i,e.ContextMenuService=i=ke([ce(0,n.ITelemetryService),ce(1,p.INotificationService),ce(2,t.IContextViewService),ce(3,b.IKeybindingService),ce(4,m.IMenuService),ce(5,_.IContextKeyService)],i);var s;(function(g){function c(a){return a&&a.menuId instanceof m.MenuId}function l(a,r,u){if(!c(a))return a;const{menuId:C,menuActionOptions:f,contextKeyService:h}=a;return{...a,getActions:()=>{const v=[];if(C){const w=r.getMenuActions(C,h??u,f);(0,y.createAndFillInContextMenuActions)(w,v)}return a.getActions?k.Separator.join(a.getActions(),v):v}}}g.transform=l})(s||(e.ContextMenuMenuDelegate=s={}))}),define(ne[802],se([1,0,5,6,3,7,216,25,2,66,47,16,126,254,206,87,97,22,398,98,142,445,11,176,14,8,61,21,13]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r,u,C,f,h,v,w,S,L){"use strict";var D;Object.defineProperty(e,"__esModule",{value:!0}),e.QuickInputTree=void 0;const T=d.$;class M{constructor(Q,G,K){this.index=Q,this.hasCheckbox=G,this._hidden=!1,this._init=new a.Lazy(()=>{const R=K.label??"",J=(0,r.parseLabelWithIcons)(R).text.trim(),ie=K.ariaLabel||[R,this.saneDescription,this.saneDetail].map(ue=>(0,r.getCodiconAriaLabel)(ue)).filter(ue=>!!ue).join(", ");return{saneLabel:R,saneSortLabel:J,saneAriaLabel:ie}}),this._saneDescription=K.description,this._saneTooltip=K.tooltip}get saneLabel(){return this._init.value.saneLabel}get saneSortLabel(){return this._init.value.saneSortLabel}get saneAriaLabel(){return this._init.value.saneAriaLabel}get element(){return this._element}set element(Q){this._element=Q}get hidden(){return this._hidden}set hidden(Q){this._hidden=Q}get saneDescription(){return this._saneDescription}set saneDescription(Q){this._saneDescription=Q}get saneDetail(){return this._saneDetail}set saneDetail(Q){this._saneDetail=Q}get saneTooltip(){return this._saneTooltip}set saneTooltip(Q){this._saneTooltip=Q}get labelHighlights(){return this._labelHighlights}set labelHighlights(Q){this._labelHighlights=Q}get descriptionHighlights(){return this._descriptionHighlights}set descriptionHighlights(Q){this._descriptionHighlights=Q}get detailHighlights(){return this._detailHighlights}set detailHighlights(Q){this._detailHighlights=Q}}class A extends M{constructor(Q,G,K,R,J,ie){super(Q,G,J),this.fireButtonTriggered=K,this._onChecked=R,this.item=J,this._separator=ie,this._checked=!1,this.onChecked=G?k.Event.map(k.Event.filter(this._onChecked.event,ue=>ue.element===this),ue=>ue.checked):k.Event.None,this._saneDetail=J.detail,this._labelHighlights=J.highlights?.label,this._descriptionHighlights=J.highlights?.description,this._detailHighlights=J.highlights?.detail}get separator(){return this._separator}set separator(Q){this._separator=Q}get checked(){return this._checked}set checked(Q){Q!==this._checked&&(this._checked=Q,this._onChecked.fire({element:this,checked:Q}))}get checkboxDisabled(){return!!this.item.disabled}}var P;(function(j){j[j.NONE=0]="NONE",j[j.MOUSE_HOVER=1]="MOUSE_HOVER",j[j.ACTIVE_ITEM=2]="ACTIVE_ITEM"})(P||(P={}));class N extends M{constructor(Q,G,K){super(Q,!1,K),this.fireSeparatorButtonTriggered=G,this.separator=K,this.children=new Array,this.focusInsideSeparator=P.NONE}}class O{getHeight(Q){return Q instanceof N?30:Q.saneDetail?44:22}getTemplateId(Q){return Q instanceof A?W.ID:V.ID}}class F{getWidgetAriaLabel(){return(0,I.localize)(1597,"Quick Input")}getAriaLabel(Q){return Q.separator?.label?`${Q.saneAriaLabel}, ${Q.separator.label}`:Q.saneAriaLabel}getWidgetRole(){return"listbox"}getRole(Q){return Q.hasCheckbox?"checkbox":"option"}isChecked(Q){if(!(!Q.hasCheckbox||!(Q instanceof A)))return{get value(){return Q.checked},onDidChange:G=>Q.onChecked(()=>G())}}}class x{constructor(Q){this.hoverDelegate=Q}renderTemplate(Q){const G=Object.create(null);G.toDisposeElement=new _.DisposableStore,G.toDisposeTemplate=new _.DisposableStore,G.entry=d.append(Q,T(".quick-input-list-entry"));const K=d.append(G.entry,T("label.quick-input-list-label"));G.toDisposeTemplate.add(d.addStandardDisposableListener(K,d.EventType.CLICK,pe=>{G.checkbox.offsetParent||pe.preventDefault()})),G.checkbox=d.append(K,T("input.quick-input-list-checkbox")),G.checkbox.type="checkbox";const R=d.append(K,T(".quick-input-list-rows")),J=d.append(R,T(".quick-input-list-row")),ie=d.append(R,T(".quick-input-list-row"));G.label=new t.IconLabel(J,{supportHighlights:!0,supportDescriptionHighlights:!0,supportIcons:!0,hoverDelegate:this.hoverDelegate}),G.toDisposeTemplate.add(G.label),G.icon=d.prepend(G.label.element,T(".quick-input-list-icon"));const ue=d.append(J,T(".quick-input-list-entry-keybinding"));G.keybinding=new i.KeybindingLabel(ue,n.OS),G.toDisposeTemplate.add(G.keybinding);const he=d.append(ie,T(".quick-input-list-label-meta"));return G.detail=new t.IconLabel(he,{supportHighlights:!0,supportIcons:!0,hoverDelegate:this.hoverDelegate}),G.toDisposeTemplate.add(G.detail),G.separator=d.append(G.entry,T(".quick-input-list-separator")),G.actionBar=new s.ActionBar(G.entry,this.hoverDelegate?{hoverDelegate:this.hoverDelegate}:void 0),G.actionBar.domNode.classList.add("quick-input-list-entry-action-bar"),G.toDisposeTemplate.add(G.actionBar),G}disposeTemplate(Q){Q.toDisposeElement.dispose(),Q.toDisposeTemplate.dispose()}disposeElement(Q,G,K){K.toDisposeElement.clear(),K.actionBar.clear()}}let W=class extends x{static{D=this}static{this.ID="quickpickitem"}constructor(Q,G){super(Q),this.themeService=G,this._itemsWithSeparatorsFrequency=new Map}get templateId(){return D.ID}renderTemplate(Q){const G=super.renderTemplate(Q);return G.toDisposeTemplate.add(d.addStandardDisposableListener(G.checkbox,d.EventType.CHANGE,K=>{G.element.checked=G.checkbox.checked})),G}renderElement(Q,G,K){const R=Q.element;K.element=R,R.element=K.entry??void 0;const J=R.item;K.checkbox.checked=R.checked,K.toDisposeElement.add(R.onChecked(de=>K.checkbox.checked=de)),K.checkbox.disabled=R.checkboxDisabled;const{labelHighlights:ie,descriptionHighlights:ue,detailHighlights:he}=R;if(J.iconPath){const de=(0,g.isDark)(this.themeService.getColorTheme().type)?J.iconPath.dark:J.iconPath.light??J.iconPath.dark,ge=c.URI.revive(de);K.icon.className="quick-input-list-icon",K.icon.style.backgroundImage=d.asCSSUrl(ge)}else K.icon.style.backgroundImage="",K.icon.className=J.iconClass?`quick-input-list-icon ${J.iconClass}`:"";let pe;!R.saneTooltip&&R.saneDescription&&(pe={markdown:{value:R.saneDescription,supportThemeIcons:!0},markdownNotSupportedFallback:R.saneDescription});const ae={matches:ie||[],descriptionTitle:pe,descriptionMatches:ue||[],labelEscapeNewLines:!0};if(ae.extraClasses=J.iconClasses,ae.italic=J.italic,ae.strikethrough=J.strikethrough,K.entry.classList.remove("quick-input-list-separator-as-item"),K.label.setLabel(R.saneLabel,R.saneDescription,ae),K.keybinding.set(J.keybinding),R.saneDetail){let de;R.saneTooltip||(de={markdown:{value:R.saneDetail,supportThemeIcons:!0},markdownNotSupportedFallback:R.saneDetail}),K.detail.element.style.display="",K.detail.setLabel(R.saneDetail,void 0,{matches:he,title:de,labelEscapeNewLines:!0})}else K.detail.element.style.display="none";R.separator?.label?(K.separator.textContent=R.separator.label,K.separator.style.display="",this.addItemWithSeparator(R)):K.separator.style.display="none",K.entry.classList.toggle("quick-input-list-separator-border",!!R.separator);const ee=J.buttons;ee&&ee.length?(K.actionBar.push(ee.map((de,ge)=>(0,l.quickInputButtonToAction)(de,`id-${ge}`,()=>R.fireButtonTriggered({button:de,item:R.item}))),{icon:!0,label:!1}),K.entry.classList.add("has-actions")):K.entry.classList.remove("has-actions")}disposeElement(Q,G,K){this.removeItemWithSeparator(Q.element),super.disposeElement(Q,G,K)}isItemWithSeparatorVisible(Q){return this._itemsWithSeparatorsFrequency.has(Q)}addItemWithSeparator(Q){this._itemsWithSeparatorsFrequency.set(Q,(this._itemsWithSeparatorsFrequency.get(Q)||0)+1)}removeItemWithSeparator(Q){const G=this._itemsWithSeparatorsFrequency.get(Q)||0;G>1?this._itemsWithSeparatorsFrequency.set(Q,G-1):this._itemsWithSeparatorsFrequency.delete(Q)}};W=D=ke([ce(1,m.IThemeService)],W);class V extends x{constructor(){super(...arguments),this._visibleSeparatorsFrequency=new Map}static{this.ID="quickpickseparator"}get templateId(){return V.ID}get visibleSeparators(){return[...this._visibleSeparatorsFrequency.keys()]}isSeparatorVisible(Q){return this._visibleSeparatorsFrequency.has(Q)}renderTemplate(Q){const G=super.renderTemplate(Q);return G.checkbox.style.display="none",G}renderElement(Q,G,K){const R=Q.element;K.element=R,R.element=K.entry??void 0,R.element.classList.toggle("focus-inside",!!R.focusInsideSeparator);const J=R.separator,{labelHighlights:ie,descriptionHighlights:ue,detailHighlights:he}=R;K.icon.style.backgroundImage="",K.icon.className="";let pe;!R.saneTooltip&&R.saneDescription&&(pe={markdown:{value:R.saneDescription,supportThemeIcons:!0},markdownNotSupportedFallback:R.saneDescription});const ae={matches:ie||[],descriptionTitle:pe,descriptionMatches:ue||[],labelEscapeNewLines:!0};if(K.entry.classList.add("quick-input-list-separator-as-item"),K.label.setLabel(R.saneLabel,R.saneDescription,ae),R.saneDetail){let de;R.saneTooltip||(de={markdown:{value:R.saneDetail,supportThemeIcons:!0},markdownNotSupportedFallback:R.saneDetail}),K.detail.element.style.display="",K.detail.setLabel(R.saneDetail,void 0,{matches:he,title:de,labelEscapeNewLines:!0})}else K.detail.element.style.display="none";K.separator.style.display="none",K.entry.classList.add("quick-input-list-separator-border");const ee=J.buttons;ee&&ee.length?(K.actionBar.push(ee.map((de,ge)=>(0,l.quickInputButtonToAction)(de,`id-${ge}`,()=>R.fireSeparatorButtonTriggered({button:de,separator:R.separator}))),{icon:!0,label:!1}),K.entry.classList.add("has-actions")):K.entry.classList.remove("has-actions"),this.addSeparator(R)}disposeElement(Q,G,K){this.removeSeparator(Q.element),this.isSeparatorVisible(Q.element)||Q.element.element?.classList.remove("focus-inside"),super.disposeElement(Q,G,K)}addSeparator(Q){this._visibleSeparatorsFrequency.set(Q,(this._visibleSeparatorsFrequency.get(Q)||0)+1)}removeSeparator(Q){const G=this._visibleSeparatorsFrequency.get(Q)||0;G>1?this._visibleSeparatorsFrequency.set(Q,G-1):this._visibleSeparatorsFrequency.delete(Q)}}let q=class extends _.Disposable{constructor(Q,G,K,R,J,ie){super(),this.parent=Q,this.hoverDelegate=G,this.linkOpenerDelegate=K,this.accessibilityService=ie,this._onKeyDown=new k.Emitter,this._onLeave=new k.Emitter,this.onLeave=this._onLeave.event,this._visibleCountObservable=(0,S.observableValue)("VisibleCount",0),this.onChangedVisibleCount=k.Event.fromObservable(this._visibleCountObservable,this._store),this._allVisibleCheckedObservable=(0,S.observableValue)("AllVisibleChecked",!1),this.onChangedAllVisibleChecked=k.Event.fromObservable(this._allVisibleCheckedObservable,this._store),this._checkedCountObservable=(0,S.observableValue)("CheckedCount",0),this.onChangedCheckedCount=k.Event.fromObservable(this._checkedCountObservable,this._store),this._checkedElementsObservable=(0,S.observableValueOpts)({equalsFn:L.equals},new Array),this.onChangedCheckedElements=k.Event.fromObservable(this._checkedElementsObservable,this._store),this._onButtonTriggered=new k.Emitter,this.onButtonTriggered=this._onButtonTriggered.event,this._onSeparatorButtonTriggered=new k.Emitter,this.onSeparatorButtonTriggered=this._onSeparatorButtonTriggered.event,this._elementChecked=new k.Emitter,this._elementCheckedEventBufferer=new k.EventBufferer,this._hasCheckboxes=!1,this._inputElements=new Array,this._elementTree=new Array,this._itemElements=new Array,this._elementDisposable=this._register(new _.DisposableStore),this._matchOnDescription=!1,this._matchOnDetail=!1,this._matchOnLabel=!0,this._matchOnLabelMode="fuzzy",this._sortByLabel=!0,this._shouldLoop=!0,this._container=d.append(this.parent,T(".quick-input-list")),this._separatorRenderer=new V(G),this._itemRenderer=J.createInstance(W,G),this._tree=this._register(J.createInstance(y.WorkbenchObjectTree,"QuickInput",this._container,new O,[this._itemRenderer,this._separatorRenderer],{filter:{filter(ue){return ue.hidden?0:ue instanceof N?2:1}},sorter:{compare:(ue,he)=>{if(!this.sortByLabel||!this._lastQueryString)return 0;const pe=this._lastQueryString.toLowerCase();return U(ue,he,pe)}},accessibilityProvider:new F,setRowLineHeight:!1,multipleSelectionSupport:!1,hideTwistiesOfChildlessElements:!0,renderIndentGuides:f.RenderIndentGuides.None,findWidgetEnabled:!1,indent:0,horizontalScrolling:!1,allowNonCollapsibleParents:!0,alwaysConsumeMouseWheel:!0})),this._tree.getHTMLElement().id=R,this._registerListeners()}get onDidChangeFocus(){return k.Event.map(this._tree.onDidChangeFocus,Q=>Q.elements.filter(G=>G instanceof A).map(G=>G.item),this._store)}get onDidChangeSelection(){return k.Event.map(this._tree.onDidChangeSelection,Q=>({items:Q.elements.filter(G=>G instanceof A).map(G=>G.item),event:Q.browserEvent}),this._store)}get displayed(){return this._container.style.display!=="none"}set displayed(Q){this._container.style.display=Q?"":"none"}get scrollTop(){return this._tree.scrollTop}set scrollTop(Q){this._tree.scrollTop=Q}get ariaLabel(){return this._tree.ariaLabel}set ariaLabel(Q){this._tree.ariaLabel=Q??""}set enabled(Q){this._tree.getHTMLElement().style.pointerEvents=Q?"":"none"}get matchOnDescription(){return this._matchOnDescription}set matchOnDescription(Q){this._matchOnDescription=Q}get matchOnDetail(){return this._matchOnDetail}set matchOnDetail(Q){this._matchOnDetail=Q}get matchOnLabel(){return this._matchOnLabel}set matchOnLabel(Q){this._matchOnLabel=Q}get matchOnLabelMode(){return this._matchOnLabelMode}set matchOnLabelMode(Q){this._matchOnLabelMode=Q}get sortByLabel(){return this._sortByLabel}set sortByLabel(Q){this._sortByLabel=Q}get shouldLoop(){return this._shouldLoop}set shouldLoop(Q){this._shouldLoop=Q}_registerListeners(){this._registerOnKeyDown(),this._registerOnContainerClick(),this._registerOnMouseMiddleClick(),this._registerOnTreeModelChanged(),this._registerOnElementChecked(),this._registerOnContextMenu(),this._registerHoverListeners(),this._registerSelectionChangeListener(),this._registerSeparatorActionShowingListeners()}_registerOnKeyDown(){this._register(this._tree.onKeyDown(Q=>{const G=new p.StandardKeyboardEvent(Q);switch(G.keyCode){case 10:this.toggleCheckbox();break}this._onKeyDown.fire(G)}))}_registerOnContainerClick(){this._register(d.addDisposableListener(this._container,d.EventType.CLICK,Q=>{(Q.x||Q.y)&&this._onLeave.fire()}))}_registerOnMouseMiddleClick(){this._register(d.addDisposableListener(this._container,d.EventType.AUXCLICK,Q=>{Q.button===1&&this._onLeave.fire()}))}_registerOnTreeModelChanged(){this._register(this._tree.onDidChangeModel(()=>{const Q=this._itemElements.filter(G=>!G.hidden).length;this._visibleCountObservable.set(Q,void 0),this._hasCheckboxes&&this._updateCheckedObservables()}))}_registerOnElementChecked(){this._register(this._elementCheckedEventBufferer.wrapEvent(this._elementChecked.event,(Q,G)=>G)(Q=>this._updateCheckedObservables()))}_registerOnContextMenu(){this._register(this._tree.onContextMenu(Q=>{Q.element&&(Q.browserEvent.preventDefault(),this._tree.setSelection([Q.element]))}))}_registerHoverListeners(){const Q=this._register(new h.ThrottledDelayer(this.hoverDelegate.delay));this._register(this._tree.onMouseOver(async G=>{if(d.isHTMLAnchorElement(G.browserEvent.target)){Q.cancel();return}if(!(!d.isHTMLAnchorElement(G.browserEvent.relatedTarget)&&d.isAncestor(G.browserEvent.relatedTarget,G.element?.element)))try{await Q.trigger(async()=>{G.element instanceof A&&this.showHover(G.element)})}catch(K){if(!(0,v.isCancellationError)(K))throw K}})),this._register(this._tree.onMouseOut(G=>{d.isAncestor(G.browserEvent.relatedTarget,G.element?.element)||Q.cancel()}))}_registerSeparatorActionShowingListeners(){this._register(this._tree.onDidChangeFocus(Q=>{const G=Q.elements[0]?this._tree.getParentElement(Q.elements[0]):null;for(const K of this._separatorRenderer.visibleSeparators){const R=K===G;!!(K.focusInsideSeparator&P.ACTIVE_ITEM)!==R&&(R?K.focusInsideSeparator|=P.ACTIVE_ITEM:K.focusInsideSeparator&=~P.ACTIVE_ITEM,this._tree.rerender(K))}})),this._register(this._tree.onMouseOver(Q=>{const G=Q.element?this._tree.getParentElement(Q.element):null;for(const K of this._separatorRenderer.visibleSeparators){if(K!==G)continue;!!(K.focusInsideSeparator&P.MOUSE_HOVER)||(K.focusInsideSeparator|=P.MOUSE_HOVER,this._tree.rerender(K))}})),this._register(this._tree.onMouseOut(Q=>{const G=Q.element?this._tree.getParentElement(Q.element):null;for(const K of this._separatorRenderer.visibleSeparators){if(K!==G)continue;!!(K.focusInsideSeparator&P.MOUSE_HOVER)&&(K.focusInsideSeparator&=~P.MOUSE_HOVER,this._tree.rerender(K))}}))}_registerSelectionChangeListener(){this._register(this._tree.onDidChangeSelection(Q=>{const G=Q.elements.filter(K=>K instanceof A);G.length!==Q.elements.length&&(Q.elements.length===1&&Q.elements[0]instanceof N&&(this._tree.setFocus([Q.elements[0].children[0]]),this._tree.reveal(Q.elements[0],0)),this._tree.setSelection(G))}))}setAllVisibleChecked(Q){this._elementCheckedEventBufferer.bufferEvents(()=>{this._itemElements.forEach(G=>{!G.hidden&&!G.checkboxDisabled&&(G.checked=Q)})})}setElements(Q){this._elementDisposable.clear(),this._lastQueryString=void 0,this._inputElements=Q,this._hasCheckboxes=this.parent.classList.contains("show-checkboxes");let G;this._itemElements=new Array,this._elementTree=Q.reduce((K,R,J)=>{let ie;if(R.type==="separator"){if(!R.buttons)return K;G=new N(J,ue=>this._onSeparatorButtonTriggered.fire(ue),R),ie=G}else{const ue=J>0?Q[J-1]:void 0;let he;ue&&ue.type==="separator"&&!ue.buttons&&(G=void 0,he=ue);const pe=new A(J,this._hasCheckboxes,ae=>this._onButtonTriggered.fire(ae),this._elementChecked,R,he);if(this._itemElements.push(pe),G)return G.children.push(pe),K;ie=pe}return K.push(ie),K},new Array),this._setElementsToTree(this._elementTree),this.accessibilityService.isScreenReaderOptimized()&&setTimeout(()=>{const K=this._tree.getHTMLElement().querySelector(".monaco-list-row.focused"),R=K?.parentNode;if(K&&R){const J=K.nextSibling;K.remove(),R.insertBefore(K,J)}},0)}setFocusedElements(Q){const G=Q.map(K=>this._itemElements.find(R=>R.item===K)).filter(K=>!!K).filter(K=>!K.hidden);if(this._tree.setFocus(G),Q.length>0){const K=this._tree.getFocus()[0];K&&this._tree.reveal(K)}}getActiveDescendant(){return this._tree.getHTMLElement().getAttribute("aria-activedescendant")}setSelectedElements(Q){const G=Q.map(K=>this._itemElements.find(R=>R.item===K)).filter(K=>!!K);this._tree.setSelection(G)}getCheckedElements(){return this._itemElements.filter(Q=>Q.checked).map(Q=>Q.item)}setCheckedElements(Q){this._elementCheckedEventBufferer.bufferEvents(()=>{const G=new Set;for(const K of Q)G.add(K);for(const K of this._itemElements)K.checked=G.has(K.item)})}focus(Q){if(this._itemElements.length)switch(Q===b.QuickPickFocus.Second&&this._itemElements.length<2&&(Q=b.QuickPickFocus.First),Q){case b.QuickPickFocus.First:this._tree.scrollTop=0,this._tree.focusFirst(void 0,G=>G.element instanceof A);break;case b.QuickPickFocus.Second:{this._tree.scrollTop=0;let G=!1;this._tree.focusFirst(void 0,K=>K.element instanceof A?G?!0:(G=!G,!1):!1);break}case b.QuickPickFocus.Last:this._tree.scrollTop=this._tree.scrollHeight,this._tree.focusLast(void 0,G=>G.element instanceof A);break;case b.QuickPickFocus.Next:{const G=this._tree.getFocus();this._tree.focusNext(void 0,this._shouldLoop,void 0,R=>R.element instanceof A?(this._tree.reveal(R.element),!0):!1);const K=this._tree.getFocus();G.length&&G[0]===K[0]&&G[0]===this._itemElements[this._itemElements.length-1]&&this._onLeave.fire();break}case b.QuickPickFocus.Previous:{const G=this._tree.getFocus();this._tree.focusPrevious(void 0,this._shouldLoop,void 0,R=>{if(!(R.element instanceof A))return!1;const J=this._tree.getParentElement(R.element);return J===null||J.children[0]!==R.element?this._tree.reveal(R.element):this._tree.reveal(J),!0});const K=this._tree.getFocus();G.length&&G[0]===K[0]&&G[0]===this._itemElements[0]&&this._onLeave.fire();break}case b.QuickPickFocus.NextPage:this._tree.focusNextPage(void 0,G=>G.element instanceof A?(this._tree.reveal(G.element),!0):!1);break;case b.QuickPickFocus.PreviousPage:this._tree.focusPreviousPage(void 0,G=>{if(!(G.element instanceof A))return!1;const K=this._tree.getParentElement(G.element);return K===null||K.children[0]!==G.element?this._tree.reveal(G.element):this._tree.reveal(K),!0});break;case b.QuickPickFocus.NextSeparator:{let G=!1;const K=this._tree.getFocus()[0];this._tree.focusNext(void 0,!0,void 0,J=>{if(G)return!0;if(J.element instanceof N)G=!0,this._separatorRenderer.isSeparatorVisible(J.element)?this._tree.reveal(J.element.children[0]):this._tree.reveal(J.element,0);else if(J.element instanceof A){if(J.element.separator)return this._itemRenderer.isItemWithSeparatorVisible(J.element)?this._tree.reveal(J.element):this._tree.reveal(J.element,0),!0;if(J.element===this._elementTree[0])return this._tree.reveal(J.element,0),!0}return!1});const R=this._tree.getFocus()[0];K===R&&(this._tree.scrollTop=this._tree.scrollHeight,this._tree.focusLast(void 0,J=>J.element instanceof A));break}case b.QuickPickFocus.PreviousSeparator:{let G,K=!!this._tree.getFocus()[0]?.separator;this._tree.focusPrevious(void 0,!0,void 0,R=>{if(R.element instanceof N)K?G||(this._separatorRenderer.isSeparatorVisible(R.element)?this._tree.reveal(R.element):this._tree.reveal(R.element,0),G=R.element.children[0]):K=!0;else if(R.element instanceof A&&!G){if(R.element.separator)this._itemRenderer.isItemWithSeparatorVisible(R.element)?this._tree.reveal(R.element):this._tree.reveal(R.element,0),G=R.element;else if(R.element===this._elementTree[0])return this._tree.reveal(R.element,0),!0}return!1}),G&&this._tree.setFocus([G]);break}}}clearFocus(){this._tree.setFocus([])}domFocus(){this._tree.domFocus()}layout(Q){this._tree.getHTMLElement().style.maxHeight=Q?`${Math.floor(Q/44)*44+6}px`:"",this._tree.layout()}filter(Q){if(this._lastQueryString=Q,!(this._sortByLabel||this._matchOnLabel||this._matchOnDescription||this._matchOnDetail))return this._tree.layout(),!1;const G=Q;if(Q=Q.trim(),!Q||!(this.matchOnLabel||this.matchOnDescription||this.matchOnDetail))this._itemElements.forEach(K=>{K.labelHighlights=void 0,K.descriptionHighlights=void 0,K.detailHighlights=void 0,K.hidden=!1;const R=K.index&&this._inputElements[K.index-1];K.item&&(K.separator=R&&R.type==="separator"&&!R.buttons?R:void 0)});else{let K;this._itemElements.forEach(R=>{let J;this.matchOnLabelMode==="fuzzy"?J=this.matchOnLabel?(0,r.matchesFuzzyIconAware)(Q,(0,r.parseLabelWithIcons)(R.saneLabel))??void 0:void 0:J=this.matchOnLabel?H(G,(0,r.parseLabelWithIcons)(R.saneLabel))??void 0:void 0;const ie=this.matchOnDescription?(0,r.matchesFuzzyIconAware)(Q,(0,r.parseLabelWithIcons)(R.saneDescription||""))??void 0:void 0,ue=this.matchOnDetail?(0,r.matchesFuzzyIconAware)(Q,(0,r.parseLabelWithIcons)(R.saneDetail||""))??void 0:void 0;if(J||ie||ue?(R.labelHighlights=J,R.descriptionHighlights=ie,R.detailHighlights=ue,R.hidden=!1):(R.labelHighlights=void 0,R.descriptionHighlights=void 0,R.detailHighlights=void 0,R.hidden=R.item?!R.item.alwaysShow:!0),R.item?R.separator=void 0:R.separator&&(R.hidden=!0),!this.sortByLabel){const he=R.index&&this._inputElements[R.index-1]||void 0;he?.type==="separator"&&!he.buttons&&(K=he),K&&!R.hidden&&(R.separator=K,K=void 0)}})}return this._setElementsToTree(this._sortByLabel&&Q?this._itemElements:this._elementTree),this._tree.layout(),!0}toggleCheckbox(){this._elementCheckedEventBufferer.bufferEvents(()=>{const Q=this._tree.getFocus().filter(K=>K instanceof A),G=this._allVisibleChecked(Q);for(const K of Q)K.checkboxDisabled||(K.checked=!G)})}style(Q){this._tree.style(Q)}toggleHover(){const Q=this._tree.getFocus()[0];if(!Q?.saneTooltip||!(Q instanceof A))return;if(this._lastHover&&!this._lastHover.isDisposed){this._lastHover.dispose();return}this.showHover(Q);const G=new _.DisposableStore;G.add(this._tree.onDidChangeFocus(K=>{K.elements[0]instanceof A&&this.showHover(K.elements[0])})),this._lastHover&&G.add(this._lastHover),this._elementDisposable.add(G)}_setElementsToTree(Q){const G=new Array;for(const K of Q)K instanceof N?G.push({element:K,collapsible:!1,collapsed:!1,children:K.children.map(R=>({element:R,collapsible:!1,collapsed:!1}))}):G.push({element:K,collapsible:!1,collapsed:!1});this._tree.setChildren(null,G)}_allVisibleChecked(Q,G=!0){for(let K=0,R=Q.length;K{this._allVisibleCheckedObservable.set(this._allVisibleChecked(this._itemElements,!1),Q);const G=this._itemElements.filter(K=>K.checked).length;this._checkedCountObservable.set(G,Q),this._checkedElementsObservable.set(this.getCheckedElements(),Q)})}showHover(Q){this._lastHover&&!this._lastHover.isDisposed&&(this.hoverDelegate.onDidHideHover?.(),this._lastHover?.dispose()),!(!Q.element||!Q.saneTooltip)&&(this._lastHover=this.hoverDelegate.showHover({content:Q.saneTooltip,target:Q.element,linkHandler:G=>{this.linkOpenerDelegate(G)},appearance:{showPointer:!0},container:this._container,position:{hoverPosition:1}},!1))}};e.QuickInputTree=q,ke([o.memoize],q.prototype,"onDidChangeFocus",null),ke([o.memoize],q.prototype,"onDidChangeSelection",null),e.QuickInputTree=q=ke([ce(4,E.IInstantiationService),ce(5,w.IAccessibilityService)],q);function H(j,Q){const{text:G,iconOffsets:K}=Q;if(!K||K.length===0)return z(j,G);const R=(0,C.ltrim)(G," "),J=G.length-R.length,ie=z(j,R);if(ie)for(const ue of ie){const he=K[ue.start+J]+J;ue.start+=he,ue.end+=he}return ie}function z(j,Q){const G=Q.toLowerCase().indexOf(j.toLowerCase());return G!==-1?[{start:G,end:G+j.length}]:null}function U(j,Q,G){const K=j.labelHighlights||[],R=Q.labelHighlights||[];return K.length&&!R.length?-1:!K.length&&R.length?1:K.length===0&&R.length===0?0:(0,u.compareAnything)(j.saneSortLabel,Q.saneSortLabel,G)}}),define(ne[803],se([1,0,5,87,258,354,633,18,6,2,111,3,66,704,272,119,52,7,802,12,719]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a){"use strict";var r;Object.defineProperty(e,"__esModule",{value:!0}),e.QuickInputController=void 0;const u=d.$;let C=class extends b.Disposable{static{r=this}static{this.MAX_WIDTH=600}get currentQuickInput(){return this.controller??void 0}get container(){return this._container}constructor(h,v,w,S){super(),this.options=h,this.layoutService=v,this.instantiationService=w,this.contextKeyService=S,this.enabled=!0,this.onDidAcceptEmitter=this._register(new _.Emitter),this.onDidCustomEmitter=this._register(new _.Emitter),this.onDidTriggerButtonEmitter=this._register(new _.Emitter),this.keyMods={ctrlCmd:!1,alt:!1},this.controller=null,this.onShowEmitter=this._register(new _.Emitter),this.onShow=this.onShowEmitter.event,this.onHideEmitter=this._register(new _.Emitter),this.onHide=this.onHideEmitter.event,this.inQuickInputContext=i.InQuickInputContextKey.bindTo(this.contextKeyService),this.quickInputTypeContext=i.QuickInputTypeContextKey.bindTo(this.contextKeyService),this.endOfQuickInputBoxContext=i.EndOfQuickInputBoxContextKey.bindTo(this.contextKeyService),this.idPrefix=h.idPrefix,this._container=h.container,this.styles=h.styles,this._register(_.Event.runAndSubscribe(d.onDidRegisterWindow,({window:L,disposables:D})=>this.registerKeyModsListeners(L,D),{window:g.mainWindow,disposables:this._store})),this._register(d.onWillUnregisterWindow(L=>{this.ui&&d.getWindow(this.ui.container)===L&&(this.reparentUI(this.layoutService.mainContainer),this.layout(this.layoutService.mainContainerDimension,this.layoutService.mainContainerOffset.quickPickTop))}))}registerKeyModsListeners(h,v){const w=S=>{this.keyMods.ctrlCmd=S.ctrlKey||S.metaKey,this.keyMods.alt=S.altKey};for(const S of[d.EventType.KEY_DOWN,d.EventType.KEY_UP,d.EventType.MOUSE_DOWN])v.add(d.addDisposableListener(h,S,w,!0))}getUI(h){if(this.ui)return h&&d.getWindow(this._container)!==d.getWindow(this.layoutService.activeContainer)&&(this.reparentUI(this.layoutService.activeContainer),this.layout(this.layoutService.activeContainerDimension,this.layoutService.activeContainerOffset.quickPickTop)),this.ui;const v=d.append(this._container,u(".quick-input-widget.show-file-icons"));v.tabIndex=-1,v.style.display="none";const w=d.createStyleSheet(v),S=d.append(v,u(".quick-input-titlebar")),L=this._register(new k.ActionBar(S,{hoverDelegate:this.options.hoverDelegate}));L.domNode.classList.add("quick-input-left-action-bar");const D=d.append(S,u(".quick-input-title")),T=this._register(new k.ActionBar(S,{hoverDelegate:this.options.hoverDelegate}));T.domNode.classList.add("quick-input-right-action-bar");const M=d.append(v,u(".quick-input-header")),A=d.append(M,u("input.quick-input-check-all"));A.type="checkbox",A.setAttribute("aria-label",(0,n.localize)(1590,"Toggle all checkboxes")),this._register(d.addStandardDisposableListener(A,d.EventType.CHANGE,pe=>{const ae=A.checked;ue.setAllVisibleChecked(ae)})),this._register(d.addDisposableListener(A,d.EventType.CLICK,pe=>{(pe.x||pe.y)&&F.setFocus()}));const P=d.append(M,u(".quick-input-description")),N=d.append(M,u(".quick-input-and-message")),O=d.append(N,u(".quick-input-filter")),F=this._register(new t.QuickInputBox(O,this.styles.inputBox,this.styles.toggle));F.setAttribute("aria-describedby",`${this.idPrefix}message`);const x=d.append(O,u(".quick-input-visible-count"));x.setAttribute("aria-live","polite"),x.setAttribute("aria-atomic","true");const W=new E.CountBadge(x,{countFormat:(0,n.localize)(1591,"{0} Results")},this.styles.countBadge),V=d.append(O,u(".quick-input-count"));V.setAttribute("aria-live","polite");const q=new E.CountBadge(V,{countFormat:(0,n.localize)(1592,"{0} Selected")},this.styles.countBadge),H=this._register(new k.ActionBar(M,{hoverDelegate:this.options.hoverDelegate}));H.domNode.classList.add("quick-input-inline-action-bar");const z=d.append(M,u(".quick-input-action")),U=this._register(new I.Button(z,this.styles.button));U.label=(0,n.localize)(1593,"OK"),this._register(U.onDidClick(pe=>{this.onDidAcceptEmitter.fire()}));const j=d.append(M,u(".quick-input-action")),Q=this._register(new I.Button(j,{...this.styles.button,supportIcons:!0}));Q.label=(0,n.localize)(1594,"Custom"),this._register(Q.onDidClick(pe=>{this.onDidCustomEmitter.fire()}));const G=d.append(N,u(`#${this.idPrefix}message.quick-input-message`)),K=this._register(new y.ProgressBar(v,this.styles.progressBar));K.getContainer().classList.add("quick-input-progress");const R=d.append(v,u(".quick-input-html-widget"));R.tabIndex=-1;const J=d.append(v,u(".quick-input-description")),ie=this.idPrefix+"list",ue=this._register(this.instantiationService.createInstance(l.QuickInputTree,v,this.options.hoverDelegate,this.options.linkOpenerDelegate,ie));F.setAttribute("aria-controls",ie),this._register(ue.onDidChangeFocus(()=>{F.setAttribute("aria-activedescendant",ue.getActiveDescendant()??"")})),this._register(ue.onChangedAllVisibleChecked(pe=>{A.checked=pe})),this._register(ue.onChangedVisibleCount(pe=>{W.setCount(pe)})),this._register(ue.onChangedCheckedCount(pe=>{q.setCount(pe)})),this._register(ue.onLeave(()=>{setTimeout(()=>{this.controller&&(F.setFocus(),this.controller instanceof i.QuickPick&&this.controller.canSelectMany&&ue.clearFocus())},0)}));const he=d.trackFocus(v);return this._register(he),this._register(d.addDisposableListener(v,d.EventType.FOCUS,pe=>{const ae=this.getUI();if(d.isAncestor(pe.relatedTarget,ae.inputContainer)){const ee=ae.inputBox.isSelectionAtEnd();this.endOfQuickInputBoxContext.get()!==ee&&this.endOfQuickInputBoxContext.set(ee)}d.isAncestor(pe.relatedTarget,ae.container)||(this.inQuickInputContext.set(!0),this.previousFocusElement=d.isHTMLElement(pe.relatedTarget)?pe.relatedTarget:void 0)},!0)),this._register(he.onDidBlur(()=>{!this.getUI().ignoreFocusOut&&!this.options.ignoreFocusOut()&&this.hide(o.QuickInputHideReason.Blur),this.inQuickInputContext.set(!1),this.endOfQuickInputBoxContext.set(!1),this.previousFocusElement=void 0})),this._register(F.onKeyDown(pe=>{const ae=this.getUI().inputBox.isSelectionAtEnd();this.endOfQuickInputBoxContext.get()!==ae&&this.endOfQuickInputBoxContext.set(ae)})),this._register(d.addDisposableListener(v,d.EventType.FOCUS,pe=>{F.setFocus()})),this._register(d.addStandardDisposableListener(v,d.EventType.KEY_DOWN,pe=>{if(!d.isAncestor(pe.target,R))switch(pe.keyCode){case 3:d.EventHelper.stop(pe,!0),this.enabled&&this.onDidAcceptEmitter.fire();break;case 9:d.EventHelper.stop(pe,!0),this.hide(o.QuickInputHideReason.Gesture);break;case 2:if(!pe.altKey&&!pe.ctrlKey&&!pe.metaKey){const ae=[".quick-input-list .monaco-action-bar .always-visible",".quick-input-list-entry:hover .monaco-action-bar",".monaco-list-row.focused .monaco-action-bar"];if(v.classList.contains("show-checkboxes")?ae.push("input"):ae.push("input[type=text]"),this.getUI().list.displayed&&ae.push(".monaco-list"),this.getUI().message&&ae.push(".quick-input-message a"),this.getUI().widget){if(d.isAncestor(pe.target,this.getUI().widget))break;ae.push(".quick-input-html-widget")}const ee=v.querySelectorAll(ae.join(", "));pe.shiftKey&&pe.target===ee[0]?(d.EventHelper.stop(pe,!0),ue.clearFocus()):!pe.shiftKey&&d.isAncestor(pe.target,ee[ee.length-1])&&(d.EventHelper.stop(pe,!0),ee[0].focus())}break;case 10:pe.ctrlKey&&(d.EventHelper.stop(pe,!0),this.getUI().list.toggleHover());break}})),this.ui={container:v,styleSheet:w,leftActionBar:L,titleBar:S,title:D,description1:J,description2:P,widget:R,rightActionBar:T,inlineActionBar:H,checkAll:A,inputContainer:N,filterContainer:O,inputBox:F,visibleCountContainer:x,visibleCount:W,countContainer:V,count:q,okContainer:z,ok:U,message:G,customButtonContainer:j,customButton:Q,list:ue,progressBar:K,onDidAccept:this.onDidAcceptEmitter.event,onDidCustom:this.onDidCustomEmitter.event,onDidTriggerButton:this.onDidTriggerButtonEmitter.event,ignoreFocusOut:!1,keyMods:this.keyMods,show:pe=>this.show(pe),hide:()=>this.hide(),setVisibilities:pe=>this.setVisibilities(pe),setEnabled:pe=>this.setEnabled(pe),setContextKey:pe=>this.options.setContextKey(pe),linkOpenerDelegate:pe=>this.options.linkOpenerDelegate(pe)},this.updateStyles(),this.ui}reparentUI(h){this.ui&&(this._container=h,d.append(this._container,this.ui.container))}pick(h,v={},w=m.CancellationToken.None){return new Promise((S,L)=>{let D=P=>{D=S,v.onKeyMods?.(T.keyMods),S(P)};if(w.isCancellationRequested){D(void 0);return}const T=this.createQuickPick({useSeparators:!0});let M;const A=[T,T.onDidAccept(()=>{if(T.canSelectMany)D(T.selectedItems.slice()),T.hide();else{const P=T.activeItems[0];P&&(D(P),T.hide())}}),T.onDidChangeActive(P=>{const N=P[0];N&&v.onDidFocus&&v.onDidFocus(N)}),T.onDidChangeSelection(P=>{if(!T.canSelectMany){const N=P[0];N&&(D(N),T.hide())}}),T.onDidTriggerItemButton(P=>v.onDidTriggerItemButton&&v.onDidTriggerItemButton({...P,removeItem:()=>{const N=T.items.indexOf(P.item);if(N!==-1){const O=T.items.slice(),F=O.splice(N,1),x=T.activeItems.filter(V=>V!==F[0]),W=T.keepScrollPosition;T.keepScrollPosition=!0,T.items=O,x&&(T.activeItems=x),T.keepScrollPosition=W}}})),T.onDidTriggerSeparatorButton(P=>v.onDidTriggerSeparatorButton?.(P)),T.onDidChangeValue(P=>{M&&!P&&(T.activeItems.length!==1||T.activeItems[0]!==M)&&(T.activeItems=[M])}),w.onCancellationRequested(()=>{T.hide()}),T.onDidHide(()=>{(0,b.dispose)(A),D(void 0)})];T.title=v.title,v.value&&(T.value=v.value),T.canSelectMany=!!v.canPickMany,T.placeholder=v.placeHolder,T.ignoreFocusOut=!!v.ignoreFocusLost,T.matchOnDescription=!!v.matchOnDescription,T.matchOnDetail=!!v.matchOnDetail,T.matchOnLabel=v.matchOnLabel===void 0||v.matchOnLabel,T.quickNavigate=v.quickNavigate,T.hideInput=!!v.hideInput,T.contextKey=v.contextKey,T.busy=!0,Promise.all([h,v.activeItem]).then(([P,N])=>{M=N,T.busy=!1,T.items=P,T.canSelectMany&&(T.selectedItems=P.filter(O=>O.type!=="separator"&&O.picked)),M&&(T.activeItems=[M])}),T.show(),Promise.resolve(h).then(void 0,P=>{L(P),T.hide()})})}createQuickPick(h={useSeparators:!1}){const v=this.getUI(!0);return new i.QuickPick(v)}createInputBox(){const h=this.getUI(!0);return new i.InputBox(h)}show(h){const v=this.getUI(!0);this.onShowEmitter.fire();const w=this.controller;this.controller=h,w?.didHide(),this.setEnabled(!0),v.leftActionBar.clear(),v.title.textContent="",v.description1.textContent="",v.description2.textContent="",d.reset(v.widget),v.rightActionBar.clear(),v.inlineActionBar.clear(),v.checkAll.checked=!1,v.inputBox.placeholder="",v.inputBox.password=!1,v.inputBox.showDecoration(p.default.Ignore),v.visibleCount.setCount(0),v.count.setCount(0),d.reset(v.message),v.progressBar.stop(),v.list.setElements([]),v.list.matchOnDescription=!1,v.list.matchOnDetail=!1,v.list.matchOnLabel=!0,v.list.sortByLabel=!0,v.ignoreFocusOut=!1,v.inputBox.toggles=void 0;const S=this.options.backKeybindingLabel();i.backButton.tooltip=S?(0,n.localize)(1595,"Back ({0})",S):(0,n.localize)(1596,"Back"),v.container.style.display="",this.updateLayout(),v.inputBox.setFocus(),this.quickInputTypeContext.set(h.type)}isVisible(){return!!this.ui&&this.ui.container.style.display!=="none"}setVisibilities(h){const v=this.getUI();v.title.style.display=h.title?"":"none",v.description1.style.display=h.description&&(h.inputBox||h.checkAll)?"":"none",v.description2.style.display=h.description&&!(h.inputBox||h.checkAll)?"":"none",v.checkAll.style.display=h.checkAll?"":"none",v.inputContainer.style.display=h.inputBox?"":"none",v.filterContainer.style.display=h.inputBox?"":"none",v.visibleCountContainer.style.display=h.visibleCount?"":"none",v.countContainer.style.display=h.count?"":"none",v.okContainer.style.display=h.ok?"":"none",v.customButtonContainer.style.display=h.customButton?"":"none",v.message.style.display=h.message?"":"none",v.progressBar.getContainer().style.display=h.progressBar?"":"none",v.list.displayed=!!h.list,v.container.classList.toggle("show-checkboxes",!!h.checkBox),v.container.classList.toggle("hidden-input",!h.inputBox&&!h.description),this.updateLayout()}setEnabled(h){if(h!==this.enabled){this.enabled=h;for(const v of this.getUI().leftActionBar.viewItems)v.action.enabled=h;for(const v of this.getUI().rightActionBar.viewItems)v.action.enabled=h;this.getUI().checkAll.disabled=!h,this.getUI().inputBox.enabled=h,this.getUI().ok.enabled=h,this.getUI().list.enabled=h}}hide(h){const v=this.controller;if(!v)return;v.willHide(h);const w=this.ui?.container,S=w&&!d.isAncestorOfActiveElement(w);if(this.controller=null,this.onHideEmitter.fire(),w&&(w.style.display="none"),!S){let L=this.previousFocusElement;for(;L&&!L.offsetParent;)L=L.parentElement??void 0;L?.offsetParent?(L.focus(),this.previousFocusElement=void 0):this.options.returnFocus()}v.didHide(h)}layout(h,v){this.dimension=h,this.titleBarOffset=v,this.updateLayout()}updateLayout(){if(this.ui&&this.isVisible()){this.ui.container.style.top=`${this.titleBarOffset}px`;const h=this.ui.container.style,v=Math.min(this.dimension.width*.62,r.MAX_WIDTH);h.width=v+"px",h.marginLeft="-"+v/2+"px",this.ui.inputBox.layout(),this.ui.list.layout(this.dimension&&this.dimension.height*.4)}}applyStyles(h){this.styles=h,this.updateStyles()}updateStyles(){if(this.ui){const{quickInputTitleBackground:h,quickInputBackground:v,quickInputForeground:w,widgetBorder:S,widgetShadow:L}=this.styles.widget;this.ui.titleBar.style.backgroundColor=h??"",this.ui.container.style.backgroundColor=v??"",this.ui.container.style.color=w??"",this.ui.container.style.border=S?`1px solid ${S}`:"",this.ui.container.style.boxShadow=L?`0 0 8px 2px ${L}`:"",this.ui.list.style(this.styles.list);const D=[];this.styles.pickerGroup.pickerGroupBorder&&D.push(`.quick-input-list .quick-input-list-entry { border-top-color: ${this.styles.pickerGroup.pickerGroupBorder}; }`),this.styles.pickerGroup.pickerGroupForeground&&D.push(`.quick-input-list .quick-input-list-separator { color: ${this.styles.pickerGroup.pickerGroupForeground}; }`),this.styles.pickerGroup.pickerGroupForeground&&D.push(".quick-input-list .quick-input-list-separator-as-item { color: var(--vscode-descriptionForeground); }"),(this.styles.keybindingLabel.keybindingLabelBackground||this.styles.keybindingLabel.keybindingLabelBorder||this.styles.keybindingLabel.keybindingLabelBottomBorder||this.styles.keybindingLabel.keybindingLabelShadow||this.styles.keybindingLabel.keybindingLabelForeground)&&(D.push(".quick-input-list .monaco-keybinding > .monaco-keybinding-key {"),this.styles.keybindingLabel.keybindingLabelBackground&&D.push(`background-color: ${this.styles.keybindingLabel.keybindingLabelBackground};`),this.styles.keybindingLabel.keybindingLabelBorder&&D.push(`border-color: ${this.styles.keybindingLabel.keybindingLabelBorder};`),this.styles.keybindingLabel.keybindingLabelBottomBorder&&D.push(`border-bottom-color: ${this.styles.keybindingLabel.keybindingLabelBottomBorder};`),this.styles.keybindingLabel.keybindingLabelShadow&&D.push(`box-shadow: inset 0 -1px 0 ${this.styles.keybindingLabel.keybindingLabelShadow};`),this.styles.keybindingLabel.keybindingLabelForeground&&D.push(`color: ${this.styles.keybindingLabel.keybindingLabelForeground};`),D.push("}"));const T=D.join(` +`);T!==this.ui.styleSheet.textContent&&(this.ui.styleSheet.textContent=T)}}};e.QuickInputController=C,e.QuickInputController=C=r=ke([ce(1,s.ILayoutService),ce(2,c.IInstantiationService),ce(3,a.IContextKeyService)],C)}),define(ne[804],se([1,0,18,6,12,7,119,59,722,110,32,25,272,803,28,5]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.QuickInputService=void 0;let g=class extends n.Themable{get controller(){return this._controller||(this._controller=this._register(this.createController())),this._controller}get hasController(){return!!this._controller}get currentQuickInput(){return this.controller.currentQuickInput}get quickAccess(){return this._quickAccess||(this._quickAccess=this._register(this.instantiationService.createInstance(_.QuickAccessController))),this._quickAccess}constructor(l,a,r,u,C){super(r),this.instantiationService=l,this.contextKeyService=a,this.layoutService=u,this.configurationService=C,this._onShow=this._register(new k.Emitter),this._onHide=this._register(new k.Emitter),this.contexts=new Map}createController(l=this.layoutService,a){const r={idPrefix:"quickInput_",container:l.activeContainer,ignoreFocusOut:()=>!1,backKeybindingLabel:()=>{},setContextKey:C=>this.setContextKey(C),linkOpenerDelegate:C=>{this.instantiationService.invokeFunction(f=>{f.get(m.IOpenerService).open(C,{allowCommands:!0,fromUserGesture:!0})})},returnFocus:()=>l.focus(),styles:this.computeStyles(),hoverDelegate:this._register(this.instantiationService.createInstance(o.QuickInputHoverDelegate))},u=this._register(this.instantiationService.createInstance(t.QuickInputController,{...r,...a}));return u.layout(l.activeContainerDimension,l.activeContainerOffset.quickPickTop),this._register(l.onDidLayoutActiveContainer(C=>{(0,s.getWindow)(l.activeContainer)===(0,s.getWindow)(u.container)&&u.layout(C,l.activeContainerOffset.quickPickTop)})),this._register(l.onDidChangeActiveContainer(()=>{u.isVisible()||u.layout(l.activeContainerDimension,l.activeContainerOffset.quickPickTop)})),this._register(u.onShow(()=>{this.resetContextKeys(),this._onShow.fire()})),this._register(u.onHide(()=>{this.resetContextKeys(),this._onHide.fire()})),u}setContextKey(l){let a;l&&(a=this.contexts.get(l),a||(a=new I.RawContextKey(l,!1).bindTo(this.contextKeyService),this.contexts.set(l,a))),!(a&&a.get())&&(this.resetContextKeys(),a?.set(!0))}resetContextKeys(){this.contexts.forEach(l=>{l.get()&&l.reset()})}pick(l,a,r=d.CancellationToken.None){return this.controller.pick(l,a,r)}createQuickPick(l={useSeparators:!1}){return this.controller.createQuickPick(l)}createInputBox(){return this.controller.createInputBox()}updateStyles(){this.hasController&&this.controller.applyStyles(this.computeStyles())}computeStyles(){return{widget:{quickInputBackground:(0,p.asCssVariable)(p.quickInputBackground),quickInputForeground:(0,p.asCssVariable)(p.quickInputForeground),quickInputTitleBackground:(0,p.asCssVariable)(p.quickInputTitleBackground),widgetBorder:(0,p.asCssVariable)(p.widgetBorder),widgetShadow:(0,p.asCssVariable)(p.widgetShadow)},inputBox:b.defaultInputBoxStyles,toggle:b.defaultToggleStyles,countBadge:b.defaultCountBadgeStyles,button:b.defaultButtonStyles,progressBar:b.defaultProgressBarStyles,keybindingLabel:b.defaultKeybindingLabelStyles,list:(0,b.getListStyles)({listBackground:p.quickInputBackground,listFocusBackground:p.quickInputListFocusBackground,listFocusForeground:p.quickInputListFocusForeground,listInactiveFocusForeground:p.quickInputListFocusForeground,listInactiveSelectionIconForeground:p.quickInputListFocusIconForeground,listInactiveFocusBackground:p.quickInputListFocusBackground,listFocusOutline:p.activeContrastBorder,listInactiveFocusOutline:p.activeContrastBorder}),pickerGroup:{pickerGroupBorder:(0,p.asCssVariable)(p.pickerGroupBorder),pickerGroupForeground:(0,p.asCssVariable)(p.pickerGroupForeground)}}}};e.QuickInputService=g,e.QuickInputService=g=ke([ce(0,E.IInstantiationService),ce(1,I.IContextKeyService),ce(2,n.IThemeService),ce(3,y.ILayoutService),ce(4,i.IConfigurationService)],g)}),define(ne[805],se([1,0,6,15,25,18,7,12,394,34,804,127,28,540]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.QuickInputEditorWidget=e.QuickInputEditorContribution=e.StandaloneQuickInputService=void 0;let t=class extends p.QuickInputService{constructor(l,a,r,u,C,f){super(a,r,u,new _.EditorScopedLayoutService(l.getContainerDomNode(),C),f),this.host=void 0;const h=s.get(l);if(h){const v=h.widget;this.host={_serviceBrand:void 0,get mainContainer(){return v.getDomNode()},getContainer(){return v.getDomNode()},whenContainerStylesLoaded(){},get containers(){return[v.getDomNode()]},get activeContainer(){return v.getDomNode()},get mainContainerDimension(){return l.getLayoutInfo()},get activeContainerDimension(){return l.getLayoutInfo()},get onDidLayoutMainContainer(){return l.onDidLayoutChange},get onDidLayoutActiveContainer(){return l.onDidLayoutChange},get onDidLayoutContainer(){return d.Event.map(l.onDidLayoutChange,w=>({container:v.getDomNode(),dimension:w}))},get onDidChangeActiveContainer(){return d.Event.None},get onDidAddContainer(){return d.Event.None},get mainContainerOffset(){return{top:0,quickPickTop:0}},get activeContainerOffset(){return{top:0,quickPickTop:0}},focus:()=>l.focus()}}else this.host=void 0}createController(){return super.createController(this.host)}};t=ke([ce(1,y.IInstantiationService),ce(2,m.IContextKeyService),ce(3,I.IThemeService),ce(4,b.ICodeEditorService),ce(5,o.IConfigurationService)],t);let i=class{get activeService(){const l=this.codeEditorService.getFocusedCodeEditor();if(!l)throw new Error("Quick input service needs a focused editor to work.");let a=this.mapEditorToService.get(l);if(!a){const r=a=this.instantiationService.createInstance(t,l);this.mapEditorToService.set(l,a),(0,n.createSingleCallFunction)(l.onDidDispose)(()=>{r.dispose(),this.mapEditorToService.delete(l)})}return a}get currentQuickInput(){return this.activeService.currentQuickInput}get quickAccess(){return this.activeService.quickAccess}constructor(l,a){this.instantiationService=l,this.codeEditorService=a,this.mapEditorToService=new Map}pick(l,a,r=E.CancellationToken.None){return this.activeService.pick(l,a,r)}createQuickPick(l={useSeparators:!1}){return this.activeService.createQuickPick(l)}createInputBox(){return this.activeService.createInputBox()}};e.StandaloneQuickInputService=i,e.StandaloneQuickInputService=i=ke([ce(0,y.IInstantiationService),ce(1,b.ICodeEditorService)],i);class s{static{this.ID="editor.controller.quickInput"}static get(l){return l.getContribution(s.ID)}constructor(l){this.editor=l,this.widget=new g(this.editor)}dispose(){this.widget.dispose()}}e.QuickInputEditorContribution=s;class g{static{this.ID="editor.contrib.quickInputWidget"}constructor(l){this.codeEditor=l,this.domNode=document.createElement("div"),this.codeEditor.addOverlayWidget(this)}getId(){return g.ID}getDomNode(){return this.domNode}getPosition(){return{preference:2}}dispose(){this.codeEditor.removeOverlayWidget(this)}}e.QuickInputEditorWidget=g,(0,k.registerEditorContribution)(s.ID,s,4)}),define(ne[284],se([1,0,7]),function(oe,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.UndoRedoSource=e.UndoRedoGroup=e.ResourceEditStackSnapshot=e.IUndoRedoService=void 0,e.IUndoRedoService=(0,d.createDecorator)("undoRedoService");class k{constructor(m,_){this.resource=m,this.elements=_}}e.ResourceEditStackSnapshot=k;class I{static{this._ID=0}constructor(){this.id=I._ID++,this.order=1}nextOrder(){return this.id===0?0:this.order++}static{this.None=new I}}e.UndoRedoGroup=I;class E{static{this._ID=0}constructor(){this.id=E._ID++,this.order=1}nextOrder(){return this.id===0?0:this.order++}static{this.None=new E}}e.UndoRedoSource=E}),define(ne[35],se([1,0,13,33,8,6,2,11,22,145,230,9,4,23,197,43,36,40,661,783,370,329,577,578,371,662,202,707,263,132,7,284]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r,u,C,f,h,v,w,S,L,D,T,M){"use strict";var A;Object.defineProperty(e,"__esModule",{value:!0}),e.ModelDecorationOptions=e.ModelDecorationInjectedTextOptions=e.ModelDecorationMinimapOptions=e.ModelDecorationGlyphMarginOptions=e.ModelDecorationOverviewRulerOptions=e.TextModel=void 0,e.createTextBufferFactory=P,e.createTextBufferFactoryFromSnapshot=N,e.createTextBuffer=O,e.indentOfLine=z;function P(X){const B=new v.PieceTreeTextBufferBuilder;return B.acceptChunk(X),B.finish()}function N(X){const B=new v.PieceTreeTextBufferBuilder;let $;for(;typeof($=X.read())=="string";)B.acceptChunk($);return B.finish()}function O(X,B){let $;return typeof X=="string"?$=P(X):c.isITextSnapshot(X)?$=N(X):$=X,$.create(B)}let F=0;const x=999,W=1e4;class V{constructor(B){this._source=B,this._eos=!1}read(){if(this._eos)return null;const B=[];let $=0,Y=0;do{const Z=this._source.read();if(Z===null)return this._eos=!0,$===0?null:B.join("");if(Z.length>0&&(B[$++]=Z,Y+=Z.length),Y>=64*1024)return B.join("")}while(!0)}}const q=()=>{throw new Error("Invalid change accessor")};let H=class extends y.Disposable{static{A=this}static{this._MODEL_SYNC_LIMIT=50*1024*1024}static{this.LARGE_FILE_SIZE_THRESHOLD=20*1024*1024}static{this.LARGE_FILE_LINE_COUNT_THRESHOLD=300*1e3}static{this.LARGE_FILE_HEAP_OPERATION_THRESHOLD=256*1024*1024}static{this.DEFAULT_CREATION_OPTIONS={isForSimpleWidget:!1,tabSize:i.EDITOR_MODEL_DEFAULTS.tabSize,indentSize:i.EDITOR_MODEL_DEFAULTS.indentSize,insertSpaces:i.EDITOR_MODEL_DEFAULTS.insertSpaces,detectIndentation:!1,defaultEOL:1,trimAutoWhitespace:i.EDITOR_MODEL_DEFAULTS.trimAutoWhitespace,largeFileOptimizations:i.EDITOR_MODEL_DEFAULTS.largeFileOptimizations,bracketPairColorizationOptions:i.EDITOR_MODEL_DEFAULTS.bracketPairColorizationOptions}}static resolveOptions(B,$){if($.detectIndentation){const Y=(0,C.guessIndentation)(B,$.tabSize,$.insertSpaces);return new c.TextModelResolvedOptions({tabSize:Y.tabSize,indentSize:"tabSize",insertSpaces:Y.insertSpaces,trimAutoWhitespace:$.trimAutoWhitespace,defaultEOL:$.defaultEOL,bracketPairColorizationOptions:$.bracketPairColorizationOptions})}return new c.TextModelResolvedOptions($)}get onDidChangeLanguage(){return this._tokenizationTextModelPart.onDidChangeLanguage}get onDidChangeLanguageConfiguration(){return this._tokenizationTextModelPart.onDidChangeLanguageConfiguration}get onDidChangeTokens(){return this._tokenizationTextModelPart.onDidChangeTokens}onDidChangeContent(B){return this._eventEmitter.slowEvent($=>B($.contentChangedEvent))}onDidChangeContentOrInjectedText(B){return(0,y.combinedDisposable)(this._eventEmitter.fastEvent($=>B($)),this._onDidChangeInjectedText.event($=>B($)))}_isDisposing(){return this.__isDisposing}get tokenization(){return this._tokenizationTextModelPart}get bracketPairs(){return this._bracketPairs}get guides(){return this._guidesTextModelPart}constructor(B,$,Y,Z=null,te,re,le,me){super(),this._undoRedoService=te,this._languageService=re,this._languageConfigurationService=le,this.instantiationService=me,this._onWillDispose=this._register(new E.Emitter),this.onWillDispose=this._onWillDispose.event,this._onDidChangeDecorations=this._register(new de(Me=>this.handleBeforeFireDecorationsChangedEvent(Me))),this.onDidChangeDecorations=this._onDidChangeDecorations.event,this._onDidChangeOptions=this._register(new E.Emitter),this.onDidChangeOptions=this._onDidChangeOptions.event,this._onDidChangeAttached=this._register(new E.Emitter),this.onDidChangeAttached=this._onDidChangeAttached.event,this._onDidChangeInjectedText=this._register(new E.Emitter),this._eventEmitter=this._register(new ge),this._languageSelectionListener=this._register(new y.MutableDisposable),this._deltaDecorationCallCnt=0,this._attachedViews=new L.AttachedViews,F++,this.id="$model"+F,this.isForSimpleWidget=Y.isForSimpleWidget,typeof Z>"u"||Z===null?this._associatedResource=_.URI.parse("inmemory://model/"+F):this._associatedResource=Z,this._attachedEditorCount=0;const{textBuffer:ve,disposable:Le}=O(B,Y.defaultEOL);this._buffer=ve,this._bufferDisposable=Le,this._options=A.resolveOptions(this._buffer,Y);const Ee=typeof $=="string"?$:$.languageId;typeof $!="string"&&(this._languageSelectionListener.value=$.onDidChange(()=>this._setLanguage($.languageId))),this._bracketPairs=this._register(new l.BracketPairsTextModelPart(this,this._languageConfigurationService)),this._guidesTextModelPart=this._register(new u.GuidesTextModelPart(this,this._languageConfigurationService)),this._decorationProvider=this._register(new a.ColorizedBracketPairsDecorationProvider(this)),this._tokenizationTextModelPart=this.instantiationService.createInstance(S.TokenizationTextModelPart,this,this._bracketPairs,Ee,this._attachedViews);const Ie=this._buffer.getLineCount(),Ae=this._buffer.getValueLengthInRange(new o.Range(1,1,Ie,this._buffer.getLineLength(Ie)+1),0);Y.largeFileOptimizations?(this._isTooLargeForTokenization=Ae>A.LARGE_FILE_SIZE_THRESHOLD||Ie>A.LARGE_FILE_LINE_COUNT_THRESHOLD,this._isTooLargeForHeapOperation=Ae>A.LARGE_FILE_HEAP_OPERATION_THRESHOLD):(this._isTooLargeForTokenization=!1,this._isTooLargeForHeapOperation=!1),this._isTooLargeForSyncing=Ae>A._MODEL_SYNC_LIMIT,this._versionId=1,this._alternativeVersionId=1,this._initialUndoRedoSnapshot=null,this._isDisposed=!1,this.__isDisposing=!1,this._instanceId=m.singleLetterHash(F),this._lastDecorationId=0,this._decorations=Object.create(null),this._decorationsTree=new G,this._commandManager=new r.EditStack(this,this._undoRedoService),this._isUndoing=!1,this._isRedoing=!1,this._trimAutoWhitespaceLines=null,this._register(this._decorationProvider.onDidChange(()=>{this._onDidChangeDecorations.beginDeferredEmit(),this._onDidChangeDecorations.fire(),this._onDidChangeDecorations.endDeferredEmit()})),this._languageService.requestRichLanguageFeatures(Ee),this._register(this._languageConfigurationService.onDidChange(Me=>{this._bracketPairs.handleLanguageConfigurationServiceChange(Me),this._tokenizationTextModelPart.handleLanguageConfigurationServiceChange(Me)}))}dispose(){this.__isDisposing=!0,this._onWillDispose.fire(),this._tokenizationTextModelPart.dispose(),this._isDisposed=!0,super.dispose(),this._bufferDisposable.dispose(),this.__isDisposing=!1;const B=new h.PieceTreeTextBuffer([],"",` +`,!1,!1,!0,!0);B.dispose(),this._buffer=B,this._bufferDisposable=y.Disposable.None}_assertNotDisposed(){if(this._isDisposed)throw new I.BugIndicatingError("Model is disposed!")}_emitContentChangedEvent(B,$){this.__isDisposing||(this._tokenizationTextModelPart.handleDidChangeContent($),this._bracketPairs.handleDidChangeContent($),this._eventEmitter.fire(new D.InternalModelContentChangeEvent(B,$)))}setValue(B){if(this._assertNotDisposed(),B==null)throw(0,I.illegalArgument)();const{textBuffer:$,disposable:Y}=O(B,this._options.defaultEOL);this._setValueFromTextBuffer($,Y)}_createContentChanged2(B,$,Y,Z,te,re,le,me){return{changes:[{range:B,rangeOffset:$,rangeLength:Y,text:Z}],eol:this._buffer.getEOL(),isEolChange:me,versionId:this.getVersionId(),isUndoing:te,isRedoing:re,isFlush:le}}_setValueFromTextBuffer(B,$){this._assertNotDisposed();const Y=this.getFullModelRange(),Z=this.getValueLengthInRange(Y),te=this.getLineCount(),re=this.getLineMaxColumn(te);this._buffer=B,this._bufferDisposable.dispose(),this._bufferDisposable=$,this._increaseVersionId(),this._decorations=Object.create(null),this._decorationsTree=new G,this._commandManager.clear(),this._trimAutoWhitespaceLines=null,this._emitContentChangedEvent(new D.ModelRawContentChangedEvent([new D.ModelRawFlush],this._versionId,!1,!1),this._createContentChanged2(new o.Range(1,1,te,re),0,Z,this.getValue(),!1,!1,!0,!1))}setEOL(B){this._assertNotDisposed();const $=B===1?`\r +`:` +`;if(this._buffer.getEOL()===$)return;const Y=this.getFullModelRange(),Z=this.getValueLengthInRange(Y),te=this.getLineCount(),re=this.getLineMaxColumn(te);this._onBeforeEOLChange(),this._buffer.setEOL($),this._increaseVersionId(),this._onAfterEOLChange(),this._emitContentChangedEvent(new D.ModelRawContentChangedEvent([new D.ModelRawEOLChanged],this._versionId,!1,!1),this._createContentChanged2(new o.Range(1,1,te,re),0,Z,this.getValue(),!1,!1,!1,!0))}_onBeforeEOLChange(){this._decorationsTree.ensureAllNodesHaveRanges(this)}_onAfterEOLChange(){const B=this.getVersionId(),$=this._decorationsTree.collectNodesPostOrder();for(let Y=0,Z=$.length;Y0}getAttachedEditorCount(){return this._attachedEditorCount}isTooLargeForSyncing(){return this._isTooLargeForSyncing}isTooLargeForTokenization(){return this._isTooLargeForTokenization}isTooLargeForHeapOperation(){return this._isTooLargeForHeapOperation}isDisposed(){return this._isDisposed}isDominatedByLongLines(){if(this._assertNotDisposed(),this.isTooLargeForTokenization())return!1;let B=0,$=0;const Y=this._buffer.getLineCount();for(let Z=1;Z<=Y;Z++){const te=this._buffer.getLineLength(Z);te>=W?$+=te:B+=te}return $>B}get uri(){return this._associatedResource}getOptions(){return this._assertNotDisposed(),this._options}getFormattingOptions(){return{tabSize:this._options.indentSize,insertSpaces:this._options.insertSpaces}}updateOptions(B){this._assertNotDisposed();const $=typeof B.tabSize<"u"?B.tabSize:this._options.tabSize,Y=typeof B.indentSize<"u"?B.indentSize:this._options.originalIndentSize,Z=typeof B.insertSpaces<"u"?B.insertSpaces:this._options.insertSpaces,te=typeof B.trimAutoWhitespace<"u"?B.trimAutoWhitespace:this._options.trimAutoWhitespace,re=typeof B.bracketColorizationOptions<"u"?B.bracketColorizationOptions:this._options.bracketPairColorizationOptions,le=new c.TextModelResolvedOptions({tabSize:$,indentSize:Y,insertSpaces:Z,defaultEOL:this._options.defaultEOL,trimAutoWhitespace:te,bracketPairColorizationOptions:re});if(this._options.equals(le))return;const me=this._options.createChangeEvent(le);this._options=le,this._bracketPairs.handleDidChangeOptions(me),this._decorationProvider.handleDidChangeOptions(me),this._onDidChangeOptions.fire(me)}detectIndentation(B,$){this._assertNotDisposed();const Y=(0,C.guessIndentation)(this._buffer,$,B);this.updateOptions({insertSpaces:Y.insertSpaces,tabSize:Y.tabSize,indentSize:Y.tabSize})}normalizeIndentation(B){return this._assertNotDisposed(),(0,p.normalizeIndentation)(B,this._options.indentSize,this._options.insertSpaces)}getVersionId(){return this._assertNotDisposed(),this._versionId}mightContainRTL(){return this._buffer.mightContainRTL()}mightContainUnusualLineTerminators(){return this._buffer.mightContainUnusualLineTerminators()}removeUnusualLineTerminators(B=null){const $=this.findMatches(m.UNUSUAL_LINE_TERMINATORS.source,!1,!0,!1,null,!1,1073741824);this._buffer.resetMightContainUnusualLineTerminators(),this.pushEditOperations(B,$.map(Y=>({range:Y.range,text:null})),()=>null)}mightContainNonBasicASCII(){return this._buffer.mightContainNonBasicASCII()}getAlternativeVersionId(){return this._assertNotDisposed(),this._alternativeVersionId}getInitialUndoRedoSnapshot(){return this._assertNotDisposed(),this._initialUndoRedoSnapshot}getOffsetAt(B){this._assertNotDisposed();const $=this._validatePosition(B.lineNumber,B.column,0);return this._buffer.getOffsetAt($.lineNumber,$.column)}getPositionAt(B){this._assertNotDisposed();const $=Math.min(this._buffer.getLength(),Math.max(0,B));return this._buffer.getPositionAt($)}_increaseVersionId(){this._versionId=this._versionId+1,this._alternativeVersionId=this._versionId}_overwriteVersionId(B){this._versionId=B}_overwriteAlternativeVersionId(B){this._alternativeVersionId=B}_overwriteInitialUndoRedoSnapshot(B){this._initialUndoRedoSnapshot=B}getValue(B,$=!1){if(this._assertNotDisposed(),this.isTooLargeForHeapOperation())throw new I.BugIndicatingError("Operation would exceed heap memory limits");const Y=this.getFullModelRange(),Z=this.getValueInRange(Y,B);return $?this._buffer.getBOM()+Z:Z}createSnapshot(B=!1){return new V(this._buffer.createSnapshot(B))}getValueLength(B,$=!1){this._assertNotDisposed();const Y=this.getFullModelRange(),Z=this.getValueLengthInRange(Y,B);return $?this._buffer.getBOM().length+Z:Z}getValueInRange(B,$=0){return this._assertNotDisposed(),this._buffer.getValueInRange(this.validateRange(B),$)}getValueLengthInRange(B,$=0){return this._assertNotDisposed(),this._buffer.getValueLengthInRange(this.validateRange(B),$)}getCharacterCountInRange(B,$=0){return this._assertNotDisposed(),this._buffer.getCharacterCountInRange(this.validateRange(B),$)}getLineCount(){return this._assertNotDisposed(),this._buffer.getLineCount()}getLineContent(B){if(this._assertNotDisposed(),B<1||B>this.getLineCount())throw new I.BugIndicatingError("Illegal value for lineNumber");return this._buffer.getLineContent(B)}getLineLength(B){if(this._assertNotDisposed(),B<1||B>this.getLineCount())throw new I.BugIndicatingError("Illegal value for lineNumber");return this._buffer.getLineLength(B)}getLinesContent(){if(this._assertNotDisposed(),this.isTooLargeForHeapOperation())throw new I.BugIndicatingError("Operation would exceed heap memory limits");return this._buffer.getLinesContent()}getEOL(){return this._assertNotDisposed(),this._buffer.getEOL()}getEndOfLineSequence(){return this._assertNotDisposed(),this._buffer.getEOL()===` +`?0:1}getLineMinColumn(B){return this._assertNotDisposed(),1}getLineMaxColumn(B){if(this._assertNotDisposed(),B<1||B>this.getLineCount())throw new I.BugIndicatingError("Illegal value for lineNumber");return this._buffer.getLineLength(B)+1}getLineFirstNonWhitespaceColumn(B){if(this._assertNotDisposed(),B<1||B>this.getLineCount())throw new I.BugIndicatingError("Illegal value for lineNumber");return this._buffer.getLineFirstNonWhitespaceColumn(B)}getLineLastNonWhitespaceColumn(B){if(this._assertNotDisposed(),B<1||B>this.getLineCount())throw new I.BugIndicatingError("Illegal value for lineNumber");return this._buffer.getLineLastNonWhitespaceColumn(B)}_validateRangeRelaxedNoAllocations(B){const $=this._buffer.getLineCount(),Y=B.startLineNumber,Z=B.startColumn;let te=Math.floor(typeof Y=="number"&&!isNaN(Y)?Y:1),re=Math.floor(typeof Z=="number"&&!isNaN(Z)?Z:1);if(te<1)te=1,re=1;else if(te>$)te=$,re=this.getLineMaxColumn(te);else if(re<=1)re=1;else{const Ee=this.getLineMaxColumn(te);re>=Ee&&(re=Ee)}const le=B.endLineNumber,me=B.endColumn;let ve=Math.floor(typeof le=="number"&&!isNaN(le)?le:1),Le=Math.floor(typeof me=="number"&&!isNaN(me)?me:1);if(ve<1)ve=1,Le=1;else if(ve>$)ve=$,Le=this.getLineMaxColumn(ve);else if(Le<=1)Le=1;else{const Ee=this.getLineMaxColumn(ve);Le>=Ee&&(Le=Ee)}return Y===te&&Z===re&&le===ve&&me===Le&&B instanceof o.Range&&!(B instanceof t.Selection)?B:new o.Range(te,re,ve,Le)}_isValidPosition(B,$,Y){if(typeof B!="number"||typeof $!="number"||isNaN(B)||isNaN($)||B<1||$<1||(B|0)!==B||($|0)!==$)return!1;const Z=this._buffer.getLineCount();if(B>Z)return!1;if($===1)return!0;const te=this.getLineMaxColumn(B);if($>te)return!1;if(Y===1){const re=this._buffer.getLineCharCode(B,$-2);if(m.isHighSurrogate(re))return!1}return!0}_validatePosition(B,$,Y){const Z=Math.floor(typeof B=="number"&&!isNaN(B)?B:1),te=Math.floor(typeof $=="number"&&!isNaN($)?$:1),re=this._buffer.getLineCount();if(Z<1)return new n.Position(1,1);if(Z>re)return new n.Position(re,this.getLineMaxColumn(re));if(te<=1)return new n.Position(Z,1);const le=this.getLineMaxColumn(Z);if(te>=le)return new n.Position(Z,le);if(Y===1){const me=this._buffer.getLineCharCode(Z,te-2);if(m.isHighSurrogate(me))return new n.Position(Z,te-1)}return new n.Position(Z,te)}validatePosition(B){return this._assertNotDisposed(),B instanceof n.Position&&this._isValidPosition(B.lineNumber,B.column,1)?B:this._validatePosition(B.lineNumber,B.column,1)}_isValidRange(B,$){const Y=B.startLineNumber,Z=B.startColumn,te=B.endLineNumber,re=B.endColumn;if(!this._isValidPosition(Y,Z,0)||!this._isValidPosition(te,re,0))return!1;if($===1){const le=Z>1?this._buffer.getLineCharCode(Y,Z-2):0,me=re>1&&re<=this._buffer.getLineLength(te)?this._buffer.getLineCharCode(te,re-2):0,ve=m.isHighSurrogate(le),Le=m.isHighSurrogate(me);return!ve&&!Le}return!0}validateRange(B){if(this._assertNotDisposed(),B instanceof o.Range&&!(B instanceof t.Selection)&&this._isValidRange(B,1))return B;const Y=this._validatePosition(B.startLineNumber,B.startColumn,0),Z=this._validatePosition(B.endLineNumber,B.endColumn,0),te=Y.lineNumber,re=Y.column,le=Z.lineNumber,me=Z.column;{const ve=re>1?this._buffer.getLineCharCode(te,re-2):0,Le=me>1&&me<=this._buffer.getLineLength(le)?this._buffer.getLineCharCode(le,me-2):0,Ee=m.isHighSurrogate(ve),Ie=m.isHighSurrogate(Le);return!Ee&&!Ie?new o.Range(te,re,le,me):te===le&&re===me?new o.Range(te,re-1,le,me-1):Ee&&Ie?new o.Range(te,re-1,le,me+1):Ee?new o.Range(te,re-1,le,me):new o.Range(te,re,le,me+1)}return new o.Range(te,re,le,me)}modifyPosition(B,$){this._assertNotDisposed();const Y=this.getOffsetAt(B)+$;return this.getPositionAt(Math.min(this._buffer.getLength(),Math.max(0,Y)))}getFullModelRange(){this._assertNotDisposed();const B=this.getLineCount();return new o.Range(1,1,B,this.getLineMaxColumn(B))}findMatchesLineByLine(B,$,Y,Z){return this._buffer.findMatchesLineByLine(B,$,Y,Z)}findMatches(B,$,Y,Z,te,re,le=x){this._assertNotDisposed();let me=null;$!==null&&(Array.isArray($)||($=[$]),$.every(Ee=>o.Range.isIRange(Ee))&&(me=$.map(Ee=>this.validateRange(Ee)))),me===null&&(me=[this.getFullModelRange()]),me=me.sort((Ee,Ie)=>Ee.startLineNumber-Ie.startLineNumber||Ee.startColumn-Ie.startColumn);const ve=[];ve.push(me.reduce((Ee,Ie)=>o.Range.areIntersecting(Ee,Ie)?Ee.plusRange(Ie):(ve.push(Ee),Ie)));let Le;if(!Y&&B.indexOf(` +`)<0){const Ie=new w.SearchParams(B,Y,Z,te).parseSearchRequest();if(!Ie)return[];Le=Ae=>this.findMatchesLineByLine(Ae,Ie,re,le)}else Le=Ee=>w.TextModelSearch.findMatches(this,new w.SearchParams(B,Y,Z,te),Ee,re,le);return ve.map(Le).reduce((Ee,Ie)=>Ee.concat(Ie),[])}findNextMatch(B,$,Y,Z,te,re){this._assertNotDisposed();const le=this.validatePosition($);if(!Y&&B.indexOf(` +`)<0){const ve=new w.SearchParams(B,Y,Z,te).parseSearchRequest();if(!ve)return null;const Le=this.getLineCount();let Ee=new o.Range(le.lineNumber,le.column,Le,this.getLineMaxColumn(Le)),Ie=this.findMatchesLineByLine(Ee,ve,re,1);return w.TextModelSearch.findNextMatch(this,new w.SearchParams(B,Y,Z,te),le,re),Ie.length>0||(Ee=new o.Range(1,1,le.lineNumber,this.getLineMaxColumn(le.lineNumber)),Ie=this.findMatchesLineByLine(Ee,ve,re,1),Ie.length>0)?Ie[0]:null}return w.TextModelSearch.findNextMatch(this,new w.SearchParams(B,Y,Z,te),le,re)}findPreviousMatch(B,$,Y,Z,te,re){this._assertNotDisposed();const le=this.validatePosition($);return w.TextModelSearch.findPreviousMatch(this,new w.SearchParams(B,Y,Z,te),le,re)}pushStackElement(){this._commandManager.pushStackElement()}popStackElement(){this._commandManager.popStackElement()}pushEOL(B){if((this.getEOL()===` +`?0:1)!==B)try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._initialUndoRedoSnapshot===null&&(this._initialUndoRedoSnapshot=this._undoRedoService.createSnapshot(this.uri)),this._commandManager.pushEOL(B)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}}_validateEditOperation(B){return B instanceof c.ValidAnnotatedEditOperation?B:new c.ValidAnnotatedEditOperation(B.identifier||null,this.validateRange(B.range),B.text,B.forceMoveMarkers||!1,B.isAutoWhitespaceEdit||!1,B._isTracked||!1)}_validateEditOperations(B){const $=[];for(let Y=0,Z=B.length;Y({range:this.validateRange(le.range),text:le.text}));let re=!0;if(B)for(let le=0,me=B.length;leve.endLineNumber,Ne=ve.startLineNumber>Ae.endLineNumber;if(!Me&&!Ne){Le=!0;break}}if(!Le){re=!1;break}}if(re)for(let le=0,me=this._trimAutoWhitespaceLines.length;leMe.endLineNumber)&&!(ve===Me.startLineNumber&&Me.startColumn===Le&&Me.isEmpty()&&Ne&&Ne.length>0&&Ne.charAt(0)===` +`)&&!(ve===Me.startLineNumber&&Me.startColumn===1&&Me.isEmpty()&&Ne&&Ne.length>0&&Ne.charAt(Ne.length-1)===` +`)){Ee=!1;break}}if(Ee){const Ie=new o.Range(ve,1,ve,Le);$.push(new c.ValidAnnotatedEditOperation(null,Ie,null,!1,!1,!1))}}this._trimAutoWhitespaceLines=null}return this._initialUndoRedoSnapshot===null&&(this._initialUndoRedoSnapshot=this._undoRedoService.createSnapshot(this.uri)),this._commandManager.pushEditOperation(B,$,Y,Z)}_applyUndo(B,$,Y,Z){const te=B.map(re=>{const le=this.getPositionAt(re.newPosition),me=this.getPositionAt(re.newEnd);return{range:new o.Range(le.lineNumber,le.column,me.lineNumber,me.column),text:re.oldText}});this._applyUndoRedoEdits(te,$,!0,!1,Y,Z)}_applyRedo(B,$,Y,Z){const te=B.map(re=>{const le=this.getPositionAt(re.oldPosition),me=this.getPositionAt(re.oldEnd);return{range:new o.Range(le.lineNumber,le.column,me.lineNumber,me.column),text:re.newText}});this._applyUndoRedoEdits(te,$,!1,!0,Y,Z)}_applyUndoRedoEdits(B,$,Y,Z,te,re){try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._isUndoing=Y,this._isRedoing=Z,this.applyEdits(B,!1),this.setEOL($),this._overwriteAlternativeVersionId(te)}finally{this._isUndoing=!1,this._isRedoing=!1,this._eventEmitter.endDeferredEmit(re),this._onDidChangeDecorations.endDeferredEmit()}}applyEdits(B,$=!1){try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit();const Y=this._validateEditOperations(B);return this._doApplyEdits(Y,$)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}}_doApplyEdits(B,$){const Y=this._buffer.getLineCount(),Z=this._buffer.applyEdits(B,this._options.trimAutoWhitespace,$),te=this._buffer.getLineCount(),re=Z.changes;if(this._trimAutoWhitespaceLines=Z.trimAutoWhitespaceLineNumbers,re.length!==0){for(let ve=0,Le=re.length;ve=0;Ce--){const Se=Ae+Ce,ye=it+Ce;Fe.takeFromEndWhile(Re=>Re.lineNumber>ye);const De=Fe.takeFromEndWhile(Re=>Re.lineNumber===ye);le.push(new D.ModelRawLineChanged(Se,this.getLineContent(ye),De))}if(Veqe.lineNumberqe.lineNumber===je)}le.push(new D.ModelRawLinesInserted(Se+1,Ae+ze,We,Re))}me+=$e}this._emitContentChangedEvent(new D.ModelRawContentChangedEvent(le,this.getVersionId(),this._isUndoing,this._isRedoing),{changes:re,eol:this._buffer.getEOL(),isEolChange:!1,versionId:this.getVersionId(),isUndoing:this._isUndoing,isRedoing:this._isRedoing,isFlush:!1})}return Z.reverseEdits===null?void 0:Z.reverseEdits}undo(){return this._undoRedoService.undo(this.uri)}canUndo(){return this._undoRedoService.canUndo(this.uri)}redo(){return this._undoRedoService.redo(this.uri)}canRedo(){return this._undoRedoService.canRedo(this.uri)}handleBeforeFireDecorationsChangedEvent(B){if(B===null||B.size===0)return;const Y=Array.from(B).map(Z=>new D.ModelRawLineChanged(Z,this.getLineContent(Z),this._getInjectedTextInLine(Z)));this._onDidChangeInjectedText.fire(new D.ModelInjectedTextChangedEvent(Y))}changeDecorations(B,$=0){this._assertNotDisposed();try{return this._onDidChangeDecorations.beginDeferredEmit(),this._changeDecorations($,B)}finally{this._onDidChangeDecorations.endDeferredEmit()}}_changeDecorations(B,$){const Y={addDecoration:(te,re)=>this._deltaDecorationsImpl(B,[],[{range:te,options:re}])[0],changeDecoration:(te,re)=>{this._changeDecorationImpl(te,re)},changeDecorationOptions:(te,re)=>{this._changeDecorationOptionsImpl(te,ee(re))},removeDecoration:te=>{this._deltaDecorationsImpl(B,[te],[])},deltaDecorations:(te,re)=>te.length===0&&re.length===0?[]:this._deltaDecorationsImpl(B,te,re)};let Z=null;try{Z=$(Y)}catch(te){(0,I.onUnexpectedError)(te)}return Y.addDecoration=q,Y.changeDecoration=q,Y.changeDecorationOptions=q,Y.removeDecoration=q,Y.deltaDecorations=q,Z}deltaDecorations(B,$,Y=0){if(this._assertNotDisposed(),B||(B=[]),B.length===0&&$.length===0)return[];try{return this._deltaDecorationCallCnt++,this._deltaDecorationCallCnt>1&&(console.warn("Invoking deltaDecorations recursively could lead to leaking decorations."),(0,I.onUnexpectedError)(new Error("Invoking deltaDecorations recursively could lead to leaking decorations."))),this._onDidChangeDecorations.beginDeferredEmit(),this._deltaDecorationsImpl(Y,B,$)}finally{this._onDidChangeDecorations.endDeferredEmit(),this._deltaDecorationCallCnt--}}_getTrackedRange(B){return this.getDecorationRange(B)}_setTrackedRange(B,$,Y){const Z=B?this._decorations[B]:null;if(!Z)return $?this._deltaDecorationsImpl(0,[],[{range:$,options:ae[Y]}],!0)[0]:null;if(!$)return this._decorationsTree.delete(Z),delete this._decorations[Z.id],null;const te=this._validateRangeRelaxedNoAllocations($),re=this._buffer.getOffsetAt(te.startLineNumber,te.startColumn),le=this._buffer.getOffsetAt(te.endLineNumber,te.endColumn);return this._decorationsTree.delete(Z),Z.reset(this.getVersionId(),re,le,te),Z.setOptions(ae[Y]),this._decorationsTree.insert(Z),Z.id}removeAllDecorationsWithOwnerId(B){if(this._isDisposed)return;const $=this._decorationsTree.collectNodesFromOwner(B);for(let Y=0,Z=$.length;Ythis.getLineCount()?[]:this.getLinesDecorations(B,B,$,Y)}getLinesDecorations(B,$,Y=0,Z=!1,te=!1){const re=this.getLineCount(),le=Math.min(re,Math.max(1,B)),me=Math.min(re,Math.max(1,$)),ve=this.getLineMaxColumn(me),Le=new o.Range(le,1,me,ve),Ee=this._getDecorationsInRange(Le,Y,Z,te);return(0,d.pushMany)(Ee,this._decorationProvider.getDecorationsInRange(Le,Y,Z)),Ee}getDecorationsInRange(B,$=0,Y=!1,Z=!1,te=!1){const re=this.validateRange(B),le=this._getDecorationsInRange(re,$,Y,te);return(0,d.pushMany)(le,this._decorationProvider.getDecorationsInRange(re,$,Y,Z)),le}getOverviewRulerDecorations(B=0,$=!1){return this._decorationsTree.getAll(this,B,$,!0,!1)}getInjectedTextDecorations(B=0){return this._decorationsTree.getAllInjectedText(this,B)}_getInjectedTextInLine(B){const $=this._buffer.getOffsetAt(B,1),Y=$+this._buffer.getLineLength(B),Z=this._decorationsTree.getInjectedTextInInterval(this,$,Y,0);return D.LineInjectedText.fromDecorations(Z).filter(te=>te.lineNumber===B)}getAllDecorations(B=0,$=!1){let Y=this._decorationsTree.getAll(this,B,$,!1,!1);return Y=Y.concat(this._decorationProvider.getAllDecorations(B,$)),Y}getAllMarginDecorations(B=0){return this._decorationsTree.getAll(this,B,!1,!1,!0)}_getDecorationsInRange(B,$,Y,Z){const te=this._buffer.getOffsetAt(B.startLineNumber,B.startColumn),re=this._buffer.getOffsetAt(B.endLineNumber,B.endColumn);return this._decorationsTree.getAllInInterval(this,te,re,$,Y,Z)}getRangeAt(B,$){return this._buffer.getRangeAt(B,$-B)}_changeDecorationImpl(B,$){const Y=this._decorations[B];if(!Y)return;if(Y.options.after){const le=this.getDecorationRange(B);this._onDidChangeDecorations.recordLineAffectedByInjectedText(le.endLineNumber)}if(Y.options.before){const le=this.getDecorationRange(B);this._onDidChangeDecorations.recordLineAffectedByInjectedText(le.startLineNumber)}const Z=this._validateRangeRelaxedNoAllocations($),te=this._buffer.getOffsetAt(Z.startLineNumber,Z.startColumn),re=this._buffer.getOffsetAt(Z.endLineNumber,Z.endColumn);this._decorationsTree.delete(Y),Y.reset(this.getVersionId(),te,re,Z),this._decorationsTree.insert(Y),this._onDidChangeDecorations.checkAffectedAndFire(Y.options),Y.options.after&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(Z.endLineNumber),Y.options.before&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(Z.startLineNumber)}_changeDecorationOptionsImpl(B,$){const Y=this._decorations[B];if(!Y)return;const Z=!!(Y.options.overviewRuler&&Y.options.overviewRuler.color),te=!!($.overviewRuler&&$.overviewRuler.color);if(this._onDidChangeDecorations.checkAffectedAndFire(Y.options),this._onDidChangeDecorations.checkAffectedAndFire($),Y.options.after||$.after){const me=this._decorationsTree.getNodeRange(this,Y);this._onDidChangeDecorations.recordLineAffectedByInjectedText(me.endLineNumber)}if(Y.options.before||$.before){const me=this._decorationsTree.getNodeRange(this,Y);this._onDidChangeDecorations.recordLineAffectedByInjectedText(me.startLineNumber)}const re=Z!==te,le=j($)!==Q(Y);re||le?(this._decorationsTree.delete(Y),Y.setOptions($),this._decorationsTree.insert(Y)):Y.setOptions($)}_deltaDecorationsImpl(B,$,Y,Z=!1){const te=this.getVersionId(),re=$.length;let le=0;const me=Y.length;let ve=0;this._onDidChangeDecorations.beginDeferredEmit();try{const Le=new Array(me);for(;lethis._setLanguage(B.languageId,$)),this._setLanguage(B.languageId,$))}_setLanguage(B,$){this.tokenization.setLanguageId(B,$),this._languageService.requestRichLanguageFeatures(B)}getLanguageIdAtPosition(B,$){return this.tokenization.getLanguageIdAtPosition(B,$)}getWordAtPosition(B){return this._tokenizationTextModelPart.getWordAtPosition(B)}getWordUntilPosition(B){return this._tokenizationTextModelPart.getWordUntilPosition(B)}normalizePosition(B,$){return B}getLineIndentColumn(B){return z(this.getLineContent(B))+1}};e.TextModel=H,e.TextModel=H=A=ke([ce(4,M.IUndoRedoService),ce(5,s.ILanguageService),ce(6,g.ILanguageConfigurationService),ce(7,T.IInstantiationService)],H);function z(X){let B=0;for(const $ of X)if($===" "||$===" ")B++;else break;return B}function U(X){return!!(X.options.overviewRuler&&X.options.overviewRuler.color)}function j(X){return!!X.after||!!X.before}function Q(X){return!!X.options.after||!!X.options.before}class G{constructor(){this._decorationsTree0=new f.IntervalTree,this._decorationsTree1=new f.IntervalTree,this._injectedTextDecorationsTree=new f.IntervalTree}ensureAllNodesHaveRanges(B){this.getAll(B,0,!1,!1,!1)}_ensureNodesHaveRanges(B,$){for(const Y of $)Y.range===null&&(Y.range=B.getRangeAt(Y.cachedAbsoluteStart,Y.cachedAbsoluteEnd));return $}getAllInInterval(B,$,Y,Z,te,re){const le=B.getVersionId(),me=this._intervalSearch($,Y,Z,te,le,re);return this._ensureNodesHaveRanges(B,me)}_intervalSearch(B,$,Y,Z,te,re){const le=this._decorationsTree0.intervalSearch(B,$,Y,Z,te,re),me=this._decorationsTree1.intervalSearch(B,$,Y,Z,te,re),ve=this._injectedTextDecorationsTree.intervalSearch(B,$,Y,Z,te,re);return le.concat(me).concat(ve)}getInjectedTextInInterval(B,$,Y,Z){const te=B.getVersionId(),re=this._injectedTextDecorationsTree.intervalSearch($,Y,Z,!1,te,!1);return this._ensureNodesHaveRanges(B,re).filter(le=>le.options.showIfCollapsed||!le.range.isEmpty())}getAllInjectedText(B,$){const Y=B.getVersionId(),Z=this._injectedTextDecorationsTree.search($,!1,Y,!1);return this._ensureNodesHaveRanges(B,Z).filter(te=>te.options.showIfCollapsed||!te.range.isEmpty())}getAll(B,$,Y,Z,te){const re=B.getVersionId(),le=this._search($,Y,Z,re,te);return this._ensureNodesHaveRanges(B,le)}_search(B,$,Y,Z,te){if(Y)return this._decorationsTree1.search(B,$,Z,te);{const re=this._decorationsTree0.search(B,$,Z,te),le=this._decorationsTree1.search(B,$,Z,te),me=this._injectedTextDecorationsTree.search(B,$,Z,te);return re.concat(le).concat(me)}}collectNodesFromOwner(B){const $=this._decorationsTree0.collectNodesFromOwner(B),Y=this._decorationsTree1.collectNodesFromOwner(B),Z=this._injectedTextDecorationsTree.collectNodesFromOwner(B);return $.concat(Y).concat(Z)}collectNodesPostOrder(){const B=this._decorationsTree0.collectNodesPostOrder(),$=this._decorationsTree1.collectNodesPostOrder(),Y=this._injectedTextDecorationsTree.collectNodesPostOrder();return B.concat($).concat(Y)}insert(B){Q(B)?this._injectedTextDecorationsTree.insert(B):U(B)?this._decorationsTree1.insert(B):this._decorationsTree0.insert(B)}delete(B){Q(B)?this._injectedTextDecorationsTree.delete(B):U(B)?this._decorationsTree1.delete(B):this._decorationsTree0.delete(B)}getNodeRange(B,$){const Y=B.getVersionId();return $.cachedVersionId!==Y&&this._resolveNode($,Y),$.range===null&&($.range=B.getRangeAt($.cachedAbsoluteStart,$.cachedAbsoluteEnd)),$.range}_resolveNode(B,$){Q(B)?this._injectedTextDecorationsTree.resolveNode(B,$):U(B)?this._decorationsTree1.resolveNode(B,$):this._decorationsTree0.resolveNode(B,$)}acceptReplace(B,$,Y,Z){this._decorationsTree0.acceptReplace(B,$,Y,Z),this._decorationsTree1.acceptReplace(B,$,Y,Z),this._injectedTextDecorationsTree.acceptReplace(B,$,Y,Z)}}function K(X){return X.replace(/[^a-z0-9\-_]/gi," ")}class R{constructor(B){this.color=B.color||"",this.darkColor=B.darkColor||""}}class J extends R{constructor(B){super(B),this._resolvedColor=null,this.position=typeof B.position=="number"?B.position:c.OverviewRulerLane.Center}getColor(B){return this._resolvedColor||(B.type!=="light"&&this.darkColor?this._resolvedColor=this._resolveColor(this.darkColor,B):this._resolvedColor=this._resolveColor(this.color,B)),this._resolvedColor}invalidateCachedColor(){this._resolvedColor=null}_resolveColor(B,$){if(typeof B=="string")return B;const Y=B?$.getColor(B.id):null;return Y?Y.toString():""}}e.ModelDecorationOverviewRulerOptions=J;class ie{constructor(B){this.position=B?.position??c.GlyphMarginLane.Center,this.persistLane=B?.persistLane}}e.ModelDecorationGlyphMarginOptions=ie;class ue extends R{constructor(B){super(B),this.position=B.position,this.sectionHeaderStyle=B.sectionHeaderStyle??null,this.sectionHeaderText=B.sectionHeaderText??null}getColor(B){return this._resolvedColor||(B.type!=="light"&&this.darkColor?this._resolvedColor=this._resolveColor(this.darkColor,B):this._resolvedColor=this._resolveColor(this.color,B)),this._resolvedColor}invalidateCachedColor(){this._resolvedColor=void 0}_resolveColor(B,$){return typeof B=="string"?k.Color.fromHex(B):$.getColor(B.id)}}e.ModelDecorationMinimapOptions=ue;class he{static from(B){return B instanceof he?B:new he(B)}constructor(B){this.content=B.content||"",this.inlineClassName=B.inlineClassName||null,this.inlineClassNameAffectsLetterSpacing=B.inlineClassNameAffectsLetterSpacing||!1,this.attachedData=B.attachedData||null,this.cursorStops=B.cursorStops||null}}e.ModelDecorationInjectedTextOptions=he;class pe{static register(B){return new pe(B)}static createDynamic(B){return new pe(B)}constructor(B){this.description=B.description,this.blockClassName=B.blockClassName?K(B.blockClassName):null,this.blockDoesNotCollapse=B.blockDoesNotCollapse??null,this.blockIsAfterEnd=B.blockIsAfterEnd??null,this.blockPadding=B.blockPadding??null,this.stickiness=B.stickiness||0,this.zIndex=B.zIndex||0,this.className=B.className?K(B.className):null,this.shouldFillLineOnLineBreak=B.shouldFillLineOnLineBreak??null,this.hoverMessage=B.hoverMessage||null,this.glyphMarginHoverMessage=B.glyphMarginHoverMessage||null,this.lineNumberHoverMessage=B.lineNumberHoverMessage||null,this.isWholeLine=B.isWholeLine||!1,this.showIfCollapsed=B.showIfCollapsed||!1,this.collapseOnReplaceEdit=B.collapseOnReplaceEdit||!1,this.overviewRuler=B.overviewRuler?new J(B.overviewRuler):null,this.minimap=B.minimap?new ue(B.minimap):null,this.glyphMargin=B.glyphMarginClassName?new ie(B.glyphMargin):null,this.glyphMarginClassName=B.glyphMarginClassName?K(B.glyphMarginClassName):null,this.linesDecorationsClassName=B.linesDecorationsClassName?K(B.linesDecorationsClassName):null,this.lineNumberClassName=B.lineNumberClassName?K(B.lineNumberClassName):null,this.linesDecorationsTooltip=B.linesDecorationsTooltip?m.htmlAttributeEncodeValue(B.linesDecorationsTooltip):null,this.firstLineDecorationClassName=B.firstLineDecorationClassName?K(B.firstLineDecorationClassName):null,this.marginClassName=B.marginClassName?K(B.marginClassName):null,this.inlineClassName=B.inlineClassName?K(B.inlineClassName):null,this.inlineClassNameAffectsLetterSpacing=B.inlineClassNameAffectsLetterSpacing||!1,this.beforeContentClassName=B.beforeContentClassName?K(B.beforeContentClassName):null,this.afterContentClassName=B.afterContentClassName?K(B.afterContentClassName):null,this.after=B.after?he.from(B.after):null,this.before=B.before?he.from(B.before):null,this.hideInCommentTokens=B.hideInCommentTokens??!1,this.hideInStringTokens=B.hideInStringTokens??!1}}e.ModelDecorationOptions=pe,pe.EMPTY=pe.register({description:"empty"});const ae=[pe.register({description:"tracked-range-always-grows-when-typing-at-edges",stickiness:0}),pe.register({description:"tracked-range-never-grows-when-typing-at-edges",stickiness:1}),pe.register({description:"tracked-range-grows-only-when-typing-before",stickiness:2}),pe.register({description:"tracked-range-grows-only-when-typing-after",stickiness:3})];function ee(X){return X instanceof pe?X:pe.createDynamic(X)}class de extends y.Disposable{constructor(B){super(),this.handleBeforeFire=B,this._actual=this._register(new E.Emitter),this.event=this._actual.event,this._affectedInjectedTextLines=null,this._deferredCnt=0,this._shouldFireDeferred=!1,this._affectsMinimap=!1,this._affectsOverviewRuler=!1,this._affectsGlyphMargin=!1,this._affectsLineNumber=!1}beginDeferredEmit(){this._deferredCnt++}endDeferredEmit(){this._deferredCnt--,this._deferredCnt===0&&(this._shouldFireDeferred&&this.doFire(),this._affectedInjectedTextLines?.clear(),this._affectedInjectedTextLines=null)}recordLineAffectedByInjectedText(B){this._affectedInjectedTextLines||(this._affectedInjectedTextLines=new Set),this._affectedInjectedTextLines.add(B)}checkAffectedAndFire(B){this._affectsMinimap||=!!B.minimap?.position,this._affectsOverviewRuler||=!!B.overviewRuler?.color,this._affectsGlyphMargin||=!!B.glyphMarginClassName,this._affectsLineNumber||=!!B.lineNumberClassName,this.tryFire()}fire(){this._affectsMinimap=!0,this._affectsOverviewRuler=!0,this._affectsGlyphMargin=!0,this.tryFire()}tryFire(){this._deferredCnt===0?this.doFire():this._shouldFireDeferred=!0}doFire(){this.handleBeforeFire(this._affectedInjectedTextLines);const B={affectsMinimap:this._affectsMinimap,affectsOverviewRuler:this._affectsOverviewRuler,affectsGlyphMargin:this._affectsGlyphMargin,affectsLineNumber:this._affectsLineNumber};this._shouldFireDeferred=!1,this._affectsMinimap=!1,this._affectsOverviewRuler=!1,this._affectsGlyphMargin=!1,this._actual.fire(B)}}class ge extends y.Disposable{constructor(){super(),this._fastEmitter=this._register(new E.Emitter),this.fastEvent=this._fastEmitter.event,this._slowEmitter=this._register(new E.Emitter),this.slowEvent=this._slowEmitter.event,this._deferredCnt=0,this._deferredEvent=null}beginDeferredEmit(){this._deferredCnt++}endDeferredEmit(B=null){if(this._deferredCnt--,this._deferredCnt===0&&this._deferredEvent!==null){this._deferredEvent.rawContentChangedEvent.resultingSelection=B;const $=this._deferredEvent;this._deferredEvent=null,this._fastEmitter.fire($),this._slowEmitter.fire($)}}fire(B){if(this._deferredCnt>0){this._deferredEvent?this._deferredEvent=this._deferredEvent.merge(B):this._deferredEvent=B;return}this._fastEmitter.fire(B),this._slowEmitter.fire(B)}}}),define(ne[139],se([1,0,26,30,35,3,32,71]),function(oe,e,d,k,I,E,y,m){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.diffDeleteDecorationEmpty=e.diffWholeLineDeleteDecoration=e.diffDeleteDecoration=e.diffAddDecorationEmpty=e.diffWholeLineAddDecoration=e.diffAddDecoration=e.diffLineDeleteDecorationBackground=e.diffLineAddDecorationBackground=e.diffLineDeleteDecorationBackgroundWithIndicator=e.diffLineAddDecorationBackgroundWithIndicator=e.diffRemoveIcon=e.diffInsertIcon=e.diffEditorUnchangedRegionShadow=e.diffMoveBorderActive=e.diffMoveBorder=void 0,e.diffMoveBorder=(0,y.registerColor)("diffEditor.move.border","#8b8b8b9c",(0,E.localize)(124,"The border color for text that got moved in the diff editor.")),e.diffMoveBorderActive=(0,y.registerColor)("diffEditor.moveActive.border","#FFA500",(0,E.localize)(125,"The active border color for text that got moved in the diff editor.")),e.diffEditorUnchangedRegionShadow=(0,y.registerColor)("diffEditor.unchangedRegionShadow",{dark:"#000000",light:"#737373BF",hcDark:"#000000",hcLight:"#737373BF"},(0,E.localize)(126,"The color of the shadow around unchanged region widgets.")),e.diffInsertIcon=(0,m.registerIcon)("diff-insert",d.Codicon.add,(0,E.localize)(127,"Line decoration for inserts in the diff editor.")),e.diffRemoveIcon=(0,m.registerIcon)("diff-remove",d.Codicon.remove,(0,E.localize)(128,"Line decoration for removals in the diff editor.")),e.diffLineAddDecorationBackgroundWithIndicator=I.ModelDecorationOptions.register({className:"line-insert",description:"line-insert",isWholeLine:!0,linesDecorationsClassName:"insert-sign "+k.ThemeIcon.asClassName(e.diffInsertIcon),marginClassName:"gutter-insert"}),e.diffLineDeleteDecorationBackgroundWithIndicator=I.ModelDecorationOptions.register({className:"line-delete",description:"line-delete",isWholeLine:!0,linesDecorationsClassName:"delete-sign "+k.ThemeIcon.asClassName(e.diffRemoveIcon),marginClassName:"gutter-delete"}),e.diffLineAddDecorationBackground=I.ModelDecorationOptions.register({className:"line-insert",description:"line-insert",isWholeLine:!0,marginClassName:"gutter-insert"}),e.diffLineDeleteDecorationBackground=I.ModelDecorationOptions.register({className:"line-delete",description:"line-delete",isWholeLine:!0,marginClassName:"gutter-delete"}),e.diffAddDecoration=I.ModelDecorationOptions.register({className:"char-insert",description:"char-insert",shouldFillLineOnLineBreak:!0}),e.diffWholeLineAddDecoration=I.ModelDecorationOptions.register({className:"char-insert",description:"char-insert",isWholeLine:!0}),e.diffAddDecorationEmpty=I.ModelDecorationOptions.register({className:"char-insert diff-range-empty",description:"char-insert diff-range-empty"}),e.diffDeleteDecoration=I.ModelDecorationOptions.register({className:"char-delete",description:"char-delete",shouldFillLineOnLineBreak:!0}),e.diffWholeLineDeleteDecoration=I.ModelDecorationOptions.register({className:"char-delete",description:"char-delete",isWholeLine:!0}),e.diffDeleteDecorationEmpty=I.ModelDecorationOptions.register({className:"char-delete diff-range-empty",description:"char-delete diff-range-empty"})}),define(ne[285],se([1,0,5,13,14,26,2,21,30,19,74,139,407,652,667,88,55,9,95,117,58,4]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r,u){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DiffEditorViewZones=void 0,e.allowsTrueInlineDiffRendering=v;let C=class extends y.Disposable{constructor(L,D,T,M,A,P,N,O,F,x){super(),this._targetWindow=L,this._editors=D,this._diffModel=T,this._options=M,this._diffEditorWidget=A,this._canIgnoreViewZoneUpdateEvent=P,this._origViewZonesToIgnore=N,this._modViewZonesToIgnore=O,this._clipboardService=F,this._contextMenuService=x,this._originalTopPadding=(0,m.observableValue)(this,0),this._originalScrollOffset=(0,m.observableValue)(this,0),this._originalScrollOffsetAnimated=(0,s.animatedObservable)(this._targetWindow,this._originalScrollOffset,this._store),this._modifiedTopPadding=(0,m.observableValue)(this,0),this._modifiedScrollOffset=(0,m.observableValue)(this,0),this._modifiedScrollOffsetAnimated=(0,s.animatedObservable)(this._targetWindow,this._modifiedScrollOffset,this._store);const W=(0,m.observableValue)("invalidateAlignmentsState",0),V=this._register(new I.RunOnceScheduler(()=>{W.set(W.get()+1,void 0)},0));this._register(this._editors.original.onDidChangeViewZones(G=>{this._canIgnoreViewZoneUpdateEvent()||V.schedule()})),this._register(this._editors.modified.onDidChangeViewZones(G=>{this._canIgnoreViewZoneUpdateEvent()||V.schedule()})),this._register(this._editors.original.onDidChangeConfiguration(G=>{(G.hasChanged(147)||G.hasChanged(67))&&V.schedule()})),this._register(this._editors.modified.onDidChangeConfiguration(G=>{(G.hasChanged(147)||G.hasChanged(67))&&V.schedule()}));const q=this._diffModel.map(G=>G?(0,m.observableFromEvent)(this,G.model.original.onDidChangeTokens,()=>G.model.original.tokenization.backgroundTokenizationState===2):void 0).map((G,K)=>G?.read(K)),H=(0,m.derived)(G=>{const K=this._diffModel.read(G),R=K?.diff.read(G);if(!K||!R)return null;W.read(G);const ie=this._options.renderSideBySide.read(G);return f(this._editors.original,this._editors.modified,R.mappings,this._origViewZonesToIgnore,this._modViewZonesToIgnore,ie)}),z=(0,m.derived)(G=>{const K=this._diffModel.read(G)?.movedTextToCompare.read(G);if(!K)return null;W.read(G);const R=K.changes.map(J=>new o.DiffMapping(J));return f(this._editors.original,this._editors.modified,R,this._origViewZonesToIgnore,this._modViewZonesToIgnore,!0)});function U(){const G=document.createElement("div");return G.className="diagonal-fill",G}const j=this._register(new y.DisposableStore);this.viewZones=(0,m.derivedWithStore)(this,(G,K)=>{j.clear();const R=H.read(G)||[],J=[],ie=[],ue=this._modifiedTopPadding.read(G);ue>0&&ie.push({afterLineNumber:0,domNode:document.createElement("div"),heightInPx:ue,showInHiddenAreas:!0,suppressMouseDown:!0});const he=this._originalTopPadding.read(G);he>0&&J.push({afterLineNumber:0,domNode:document.createElement("div"),heightInPx:he,showInHiddenAreas:!0,suppressMouseDown:!0});const pe=this._options.renderSideBySide.read(G),ae=pe?void 0:this._editors.modified._getViewModel()?.createLineBreaksComputer();if(ae){const Z=this._editors.original.getModel();for(const te of R)if(te.diff)for(let re=te.originalRange.startLineNumber;reZ.getLineCount())return{orig:J,mod:ie};ae?.addRequest(Z.getLineContent(re),null,null)}}const ee=ae?.finalize()??[];let de=0;const ge=this._editors.modified.getOption(67),X=this._diffModel.read(G)?.movedTextToCompare.read(G),B=this._editors.original.getModel()?.mightContainNonBasicASCII()??!1,$=this._editors.original.getModel()?.mightContainRTL()??!1,Y=i.RenderOptions.fromEditor(this._editors.modified);for(const Z of R)if(Z.diff&&!pe&&(!this._options.useTrueInlineDiffRendering.read(G)||!v(Z.diff))){if(!Z.originalRange.isEmpty){q.read(G);const re=document.createElement("div");re.classList.add("view-lines","line-delete","monaco-mouse-cursor-text");const le=this._editors.original.getModel();if(Z.originalRange.endLineNumberExclusive-1>le.getLineCount())return{orig:J,mod:ie};const me=new i.LineSource(Z.originalRange.mapToLineArray(Ae=>le.tokenization.getLineTokens(Ae)),Z.originalRange.mapToLineArray(Ae=>ee[de++]),B,$),ve=[];for(const Ae of Z.diff.innerChanges||[])ve.push(new l.InlineDecoration(Ae.originalRange.delta(-(Z.diff.original.startLineNumber-1)),n.diffDeleteDecoration.className,0));const Le=(0,i.renderLines)(me,Y,ve,re),Ee=document.createElement("div");if(Ee.className="inline-deleted-margin-view-zone",(0,p.applyFontInfo)(Ee,Y.fontInfo),this._options.renderIndicators.read(G))for(let Ae=0;Ae(0,b.assertIsDefined)(Ie),Ee,this._editors.modified,Z.diff,this._diffEditorWidget,Le.viewLineCounts,this._editors.original.getModel(),this._contextMenuService,this._clipboardService));for(let Ae=0;Ae1&&J.push({afterLineNumber:Z.originalRange.startLineNumber+Ae,domNode:U(),heightInPx:(Me-1)*ge,showInHiddenAreas:!0,suppressMouseDown:!0})}ie.push({afterLineNumber:Z.modifiedRange.startLineNumber-1,domNode:re,heightInPx:Le.heightInLines*ge,minWidthInPx:Le.minWidthInPx,marginDomNode:Ee,setZoneId(Ae){Ie=Ae},showInHiddenAreas:!0,suppressMouseDown:!0})}const te=document.createElement("div");te.className="gutter-delete",J.push({afterLineNumber:Z.originalRange.endLineNumberExclusive-1,domNode:U(),heightInPx:Z.modifiedHeightInPx,marginDomNode:te,showInHiddenAreas:!0,suppressMouseDown:!0})}else{const te=Z.modifiedHeightInPx-Z.originalHeightInPx;if(te>0){if(X?.lineRangeMapping.original.delta(-1).deltaLength(2).contains(Z.originalRange.endLineNumberExclusive-1))continue;J.push({afterLineNumber:Z.originalRange.endLineNumberExclusive-1,domNode:U(),heightInPx:te,showInHiddenAreas:!0,suppressMouseDown:!0})}else{let re=function(){const me=document.createElement("div");return me.className="arrow-revert-change "+_.ThemeIcon.asClassName(E.Codicon.arrowRight),K.add((0,d.addDisposableListener)(me,"mousedown",ve=>ve.stopPropagation())),K.add((0,d.addDisposableListener)(me,"click",ve=>{ve.stopPropagation(),A.revert(Z.diff)})),(0,d.$)("div",{},me)};if(X?.lineRangeMapping.modified.delta(-1).deltaLength(2).contains(Z.modifiedRange.endLineNumberExclusive-1))continue;let le;Z.diff&&Z.diff.modified.isEmpty&&this._options.shouldRenderOldRevertArrows.read(G)&&(le=re()),ie.push({afterLineNumber:Z.modifiedRange.endLineNumberExclusive-1,domNode:U(),heightInPx:-te,marginDomNode:le,showInHiddenAreas:!0,suppressMouseDown:!0})}}for(const Z of z.read(G)??[]){if(!X?.lineRangeMapping.original.intersect(Z.originalRange)||!X?.lineRangeMapping.modified.intersect(Z.modifiedRange))continue;const te=Z.modifiedHeightInPx-Z.originalHeightInPx;te>0?J.push({afterLineNumber:Z.originalRange.endLineNumberExclusive-1,domNode:U(),heightInPx:te,showInHiddenAreas:!0,suppressMouseDown:!0}):ie.push({afterLineNumber:Z.modifiedRange.endLineNumberExclusive-1,domNode:U(),heightInPx:-te,showInHiddenAreas:!0,suppressMouseDown:!0})}return{orig:J,mod:ie}});let Q=!1;this._register(this._editors.original.onDidScrollChange(G=>{G.scrollLeftChanged&&!Q&&(Q=!0,this._editors.modified.setScrollLeft(G.scrollLeft),Q=!1)})),this._register(this._editors.modified.onDidScrollChange(G=>{G.scrollLeftChanged&&!Q&&(Q=!0,this._editors.original.setScrollLeft(G.scrollLeft),Q=!1)})),this._originalScrollTop=(0,m.observableFromEvent)(this._editors.original.onDidScrollChange,()=>this._editors.original.getScrollTop()),this._modifiedScrollTop=(0,m.observableFromEvent)(this._editors.modified.onDidScrollChange,()=>this._editors.modified.getScrollTop()),this._register((0,m.autorun)(G=>{const K=this._originalScrollTop.read(G)-(this._originalScrollOffsetAnimated.get()-this._modifiedScrollOffsetAnimated.read(G))-(this._originalTopPadding.get()-this._modifiedTopPadding.read(G));K!==this._editors.modified.getScrollTop()&&this._editors.modified.setScrollTop(K,1)})),this._register((0,m.autorun)(G=>{const K=this._modifiedScrollTop.read(G)-(this._modifiedScrollOffsetAnimated.get()-this._originalScrollOffsetAnimated.read(G))-(this._modifiedTopPadding.get()-this._originalTopPadding.read(G));K!==this._editors.original.getScrollTop()&&this._editors.original.setScrollTop(K,1)})),this._register((0,m.autorun)(G=>{const K=this._diffModel.read(G)?.movedTextToCompare.read(G);let R=0;if(K){const J=this._editors.original.getTopForLineNumber(K.lineRangeMapping.original.startLineNumber,!0)-this._originalTopPadding.get();R=this._editors.modified.getTopForLineNumber(K.lineRangeMapping.modified.startLineNumber,!0)-this._modifiedTopPadding.get()-J}R>0?(this._modifiedTopPadding.set(0,void 0),this._originalTopPadding.set(R,void 0)):R<0?(this._modifiedTopPadding.set(-R,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()-R,void 0,!0):this._modifiedScrollOffset.set(this._originalScrollOffset.get()+R,void 0,!0)}))}};e.DiffEditorViewZones=C,e.DiffEditorViewZones=C=ke([ce(8,a.IClipboardService),ce(9,r.IContextMenuService)],C);function f(S,L,D,T,M,A){const P=new k.ArrayQueue(h(S,T)),N=new k.ArrayQueue(h(L,M)),O=S.getOption(67),F=L.getOption(67),x=[];let W=0,V=0;function q(H,z){for(;;){let U=P.peek(),j=N.peek();if(U&&U.lineNumber>=H&&(U=void 0),j&&j.lineNumber>=z&&(j=void 0),!U&&!j)break;const Q=U?U.lineNumber-W:Number.MAX_VALUE,G=j?j.lineNumber-V:Number.MAX_VALUE;QG?(N.dequeue(),U={lineNumber:j.lineNumber-V+W,heightInPx:0}):(P.dequeue(),N.dequeue()),x.push({originalRange:g.LineRange.ofLength(U.lineNumber,1),modifiedRange:g.LineRange.ofLength(j.lineNumber,1),originalHeightInPx:O+U.heightInPx,modifiedHeightInPx:F+j.heightInPx,diff:void 0})}}for(const H of D){let G=function(K,R,J=!1){if(Kae.lineNumberae+ee.heightInPx,0)??0,pe=N.takeWhile(ae=>ae.lineNumberae+ee.heightInPx,0)??0;x.push({originalRange:ie,modifiedRange:ue,originalHeightInPx:ie.length*O+he,modifiedHeightInPx:ue.length*F+pe,diff:H.lineRangeMapping}),Q=K,j=R};const z=H.lineRangeMapping;q(z.original.startLineNumber,z.modified.startLineNumber);let U=!0,j=z.modified.startLineNumber,Q=z.original.startLineNumber;if(A)for(const K of z.innerChanges||[]){K.originalRange.startColumn>1&&K.modifiedRange.startColumn>1&&G(K.originalRange.startLineNumber,K.modifiedRange.startLineNumber);const R=S.getModel(),J=K.originalRange.endLineNumber<=R.getLineCount()?R.getLineMaxColumn(K.originalRange.endLineNumber):Number.MAX_SAFE_INTEGER;K.originalRange.endColumn1&&T.push({lineNumber:O,heightInPx:P*(F-1)})}for(const O of S.getWhitespaces()){if(L.has(O.id))continue;const F=O.afterLineNumber===0?0:A.convertViewPositionToModelPosition(new c.Position(O.afterLineNumber,1)).lineNumber;D.push({lineNumber:F,heightInPx:O.height})}return(0,s.joinCombine)(D,T,O=>O.lineNumber,(O,F)=>({lineNumber:O.lineNumber,heightInPx:O.heightInPx+F.heightInPx}))}function v(S){return S.innerChanges?S.innerChanges.every(L=>w(L.modifiedRange)&&w(L.originalRange)||L.originalRange.equalsRange(new u.Range(1,1,1,1))):!1}function w(S){return S.startLineNumber===S.endLineNumber}}),define(ne[806],se([1,0,2,21,285,364,139,88]),function(oe,e,d,k,I,E,y,m){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DiffEditorDecorations=void 0;class _ extends d.Disposable{constructor(p,n,o,t){super(),this._editors=p,this._diffModel=n,this._options=o,this._decorations=(0,k.derived)(this,i=>{const s=this._diffModel.read(i),g=s?.diff.read(i);if(!g)return null;const c=this._diffModel.read(i).movedTextToCompare.read(i),l=this._options.renderIndicators.read(i),a=this._options.showEmptyDecorations.read(i),r=[],u=[];if(!c)for(const f of g.mappings)if(f.lineRangeMapping.original.isEmpty||r.push({range:f.lineRangeMapping.original.toInclusiveRange(),options:l?y.diffLineDeleteDecorationBackgroundWithIndicator:y.diffLineDeleteDecorationBackground}),f.lineRangeMapping.modified.isEmpty||u.push({range:f.lineRangeMapping.modified.toInclusiveRange(),options:l?y.diffLineAddDecorationBackgroundWithIndicator:y.diffLineAddDecorationBackground}),f.lineRangeMapping.modified.isEmpty||f.lineRangeMapping.original.isEmpty)f.lineRangeMapping.original.isEmpty||r.push({range:f.lineRangeMapping.original.toInclusiveRange(),options:y.diffWholeLineDeleteDecoration}),f.lineRangeMapping.modified.isEmpty||u.push({range:f.lineRangeMapping.modified.toInclusiveRange(),options:y.diffWholeLineAddDecoration});else{const h=this._options.useTrueInlineDiffRendering.read(i)&&(0,I.allowsTrueInlineDiffRendering)(f.lineRangeMapping);for(const v of f.lineRangeMapping.innerChanges||[])if(f.lineRangeMapping.original.contains(v.originalRange.startLineNumber)&&r.push({range:v.originalRange,options:v.originalRange.isEmpty()&&a?y.diffDeleteDecorationEmpty:y.diffDeleteDecoration}),f.lineRangeMapping.modified.contains(v.modifiedRange.startLineNumber)&&u.push({range:v.modifiedRange,options:v.modifiedRange.isEmpty()&&a&&!h?y.diffAddDecorationEmpty:y.diffAddDecoration}),h){const w=s.model.original.getValueInRange(v.originalRange);u.push({range:v.modifiedRange,options:{description:"deleted-text",before:{content:w,inlineClassName:"inline-deleted-text"},zIndex:1e5,showIfCollapsed:!0}})}}if(c)for(const f of c.changes){const h=f.original.toInclusiveRange();h&&r.push({range:h,options:l?y.diffLineDeleteDecorationBackgroundWithIndicator:y.diffLineDeleteDecorationBackground});const v=f.modified.toInclusiveRange();v&&u.push({range:v,options:l?y.diffLineAddDecorationBackgroundWithIndicator:y.diffLineAddDecorationBackground});for(const w of f.innerChanges||[])r.push({range:w.originalRange,options:y.diffDeleteDecoration}),u.push({range:w.modifiedRange,options:y.diffAddDecoration})}const C=this._diffModel.read(i).activeMovedText.read(i);for(const f of g.movedTexts)r.push({range:f.lineRangeMapping.original.toInclusiveRange(),options:{description:"moved",blockClassName:"movedOriginal"+(f===C?" currentMove":""),blockPadding:[E.MovedBlocksLinesFeature.movedCodeBlockPadding,0,E.MovedBlocksLinesFeature.movedCodeBlockPadding,E.MovedBlocksLinesFeature.movedCodeBlockPadding]}}),u.push({range:f.lineRangeMapping.modified.toInclusiveRange(),options:{description:"moved",blockClassName:"movedModified"+(f===C?" currentMove":""),blockPadding:[4,0,4,4]}});return{originalDecorations:r,modifiedDecorations:u}}),this._register((0,m.applyObservableDecorations)(this._editors.original,this._decorations.map(i=>i?.originalDecorations||[]))),this._register((0,m.applyObservableDecorations)(this._editors.modified,this._decorations.map(i=>i?.modifiedDecorations||[])))}}e.DiffEditorDecorations=_}),define(ne[807],se([1,0,21,189,285,308,37,61]),function(oe,e,d,k,I,E,y,m){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DiffEditorOptions=void 0;let _=class{get editorOptions(){return this._options}constructor(i,s){this._accessibilityService=s,this._diffEditorWidth=(0,d.observableValue)(this,0),this._screenReaderMode=(0,d.observableFromEvent)(this,this._accessibilityService.onDidChangeScreenReaderOptimized,()=>this._accessibilityService.isScreenReaderOptimized()),this.couldShowInlineViewBecauseOfSize=(0,d.derived)(this,c=>this._options.read(c).renderSideBySide&&this._diffEditorWidth.read(c)<=this._options.read(c).renderSideBySideInlineBreakpoint),this.renderOverviewRuler=(0,d.derived)(this,c=>this._options.read(c).renderOverviewRuler),this.renderSideBySide=(0,d.derived)(this,c=>this.compactMode.read(c)&&this.shouldRenderInlineViewInSmartMode.read(c)?!1:this._options.read(c).renderSideBySide&&!(this._options.read(c).useInlineViewWhenSpaceIsLimited&&this.couldShowInlineViewBecauseOfSize.read(c)&&!this._screenReaderMode.read(c))),this.readOnly=(0,d.derived)(this,c=>this._options.read(c).readOnly),this.shouldRenderOldRevertArrows=(0,d.derived)(this,c=>!(!this._options.read(c).renderMarginRevertIcon||!this.renderSideBySide.read(c)||this.readOnly.read(c)||this.shouldRenderGutterMenu.read(c))),this.shouldRenderGutterMenu=(0,d.derived)(this,c=>this._options.read(c).renderGutterMenu),this.renderIndicators=(0,d.derived)(this,c=>this._options.read(c).renderIndicators),this.enableSplitViewResizing=(0,d.derived)(this,c=>this._options.read(c).enableSplitViewResizing),this.splitViewDefaultRatio=(0,d.derived)(this,c=>this._options.read(c).splitViewDefaultRatio),this.ignoreTrimWhitespace=(0,d.derived)(this,c=>this._options.read(c).ignoreTrimWhitespace),this.maxComputationTimeMs=(0,d.derived)(this,c=>this._options.read(c).maxComputationTime),this.showMoves=(0,d.derived)(this,c=>this._options.read(c).experimental.showMoves&&this.renderSideBySide.read(c)),this.isInEmbeddedEditor=(0,d.derived)(this,c=>this._options.read(c).isInEmbeddedEditor),this.diffWordWrap=(0,d.derived)(this,c=>this._options.read(c).diffWordWrap),this.originalEditable=(0,d.derived)(this,c=>this._options.read(c).originalEditable),this.diffCodeLens=(0,d.derived)(this,c=>this._options.read(c).diffCodeLens),this.accessibilityVerbose=(0,d.derived)(this,c=>this._options.read(c).accessibilityVerbose),this.diffAlgorithm=(0,d.derived)(this,c=>this._options.read(c).diffAlgorithm),this.showEmptyDecorations=(0,d.derived)(this,c=>this._options.read(c).experimental.showEmptyDecorations),this.onlyShowAccessibleDiffViewer=(0,d.derived)(this,c=>this._options.read(c).onlyShowAccessibleDiffViewer),this.compactMode=(0,d.derived)(this,c=>this._options.read(c).compactMode),this.trueInlineDiffRenderingEnabled=(0,d.derived)(this,c=>this._options.read(c).experimental.useTrueInlineView),this.useTrueInlineDiffRendering=(0,d.derived)(this,c=>!this.renderSideBySide.read(c)&&this.trueInlineDiffRenderingEnabled.read(c)),this.hideUnchangedRegions=(0,d.derived)(this,c=>this._options.read(c).hideUnchangedRegions.enabled),this.hideUnchangedRegionsRevealLineCount=(0,d.derived)(this,c=>this._options.read(c).hideUnchangedRegions.revealLineCount),this.hideUnchangedRegionsContextLineCount=(0,d.derived)(this,c=>this._options.read(c).hideUnchangedRegions.contextLineCount),this.hideUnchangedRegionsMinimumLineCount=(0,d.derived)(this,c=>this._options.read(c).hideUnchangedRegions.minimumLineCount),this._model=(0,d.observableValue)(this,void 0),this.shouldRenderInlineViewInSmartMode=this._model.map(this,c=>(0,k.derivedConstOnceDefined)(this,l=>{const a=c?.diff.read(l);return a?b(a,this.trueInlineDiffRenderingEnabled.read(l)):void 0})).flatten().map(this,c=>!!c),this.inlineViewHideOriginalLineNumbers=this.compactMode;const g={...i,...o(i,E.diffEditorDefaultOptions)};this._options=(0,d.observableValue)(this,g)}updateOptions(i){const s=o(i,this._options.get()),g={...this._options.get(),...i,...s};this._options.set(g,void 0,{changedOptions:i})}setWidth(i){this._diffEditorWidth.set(i,void 0)}setModel(i){this._model.set(i,void 0)}};e.DiffEditorOptions=_,e.DiffEditorOptions=_=ke([ce(1,m.IAccessibilityService)],_);function b(t,i){return t.mappings.every(s=>p(s.lineRangeMapping)||n(s.lineRangeMapping)||i&&(0,I.allowsTrueInlineDiffRendering)(s.lineRangeMapping))}function p(t){return t.original.length===0}function n(t){return t.modified.length===0}function o(t,i){return{enableSplitViewResizing:(0,y.boolean)(t.enableSplitViewResizing,i.enableSplitViewResizing),splitViewDefaultRatio:(0,y.clampedFloat)(t.splitViewDefaultRatio,.5,.1,.9),renderSideBySide:(0,y.boolean)(t.renderSideBySide,i.renderSideBySide),renderMarginRevertIcon:(0,y.boolean)(t.renderMarginRevertIcon,i.renderMarginRevertIcon),maxComputationTime:(0,y.clampedInt)(t.maxComputationTime,i.maxComputationTime,0,1073741824),maxFileSize:(0,y.clampedInt)(t.maxFileSize,i.maxFileSize,0,1073741824),ignoreTrimWhitespace:(0,y.boolean)(t.ignoreTrimWhitespace,i.ignoreTrimWhitespace),renderIndicators:(0,y.boolean)(t.renderIndicators,i.renderIndicators),originalEditable:(0,y.boolean)(t.originalEditable,i.originalEditable),diffCodeLens:(0,y.boolean)(t.diffCodeLens,i.diffCodeLens),renderOverviewRuler:(0,y.boolean)(t.renderOverviewRuler,i.renderOverviewRuler),diffWordWrap:(0,y.stringSet)(t.diffWordWrap,i.diffWordWrap,["off","on","inherit"]),diffAlgorithm:(0,y.stringSet)(t.diffAlgorithm,i.diffAlgorithm,["legacy","advanced"],{smart:"legacy",experimental:"advanced"}),accessibilityVerbose:(0,y.boolean)(t.accessibilityVerbose,i.accessibilityVerbose),experimental:{showMoves:(0,y.boolean)(t.experimental?.showMoves,i.experimental.showMoves),showEmptyDecorations:(0,y.boolean)(t.experimental?.showEmptyDecorations,i.experimental.showEmptyDecorations),useTrueInlineView:(0,y.boolean)(t.experimental?.useTrueInlineView,i.experimental.useTrueInlineView)},hideUnchangedRegions:{enabled:(0,y.boolean)(t.hideUnchangedRegions?.enabled??t.experimental?.collapseUnchangedRegions,i.hideUnchangedRegions.enabled),contextLineCount:(0,y.clampedInt)(t.hideUnchangedRegions?.contextLineCount,i.hideUnchangedRegions.contextLineCount,0,1073741824),minimumLineCount:(0,y.clampedInt)(t.hideUnchangedRegions?.minimumLineCount,i.hideUnchangedRegions.minimumLineCount,0,1073741824),revealLineCount:(0,y.clampedInt)(t.hideUnchangedRegions?.revealLineCount,i.hideUnchangedRegions.revealLineCount,0,1073741824)},isInEmbeddedEditor:(0,y.boolean)(t.isInEmbeddedEditor,i.isInEmbeddedEditor),onlyShowAccessibleDiffViewer:(0,y.boolean)(t.onlyShowAccessibleDiffViewer,i.onlyShowAccessibleDiffViewer),renderSideBySideInlineBreakpoint:(0,y.clampedInt)(t.renderSideBySideInlineBreakpoint,i.renderSideBySideInlineBreakpoint,0,1073741824),useInlineViewWhenSpaceIsLimited:(0,y.boolean)(t.useInlineViewWhenSpaceIsLimited,i.useInlineViewWhenSpaceIsLimited),renderGutterMenu:(0,y.boolean)(t.renderGutterMenu,i.renderGutterMenu),compactMode:(0,y.boolean)(t.compactMode,i.compactMode)}}}),define(ne[808],se([1,0,6,2,16,35,197,70,211,28,284,129,370,42,60,7]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s){"use strict";var g;Object.defineProperty(e,"__esModule",{value:!0}),e.DefaultModelSHA1Computer=e.ModelService=void 0;function c(f){return f.toString()}class l{constructor(h,v,w){this.model=h,this._modelEventListeners=new k.DisposableStore,this.model=h,this._modelEventListeners.add(h.onWillDispose(()=>v(h))),this._modelEventListeners.add(h.onDidChangeLanguage(S=>w(h,S)))}dispose(){this._modelEventListeners.dispose()}}const a=I.isLinux||I.isMacintosh?1:2;class r{constructor(h,v,w,S,L,D,T,M){this.uri=h,this.initialUndoRedoSnapshot=v,this.time=w,this.sharesUndoRedoStack=S,this.heapSize=L,this.sha1=D,this.versionId=T,this.alternativeVersionId=M}}let u=class extends k.Disposable{static{g=this}static{this.MAX_MEMORY_FOR_CLOSED_FILES_UNDO_STACK=20*1024*1024}constructor(h,v,w,S){super(),this._configurationService=h,this._resourcePropertiesService=v,this._undoRedoService=w,this._instantiationService=S,this._onModelAdded=this._register(new d.Emitter),this.onModelAdded=this._onModelAdded.event,this._onModelRemoved=this._register(new d.Emitter),this.onModelRemoved=this._onModelRemoved.event,this._onModelModeChanged=this._register(new d.Emitter),this.onModelLanguageChanged=this._onModelModeChanged.event,this._modelCreationOptionsByLanguageAndResource=Object.create(null),this._models={},this._disposedModels=new Map,this._disposedModelsHeapSize=0,this._register(this._configurationService.onDidChangeConfiguration(L=>this._updateModelOptions(L))),this._updateModelOptions(void 0)}static _readModelOptions(h,v){let w=y.EDITOR_MODEL_DEFAULTS.tabSize;if(h.editor&&typeof h.editor.tabSize<"u"){const O=parseInt(h.editor.tabSize,10);isNaN(O)||(w=O),w<1&&(w=1)}let S="tabSize";if(h.editor&&typeof h.editor.indentSize<"u"&&h.editor.indentSize!=="tabSize"){const O=parseInt(h.editor.indentSize,10);isNaN(O)||(S=Math.max(O,1))}let L=y.EDITOR_MODEL_DEFAULTS.insertSpaces;h.editor&&typeof h.editor.insertSpaces<"u"&&(L=h.editor.insertSpaces==="false"?!1:!!h.editor.insertSpaces);let D=a;const T=h.eol;T===`\r +`?D=2:T===` +`&&(D=1);let M=y.EDITOR_MODEL_DEFAULTS.trimAutoWhitespace;h.editor&&typeof h.editor.trimAutoWhitespace<"u"&&(M=h.editor.trimAutoWhitespace==="false"?!1:!!h.editor.trimAutoWhitespace);let A=y.EDITOR_MODEL_DEFAULTS.detectIndentation;h.editor&&typeof h.editor.detectIndentation<"u"&&(A=h.editor.detectIndentation==="false"?!1:!!h.editor.detectIndentation);let P=y.EDITOR_MODEL_DEFAULTS.largeFileOptimizations;h.editor&&typeof h.editor.largeFileOptimizations<"u"&&(P=h.editor.largeFileOptimizations==="false"?!1:!!h.editor.largeFileOptimizations);let N=y.EDITOR_MODEL_DEFAULTS.bracketPairColorizationOptions;return h.editor?.bracketPairColorization&&typeof h.editor.bracketPairColorization=="object"&&(N={enabled:!!h.editor.bracketPairColorization.enabled,independentColorPoolPerBracketType:!!h.editor.bracketPairColorization.independentColorPoolPerBracketType}),{isForSimpleWidget:v,tabSize:w,indentSize:S,insertSpaces:L,detectIndentation:A,defaultEOL:D,trimAutoWhitespace:M,largeFileOptimizations:P,bracketPairColorizationOptions:N}}_getEOL(h,v){if(h)return this._resourcePropertiesService.getEOL(h,v);const w=this._configurationService.getValue("files.eol",{overrideIdentifier:v});return w&&typeof w=="string"&&w!=="auto"?w:I.OS===3||I.OS===2?` +`:`\r +`}_shouldRestoreUndoStack(){const h=this._configurationService.getValue("files.restoreUndoStack");return typeof h=="boolean"?h:!0}getCreationOptions(h,v,w){const S=typeof h=="string"?h:h.languageId;let L=this._modelCreationOptionsByLanguageAndResource[S+v];if(!L){const D=this._configurationService.getValue("editor",{overrideIdentifier:S,resource:v}),T=this._getEOL(v,S);L=g._readModelOptions({editor:D,eol:T},w),this._modelCreationOptionsByLanguageAndResource[S+v]=L}return L}_updateModelOptions(h){const v=this._modelCreationOptionsByLanguageAndResource;this._modelCreationOptionsByLanguageAndResource=Object.create(null);const w=Object.keys(this._models);for(let S=0,L=w.length;Sh){const v=[];for(this._disposedModels.forEach(w=>{w.sharesUndoRedoStack||v.push(w)}),v.sort((w,S)=>w.time-S.time);v.length>0&&this._disposedModelsHeapSize>h;){const w=v.shift();this._removeDisposedModel(w.uri),w.initialUndoRedoSnapshot!==null&&this._undoRedoService.restoreSnapshot(w.initialUndoRedoSnapshot)}}}_createModelData(h,v,w,S){const L=this.getCreationOptions(v,w,S),D=this._instantiationService.createInstance(E.TextModel,h,v,L,w);if(w&&this._disposedModels.has(c(w))){const A=this._removeDisposedModel(w),P=this._undoRedoService.getElements(w),N=this._getSHA1Computer(),O=N.canComputeSHA1(D)?N.computeSHA1(D)===A.sha1:!1;if(O||A.sharesUndoRedoStack){for(const F of P.past)(0,o.isEditStackElement)(F)&&F.matchesResource(w)&&F.setModel(D);for(const F of P.future)(0,o.isEditStackElement)(F)&&F.matchesResource(w)&&F.setModel(D);this._undoRedoService.setElementsValidFlag(w,!0,F=>(0,o.isEditStackElement)(F)&&F.matchesResource(w)),O&&(D._overwriteVersionId(A.versionId),D._overwriteAlternativeVersionId(A.alternativeVersionId),D._overwriteInitialUndoRedoSnapshot(A.initialUndoRedoSnapshot))}else A.initialUndoRedoSnapshot!==null&&this._undoRedoService.restoreSnapshot(A.initialUndoRedoSnapshot)}const T=c(D.uri);if(this._models[T])throw new Error("ModelService: Cannot add model because it already exists!");const M=new l(D,A=>this._onWillDispose(A),(A,P)=>this._onDidChangeLanguage(A,P));return this._models[T]=M,M}createModel(h,v,w,S=!1){let L;return v?L=this._createModelData(h,v,w,S):L=this._createModelData(h,m.PLAINTEXT_LANGUAGE_ID,w,S),this._onModelAdded.fire(L.model),L.model}getModels(){const h=[],v=Object.keys(this._models);for(let w=0,S=v.length;w0||A.future.length>0){for(const P of A.past)(0,o.isEditStackElement)(P)&&P.matchesResource(h.uri)&&(L=!0,D+=P.heapSize(h.uri),P.setModel(h.uri));for(const P of A.future)(0,o.isEditStackElement)(P)&&P.matchesResource(h.uri)&&(L=!0,D+=P.heapSize(h.uri),P.setModel(h.uri))}}const T=g.MAX_MEMORY_FOR_CLOSED_FILES_UNDO_STACK,M=this._getSHA1Computer();if(L)if(!S&&(D>T||!M.canComputeSHA1(h))){const A=w.model.getInitialUndoRedoSnapshot();A!==null&&this._undoRedoService.restoreSnapshot(A)}else this._ensureDisposedModelsHeapSize(T-D),this._undoRedoService.setElementsValidFlag(h.uri,!1,A=>(0,o.isEditStackElement)(A)&&A.matchesResource(h.uri)),this._insertDisposedModel(new r(h.uri,w.model.getInitialUndoRedoSnapshot(),Date.now(),S,D,M.computeSHA1(h),h.getVersionId(),h.getAlternativeVersionId()));else if(!S){const A=w.model.getInitialUndoRedoSnapshot();A!==null&&this._undoRedoService.restoreSnapshot(A)}delete this._models[v],w.dispose(),delete this._modelCreationOptionsByLanguageAndResource[h.getLanguageId()+h.uri],this._onModelRemoved.fire(h)}_onDidChangeLanguage(h,v){const w=v.oldLanguage,S=h.getLanguageId(),L=this.getCreationOptions(w,h.uri,h.isForSimpleWidget),D=this.getCreationOptions(S,h.uri,h.isForSimpleWidget);g._setModelOptionsForModel(h,D,L),this._onModelModeChanged.fire({model:h,oldLanguageId:w})}_getSHA1Computer(){return new C}};e.ModelService=u,e.ModelService=u=g=ke([ce(0,b.IConfigurationService),ce(1,_.ITextResourcePropertiesService),ce(2,p.IUndoRedoService),ce(3,s.IInstantiationService)],u);class C{static{this.MAX_MODEL_SIZE=10*1024*1024}canComputeSHA1(h){return h.getValueLength()<=C.MAX_MODEL_SIZE}computeSHA1(h){const v=new n.StringSHA1,w=h.createSnapshot();let S;for(;S=w.read();)v.update(S);return v.digest()}}e.DefaultModelSHA1Computer=C}),define(ne[809],se([1,0,13,9,4,239,35,132,243,602,322,95]),function(oe,e,d,k,I,E,y,m,_,b,p,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ViewModelLinesFromModelAsIs=e.ViewModelLinesFromProjectedModel=void 0;class o{constructor(r,u,C,f,h,v,w,S,L,D){this._editorId=r,this.model=u,this._validModelVersionId=-1,this._domLineBreaksComputerFactory=C,this._monospaceLineBreaksComputerFactory=f,this.fontInfo=h,this.tabSize=v,this.wrappingStrategy=w,this.wrappingColumn=S,this.wrappingIndent=L,this.wordBreak=D,this._constructLines(!0,null)}dispose(){this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,[])}createCoordinatesConverter(){return new g(this)}_constructLines(r,u){this.modelLineProjections=[],r&&(this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,[]));const C=this.model.getLinesContent(),f=this.model.getInjectedTextDecorations(this._editorId),h=C.length,v=this.createLineBreaksComputer(),w=new d.ArrayQueue(m.LineInjectedText.fromDecorations(f));for(let N=0;NF.lineNumber===N+1);v.addRequest(C[N],O,u?u[N]:null)}const S=v.finalize(),L=[],D=this.hiddenAreasDecorationIds.map(N=>this.model.getDecorationRange(N)).sort(I.Range.compareRangesUsingStarts);let T=1,M=0,A=-1,P=A+1=T&&O<=M,x=(0,b.createModelLineProjection)(S[N],!F);L[N]=x.getViewLineCount(),this.modelLineProjections[N]=x}this._validModelVersionId=this.model.getVersionId(),this.projectedModelLineLineCounts=new p.ConstantTimePrefixSumComputer(L)}getHiddenAreas(){return this.hiddenAreasDecorationIds.map(r=>this.model.getDecorationRange(r))}setHiddenAreas(r){const u=r.map(M=>this.model.validateRange(M)),C=t(u),f=this.hiddenAreasDecorationIds.map(M=>this.model.getDecorationRange(M)).sort(I.Range.compareRangesUsingStarts);if(C.length===f.length){let M=!1;for(let A=0;A({range:M,options:y.ModelDecorationOptions.EMPTY}));this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,h);const v=C;let w=1,S=0,L=-1,D=L+1=w&&A<=S?this.modelLineProjections[M].isVisible()&&(this.modelLineProjections[M]=this.modelLineProjections[M].setVisible(!1),P=!0):(T=!0,this.modelLineProjections[M].isVisible()||(this.modelLineProjections[M]=this.modelLineProjections[M].setVisible(!0),P=!0)),P){const N=this.modelLineProjections[M].getViewLineCount();this.projectedModelLineLineCounts.setValue(M,N)}}return T||this.setHiddenAreas([]),!0}modelPositionIsVisible(r,u){return r<1||r>this.modelLineProjections.length?!1:this.modelLineProjections[r-1].isVisible()}getModelLineViewLineCount(r){return r<1||r>this.modelLineProjections.length?1:this.modelLineProjections[r-1].getViewLineCount()}setTabSize(r){return this.tabSize===r?!1:(this.tabSize=r,this._constructLines(!1,null),!0)}setWrappingSettings(r,u,C,f,h){const v=this.fontInfo.equals(r),w=this.wrappingStrategy===u,S=this.wrappingColumn===C,L=this.wrappingIndent===f,D=this.wordBreak===h;if(v&&w&&S&&L&&D)return!1;const T=v&&w&&!S&&L&&D;this.fontInfo=r,this.wrappingStrategy=u,this.wrappingColumn=C,this.wrappingIndent=f,this.wordBreak=h;let M=null;if(T){M=[];for(let A=0,P=this.modelLineProjections.length;A2&&!this.modelLineProjections[u-2].isVisible(),v=u===1?1:this.projectedModelLineLineCounts.getPrefixSum(u-1)+1;let w=0;const S=[],L=[];for(let D=0,T=f.length;DS?(D=this.projectedModelLineLineCounts.getPrefixSum(u-1)+1,T=D+S-1,P=T+1,N=P+(h-S)-1,L=!0):hu?u:r|0}getActiveIndentGuide(r,u,C){r=this._toValidViewLineNumber(r),u=this._toValidViewLineNumber(u),C=this._toValidViewLineNumber(C);const f=this.convertViewPositionToModelPosition(r,this.getViewLineMinColumn(r)),h=this.convertViewPositionToModelPosition(u,this.getViewLineMinColumn(u)),v=this.convertViewPositionToModelPosition(C,this.getViewLineMinColumn(C)),w=this.model.guides.getActiveIndentGuide(f.lineNumber,h.lineNumber,v.lineNumber),S=this.convertModelPositionToViewPosition(w.startLineNumber,1),L=this.convertModelPositionToViewPosition(w.endLineNumber,this.model.getLineMaxColumn(w.endLineNumber));return{startLineNumber:S.lineNumber,endLineNumber:L.lineNumber,indent:w.indent}}getViewLineInfo(r){r=this._toValidViewLineNumber(r);const u=this.projectedModelLineLineCounts.getIndexOf(r-1),C=u.index,f=u.remainder;return new i(C+1,f)}getMinColumnOfViewLine(r){return this.modelLineProjections[r.modelLineNumber-1].getViewLineMinColumn(this.model,r.modelLineNumber,r.modelLineWrappedLineIdx)}getMaxColumnOfViewLine(r){return this.modelLineProjections[r.modelLineNumber-1].getViewLineMaxColumn(this.model,r.modelLineNumber,r.modelLineWrappedLineIdx)}getModelStartPositionOfViewLine(r){const u=this.modelLineProjections[r.modelLineNumber-1],C=u.getViewLineMinColumn(this.model,r.modelLineNumber,r.modelLineWrappedLineIdx),f=u.getModelColumnOfViewPosition(r.modelLineWrappedLineIdx,C);return new k.Position(r.modelLineNumber,f)}getModelEndPositionOfViewLine(r){const u=this.modelLineProjections[r.modelLineNumber-1],C=u.getViewLineMaxColumn(this.model,r.modelLineNumber,r.modelLineWrappedLineIdx),f=u.getModelColumnOfViewPosition(r.modelLineWrappedLineIdx,C);return new k.Position(r.modelLineNumber,f)}getViewLineInfosGroupedByModelRanges(r,u){const C=this.getViewLineInfo(r),f=this.getViewLineInfo(u),h=new Array;let v=this.getModelStartPositionOfViewLine(C),w=new Array;for(let S=C.modelLineNumber;S<=f.modelLineNumber;S++){const L=this.modelLineProjections[S-1];if(L.isVisible()){const D=S===C.modelLineNumber?C.modelLineWrappedLineIdx:0,T=S===f.modelLineNumber?f.modelLineWrappedLineIdx+1:L.getViewLineCount();for(let M=D;M{if(A.forWrappedLinesAfterColumn!==-1&&this.modelLineProjections[D.modelLineNumber-1].getViewPositionOfModelPosition(0,A.forWrappedLinesAfterColumn).lineNumber>=D.modelLineWrappedLineIdx||A.forWrappedLinesBeforeOrAtColumn!==-1&&this.modelLineProjections[D.modelLineNumber-1].getViewPositionOfModelPosition(0,A.forWrappedLinesBeforeOrAtColumn).lineNumberD.modelLineWrappedLineIdx)return}const N=this.convertModelPositionToViewPosition(D.modelLineNumber,A.horizontalLine.endColumn),O=this.modelLineProjections[D.modelLineNumber-1].getViewPositionOfModelPosition(0,A.horizontalLine.endColumn);return O.lineNumber===D.modelLineWrappedLineIdx?new E.IndentGuide(A.visibleColumn,P,A.className,new E.IndentGuideHorizontalLine(A.horizontalLine.top,N.column),-1,-1):O.lineNumber!!A))}}return v}getViewLinesIndentGuides(r,u){r=this._toValidViewLineNumber(r),u=this._toValidViewLineNumber(u);const C=this.convertViewPositionToModelPosition(r,this.getViewLineMinColumn(r)),f=this.convertViewPositionToModelPosition(u,this.getViewLineMaxColumn(u));let h=[];const v=[],w=[],S=C.lineNumber-1,L=f.lineNumber-1;let D=null;for(let P=S;P<=L;P++){const N=this.modelLineProjections[P];if(N.isVisible()){const O=N.getViewLineNumberOfModelPosition(0,P===S?C.column:1),F=N.getViewLineNumberOfModelPosition(0,this.model.getLineMaxColumn(P+1)),x=F-O+1;let W=0;x>1&&N.getViewLineMinColumn(this.model,P+1,F)===1&&(W=O===0?1:2),v.push(x),w.push(W),D===null&&(D=new k.Position(P+1,0))}else D!==null&&(h=h.concat(this.model.guides.getLinesIndentGuides(D.lineNumber,P)),D=null)}D!==null&&(h=h.concat(this.model.guides.getLinesIndentGuides(D.lineNumber,f.lineNumber)),D=null);const T=u-r+1,M=new Array(T);let A=0;for(let P=0,N=h.length;Pu&&(P=!0,A=u-h+1),T.getViewLinesData(this.model,L+1,M,A,h-r,C,S),h+=A,P)break}return S}validateViewPosition(r,u,C){r=this._toValidViewLineNumber(r);const f=this.projectedModelLineLineCounts.getIndexOf(r-1),h=f.index,v=f.remainder,w=this.modelLineProjections[h],S=w.getViewLineMinColumn(this.model,h+1,v),L=w.getViewLineMaxColumn(this.model,h+1,v);uL&&(u=L);const D=w.getModelColumnOfViewPosition(v,u);return this.model.validatePosition(new k.Position(h+1,D)).equals(C)?new k.Position(r,u):this.convertModelPositionToViewPosition(C.lineNumber,C.column)}validateViewRange(r,u){const C=this.validateViewPosition(r.startLineNumber,r.startColumn,u.getStartPosition()),f=this.validateViewPosition(r.endLineNumber,r.endColumn,u.getEndPosition());return new I.Range(C.lineNumber,C.column,f.lineNumber,f.column)}convertViewPositionToModelPosition(r,u){const C=this.getViewLineInfo(r),f=this.modelLineProjections[C.modelLineNumber-1].getModelColumnOfViewPosition(C.modelLineWrappedLineIdx,u);return this.model.validatePosition(new k.Position(C.modelLineNumber,f))}convertViewRangeToModelRange(r){const u=this.convertViewPositionToModelPosition(r.startLineNumber,r.startColumn),C=this.convertViewPositionToModelPosition(r.endLineNumber,r.endColumn);return new I.Range(u.lineNumber,u.column,C.lineNumber,C.column)}convertModelPositionToViewPosition(r,u,C=2,f=!1,h=!1){const v=this.model.validatePosition(new k.Position(r,u)),w=v.lineNumber,S=v.column;let L=w-1,D=!1;if(h)for(;L0&&!this.modelLineProjections[L].isVisible();)L--,D=!0;if(L===0&&!this.modelLineProjections[L].isVisible())return new k.Position(f?0:1,1);const T=1+this.projectedModelLineLineCounts.getPrefixSum(L);let M;return D?h?M=this.modelLineProjections[L].getViewPositionOfModelPosition(T,1,C):M=this.modelLineProjections[L].getViewPositionOfModelPosition(T,this.model.getLineMaxColumn(L+1),C):M=this.modelLineProjections[w-1].getViewPositionOfModelPosition(T,S,C),M}convertModelRangeToViewRange(r,u=0){if(r.isEmpty()){const C=this.convertModelPositionToViewPosition(r.startLineNumber,r.startColumn,u);return I.Range.fromPositions(C)}else{const C=this.convertModelPositionToViewPosition(r.startLineNumber,r.startColumn,1),f=this.convertModelPositionToViewPosition(r.endLineNumber,r.endColumn,0);return new I.Range(C.lineNumber,C.column,f.lineNumber,f.column)}}getViewLineNumberOfModelPosition(r,u){let C=r-1;if(this.modelLineProjections[C].isVisible()){const h=1+this.projectedModelLineLineCounts.getPrefixSum(C);return this.modelLineProjections[C].getViewLineNumberOfModelPosition(h,u)}for(;C>0&&!this.modelLineProjections[C].isVisible();)C--;if(C===0&&!this.modelLineProjections[C].isVisible())return 1;const f=1+this.projectedModelLineLineCounts.getPrefixSum(C);return this.modelLineProjections[C].getViewLineNumberOfModelPosition(f,this.model.getLineMaxColumn(C+1))}getDecorationsInRange(r,u,C,f,h){const v=this.convertViewPositionToModelPosition(r.startLineNumber,r.startColumn),w=this.convertViewPositionToModelPosition(r.endLineNumber,r.endColumn);if(w.lineNumber-v.lineNumber<=r.endLineNumber-r.startLineNumber)return this.model.getDecorationsInRange(new I.Range(v.lineNumber,1,w.lineNumber,w.column),u,C,f,h);let S=[];const L=v.lineNumber-1,D=w.lineNumber-1;let T=null;for(let N=L;N<=D;N++)if(this.modelLineProjections[N].isVisible())T===null&&(T=new k.Position(N+1,N===L?v.column:1));else if(T!==null){const F=this.model.getLineMaxColumn(N);S=S.concat(this.model.getDecorationsInRange(new I.Range(T.lineNumber,T.column,N,F),u,C,f)),T=null}T!==null&&(S=S.concat(this.model.getDecorationsInRange(new I.Range(T.lineNumber,T.column,w.lineNumber,w.column),u,C,f)),T=null),S.sort((N,O)=>{const F=I.Range.compareRangesUsingStarts(N.range,O.range);return F===0?N.idO.id?1:0:F});const M=[];let A=0,P=null;for(const N of S){const O=N.id;P!==O&&(P=O,M[A++]=N)}return M}getInjectedTextAt(r){const u=this.getViewLineInfo(r.lineNumber);return this.modelLineProjections[u.modelLineNumber-1].getInjectedTextAt(u.modelLineWrappedLineIdx,r.column)}normalizePosition(r,u){const C=this.getViewLineInfo(r.lineNumber);return this.modelLineProjections[C.modelLineNumber-1].normalizePosition(C.modelLineWrappedLineIdx,r,u)}getLineIndentColumn(r){const u=this.getViewLineInfo(r);return u.modelLineWrappedLineIdx===0?this.model.getLineIndentColumn(u.modelLineNumber):0}}e.ViewModelLinesFromProjectedModel=o;function t(a){if(a.length===0)return[];const r=a.slice();r.sort(I.Range.compareRangesUsingStarts);const u=[];let C=r[0].startLineNumber,f=r[0].endLineNumber;for(let h=1,v=r.length;hf+1?(u.push(new I.Range(C,1,f,1)),C=w.startLineNumber,f=w.endLineNumber):w.endLineNumber>f&&(f=w.endLineNumber)}return u.push(new I.Range(C,1,f,1)),u}class i{constructor(r,u){this.modelLineNumber=r,this.modelLineWrappedLineIdx=u}}class s{constructor(r,u){this.modelRange=r,this.viewLines=u}}class g{constructor(r){this._lines=r}convertViewPositionToModelPosition(r){return this._lines.convertViewPositionToModelPosition(r.lineNumber,r.column)}convertViewRangeToModelRange(r){return this._lines.convertViewRangeToModelRange(r)}validateViewPosition(r,u){return this._lines.validateViewPosition(r.lineNumber,r.column,u)}validateViewRange(r,u){return this._lines.validateViewRange(r,u)}convertModelPositionToViewPosition(r,u,C,f){return this._lines.convertModelPositionToViewPosition(r.lineNumber,r.column,u,C,f)}convertModelRangeToViewRange(r,u){return this._lines.convertModelRangeToViewRange(r,u)}modelPositionIsVisible(r){return this._lines.modelPositionIsVisible(r.lineNumber,r.column)}getModelLineViewLineCount(r){return this._lines.getModelLineViewLineCount(r)}getViewLineNumberOfModelPosition(r,u){return this._lines.getViewLineNumberOfModelPosition(r,u)}}class c{constructor(r){this.model=r}dispose(){}createCoordinatesConverter(){return new l(this)}getHiddenAreas(){return[]}setHiddenAreas(r){return!1}setTabSize(r){return!1}setWrappingSettings(r,u,C,f){return!1}createLineBreaksComputer(){const r=[];return{addRequest:(u,C,f)=>{r.push(null)},finalize:()=>r}}onModelFlushed(){}onModelLinesDeleted(r,u,C){return new _.ViewLinesDeletedEvent(u,C)}onModelLinesInserted(r,u,C,f){return new _.ViewLinesInsertedEvent(u,C)}onModelLineChanged(r,u,C){return[!1,new _.ViewLinesChangedEvent(u,1),null,null]}acceptVersionId(r){}getViewLineCount(){return this.model.getLineCount()}getActiveIndentGuide(r,u,C){return{startLineNumber:r,endLineNumber:r,indent:0}}getViewLinesBracketGuides(r,u,C){return new Array(u-r+1).fill([])}getViewLinesIndentGuides(r,u){const C=u-r+1,f=new Array(C);for(let h=0;hu)}getModelLineViewLineCount(r){return 1}getViewLineNumberOfModelPosition(r,u){return r}}}),define(ne[810],se([1,0,13,14,33,2,16,11,37,706,76,9,4,132,27,70,369,243,606,374,95,375,244,809,601]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r,u,C,f,h){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ViewModel=void 0;const v=!0;class w extends E.Disposable{constructor(N,O,F,x,W,V,q,H,z,U){if(super(),this.languageConfigurationService=q,this._themeService=H,this._attachedView=z,this._transactionalTarget=U,this.hiddenAreasModel=new D,this.previousHiddenAreas=[],this._editorId=N,this._configuration=O,this.model=F,this._eventDispatcher=new C.ViewModelEventDispatcher,this.onEvent=this._eventDispatcher.onEvent,this.cursorConfig=new p.CursorConfiguration(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._updateConfigurationViewLineCount=this._register(new k.RunOnceScheduler(()=>this._updateConfigurationViewLineCountNow(),0)),this._hasFocus=!1,this._viewportStart=S.create(this.model),this.glyphLanes=new h.GlyphMarginLanesModel(0),v&&this.model.isTooLargeForTokenization())this._lines=new f.ViewModelLinesFromModelAsIs(this.model);else{const j=this._configuration.options,Q=j.get(50),G=j.get(140),K=j.get(147),R=j.get(139),J=j.get(130);this._lines=new f.ViewModelLinesFromProjectedModel(this._editorId,this.model,x,W,Q,this.model.getOptions().tabSize,G,K.wrappingColumn,R,J)}this.coordinatesConverter=this._lines.createCoordinatesConverter(),this._cursor=this._register(new b.CursorsController(F,this,this.coordinatesConverter,this.cursorConfig)),this.viewLayout=this._register(new l.ViewLayout(this._configuration,this.getLineCount(),V)),this._register(this.viewLayout.onDidScroll(j=>{j.scrollTopChanged&&this._handleVisibleLinesChanged(),j.scrollTopChanged&&this._viewportStart.invalidate(),this._eventDispatcher.emitSingleViewEvent(new c.ViewScrollChangedEvent(j)),this._eventDispatcher.emitOutgoingEvent(new C.ScrollChangedEvent(j.oldScrollWidth,j.oldScrollLeft,j.oldScrollHeight,j.oldScrollTop,j.scrollWidth,j.scrollLeft,j.scrollHeight,j.scrollTop))})),this._register(this.viewLayout.onDidContentSizeChange(j=>{this._eventDispatcher.emitOutgoingEvent(j)})),this._decorations=new u.ViewModelDecorations(this._editorId,this.model,this._configuration,this._lines,this.coordinatesConverter),this._registerModelEvents(),this._register(this._configuration.onDidChangeFast(j=>{try{const Q=this._eventDispatcher.beginEmitViewEvents();this._onConfigurationChanged(Q,j)}finally{this._eventDispatcher.endEmitViewEvents()}})),this._register(a.MinimapTokensColorTracker.getInstance().onDidChange(()=>{this._eventDispatcher.emitSingleViewEvent(new c.ViewTokensColorsChangedEvent)})),this._register(this._themeService.onDidColorThemeChange(j=>{this._invalidateDecorationsColorCache(),this._eventDispatcher.emitSingleViewEvent(new c.ViewThemeChangedEvent(j))})),this._updateConfigurationViewLineCountNow()}dispose(){super.dispose(),this._decorations.dispose(),this._lines.dispose(),this._viewportStart.dispose(),this._eventDispatcher.dispose()}createLineBreaksComputer(){return this._lines.createLineBreaksComputer()}addViewEventHandler(N){this._eventDispatcher.addViewEventHandler(N)}removeViewEventHandler(N){this._eventDispatcher.removeViewEventHandler(N)}_updateConfigurationViewLineCountNow(){this._configuration.setViewLineCount(this._lines.getViewLineCount())}getModelVisibleRanges(){const N=this.viewLayout.getLinesViewportData(),O=new o.Range(N.startLineNumber,this.getLineMinColumn(N.startLineNumber),N.endLineNumber,this.getLineMaxColumn(N.endLineNumber));return this._toModelVisibleRanges(O)}visibleLinesStabilized(){const N=this.getModelVisibleRanges();this._attachedView.setVisibleLines(N,!0)}_handleVisibleLinesChanged(){const N=this.getModelVisibleRanges();this._attachedView.setVisibleLines(N,!1)}setHasFocus(N){this._hasFocus=N,this._cursor.setHasFocus(N),this._eventDispatcher.emitSingleViewEvent(new c.ViewFocusChangedEvent(N)),this._eventDispatcher.emitOutgoingEvent(new C.FocusChangedEvent(!N,N))}onCompositionStart(){this._eventDispatcher.emitSingleViewEvent(new c.ViewCompositionStartEvent)}onCompositionEnd(){this._eventDispatcher.emitSingleViewEvent(new c.ViewCompositionEndEvent)}_captureStableViewport(){if(this._viewportStart.isValid&&this.viewLayout.getCurrentScrollTop()>0){const N=new n.Position(this._viewportStart.viewLineNumber,this.getLineMinColumn(this._viewportStart.viewLineNumber)),O=this.coordinatesConverter.convertViewPositionToModelPosition(N);return new A(O,this._viewportStart.startLineDelta)}return new A(null,0)}_onConfigurationChanged(N,O){const F=this._captureStableViewport(),x=this._configuration.options,W=x.get(50),V=x.get(140),q=x.get(147),H=x.get(139),z=x.get(130);this._lines.setWrappingSettings(W,V,q.wrappingColumn,H,z)&&(N.emitViewEvent(new c.ViewFlushedEvent),N.emitViewEvent(new c.ViewLineMappingChangedEvent),N.emitViewEvent(new c.ViewDecorationsChangedEvent(null)),this._cursor.onLineMappingChanged(N),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount()),this._updateConfigurationViewLineCount.schedule()),O.hasChanged(92)&&(this._decorations.reset(),N.emitViewEvent(new c.ViewDecorationsChangedEvent(null))),O.hasChanged(99)&&(this._decorations.reset(),N.emitViewEvent(new c.ViewDecorationsChangedEvent(null))),N.emitViewEvent(new c.ViewConfigurationChangedEvent(O)),this.viewLayout.onConfigurationChanged(O),F.recoverViewportStart(this.coordinatesConverter,this.viewLayout),p.CursorConfiguration.shouldRecreate(O)&&(this.cursorConfig=new p.CursorConfiguration(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig))}_registerModelEvents(){this._register(this.model.onDidChangeContentOrInjectedText(N=>{try{const F=this._eventDispatcher.beginEmitViewEvents();let x=!1,W=!1;const V=N instanceof t.InternalModelContentChangeEvent?N.rawContentChangedEvent.changes:N.changes,q=N instanceof t.InternalModelContentChangeEvent?N.rawContentChangedEvent.versionId:null,H=this._lines.createLineBreaksComputer();for(const j of V)switch(j.changeType){case 4:{for(let Q=0;Q!R.ownerId||R.ownerId===this._editorId)),H.addRequest(G,K,null)}break}case 2:{let Q=null;j.injectedText&&(Q=j.injectedText.filter(G=>!G.ownerId||G.ownerId===this._editorId)),H.addRequest(j.detail,Q,null);break}}const z=H.finalize(),U=new d.ArrayQueue(z);for(const j of V)switch(j.changeType){case 1:{this._lines.onModelFlushed(),F.emitViewEvent(new c.ViewFlushedEvent),this._decorations.reset(),this.viewLayout.onFlushed(this.getLineCount()),x=!0;break}case 3:{const Q=this._lines.onModelLinesDeleted(q,j.fromLineNumber,j.toLineNumber);Q!==null&&(F.emitViewEvent(Q),this.viewLayout.onLinesDeleted(Q.fromLineNumber,Q.toLineNumber)),x=!0;break}case 4:{const Q=U.takeCount(j.detail.length),G=this._lines.onModelLinesInserted(q,j.fromLineNumber,j.toLineNumber,Q);G!==null&&(F.emitViewEvent(G),this.viewLayout.onLinesInserted(G.fromLineNumber,G.toLineNumber)),x=!0;break}case 2:{const Q=U.dequeue(),[G,K,R,J]=this._lines.onModelLineChanged(q,j.lineNumber,Q);W=G,K&&F.emitViewEvent(K),R&&(F.emitViewEvent(R),this.viewLayout.onLinesInserted(R.fromLineNumber,R.toLineNumber)),J&&(F.emitViewEvent(J),this.viewLayout.onLinesDeleted(J.fromLineNumber,J.toLineNumber));break}case 5:break}q!==null&&this._lines.acceptVersionId(q),this.viewLayout.onHeightMaybeChanged(),!x&&W&&(F.emitViewEvent(new c.ViewLineMappingChangedEvent),F.emitViewEvent(new c.ViewDecorationsChangedEvent(null)),this._cursor.onLineMappingChanged(F),this._decorations.onLineMappingChanged())}finally{this._eventDispatcher.endEmitViewEvents()}const O=this._viewportStart.isValid;if(this._viewportStart.invalidate(),this._configuration.setModelLineCount(this.model.getLineCount()),this._updateConfigurationViewLineCountNow(),!this._hasFocus&&this.model.getAttachedEditorCount()>=2&&O){const F=this.model._getTrackedRange(this._viewportStart.modelTrackedRange);if(F){const x=this.coordinatesConverter.convertModelPositionToViewPosition(F.getStartPosition()),W=this.viewLayout.getVerticalOffsetForLineNumber(x.lineNumber);this.viewLayout.setScrollPosition({scrollTop:W+this._viewportStart.startLineDelta},1)}}try{const F=this._eventDispatcher.beginEmitViewEvents();N instanceof t.InternalModelContentChangeEvent&&F.emitOutgoingEvent(new C.ModelContentChangedEvent(N.contentChangedEvent)),this._cursor.onModelContentChanged(F,N)}finally{this._eventDispatcher.endEmitViewEvents()}this._handleVisibleLinesChanged()})),this._register(this.model.onDidChangeTokens(N=>{const O=[];for(let F=0,x=N.ranges.length;F{this._eventDispatcher.emitSingleViewEvent(new c.ViewLanguageConfigurationEvent),this.cursorConfig=new p.CursorConfiguration(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new C.ModelLanguageConfigurationChangedEvent(N))})),this._register(this.model.onDidChangeLanguage(N=>{this.cursorConfig=new p.CursorConfiguration(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new C.ModelLanguageChangedEvent(N))})),this._register(this.model.onDidChangeOptions(N=>{if(this._lines.setTabSize(this.model.getOptions().tabSize)){try{const O=this._eventDispatcher.beginEmitViewEvents();O.emitViewEvent(new c.ViewFlushedEvent),O.emitViewEvent(new c.ViewLineMappingChangedEvent),O.emitViewEvent(new c.ViewDecorationsChangedEvent(null)),this._cursor.onLineMappingChanged(O),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount())}finally{this._eventDispatcher.endEmitViewEvents()}this._updateConfigurationViewLineCount.schedule()}this.cursorConfig=new p.CursorConfiguration(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new C.ModelOptionsChangedEvent(N))})),this._register(this.model.onDidChangeDecorations(N=>{this._decorations.onModelDecorationsChanged(),this._eventDispatcher.emitSingleViewEvent(new c.ViewDecorationsChangedEvent(N)),this._eventDispatcher.emitOutgoingEvent(new C.ModelDecorationsChangedEvent(N))}))}setHiddenAreas(N,O){this.hiddenAreasModel.setHiddenAreas(O,N);const F=this.hiddenAreasModel.getMergedRanges();if(F===this.previousHiddenAreas)return;this.previousHiddenAreas=F;const x=this._captureStableViewport();let W=!1;try{const V=this._eventDispatcher.beginEmitViewEvents();W=this._lines.setHiddenAreas(F),W&&(V.emitViewEvent(new c.ViewFlushedEvent),V.emitViewEvent(new c.ViewLineMappingChangedEvent),V.emitViewEvent(new c.ViewDecorationsChangedEvent(null)),this._cursor.onLineMappingChanged(V),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount()),this.viewLayout.onHeightMaybeChanged());const q=x.viewportStartModelPosition?.lineNumber;q&&F.some(z=>z.startLineNumber<=q&&q<=z.endLineNumber)||x.recoverViewportStart(this.coordinatesConverter,this.viewLayout)}finally{this._eventDispatcher.endEmitViewEvents()}this._updateConfigurationViewLineCount.schedule(),W&&this._eventDispatcher.emitOutgoingEvent(new C.HiddenAreasChangedEvent)}getVisibleRangesPlusViewportAboveBelow(){const N=this._configuration.options.get(146),O=this._configuration.options.get(67),F=Math.max(20,Math.round(N.height/O)),x=this.viewLayout.getLinesViewportData(),W=Math.max(1,x.completelyVisibleStartLineNumber-F),V=Math.min(this.getLineCount(),x.completelyVisibleEndLineNumber+F);return this._toModelVisibleRanges(new o.Range(W,this.getLineMinColumn(W),V,this.getLineMaxColumn(V)))}getVisibleRanges(){const N=this.getCompletelyVisibleViewRange();return this._toModelVisibleRanges(N)}getHiddenAreas(){return this._lines.getHiddenAreas()}_toModelVisibleRanges(N){const O=this.coordinatesConverter.convertViewRangeToModelRange(N),F=this._lines.getHiddenAreas();if(F.length===0)return[O];const x=[];let W=0,V=O.startLineNumber,q=O.startColumn;const H=O.endLineNumber,z=O.endColumn;for(let U=0,j=F.length;UH||(V"u")return this._reduceRestoreStateCompatibility(N);const O=this.model.validatePosition(N.firstPosition),F=this.coordinatesConverter.convertModelPositionToViewPosition(O),x=this.viewLayout.getVerticalOffsetForLineNumber(F.lineNumber)-N.firstPositionDeltaTop;return{scrollLeft:N.scrollLeft,scrollTop:x}}_reduceRestoreStateCompatibility(N){return{scrollLeft:N.scrollLeft,scrollTop:N.scrollTopWithoutViewZones}}getTabSize(){return this.model.getOptions().tabSize}getLineCount(){return this._lines.getViewLineCount()}setViewport(N,O,F){this._viewportStart.update(this,N)}getActiveIndentGuide(N,O,F){return this._lines.getActiveIndentGuide(N,O,F)}getLinesIndentGuides(N,O){return this._lines.getViewLinesIndentGuides(N,O)}getBracketGuidesInRangeByLine(N,O,F,x){return this._lines.getViewLinesBracketGuides(N,O,F,x)}getLineContent(N){return this._lines.getViewLineContent(N)}getLineLength(N){return this._lines.getViewLineLength(N)}getLineMinColumn(N){return this._lines.getViewLineMinColumn(N)}getLineMaxColumn(N){return this._lines.getViewLineMaxColumn(N)}getLineFirstNonWhitespaceColumn(N){const O=m.firstNonWhitespaceIndex(this.getLineContent(N));return O===-1?0:O+1}getLineLastNonWhitespaceColumn(N){const O=m.lastNonWhitespaceIndex(this.getLineContent(N));return O===-1?0:O+2}getMinimapDecorationsInRange(N){return this._decorations.getMinimapDecorationsInRange(N)}getDecorationsInViewport(N){return this._decorations.getDecorationsViewportData(N).decorations}getInjectedTextAt(N){return this._lines.getInjectedTextAt(N)}getViewportViewLineRenderingData(N,O){const x=this._decorations.getDecorationsViewportData(N).inlineDecorations[O-N.startLineNumber];return this._getViewLineRenderingData(O,x)}getViewLineRenderingData(N){const O=this._decorations.getInlineDecorationsOnLine(N);return this._getViewLineRenderingData(N,O)}_getViewLineRenderingData(N,O){const F=this.model.mightContainRTL(),x=this.model.mightContainNonBasicASCII(),W=this.getTabSize(),V=this._lines.getViewLineData(N);return V.inlineDecorations&&(O=[...O,...V.inlineDecorations.map(q=>q.toInlineDecoration(N))]),new r.ViewLineRenderingData(V.minColumn,V.maxColumn,V.content,V.continuesWithWrappedLine,F,x,V.tokens,O,W,V.startVisibleColumn)}getViewLineData(N){return this._lines.getViewLineData(N)}getMinimapLinesRenderingData(N,O,F){const x=this._lines.getViewLinesData(N,O,F);return new r.MinimapLinesRenderingData(this.getTabSize(),x)}getAllOverviewRulerDecorations(N){const O=this.model.getOverviewRulerDecorations(this._editorId,(0,_.filterValidationDecorations)(this._configuration.options)),F=new L;for(const x of O){const W=x.options,V=W.overviewRuler;if(!V)continue;const q=V.position;if(q===0)continue;const H=V.getColor(N.value),z=this.coordinatesConverter.getViewLineNumberOfModelPosition(x.range.startLineNumber,x.range.startColumn),U=this.coordinatesConverter.getViewLineNumberOfModelPosition(x.range.endLineNumber,x.range.endColumn);F.accept(H,W.zIndex,z,U,q)}return F.asArray}_invalidateDecorationsColorCache(){const N=this.model.getOverviewRulerDecorations();for(const O of N)O.options.overviewRuler?.invalidateCachedColor(),O.options.minimap?.invalidateCachedColor()}getValueInRange(N,O){const F=this.coordinatesConverter.convertViewRangeToModelRange(N);return this.model.getValueInRange(F,O)}getValueLengthInRange(N,O){const F=this.coordinatesConverter.convertViewRangeToModelRange(N);return this.model.getValueLengthInRange(F,O)}modifyPosition(N,O){const F=this.coordinatesConverter.convertViewPositionToModelPosition(N),x=this.model.modifyPosition(F,O);return this.coordinatesConverter.convertModelPositionToViewPosition(x)}deduceModelPositionRelativeToViewPosition(N,O,F){const x=this.coordinatesConverter.convertViewPositionToModelPosition(N);this.model.getEOL().length===2&&(O<0?O-=F:O+=F);const V=this.model.getOffsetAt(x)+O;return this.model.getPositionAt(V)}getPlainTextToCopy(N,O,F){const x=F?`\r +`:this.model.getEOL();N=N.slice(0),N.sort(o.Range.compareRangesUsingStarts);let W=!1,V=!1;for(const H of N)H.isEmpty()?W=!0:V=!0;if(!V){if(!O)return"";const H=N.map(U=>U.startLineNumber);let z="";for(let U=0;U0&&H[U-1]===H[U]||(z+=this.model.getLineContent(H[U])+x);return z}if(W&&O){const H=[];let z=0;for(const U of N){const j=U.startLineNumber;U.isEmpty()?j!==z&&H.push(this.model.getLineContent(j)):H.push(this.model.getValueInRange(U,F?2:0)),z=j}return H.length===1?H[0]:H}const q=[];for(const H of N)H.isEmpty()||q.push(this.model.getValueInRange(H,F?2:0));return q.length===1?q[0]:q}getRichTextToCopy(N,O){const F=this.model.getLanguageId();if(F===s.PLAINTEXT_LANGUAGE_ID||N.length!==1)return null;let x=N[0];if(x.isEmpty()){if(!O)return null;const U=x.startLineNumber;x=new o.Range(U,this.model.getLineMinColumn(U),U,this.model.getLineMaxColumn(U))}const W=this._configuration.options.get(50),V=this._getColorMap(),H=/[:;\\\/<>]/.test(W.fontFamily)||W.fontFamily===_.EDITOR_FONT_DEFAULTS.fontFamily;let z;return H?z=_.EDITOR_FONT_DEFAULTS.fontFamily:(z=W.fontFamily,z=z.replace(/"/g,"'"),/[,']/.test(z)||/[+ ]/.test(z)&&(z=`'${z}'`),z=`${z}, ${_.EDITOR_FONT_DEFAULTS.fontFamily}`),{mode:F,html:`
    `+this._getHTMLToCopy(x,V)+"
    "}}_getHTMLToCopy(N,O){const F=N.startLineNumber,x=N.startColumn,W=N.endLineNumber,V=N.endColumn,q=this.getTabSize();let H="";for(let z=F;z<=W;z++){const U=this.model.tokenization.getLineTokens(z),j=U.getLineContent(),Q=z===F?x-1:0,G=z===W?V-1:j.length;j===""?H+="
    ":H+=(0,g.tokenizeLineToHTML)(j,U.inflate(),O,Q,G,q,y.isWindows)}return H}_getColorMap(){const N=i.TokenizationRegistry.getColorMap(),O=["#000000"];if(N)for(let F=1,x=N.length;Fthis._cursor.setStates(x,N,O,F))}getCursorColumnSelectData(){return this._cursor.getCursorColumnSelectData()}getCursorAutoClosedCharacters(){return this._cursor.getAutoClosedCharacters()}setCursorColumnSelectData(N){this._cursor.setCursorColumnSelectData(N)}getPrevEditOperationType(){return this._cursor.getPrevEditOperationType()}setPrevEditOperationType(N){this._cursor.setPrevEditOperationType(N)}getSelection(){return this._cursor.getSelection()}getSelections(){return this._cursor.getSelections()}getPosition(){return this._cursor.getPrimaryCursorState().modelState.position}setSelections(N,O,F=0){this._withViewEventsCollector(x=>this._cursor.setSelections(x,N,O,F))}saveCursorState(){return this._cursor.saveState()}restoreCursorState(N){this._withViewEventsCollector(O=>this._cursor.restoreState(O,N))}_executeCursorEdit(N){if(this._cursor.context.cursorConfig.readOnly){this._eventDispatcher.emitOutgoingEvent(new C.ReadOnlyEditAttemptEvent);return}this._withViewEventsCollector(N)}executeEdits(N,O,F){this._executeCursorEdit(x=>this._cursor.executeEdits(x,N,O,F))}startComposition(){this._executeCursorEdit(N=>this._cursor.startComposition(N))}endComposition(N){this._executeCursorEdit(O=>this._cursor.endComposition(O,N))}type(N,O){this._executeCursorEdit(F=>this._cursor.type(F,N,O))}compositionType(N,O,F,x,W){this._executeCursorEdit(V=>this._cursor.compositionType(V,N,O,F,x,W))}paste(N,O,F,x){this._executeCursorEdit(W=>this._cursor.paste(W,N,O,F,x))}cut(N){this._executeCursorEdit(O=>this._cursor.cut(O,N))}executeCommand(N,O){this._executeCursorEdit(F=>this._cursor.executeCommand(F,N,O))}executeCommands(N,O){this._executeCursorEdit(F=>this._cursor.executeCommands(F,N,O))}revealAllCursors(N,O,F=!1){this._withViewEventsCollector(x=>this._cursor.revealAll(x,N,F,0,O,0))}revealPrimaryCursor(N,O,F=!1){this._withViewEventsCollector(x=>this._cursor.revealPrimary(x,N,F,0,O,0))}revealTopMostCursor(N){const O=this._cursor.getTopMostViewPosition(),F=new o.Range(O.lineNumber,O.column,O.lineNumber,O.column);this._withViewEventsCollector(x=>x.emitViewEvent(new c.ViewRevealRangeRequestEvent(N,!1,F,null,0,!0,0)))}revealBottomMostCursor(N){const O=this._cursor.getBottomMostViewPosition(),F=new o.Range(O.lineNumber,O.column,O.lineNumber,O.column);this._withViewEventsCollector(x=>x.emitViewEvent(new c.ViewRevealRangeRequestEvent(N,!1,F,null,0,!0,0)))}revealRange(N,O,F,x,W){this._withViewEventsCollector(V=>V.emitViewEvent(new c.ViewRevealRangeRequestEvent(N,!1,F,null,x,O,W)))}changeWhitespace(N){this.viewLayout.changeWhitespace(N)&&(this._eventDispatcher.emitSingleViewEvent(new c.ViewZonesChangedEvent),this._eventDispatcher.emitOutgoingEvent(new C.ViewZonesChangedEvent))}_withViewEventsCollector(N){return this._transactionalTarget.batchChanges(()=>{try{const O=this._eventDispatcher.beginEmitViewEvents();return N(O)}finally{this._eventDispatcher.endEmitViewEvents()}})}batchEvents(N){this._withViewEventsCollector(()=>{N()})}normalizePosition(N,O){return this._lines.normalizePosition(N,O)}getLineIndentColumn(N){return this._lines.getLineIndentColumn(N)}}e.ViewModel=w;class S{static create(N){const O=N._setTrackedRange(null,new o.Range(1,1,1,1),1);return new S(N,1,!1,O,0)}get viewLineNumber(){return this._viewLineNumber}get isValid(){return this._isValid}get modelTrackedRange(){return this._modelTrackedRange}get startLineDelta(){return this._startLineDelta}constructor(N,O,F,x,W){this._model=N,this._viewLineNumber=O,this._isValid=F,this._modelTrackedRange=x,this._startLineDelta=W}dispose(){this._model._setTrackedRange(this._modelTrackedRange,null,1)}update(N,O){const F=N.coordinatesConverter.convertViewPositionToModelPosition(new n.Position(O,N.getLineMinColumn(O))),x=N.model._setTrackedRange(this._modelTrackedRange,new o.Range(F.lineNumber,F.column,F.lineNumber,F.column),1),W=N.viewLayout.getVerticalOffsetForLineNumber(O),V=N.viewLayout.getCurrentScrollTop();this._viewLineNumber=O,this._isValid=!0,this._modelTrackedRange=x,this._startLineDelta=V-W}invalidate(){this._isValid=!1}}class L{constructor(){this._asMap=Object.create(null),this.asArray=[]}accept(N,O,F,x,W){const V=this._asMap[N];if(V){const q=V.data,H=q[q.length-3],z=q[q.length-1];if(H===W&&z+1>=F){x>z&&(q[q.length-1]=x);return}q.push(W,F,x)}else{const q=new r.OverviewRulerDecorationsGroup(N,O,[W,F,x]);this._asMap[N]=q,this.asArray.push(q)}}}class D{constructor(){this.hiddenAreas=new Map,this.shouldRecompute=!1,this.ranges=[]}setHiddenAreas(N,O){const F=this.hiddenAreas.get(N);F&&M(F,O)||(this.hiddenAreas.set(N,O),this.shouldRecompute=!0)}getMergedRanges(){if(!this.shouldRecompute)return this.ranges;this.shouldRecompute=!1;const N=Array.from(this.hiddenAreas.values()).reduce((O,F)=>T(O,F),[]);return M(this.ranges,N)?this.ranges:(this.ranges=N,this.ranges)}}function T(P,N){const O=[];let F=0,x=0;for(;F{this._onDidChangeConfiguration.fire(Ne);const ze=this._configuration.options;if(Ne.hasChanged(146)){const Ve=ze.get(146);this._onDidLayoutChange.fire(Ve)}})),this._contextKeyService=this._register(re.createScoped(this._domElement)),this._notificationService=me,this._codeEditorService=Z,this._commandService=te,this._themeService=le,this._register(new K(this,this._contextKeyService)),this._register(new R(this,this._contextKeyService,Ee)),this._instantiationService=this._register(Y.createChild(new F.ServiceCollection([N.IContextKeyService,this._contextKeyService]))),this._modelData=null,this._focusTracker=new J(X,this._overflowWidgetsDomNode),this._register(this._focusTracker.onChange(()=>{this._editorWidgetFocus.setValue(this._focusTracker.hasFocus())})),this._contentWidgets={},this._overlayWidgets={},this._glyphMarginWidgets={};let Ae;Array.isArray($.contributions)?Ae=$.contributions:Ae=p.EditorExtensionsRegistry.getEditorContributions(),this._contributions.initialize(this,Ae,this._instantiationService);for(const Ne of p.EditorExtensionsRegistry.getEditorActions()){if(this._actions.has(Ne.id)){(0,k.onUnexpectedError)(new Error(`Cannot have two actions with the same id ${Ne.id}`));continue}const ze=new f.InternalEditorAction(Ne.id,Ne.label,Ne.alias,Ne.metadata,Ne.precondition??void 0,Ve=>this._instantiationService.invokeFunction($e=>Promise.resolve(Ne.runEditorCommand($e,this,Ve))),this._contextKeyService);this._actions.set(ze.id,ze)}const Me=()=>!this._configuration.options.get(92)&&this._configuration.options.get(36).enabled;this._register(new d.DragAndDropObserver(this._domElement,{onDragOver:Ne=>{if(!Me())return;const ze=this.getTargetAtClientPoint(Ne.clientX,Ne.clientY);ze?.position&&this.showDropIndicatorAt(ze.position)},onDrop:async Ne=>{if(!Me()||(this.removeDropIndicator(),!Ne.dataTransfer))return;const ze=this.getTargetAtClientPoint(Ne.clientX,Ne.clientY);ze?.position&&this._onDropIntoEditor.fire({position:ze.position,event:Ne})},onDragLeave:()=>{this.removeDropIndicator()},onDragEnd:()=>{this.removeDropIndicator()}})),this._codeEditorService.addCodeEditor(this)}writeScreenReaderContent(X){this._modelData?.view.writeScreenReaderContent(X)}_createConfiguration(X,B,$,Y){return new _.EditorConfiguration(X,B,$,this._domElement,Y)}getId(){return this.getEditorType()+":"+this._id}getEditorType(){return h.EditorType.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(X){return this._instantiationService.invokeFunction(X)}updateOptions(X){this._configuration.updateOptions(X||{})}getOptions(){return this._configuration.options}getOption(X){return this._configuration.options.get(X)}getRawOptions(){return this._configuration.getRawOptions()}getOverflowWidgetsDomNode(){return this._overflowWidgetsDomNode}getConfiguredWordAtPosition(X){return this._modelData?C.WordOperations.getWordAtPosition(this._modelData.model,this._configuration.options.get(132),this._configuration.options.get(131),X):null}getValue(X=null){if(!this._modelData)return"";const B=!!(X&&X.preserveBOM);let $=0;return X&&X.lineEnding&&X.lineEnding===` +`?$=1:X&&X.lineEnding&&X.lineEnding===`\r +`&&($=2),this._modelData.model.getValue($,B)}setValue(X){try{if(this._beginUpdate(),!this._modelData)return;this._modelData.model.setValue(X)}finally{this._endUpdate()}}getModel(){return this._modelData?this._modelData.model:null}setModel(X=null){try{this._beginUpdate();const B=X;if(this._modelData===null&&B===null||this._modelData&&this._modelData.model===B)return;const $={oldModelUrl:this._modelData?.model.uri||null,newModelUrl:B?.uri||null};this._onWillChangeModel.fire($);const Y=this.hasTextFocus(),Z=this._detachModel();this._attachModel(B),Y&&this.hasModel()&&this.focus(),this._removeDecorationTypes(),this._onDidChangeModel.fire($),this._postDetachModelCleanup(Z),this._contributionsDisposable=this._contributions.onAfterModelAttached()}finally{this._endUpdate()}}_removeDecorationTypes(){if(this._decorationTypeKeysToIds={},this._decorationTypeSubtypes){for(const X in this._decorationTypeSubtypes){const B=this._decorationTypeSubtypes[X];for(const $ in B)this._removeDecorationType(X+"-"+$)}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(X,B,$,Y){const Z=X.model.validatePosition({lineNumber:B,column:$}),te=X.viewModel.coordinatesConverter.convertModelPositionToViewPosition(Z);return X.viewModel.viewLayout.getVerticalOffsetAfterLineNumber(te.lineNumber,Y)}getTopForLineNumber(X,B=!1){return this._modelData?H._getVerticalOffsetForPosition(this._modelData,X,1,B):-1}getTopForPosition(X,B){return this._modelData?H._getVerticalOffsetForPosition(this._modelData,X,B,!1):-1}static _getVerticalOffsetForPosition(X,B,$,Y=!1){const Z=X.model.validatePosition({lineNumber:B,column:$}),te=X.viewModel.coordinatesConverter.convertModelPositionToViewPosition(Z);return X.viewModel.viewLayout.getVerticalOffsetForLineNumber(te.lineNumber,Y)}getBottomForLineNumber(X,B=!1){if(!this._modelData)return-1;const $=this._modelData.model.getLineMaxColumn(X);return H._getVerticalOffsetAfterPosition(this._modelData,X,$,B)}setHiddenAreas(X,B){this._modelData?.viewModel.setHiddenAreas(X.map($=>r.Range.lift($)),B)}getVisibleColumnFromPosition(X){if(!this._modelData)return X.column;const B=this._modelData.model.validatePosition(X),$=this._modelData.model.getOptions().tabSize;return c.CursorColumns.visibleColumnFromColumn(this._modelData.model.getLineContent(B.lineNumber),B.column,$)+1}getPosition(){return this._modelData?this._modelData.viewModel.getPosition():null}setPosition(X,B="api"){if(this._modelData){if(!a.Position.isIPosition(X))throw new Error("Invalid arguments");this._modelData.viewModel.setSelections(B,[{selectionStartLineNumber:X.lineNumber,selectionStartColumn:X.column,positionLineNumber:X.lineNumber,positionColumn:X.column}])}}_sendRevealRange(X,B,$,Y){if(!this._modelData)return;if(!r.Range.isIRange(X))throw new Error("Invalid arguments");const Z=this._modelData.model.validateRange(X),te=this._modelData.viewModel.coordinatesConverter.convertModelRangeToViewRange(Z);this._modelData.viewModel.revealRange("api",$,te,B,Y)}revealLine(X,B=0){this._revealLine(X,0,B)}revealLineInCenter(X,B=0){this._revealLine(X,1,B)}revealLineInCenterIfOutsideViewport(X,B=0){this._revealLine(X,2,B)}revealLineNearTop(X,B=0){this._revealLine(X,5,B)}_revealLine(X,B,$){if(typeof X!="number")throw new Error("Invalid arguments");this._sendRevealRange(new r.Range(X,1,X,1),B,!1,$)}revealPosition(X,B=0){this._revealPosition(X,0,!0,B)}revealPositionInCenter(X,B=0){this._revealPosition(X,1,!0,B)}revealPositionInCenterIfOutsideViewport(X,B=0){this._revealPosition(X,2,!0,B)}revealPositionNearTop(X,B=0){this._revealPosition(X,5,!0,B)}_revealPosition(X,B,$,Y){if(!a.Position.isIPosition(X))throw new Error("Invalid arguments");this._sendRevealRange(new r.Range(X.lineNumber,X.column,X.lineNumber,X.column),B,$,Y)}getSelection(){return this._modelData?this._modelData.viewModel.getSelection():null}getSelections(){return this._modelData?this._modelData.viewModel.getSelections():null}setSelection(X,B="api"){const $=u.Selection.isISelection(X),Y=r.Range.isIRange(X);if(!$&&!Y)throw new Error("Invalid arguments");if($)this._setSelectionImpl(X,B);else if(Y){const Z={selectionStartLineNumber:X.startLineNumber,selectionStartColumn:X.startColumn,positionLineNumber:X.endLineNumber,positionColumn:X.endColumn};this._setSelectionImpl(Z,B)}}_setSelectionImpl(X,B){if(!this._modelData)return;const $=new u.Selection(X.selectionStartLineNumber,X.selectionStartColumn,X.positionLineNumber,X.positionColumn);this._modelData.viewModel.setSelections(B,[$])}revealLines(X,B,$=0){this._revealLines(X,B,0,$)}revealLinesInCenter(X,B,$=0){this._revealLines(X,B,1,$)}revealLinesInCenterIfOutsideViewport(X,B,$=0){this._revealLines(X,B,2,$)}revealLinesNearTop(X,B,$=0){this._revealLines(X,B,5,$)}_revealLines(X,B,$,Y){if(typeof X!="number"||typeof B!="number")throw new Error("Invalid arguments");this._sendRevealRange(new r.Range(X,1,B,1),$,!1,Y)}revealRange(X,B=0,$=!1,Y=!0){this._revealRange(X,$?1:0,Y,B)}revealRangeInCenter(X,B=0){this._revealRange(X,1,!0,B)}revealRangeInCenterIfOutsideViewport(X,B=0){this._revealRange(X,2,!0,B)}revealRangeNearTop(X,B=0){this._revealRange(X,5,!0,B)}revealRangeNearTopIfOutsideViewport(X,B=0){this._revealRange(X,6,!0,B)}revealRangeAtTop(X,B=0){this._revealRange(X,3,!0,B)}_revealRange(X,B,$,Y){if(!r.Range.isIRange(X))throw new Error("Invalid arguments");this._sendRevealRange(r.Range.lift(X),B,$,Y)}setSelections(X,B="api",$=0){if(this._modelData){if(!X||X.length===0)throw new Error("Invalid arguments");for(let Y=0,Z=X.length;Y0&&this._modelData.viewModel.restoreCursorState($):this._modelData.viewModel.restoreCursorState([$]),this._contributions.restoreViewState(B.contributionsState||{});const Y=this._modelData.viewModel.reduceRestoreState(B.viewState);this._modelData.view.restoreState(Y)}}handleInitialized(){this._getViewModel()?.visibleLinesStabilized()}getContribution(X){return this._contributions.get(X)}getActions(){return Array.from(this._actions.values())}getSupportedActions(){let X=this.getActions();return X=X.filter(B=>B.isSupported()),X}getAction(X){return this._actions.get(X)||null}trigger(X,B,$){$=$||{};try{switch(this._beginUpdate(),B){case"compositionStart":this._startComposition();return;case"compositionEnd":this._endComposition(X);return;case"type":{const Z=$;this._type(X,Z.text||"");return}case"replacePreviousChar":{const Z=$;this._compositionType(X,Z.text||"",Z.replaceCharCnt||0,0,0);return}case"compositionType":{const Z=$;this._compositionType(X,Z.text||"",Z.replacePrevCharCnt||0,Z.replaceNextCharCnt||0,Z.positionDelta||0);return}case"paste":{const Z=$;this._paste(X,Z.text||"",Z.pasteOnNewLine||!1,Z.multicursorText||null,Z.mode||null,Z.clipboardEvent);return}case"cut":this._cut(X);return}const Y=this.getAction(B);if(Y){Promise.resolve(Y.run($)).then(void 0,k.onUnexpectedError);return}if(!this._modelData||this._triggerEditorCommand(X,B,$))return;this._triggerCommand(B,$)}finally{this._endUpdate()}}_triggerCommand(X,B){this._commandService.executeCommand(X,B)}_startComposition(){this._modelData&&(this._modelData.viewModel.startComposition(),this._onDidCompositionStart.fire())}_endComposition(X){this._modelData&&(this._modelData.viewModel.endComposition(X),this._onDidCompositionEnd.fire())}_type(X,B){!this._modelData||B.length===0||(X==="keyboard"&&this._onWillType.fire(B),this._modelData.viewModel.type(B,X),X==="keyboard"&&this._onDidType.fire(B))}_compositionType(X,B,$,Y,Z){this._modelData&&this._modelData.viewModel.compositionType(B,$,Y,Z,X)}_paste(X,B,$,Y,Z,te){if(!this._modelData)return;const re=this._modelData.viewModel,le=re.getSelection().getStartPosition();re.paste(B,$,Y,X);const me=re.getSelection().getStartPosition();X==="keyboard"&&this._onDidPaste.fire({clipboardEvent:te,range:new r.Range(le.lineNumber,le.column,me.lineNumber,me.column),languageId:Z})}_cut(X){this._modelData&&this._modelData.viewModel.cut(X)}_triggerEditorCommand(X,B,$){const Y=p.EditorExtensionsRegistry.getEditorCommand(B);return Y?($=$||{},$.source=X,this._instantiationService.invokeFunction(Z=>{Promise.resolve(Y.runEditorCommand(Z,this,$)).then(void 0,k.onUnexpectedError)}),!0):!1}_getViewModel(){return this._modelData?this._modelData.viewModel:null}pushUndoStop(){return!this._modelData||this._configuration.options.get(92)?!1:(this._modelData.model.pushStackElement(),!0)}popUndoStop(){return!this._modelData||this._configuration.options.get(92)?!1:(this._modelData.model.popStackElement(),!0)}executeEdits(X,B,$){if(!this._modelData||this._configuration.options.get(92))return!1;let Y;return $?Array.isArray($)?Y=()=>$:Y=$:Y=()=>null,this._modelData.viewModel.executeEdits(X,B,Y),!0}executeCommand(X,B){this._modelData&&this._modelData.viewModel.executeCommand(B,X)}executeCommands(X,B){this._modelData&&this._modelData.viewModel.executeCommands(B,X)}createDecorationsCollection(X){return new ie(this,X)}changeDecorations(X){return this._modelData?this._modelData.model.changeDecorations(X,this._id):null}getLineDecorations(X){return this._modelData?this._modelData.model.getLineDecorations(X,this._id,(0,g.filterValidationDecorations)(this._configuration.options)):null}getDecorationsInRange(X){return this._modelData?this._modelData.model.getDecorationsInRange(X,this._id,(0,g.filterValidationDecorations)(this._configuration.options)):null}deltaDecorations(X,B){return this._modelData?X.length===0&&B.length===0?X:this._modelData.model.deltaDecorations(X,B,this._id):[]}removeDecorations(X){!this._modelData||X.length===0||this._modelData.model.changeDecorations(B=>{B.deltaDecorations(X,[])})}removeDecorationsByType(X){const B=this._decorationTypeKeysToIds[X];B&&this.changeDecorations($=>$.deltaDecorations(B,[])),this._decorationTypeKeysToIds.hasOwnProperty(X)&&delete this._decorationTypeKeysToIds[X],this._decorationTypeSubtypes.hasOwnProperty(X)&&delete this._decorationTypeSubtypes[X]}getLayoutInfo(){return this._configuration.options.get(146)}createOverviewRuler(X){return!this._modelData||!this._modelData.hasRealView?null:this._modelData.view.createOverviewRuler(X)}getContainerDomNode(){return this._domElement}getDomNode(){return!this._modelData||!this._modelData.hasRealView?null:this._modelData.view.domNode.domNode}delegateVerticalScrollbarPointerDown(X){!this._modelData||!this._modelData.hasRealView||this._modelData.view.delegateVerticalScrollbarPointerDown(X)}delegateScrollFromMouseWheelEvent(X){!this._modelData||!this._modelData.hasRealView||this._modelData.view.delegateScrollFromMouseWheelEvent(X)}layout(X,B=!1){this._configuration.observeContainer(X),B||this.render()}focus(){!this._modelData||!this._modelData.hasRealView||this._modelData.view.focus()}hasTextFocus(){return!this._modelData||!this._modelData.hasRealView?!1:this._modelData.view.isFocused()}hasWidgetFocus(){return this._focusTracker&&this._focusTracker.hasFocus()}addContentWidget(X){const B={widget:X,position:X.getPosition()};this._contentWidgets.hasOwnProperty(X.getId())&&console.warn("Overwriting a content widget with the same id:"+X.getId()),this._contentWidgets[X.getId()]=B,this._modelData&&this._modelData.hasRealView&&this._modelData.view.addContentWidget(B)}layoutContentWidget(X){const B=X.getId();if(this._contentWidgets.hasOwnProperty(B)){const $=this._contentWidgets[B];$.position=X.getPosition(),this._modelData&&this._modelData.hasRealView&&this._modelData.view.layoutContentWidget($)}}removeContentWidget(X){const B=X.getId();if(this._contentWidgets.hasOwnProperty(B)){const $=this._contentWidgets[B];delete this._contentWidgets[B],this._modelData&&this._modelData.hasRealView&&this._modelData.view.removeContentWidget($)}}addOverlayWidget(X){const B={widget:X,position:X.getPosition()};this._overlayWidgets.hasOwnProperty(X.getId())&&console.warn("Overwriting an overlay widget with the same id."),this._overlayWidgets[X.getId()]=B,this._modelData&&this._modelData.hasRealView&&this._modelData.view.addOverlayWidget(B)}layoutOverlayWidget(X){const B=X.getId();if(this._overlayWidgets.hasOwnProperty(B)){const $=this._overlayWidgets[B];$.position=X.getPosition(),this._modelData&&this._modelData.hasRealView&&this._modelData.view.layoutOverlayWidget($)}}removeOverlayWidget(X){const B=X.getId();if(this._overlayWidgets.hasOwnProperty(B)){const $=this._overlayWidgets[B];delete this._overlayWidgets[B],this._modelData&&this._modelData.hasRealView&&this._modelData.view.removeOverlayWidget($)}}addGlyphMarginWidget(X){const B={widget:X,position:X.getPosition()};this._glyphMarginWidgets.hasOwnProperty(X.getId())&&console.warn("Overwriting a glyph margin widget with the same id."),this._glyphMarginWidgets[X.getId()]=B,this._modelData&&this._modelData.hasRealView&&this._modelData.view.addGlyphMarginWidget(B)}layoutGlyphMarginWidget(X){const B=X.getId();if(this._glyphMarginWidgets.hasOwnProperty(B)){const $=this._glyphMarginWidgets[B];$.position=X.getPosition(),this._modelData&&this._modelData.hasRealView&&this._modelData.view.layoutGlyphMarginWidget($)}}removeGlyphMarginWidget(X){const B=X.getId();if(this._glyphMarginWidgets.hasOwnProperty(B)){const $=this._glyphMarginWidgets[B];delete this._glyphMarginWidgets[B],this._modelData&&this._modelData.hasRealView&&this._modelData.view.removeGlyphMarginWidget($)}}changeViewZones(X){!this._modelData||!this._modelData.hasRealView||this._modelData.view.change(X)}getTargetAtClientPoint(X,B){return!this._modelData||!this._modelData.hasRealView?null:this._modelData.view.getTargetAtClientPoint(X,B)}getScrolledVisiblePosition(X){if(!this._modelData||!this._modelData.hasRealView)return null;const B=this._modelData.model.validatePosition(X),$=this._configuration.options,Y=$.get(146),Z=H._getVerticalOffsetForPosition(this._modelData,B.lineNumber,B.column)-this.getScrollTop(),te=this._modelData.view.getOffsetForColumn(B.lineNumber,B.column)+Y.glyphMarginWidth+Y.lineNumbersWidth+Y.decorationsWidth-this.getScrollLeft();return{top:Z,left:te,height:$.get(67)}}getOffsetForColumn(X,B){return!this._modelData||!this._modelData.hasRealView?-1:this._modelData.view.getOffsetForColumn(X,B)}render(X=!1){!this._modelData||!this._modelData.hasRealView||this._modelData.viewModel.batchEvents(()=>{this._modelData.view.render(!0,X)})}setAriaOptions(X){!this._modelData||!this._modelData.hasRealView||this._modelData.view.setAriaOptions(X)}applyFontInfo(X){(0,m.applyFontInfo)(X,this._configuration.options.get(50))}setBanner(X,B){this._bannerDomNode&&this._domElement.contains(this._bannerDomNode)&&this._bannerDomNode.remove(),this._bannerDomNode=X,this._configuration.setReservedHeight(X?B:0),this._bannerDomNode&&this._domElement.prepend(this._bannerDomNode)}_attachModel(X){if(!X){this._modelData=null;return}const B=[];this._domElement.setAttribute("data-mode-id",X.getLanguageId()),this._configuration.setIsDominatedByLongLines(X.isDominatedByLongLines()),this._configuration.setModelLineCount(X.getLineCount());const $=X.onBeforeAttached(),Y=new T.ViewModel(this._id,this._configuration,X,t.DOMLineBreaksComputerFactory.create(d.getWindow(this._domElement)),D.MonospaceLineBreaksComputerFactory.create(this._configuration.options),re=>d.scheduleAtNextAnimationFrame(d.getWindow(this._domElement),re),this.languageConfigurationService,this._themeService,$,{batchChanges:re=>{try{return this._beginUpdate(),re()}finally{this._endUpdate()}}});B.push(X.onWillDispose(()=>this.setModel(null))),B.push(Y.onEvent(re=>{switch(re.kind){case 0:this._onDidContentSizeChange.fire(re);break;case 1:this._editorTextFocus.setValue(re.hasFocus);break;case 2:this._onDidScrollChange.fire(re);break;case 3:this._onDidChangeViewZones.fire();break;case 4:this._onDidChangeHiddenAreas.fire();break;case 5:this._onDidAttemptReadOnlyEdit.fire();break;case 6:{if(re.reachedMaxCursorCount){const Le=this.getOption(80),Ee=M.localize(70,"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.",Le);this._notificationService.prompt(x.Severity.Warning,Ee,[{label:"Find and Replace",run:()=>{this._commandService.executeCommand("editor.action.startFindReplaceAction")}},{label:M.localize(71,"Increase Multi Cursor Limit"),run:()=>{this._commandService.executeCommand("workbench.action.openSettings2",{query:"editor.multiCursorLimit"})}}])}const le=[];for(let Le=0,Ee=re.selections.length;Le{this._paste("keyboard",Z,te,re,le)},type:Z=>{this._type("keyboard",Z)},compositionType:(Z,te,re,le)=>{this._compositionType("keyboard",Z,te,re,le)},startComposition:()=>{this._startComposition()},endComposition:()=>{this._endComposition("keyboard")},cut:()=>{this._cut("keyboard")}}:B={paste:(Z,te,re,le)=>{const me={text:Z,pasteOnNewLine:te,multicursorText:re,mode:le};this._commandService.executeCommand("paste",me)},type:Z=>{const te={text:Z};this._commandService.executeCommand("type",te)},compositionType:(Z,te,re,le)=>{if(re||le){const me={text:Z,replacePrevCharCnt:te,replaceNextCharCnt:re,positionDelta:le};this._commandService.executeCommand("compositionType",me)}else{const me={text:Z,replaceCharCnt:te};this._commandService.executeCommand("replacePreviousChar",me)}},startComposition:()=>{this._commandService.executeCommand("compositionStart",{})},endComposition:()=>{this._commandService.executeCommand("compositionEnd",{})},cut:()=>{this._commandService.executeCommand("cut",{})}};const $=new i.ViewUserInputEvents(X.coordinatesConverter);return $.onKeyDown=Z=>this._onKeyDown.fire(Z),$.onKeyUp=Z=>this._onKeyUp.fire(Z),$.onContextMenu=Z=>this._onContextMenu.fire(Z),$.onMouseMove=Z=>this._onMouseMove.fire(Z),$.onMouseLeave=Z=>this._onMouseLeave.fire(Z),$.onMouseDown=Z=>this._onMouseDown.fire(Z),$.onMouseUp=Z=>this._onMouseUp.fire(Z),$.onMouseDrag=Z=>this._onMouseDrag.fire(Z),$.onMouseDrop=Z=>this._onMouseDrop.fire(Z),$.onMouseDropCanceled=Z=>this._onMouseDropCanceled.fire(Z),$.onMouseWheel=Z=>this._onMouseWheel.fire(Z),[new o.View(B,this._configuration,this._themeService.getColorTheme(),X,$,this._overflowWidgetsDomNode,this._instantiationService),!0]}_postDetachModelCleanup(X){X?.removeAllDecorationsWithOwnerId(this._id)}_detachModel(){if(this._contributionsDisposable?.dispose(),this._contributionsDisposable=void 0,!this._modelData)return null;const X=this._modelData.model,B=this._modelData.hasRealView?this._modelData.view.domNode.domNode:null;return this._modelData.dispose(),this._modelData=null,this._domElement.removeAttribute("data-mode-id"),B&&this._domElement.contains(B)&&B.remove(),this._bannerDomNode&&this._domElement.contains(this._bannerDomNode)&&this._bannerDomNode.remove(),X}_removeDecorationType(X){this._codeEditorService.removeDecorationType(X)}hasModel(){return this._modelData!==null}showDropIndicatorAt(X){const B=[{range:new r.Range(X.lineNumber,X.column,X.lineNumber,X.column),options:H.dropIntoEditorDecorationOptions}];this._dropIntoEditorDecorations.set(B),this.revealPosition(X,1)}removeDropIndicator(){this._dropIntoEditorDecorations.clear()}setContextValue(X,B){this._contextKeyService.createKey(X,B)}_beginUpdate(){this._updateCounter++,this._updateCounter===1&&this._onBeginUpdate.fire()}_endUpdate(){this._updateCounter--,this._updateCounter===0&&this._onEndUpdate.fire()}};e.CodeEditorWidget=z,e.CodeEditorWidget=z=H=ke([ce(3,O.IInstantiationService),ce(4,n.ICodeEditorService),ce(5,P.ICommandService),ce(6,N.IContextKeyService),ce(7,V.IThemeService),ce(8,x.INotificationService),ce(9,A.IAccessibilityService),ce(10,w.ILanguageConfigurationService),ce(11,L.ILanguageFeaturesService)],z);let U=0;class j{constructor(X,B,$,Y,Z,te){this.model=X,this.viewModel=B,this.view=$,this.hasRealView=Y,this.listenersToRemove=Z,this.attachedView=te}dispose(){(0,E.dispose)(this.listenersToRemove),this.model.onBeforeDetached(this.attachedView),this.hasRealView&&this.view.dispose(),this.viewModel.dispose()}}class Q extends E.Disposable{constructor(X){super(),this._emitterOptions=X,this._onDidChangeToTrue=this._register(new I.Emitter(this._emitterOptions)),this.onDidChangeToTrue=this._onDidChangeToTrue.event,this._onDidChangeToFalse=this._register(new I.Emitter(this._emitterOptions)),this.onDidChangeToFalse=this._onDidChangeToFalse.event,this._value=0}setValue(X){const B=X?2:1;this._value!==B&&(this._value=B,this._value===2?this._onDidChangeToTrue.fire():this._value===1&&this._onDidChangeToFalse.fire())}}e.BooleanEventEmitter=Q;class G extends I.Emitter{constructor(X,B){super({deliveryQueue:B}),this._contributions=X}fire(X){this._contributions.onBeforeInteractionEvent(),super.fire(X)}}class K extends E.Disposable{constructor(X,B){super(),this._editor=X,B.createKey("editorId",X.getId()),this._editorSimpleInput=v.EditorContextKeys.editorSimpleInput.bindTo(B),this._editorFocus=v.EditorContextKeys.focus.bindTo(B),this._textInputFocus=v.EditorContextKeys.textInputFocus.bindTo(B),this._editorTextFocus=v.EditorContextKeys.editorTextFocus.bindTo(B),this._tabMovesFocus=v.EditorContextKeys.tabMovesFocus.bindTo(B),this._editorReadonly=v.EditorContextKeys.readOnly.bindTo(B),this._inDiffEditor=v.EditorContextKeys.inDiffEditor.bindTo(B),this._editorColumnSelection=v.EditorContextKeys.columnSelection.bindTo(B),this._hasMultipleSelections=v.EditorContextKeys.hasMultipleSelections.bindTo(B),this._hasNonEmptySelection=v.EditorContextKeys.hasNonEmptySelection.bindTo(B),this._canUndo=v.EditorContextKeys.canUndo.bindTo(B),this._canRedo=v.EditorContextKeys.canRedo.bindTo(B),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(b.TabFocus.onDidChangeTabFocus($=>this._tabMovesFocus.set($))),this._updateFromConfig(),this._updateFromSelection(),this._updateFromFocus(),this._updateFromModel(),this._editorSimpleInput.set(this._editor.isSimpleWidget)}_updateFromConfig(){const X=this._editor.getOptions();this._tabMovesFocus.set(b.TabFocus.getTabFocusMode()),this._editorReadonly.set(X.get(92)),this._inDiffEditor.set(X.get(61)),this._editorColumnSelection.set(X.get(22))}_updateFromSelection(){const X=this._editor.getSelections();X?(this._hasMultipleSelections.set(X.length>1),this._hasNonEmptySelection.set(X.some(B=>!B.isEmpty()))):(this._hasMultipleSelections.reset(),this._hasNonEmptySelection.reset())}_updateFromFocus(){this._editorFocus.set(this._editor.hasWidgetFocus()&&!this._editor.isSimpleWidget),this._editorTextFocus.set(this._editor.hasTextFocus()&&!this._editor.isSimpleWidget),this._textInputFocus.set(this._editor.hasTextFocus())}_updateFromModel(){const X=this._editor.getModel();this._canUndo.set(!!(X&&X.canUndo())),this._canRedo.set(!!(X&&X.canRedo()))}}class R extends E.Disposable{constructor(X,B,$){super(),this._editor=X,this._contextKeyService=B,this._languageFeaturesService=$,this._langId=v.EditorContextKeys.languageId.bindTo(B),this._hasCompletionItemProvider=v.EditorContextKeys.hasCompletionItemProvider.bindTo(B),this._hasCodeActionsProvider=v.EditorContextKeys.hasCodeActionsProvider.bindTo(B),this._hasCodeLensProvider=v.EditorContextKeys.hasCodeLensProvider.bindTo(B),this._hasDefinitionProvider=v.EditorContextKeys.hasDefinitionProvider.bindTo(B),this._hasDeclarationProvider=v.EditorContextKeys.hasDeclarationProvider.bindTo(B),this._hasImplementationProvider=v.EditorContextKeys.hasImplementationProvider.bindTo(B),this._hasTypeDefinitionProvider=v.EditorContextKeys.hasTypeDefinitionProvider.bindTo(B),this._hasHoverProvider=v.EditorContextKeys.hasHoverProvider.bindTo(B),this._hasDocumentHighlightProvider=v.EditorContextKeys.hasDocumentHighlightProvider.bindTo(B),this._hasDocumentSymbolProvider=v.EditorContextKeys.hasDocumentSymbolProvider.bindTo(B),this._hasReferenceProvider=v.EditorContextKeys.hasReferenceProvider.bindTo(B),this._hasRenameProvider=v.EditorContextKeys.hasRenameProvider.bindTo(B),this._hasSignatureHelpProvider=v.EditorContextKeys.hasSignatureHelpProvider.bindTo(B),this._hasInlayHintsProvider=v.EditorContextKeys.hasInlayHintsProvider.bindTo(B),this._hasDocumentFormattingProvider=v.EditorContextKeys.hasDocumentFormattingProvider.bindTo(B),this._hasDocumentSelectionFormattingProvider=v.EditorContextKeys.hasDocumentSelectionFormattingProvider.bindTo(B),this._hasMultipleDocumentFormattingProvider=v.EditorContextKeys.hasMultipleDocumentFormattingProvider.bindTo(B),this._hasMultipleDocumentSelectionFormattingProvider=v.EditorContextKeys.hasMultipleDocumentSelectionFormattingProvider.bindTo(B),this._isInEmbeddedEditor=v.EditorContextKeys.isInEmbeddedEditor.bindTo(B);const Y=()=>this._update();this._register(X.onDidChangeModel(Y)),this._register(X.onDidChangeModelLanguage(Y)),this._register($.completionProvider.onDidChange(Y)),this._register($.codeActionProvider.onDidChange(Y)),this._register($.codeLensProvider.onDidChange(Y)),this._register($.definitionProvider.onDidChange(Y)),this._register($.declarationProvider.onDidChange(Y)),this._register($.implementationProvider.onDidChange(Y)),this._register($.typeDefinitionProvider.onDidChange(Y)),this._register($.hoverProvider.onDidChange(Y)),this._register($.documentHighlightProvider.onDidChange(Y)),this._register($.documentSymbolProvider.onDidChange(Y)),this._register($.referenceProvider.onDidChange(Y)),this._register($.renameProvider.onDidChange(Y)),this._register($.documentFormattingEditProvider.onDidChange(Y)),this._register($.documentRangeFormattingEditProvider.onDidChange(Y)),this._register($.signatureHelpProvider.onDidChange(Y)),this._register($.inlayHintsProvider.onDidChange(Y)),Y()}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(){const X=this._editor.getModel();if(!X){this.reset();return}this._contextKeyService.bufferChangeEvents(()=>{this._langId.set(X.getLanguageId()),this._hasCompletionItemProvider.set(this._languageFeaturesService.completionProvider.has(X)),this._hasCodeActionsProvider.set(this._languageFeaturesService.codeActionProvider.has(X)),this._hasCodeLensProvider.set(this._languageFeaturesService.codeLensProvider.has(X)),this._hasDefinitionProvider.set(this._languageFeaturesService.definitionProvider.has(X)),this._hasDeclarationProvider.set(this._languageFeaturesService.declarationProvider.has(X)),this._hasImplementationProvider.set(this._languageFeaturesService.implementationProvider.has(X)),this._hasTypeDefinitionProvider.set(this._languageFeaturesService.typeDefinitionProvider.has(X)),this._hasHoverProvider.set(this._languageFeaturesService.hoverProvider.has(X)),this._hasDocumentHighlightProvider.set(this._languageFeaturesService.documentHighlightProvider.has(X)),this._hasDocumentSymbolProvider.set(this._languageFeaturesService.documentSymbolProvider.has(X)),this._hasReferenceProvider.set(this._languageFeaturesService.referenceProvider.has(X)),this._hasRenameProvider.set(this._languageFeaturesService.renameProvider.has(X)),this._hasSignatureHelpProvider.set(this._languageFeaturesService.signatureHelpProvider.has(X)),this._hasInlayHintsProvider.set(this._languageFeaturesService.inlayHintsProvider.has(X)),this._hasDocumentFormattingProvider.set(this._languageFeaturesService.documentFormattingEditProvider.has(X)||this._languageFeaturesService.documentRangeFormattingEditProvider.has(X)),this._hasDocumentSelectionFormattingProvider.set(this._languageFeaturesService.documentRangeFormattingEditProvider.has(X)),this._hasMultipleDocumentFormattingProvider.set(this._languageFeaturesService.documentFormattingEditProvider.all(X).length+this._languageFeaturesService.documentRangeFormattingEditProvider.all(X).length>1),this._hasMultipleDocumentSelectionFormattingProvider.set(this._languageFeaturesService.documentRangeFormattingEditProvider.all(X).length>1),this._isInEmbeddedEditor.set(X.uri.scheme===y.Schemas.walkThroughSnippet||X.uri.scheme===y.Schemas.vscodeChatCodeBlock)})}}e.EditorModeContext=R;class J extends E.Disposable{constructor(X,B){super(),this._onChange=this._register(new I.Emitter),this.onChange=this._onChange.event,this._hadFocus=void 0,this._hasDomElementFocus=!1,this._domFocusTracker=this._register(d.trackFocus(X)),this._overflowWidgetsDomNodeHasFocus=!1,this._register(this._domFocusTracker.onDidFocus(()=>{this._hasDomElementFocus=!0,this._update()})),this._register(this._domFocusTracker.onDidBlur(()=>{this._hasDomElementFocus=!1,this._update()})),B&&(this._overflowWidgetsDomNode=this._register(d.trackFocus(B)),this._register(this._overflowWidgetsDomNode.onDidFocus(()=>{this._overflowWidgetsDomNodeHasFocus=!0,this._update()})),this._register(this._overflowWidgetsDomNode.onDidBlur(()=>{this._overflowWidgetsDomNodeHasFocus=!1,this._update()})))}_update(){const X=this._hasDomElementFocus||this._overflowWidgetsDomNodeHasFocus;this._hadFocus!==X&&(this._hadFocus=X,this._onChange.fire(void 0))}hasFocus(){return this._hadFocus??!1}}class ie{get length(){return this._decorationIds.length}constructor(X,B){this._editor=X,this._decorationIds=[],this._isChangingDecorations=!1,Array.isArray(B)&&B.length>0&&this.set(B)}onDidChange(X,B,$){return this._editor.onDidChangeModelDecorations(Y=>{this._isChangingDecorations||X.call(B,Y)},$)}getRange(X){return!this._editor.hasModel()||X>=this._decorationIds.length?null:this._editor.getModel().getDecorationRange(this._decorationIds[X])}getRanges(){if(!this._editor.hasModel())return[];const X=this._editor.getModel(),B=[];for(const $ of this._decorationIds){const Y=X.getDecorationRange($);Y&&B.push(Y)}return B}has(X){return this._decorationIds.includes(X.id)}clear(){this._decorationIds.length!==0&&this.set([])}set(X){try{this._isChangingDecorations=!0,this._editor.changeDecorations(B=>{this._decorationIds=B.deltaDecorations(this._decorationIds,X)})}finally{this._isChangingDecorations=!1}return this._decorationIds}append(X){let B=[];try{this._isChangingDecorations=!0,this._editor.changeDecorations($=>{B=$.deltaDecorations([],X),this._decorationIds=this._decorationIds.concat(B)})}finally{this._isChangingDecorations=!1}return B}}const ue=encodeURIComponent("");function pe(ge){return ue+encodeURIComponent(ge.toString())+he}const ae=encodeURIComponent('');function de(ge){return ae+encodeURIComponent(ge.toString())+ee}(0,V.registerThemingParticipant)((ge,X)=>{const B=ge.getColor(W.editorErrorForeground);B&&X.addRule(`.monaco-editor .squiggly-error { background: url("data:image/svg+xml,${pe(B)}") repeat-x bottom left; }`);const $=ge.getColor(W.editorWarningForeground);$&&X.addRule(`.monaco-editor .squiggly-warning { background: url("data:image/svg+xml,${pe($)}") repeat-x bottom left; }`);const Y=ge.getColor(W.editorInfoForeground);Y&&X.addRule(`.monaco-editor .squiggly-info { background: url("data:image/svg+xml,${pe(Y)}") repeat-x bottom left; }`);const Z=ge.getColor(W.editorHintForeground);Z&&X.addRule(`.monaco-editor .squiggly-hint { background: url("data:image/svg+xml,${de(Z)}") no-repeat bottom left; }`);const te=ge.getColor(l.editorUnnecessaryCodeOpacity);te&&X.addRule(`.monaco-editor.showUnused .squiggly-inline-unnecessary { opacity: ${te.rgba.a}; }`)})}),define(ne[125],se([1,0,60,34,219,36,17,61,24,12,7,50,25]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.EmbeddedCodeEditorWidget=void 0;let t=class extends I.CodeEditorWidget{constructor(s,g,c,l,a,r,u,C,f,h,v,w,S){super(s,{...l.getRawOptions(),overflowWidgetsDomNode:l.getOverflowWidgetsDomNode()},c,a,r,u,C,f,h,v,w,S),this._parentEditor=l,this._overwriteOptions=g,super.updateOptions(this._overwriteOptions),this._register(l.onDidChangeConfiguration(L=>this._onParentConfigurationChanged(L)))}getParentEditor(){return this._parentEditor}_onParentConfigurationChanged(s){super.updateOptions(this._parentEditor.getRawOptions()),super.updateOptions(this._overwriteOptions)}updateOptions(s){d.mixin(this._overwriteOptions,s,!0),super.updateOptions(this._overwriteOptions)}};e.EmbeddedCodeEditorWidget=t,e.EmbeddedCodeEditorWidget=t=ke([ce(4,p.IInstantiationService),ce(5,k.ICodeEditorService),ce(6,_.ICommandService),ce(7,b.IContextKeyService),ce(8,o.IThemeService),ce(9,n.INotificationService),ce(10,m.IAccessibilityService),ce(11,E.ILanguageConfigurationService),ce(12,y.ILanguageFeaturesService)],t)}),define(ne[286],se([1,0,5,67,8,6,2,21,65,15,34,143,219,762,806,363,285,799,383,364,415,653,88,171,397,9,4,198,20,137,12,7,154,96,775,552,807,407,500]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r,u,C,f,h,v,w,S,L,D,T,M,A,P,N,O,F,x){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DiffEditorWidget=void 0;let W=class extends O.DelegatingEditor{get onDidContentSizeChange(){return this._editors.onDidContentSizeChange}constructor(H,z,U,j,Q,G,K,R){super(),this._domElement=H,this._parentContextKeyService=j,this._parentInstantiationService=Q,this._accessibilitySignalService=K,this._editorProgressService=R,this.elements=(0,d.h)("div.monaco-diff-editor.side-by-side",{style:{position:"relative",height:"100%"}},[(0,d.h)("div.editor.original@original",{style:{position:"absolute",height:"100%"}}),(0,d.h)("div.editor.modified@modified",{style:{position:"absolute",height:"100%"}}),(0,d.h)("div.accessibleDiffViewer@accessibleDiffViewer",{style:{position:"absolute",height:"100%"}})]),this._diffModelSrc=this._register((0,m.disposableObservableValue)(this,void 0)),this._diffModel=(0,m.derived)(this,$=>this._diffModelSrc.read($)?.object),this.onDidChangeModel=E.Event.fromObservableLight(this._diffModel),this._contextKeyService=this._register(this._parentContextKeyService.createScoped(this._domElement)),this._instantiationService=this._register(this._parentInstantiationService.createChild(new A.ServiceCollection([T.IContextKeyService,this._contextKeyService]))),this._boundarySashes=(0,m.observableValue)(this,void 0),this._accessibleDiffViewerShouldBeVisible=(0,m.observableValue)(this,!1),this._accessibleDiffViewerVisible=(0,m.derived)(this,$=>this._options.onlyShowAccessibleDiffViewer.read($)?!0:this._accessibleDiffViewerShouldBeVisible.read($)),this._movedBlocksLinesPart=(0,m.observableValue)(this,void 0),this._layoutInfo=(0,m.derived)(this,$=>{const Y=this._rootSizeObserver.width.read($),Z=this._rootSizeObserver.height.read($);this._rootSizeObserver.automaticLayout?this.elements.root.style.height="100%":this.elements.root.style.height=Z+"px";const te=this._sash.read($),re=this._gutter.read($),le=re?.width.read($)??0,me=this._overviewRulerPart.read($)?.width??0;let ve,Le,Ee,Ie,Ae;if(!!te){const Ne=te.sashLeft.read($),ze=this._movedBlocksLinesPart.read($)?.width.read($)??0;ve=0,Le=Ne-le-ze,Ae=Ne-le,Ee=Ne,Ie=Y-Ee-me}else{Ae=0;const Ne=this._options.inlineViewHideOriginalLineNumbers.read($);ve=le,Ne?Le=0:Le=Math.max(5,this._editors.originalObs.layoutInfoDecorationsLeft.read($)),Ee=le+Le,Ie=Y-Ee-me}return this.elements.original.style.left=ve+"px",this.elements.original.style.width=Le+"px",this._editors.original.layout({width:Le,height:Z},!0),re?.layout(Ae),this.elements.modified.style.left=Ee+"px",this.elements.modified.style.width=Ie+"px",this._editors.modified.layout({width:Ie,height:Z},!0),{modifiedEditor:this._editors.modified.getLayoutInfo(),originalEditor:this._editors.original.getLayoutInfo()}}),this._diffValue=this._diffModel.map(($,Y)=>$?.diff.read(Y)),this.onDidUpdateDiff=E.Event.fromObservableLight(this._diffValue),G.willCreateDiffEditor(),this._contextKeyService.createKey("isInDiffEditor",!0),this._domElement.appendChild(this.elements.root),this._register((0,y.toDisposable)(()=>this.elements.root.remove())),this._rootSizeObserver=this._register(new C.ObservableElementSizeObserver(this.elements.root,z.dimension)),this._rootSizeObserver.setAutomaticLayout(z.automaticLayout??!1),this._options=this._instantiationService.createInstance(F.DiffEditorOptions,z),this._register((0,m.autorun)($=>{this._options.setWidth(this._rootSizeObserver.width.read($))})),this._contextKeyService.createKey(L.EditorContextKeys.isEmbeddedDiffEditor.key,!1),this._register((0,h.bindContextKey)(L.EditorContextKeys.isEmbeddedDiffEditor,this._contextKeyService,$=>this._options.isInEmbeddedEditor.read($))),this._register((0,h.bindContextKey)(L.EditorContextKeys.comparingMovedCode,this._contextKeyService,$=>!!this._diffModel.read($)?.movedTextToCompare.read($))),this._register((0,h.bindContextKey)(L.EditorContextKeys.diffEditorRenderSideBySideInlineBreakpointReached,this._contextKeyService,$=>this._options.couldShowInlineViewBecauseOfSize.read($))),this._register((0,h.bindContextKey)(L.EditorContextKeys.diffEditorInlineMode,this._contextKeyService,$=>!this._options.renderSideBySide.read($))),this._register((0,h.bindContextKey)(L.EditorContextKeys.hasChanges,this._contextKeyService,$=>(this._diffModel.read($)?.diff.read($)?.mappings.length??0)>0)),this._editors=this._register(this._instantiationService.createInstance(N.DiffEditorEditors,this.elements.original,this.elements.modified,this._options,U,($,Y,Z,te)=>this._createInnerEditor($,Y,Z,te))),this._register((0,h.bindContextKey)(L.EditorContextKeys.diffEditorOriginalWritable,this._contextKeyService,$=>this._options.originalEditable.read($))),this._register((0,h.bindContextKey)(L.EditorContextKeys.diffEditorModifiedWritable,this._contextKeyService,$=>!this._options.readOnly.read($))),this._register((0,h.bindContextKey)(L.EditorContextKeys.diffEditorOriginalUri,this._contextKeyService,$=>this._diffModel.read($)?.model.original.uri.toString()??"")),this._register((0,h.bindContextKey)(L.EditorContextKeys.diffEditorModifiedUri,this._contextKeyService,$=>this._diffModel.read($)?.model.modified.uri.toString()??"")),this._overviewRulerPart=(0,_.derivedDisposable)(this,$=>this._options.renderOverviewRuler.read($)?this._instantiationService.createInstance((0,f.readHotReloadableExport)(r.OverviewRulerFeature,$),this._editors,this.elements.root,this._diffModel,this._rootSizeObserver.width,this._rootSizeObserver.height,this._layoutInfo.map(Y=>Y.modifiedEditor)):void 0).recomputeInitiallyAndOnChange(this._store);const J={height:this._rootSizeObserver.height,width:this._rootSizeObserver.width.map(($,Y)=>$-(this._overviewRulerPart.read(Y)?.width??0))};this._sashLayout=new s.SashLayout(this._options,J),this._sash=(0,_.derivedDisposable)(this,$=>{const Y=this._options.renderSideBySide.read($);return this.elements.root.classList.toggle("side-by-side",Y),Y?new s.DiffEditorSash(this.elements.root,J,this._options.enableSplitViewResizing,this._boundarySashes,this._sashLayout.sashLeft,()=>this._sashLayout.resetSash()):void 0}).recomputeInitiallyAndOnChange(this._store);const ie=(0,_.derivedDisposable)(this,$=>this._instantiationService.createInstance((0,f.readHotReloadableExport)(l.HideUnchangedRegionsFeature,$),this._editors,this._diffModel,this._options)).recomputeInitiallyAndOnChange(this._store);(0,_.derivedDisposable)(this,$=>this._instantiationService.createInstance((0,f.readHotReloadableExport)(i.DiffEditorDecorations,$),this._editors,this._diffModel,this._options,this)).recomputeInitiallyAndOnChange(this._store);const ue=new Set,he=new Set;let pe=!1;const ae=(0,_.derivedDisposable)(this,$=>this._instantiationService.createInstance((0,f.readHotReloadableExport)(g.DiffEditorViewZones,$),(0,d.getWindow)(this._domElement),this._editors,this._diffModel,this._options,this,()=>pe||ie.get().isUpdatingHiddenAreas,ue,he)).recomputeInitiallyAndOnChange(this._store),ee=(0,m.derived)(this,$=>{const Y=ae.read($).viewZones.read($).orig,Z=ie.read($).viewZones.read($).origViewZones;return Y.concat(Z)}),de=(0,m.derived)(this,$=>{const Y=ae.read($).viewZones.read($).mod,Z=ie.read($).viewZones.read($).modViewZones;return Y.concat(Z)});this._register((0,C.applyViewZones)(this._editors.original,ee,$=>{pe=$},ue));let ge;this._register((0,C.applyViewZones)(this._editors.modified,de,$=>{pe=$,pe?ge=n.StableEditorScrollState.capture(this._editors.modified):(ge?.restore(this._editors.modified),ge=void 0)},he)),this._accessibleDiffViewer=(0,_.derivedDisposable)(this,$=>this._instantiationService.createInstance((0,f.readHotReloadableExport)(t.AccessibleDiffViewer,$),this.elements.accessibleDiffViewer,this._accessibleDiffViewerVisible,(Y,Z)=>this._accessibleDiffViewerShouldBeVisible.set(Y,Z),this._options.onlyShowAccessibleDiffViewer.map(Y=>!Y),this._rootSizeObserver.width,this._rootSizeObserver.height,this._diffModel.map((Y,Z)=>Y?.diff.read(Z)?.mappings.map(te=>te.lineRangeMapping)),new t.AccessibleDiffViewerModelFromEditors(this._editors))).recomputeInitiallyAndOnChange(this._store);const X=this._accessibleDiffViewerVisible.map($=>$?"hidden":"visible");this._register((0,C.applyStyle)(this.elements.modified,{visibility:X})),this._register((0,C.applyStyle)(this.elements.original,{visibility:X})),this._createDiffEditorContributions(),G.addDiffEditor(this),this._gutter=(0,_.derivedDisposable)(this,$=>this._options.shouldRenderGutterMenu.read($)?this._instantiationService.createInstance((0,f.readHotReloadableExport)(c.DiffEditorGutter,$),this.elements.root,this._diffModel,this._editors,this._options,this._sashLayout,this._boundarySashes):void 0),this._register((0,m.recomputeInitiallyAndOnChange)(this._layoutInfo)),(0,_.derivedDisposable)(this,$=>new((0,f.readHotReloadableExport)(a.MovedBlocksLinesFeature,$))(this.elements.root,this._diffModel,this._layoutInfo.map(Y=>Y.originalEditor),this._layoutInfo.map(Y=>Y.modifiedEditor),this._editors)).recomputeInitiallyAndOnChange(this._store,$=>{this._movedBlocksLinesPart.set($,void 0)}),this._register(E.Event.runAndSubscribe(this._editors.modified.onDidChangeCursorPosition,$=>this._handleCursorPositionChange($,!0))),this._register(E.Event.runAndSubscribe(this._editors.original.onDidChangeCursorPosition,$=>this._handleCursorPositionChange($,!1)));const B=this._diffModel.map(this,($,Y)=>{if($)return $.diff.read(Y)===void 0&&!$.isDiffUpToDate.read(Y)});this._register((0,m.autorunWithStore)(($,Y)=>{if(B.read($)===!0){const Z=this._editorProgressService.show(!0,1e3);Y.add((0,y.toDisposable)(()=>Z.done()))}})),this._register((0,m.autorunWithStore)(($,Y)=>{Y.add(new((0,f.readHotReloadableExport)(u.RevertButtonsFeature,$))(this._editors,this._diffModel,this._options,this))})),this._register((0,m.autorunWithStore)(($,Y)=>{const Z=this._diffModel.read($);if(Z)for(const te of[Z.model.original,Z.model.modified])Y.add(te.onWillDispose(re=>{(0,I.onUnexpectedError)(new I.BugIndicatingError("TextModel got disposed before DiffEditorWidget model got reset")),this.setModel(null)}))})),this._register((0,m.autorun)($=>{this._options.setModel(this._diffModel.read($))}))}_createInnerEditor(H,z,U,j){return H.createInstance(o.CodeEditorWidget,z,U,j)}_createDiffEditorContributions(){const H=b.EditorExtensionsRegistry.getDiffEditorContributions();for(const z of H)try{this._register(this._instantiationService.createInstance(z.ctor,this))}catch(U){(0,I.onUnexpectedError)(U)}}get _targetEditor(){return this._editors.modified}getEditorType(){return S.EditorType.IDiffEditor}layout(H){this._rootSizeObserver.observe(H)}hasTextFocus(){return this._editors.original.hasTextFocus()||this._editors.modified.hasTextFocus()}saveViewState(){const H=this._editors.original.saveViewState(),z=this._editors.modified.saveViewState();return{original:H,modified:z,modelState:this._diffModel.get()?.serializeState()}}restoreViewState(H){if(H&&H.original&&H.modified){const z=H;this._editors.original.restoreViewState(z.original),this._editors.modified.restoreViewState(z.modified),z.modelState&&this._diffModel.get()?.restoreSerializedState(z.modelState)}}handleInitialized(){this._editors.original.handleInitialized(),this._editors.modified.handleInitialized()}createViewModel(H){return this._instantiationService.createInstance(x.DiffEditorViewModel,H,this._options)}getModel(){return this._diffModel.get()?.model??null}setModel(H){const z=H?"model"in H?C.RefCounted.create(H).createNewRef(this):C.RefCounted.create(this.createViewModel(H),this):null;this.setDiffModel(z)}setDiffModel(H,z){const U=this._diffModel.get();!H&&U&&this._accessibleDiffViewer.get().close(),this._diffModel.get()!==H?.object&&(0,m.subtransaction)(z,j=>{const Q=H?.object;m.observableFromEvent.batchEventsGlobally(j,()=>{this._editors.original.setModel(Q?Q.model.original:null),this._editors.modified.setModel(Q?Q.model.modified:null)});const G=this._diffModelSrc.get()?.createNewRef(this);this._diffModelSrc.set(H?.createNewRef(this),j),setTimeout(()=>{G?.dispose()},0)})}updateOptions(H){this._options.updateOptions(H)}getContainerDomNode(){return this._domElement}getOriginalEditor(){return this._editors.original}getModifiedEditor(){return this._editors.modified}getLineChanges(){const H=this._diffModel.get()?.diff.get();return H?V(H):null}revert(H){const z=this._diffModel.get();!z||!z.isDiffUpToDate.get()||this._editors.modified.executeEdits("diffEditor",[{range:H.modified.toExclusiveRange(),text:z.model.original.getValueInRange(H.original.toExclusiveRange())}])}revertRangeMappings(H){const z=this._diffModel.get();if(!z||!z.isDiffUpToDate.get())return;const U=H.map(j=>({range:j.modifiedRange,text:z.model.original.getValueInRange(j.originalRange)}));this._editors.modified.executeEdits("diffEditor",U)}_goTo(H){this._editors.modified.setPosition(new v.Position(H.lineRangeMapping.modified.startLineNumber,1)),this._editors.modified.revealRangeInCenter(H.lineRangeMapping.modified.toExclusiveRange())}goToDiff(H){const z=this._diffModel.get()?.diff.get()?.mappings;if(!z||z.length===0)return;const U=this._editors.modified.getPosition().lineNumber;let j;H==="next"?j=z.find(Q=>Q.lineRangeMapping.modified.startLineNumber>U)??z[0]:j=(0,k.findLast)(z,Q=>Q.lineRangeMapping.modified.startLineNumber{const z=H.diff.get()?.mappings;!z||z.length===0||this._goTo(z[0])})}accessibleDiffViewerNext(){this._accessibleDiffViewer.get().next()}accessibleDiffViewerPrev(){this._accessibleDiffViewer.get().prev()}async waitForDiff(){const H=this._diffModel.get();H&&await H.waitForDiff()}mapToOtherSide(){const H=this._editors.modified.hasWidgetFocus(),z=H?this._editors.modified:this._editors.original,U=H?this._editors.original:this._editors.modified;let j;const Q=z.getSelection();if(Q){const G=this._diffModel.get()?.diff.get()?.mappings.map(K=>H?K.lineRangeMapping.flip():K.lineRangeMapping);if(G){const K=(0,C.translatePosition)(Q.getStartPosition(),G),R=(0,C.translatePosition)(Q.getEndPosition(),G);j=w.Range.plusRange(K,R)}}return{destination:U,destinationSelection:j}}switchSide(){const{destination:H,destinationSelection:z}=this.mapToOtherSide();H.focus(),z&&H.setSelection(z)}exitCompareMove(){const H=this._diffModel.get();H&&H.movedTextToCompare.set(void 0,void 0)}collapseAllUnchangedRegions(){const H=this._diffModel.get()?.unchangedRegions.get();H&&(0,m.transaction)(z=>{for(const U of H)U.collapseAll(z)})}showAllUnchangedRegions(){const H=this._diffModel.get()?.unchangedRegions.get();H&&(0,m.transaction)(z=>{for(const U of H)U.showAll(z)})}_handleCursorPositionChange(H,z){if(H?.reason===3){const U=this._diffModel.get()?.diff.get()?.mappings.find(j=>z?j.lineRangeMapping.modified.contains(H.position.lineNumber):j.lineRangeMapping.original.contains(H.position.lineNumber));U?.lineRangeMapping.modified.isEmpty?this._accessibilitySignalService.playSignal(D.AccessibilitySignal.diffLineDeleted,{source:"diffEditor.cursorPositionChanged"}):U?.lineRangeMapping.original.isEmpty?this._accessibilitySignalService.playSignal(D.AccessibilitySignal.diffLineInserted,{source:"diffEditor.cursorPositionChanged"}):U&&this._accessibilitySignalService.playSignal(D.AccessibilitySignal.diffLineModified,{source:"diffEditor.cursorPositionChanged"})}}};e.DiffEditorWidget=W,e.DiffEditorWidget=W=ke([ce(3,T.IContextKeyService),ce(4,M.IInstantiationService),ce(5,p.ICodeEditorService),ce(6,D.IAccessibilitySignalService),ce(7,P.IEditorProgressService)],W);function V(q){return q.mappings.map(H=>{const z=H.lineRangeMapping;let U,j,Q,G,K=z.innerChanges;return z.original.isEmpty?(U=z.original.startLineNumber-1,j=0,K=void 0):(U=z.original.startLineNumber,j=z.original.endLineNumberExclusive-1),z.modified.isEmpty?(Q=z.modified.startLineNumber-1,G=0,K=void 0):(Q=z.modified.startLineNumber,G=z.modified.endLineNumberExclusive-1),{originalStartLineNumber:U,originalEndLineNumber:j,modifiedStartLineNumber:Q,modifiedEndLineNumber:G,charChanges:K?.map(R=>({originalStartLineNumber:R.originalRange.startLineNumber,originalStartColumn:R.originalRange.startColumn,originalEndLineNumber:R.originalRange.endLineNumber,originalEndColumn:R.originalRange.endColumn,modifiedStartLineNumber:R.modifiedRange.startLineNumber,modifiedStartColumn:R.modifiedRange.startColumn,modifiedEndLineNumber:R.modifiedRange.endLineNumber,modifiedEndColumn:R.modifiedRange.endColumn}))}})}}),define(ne[811],se([1,0,5,26,15,34,286,20,3,29,28,12,139]),function(oe,e,d,k,I,E,y,m,_,b,p,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.AccessibleDiffViewerPrev=e.AccessibleDiffViewerNext=e.RevertHunkOrSelection=e.ShowAllUnchangedRegions=e.CollapseAllUnchangedRegions=e.ExitCompareMove=e.SwitchSide=e.ToggleUseInlineViewWhenSpaceIsLimited=e.ToggleShowMovedCodeBlocks=e.ToggleCollapseUnchangedRegions=void 0,e.findDiffEditor=h,e.findFocusedDiffEditor=v;class o extends b.Action2{constructor(){super({id:"diffEditor.toggleCollapseUnchangedRegions",title:(0,_.localize2)(72,"Toggle Collapse Unchanged Regions"),icon:k.Codicon.map,toggled:n.ContextKeyExpr.has("config.diffEditor.hideUnchangedRegions.enabled"),precondition:n.ContextKeyExpr.has("isInDiffEditor"),menu:{when:n.ContextKeyExpr.has("isInDiffEditor"),id:b.MenuId.EditorTitle,order:22,group:"navigation"}})}run(L,...D){const T=L.get(p.IConfigurationService),M=!T.getValue("diffEditor.hideUnchangedRegions.enabled");T.updateValue("diffEditor.hideUnchangedRegions.enabled",M)}}e.ToggleCollapseUnchangedRegions=o;class t extends b.Action2{constructor(){super({id:"diffEditor.toggleShowMovedCodeBlocks",title:(0,_.localize2)(73,"Toggle Show Moved Code Blocks"),precondition:n.ContextKeyExpr.has("isInDiffEditor")})}run(L,...D){const T=L.get(p.IConfigurationService),M=!T.getValue("diffEditor.experimental.showMoves");T.updateValue("diffEditor.experimental.showMoves",M)}}e.ToggleShowMovedCodeBlocks=t;class i extends b.Action2{constructor(){super({id:"diffEditor.toggleUseInlineViewWhenSpaceIsLimited",title:(0,_.localize2)(74,"Toggle Use Inline View When Space Is Limited"),precondition:n.ContextKeyExpr.has("isInDiffEditor")})}run(L,...D){const T=L.get(p.IConfigurationService),M=!T.getValue("diffEditor.useInlineViewWhenSpaceIsLimited");T.updateValue("diffEditor.useInlineViewWhenSpaceIsLimited",M)}}e.ToggleUseInlineViewWhenSpaceIsLimited=i;const s=(0,_.localize2)(75,"Diff Editor");class g extends I.EditorAction2{constructor(){super({id:"diffEditor.switchSide",title:(0,_.localize2)(76,"Switch Side"),icon:k.Codicon.arrowSwap,precondition:n.ContextKeyExpr.has("isInDiffEditor"),f1:!0,category:s})}runEditorCommand(L,D,T){const M=v(L);if(M instanceof y.DiffEditorWidget){if(T&&T.dryRun)return{destinationSelection:M.mapToOtherSide().destinationSelection};M.switchSide()}}}e.SwitchSide=g;class c extends I.EditorAction2{constructor(){super({id:"diffEditor.exitCompareMove",title:(0,_.localize2)(77,"Exit Compare Move"),icon:k.Codicon.close,precondition:m.EditorContextKeys.comparingMovedCode,f1:!1,category:s,keybinding:{weight:1e4,primary:9}})}runEditorCommand(L,D,...T){const M=v(L);M instanceof y.DiffEditorWidget&&M.exitCompareMove()}}e.ExitCompareMove=c;class l extends I.EditorAction2{constructor(){super({id:"diffEditor.collapseAllUnchangedRegions",title:(0,_.localize2)(78,"Collapse All Unchanged Regions"),icon:k.Codicon.fold,precondition:n.ContextKeyExpr.has("isInDiffEditor"),f1:!0,category:s})}runEditorCommand(L,D,...T){const M=v(L);M instanceof y.DiffEditorWidget&&M.collapseAllUnchangedRegions()}}e.CollapseAllUnchangedRegions=l;class a extends I.EditorAction2{constructor(){super({id:"diffEditor.showAllUnchangedRegions",title:(0,_.localize2)(79,"Show All Unchanged Regions"),icon:k.Codicon.unfold,precondition:n.ContextKeyExpr.has("isInDiffEditor"),f1:!0,category:s})}runEditorCommand(L,D,...T){const M=v(L);M instanceof y.DiffEditorWidget&&M.showAllUnchangedRegions()}}e.ShowAllUnchangedRegions=a;class r extends b.Action2{constructor(){super({id:"diffEditor.revert",title:(0,_.localize2)(80,"Revert"),f1:!1,category:s})}run(L,D){const T=h(L,D.originalUri,D.modifiedUri);T instanceof y.DiffEditorWidget&&T.revertRangeMappings(D.mapping.innerChanges??[])}}e.RevertHunkOrSelection=r;const u=(0,_.localize2)(81,"Accessible Diff Viewer");class C extends b.Action2{static{this.id="editor.action.accessibleDiffViewer.next"}constructor(){super({id:C.id,title:(0,_.localize2)(82,"Go to Next Difference"),category:u,precondition:n.ContextKeyExpr.has("isInDiffEditor"),keybinding:{primary:65,weight:100},f1:!0})}run(L){v(L)?.accessibleDiffViewerNext()}}e.AccessibleDiffViewerNext=C;class f extends b.Action2{static{this.id="editor.action.accessibleDiffViewer.prev"}constructor(){super({id:f.id,title:(0,_.localize2)(83,"Go to Previous Difference"),category:u,precondition:n.ContextKeyExpr.has("isInDiffEditor"),keybinding:{primary:1089,weight:100},f1:!0})}run(L){v(L)?.accessibleDiffViewerPrev()}}e.AccessibleDiffViewerPrev=f;function h(S,L,D){return S.get(E.ICodeEditorService).listDiffEditors().find(A=>{const P=A.getModifiedEditor(),N=A.getOriginalEditor();return P&&P.getModel()?.uri.toString()===D.toString()&&N&&N.getModel()?.uri.toString()===L.toString()})||null}function v(S){const D=S.get(E.ICodeEditorService).listDiffEditors(),T=(0,d.getActiveElement)();if(T)for(const M of D){const A=M.getContainerDomNode();if(w(A,T))return M}return null}function w(S,L){let D=L;for(;D;){if(D===S)return!0;D=D.parentElement}return!1}}),define(ne[812],se([1,0,26,811,20,3,29,24,12,139]),function(oe,e,d,k,I,E,y,m,_){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),(0,y.registerAction2)(k.ToggleCollapseUnchangedRegions),(0,y.registerAction2)(k.ToggleShowMovedCodeBlocks),(0,y.registerAction2)(k.ToggleUseInlineViewWhenSpaceIsLimited),y.MenuRegistry.appendMenuItem(y.MenuId.EditorTitle,{command:{id:new k.ToggleUseInlineViewWhenSpaceIsLimited().desc.id,title:(0,E.localize)(106,"Use Inline View When Space Is Limited"),toggled:_.ContextKeyExpr.has("config.diffEditor.useInlineViewWhenSpaceIsLimited"),precondition:_.ContextKeyExpr.has("isInDiffEditor")},order:11,group:"1_diff",when:_.ContextKeyExpr.and(I.EditorContextKeys.diffEditorRenderSideBySideInlineBreakpointReached,_.ContextKeyExpr.has("isInDiffEditor"))}),y.MenuRegistry.appendMenuItem(y.MenuId.EditorTitle,{command:{id:new k.ToggleShowMovedCodeBlocks().desc.id,title:(0,E.localize)(107,"Show Moved Code Blocks"),icon:d.Codicon.move,toggled:_.ContextKeyEqualsExpr.create("config.diffEditor.experimental.showMoves",!0),precondition:_.ContextKeyExpr.has("isInDiffEditor")},order:10,group:"1_diff",when:_.ContextKeyExpr.has("isInDiffEditor")}),(0,y.registerAction2)(k.RevertHunkOrSelection);for(const b of[{icon:d.Codicon.arrowRight,key:I.EditorContextKeys.diffEditorInlineMode.toNegated()},{icon:d.Codicon.discard,key:I.EditorContextKeys.diffEditorInlineMode}])y.MenuRegistry.appendMenuItem(y.MenuId.DiffEditorHunkToolbar,{command:{id:new k.RevertHunkOrSelection().desc.id,title:(0,E.localize)(108,"Revert Block"),icon:b.icon},when:_.ContextKeyExpr.and(I.EditorContextKeys.diffEditorModifiedWritable,b.key),order:5,group:"primary"}),y.MenuRegistry.appendMenuItem(y.MenuId.DiffEditorSelectionToolbar,{command:{id:new k.RevertHunkOrSelection().desc.id,title:(0,E.localize)(109,"Revert Selection"),icon:b.icon},when:_.ContextKeyExpr.and(I.EditorContextKeys.diffEditorModifiedWritable,b.key),order:5,group:"primary"});(0,y.registerAction2)(k.SwitchSide),(0,y.registerAction2)(k.ExitCompareMove),(0,y.registerAction2)(k.CollapseAllUnchangedRegions),(0,y.registerAction2)(k.ShowAllUnchangedRegions),y.MenuRegistry.appendMenuItem(y.MenuId.EditorTitle,{command:{id:k.AccessibleDiffViewerNext.id,title:(0,E.localize)(110,"Open Accessible Diff Viewer"),precondition:_.ContextKeyExpr.has("isInDiffEditor")},order:10,group:"2_diff",when:_.ContextKeyExpr.and(I.EditorContextKeys.accessibleDiffViewerVisible.negate(),_.ContextKeyExpr.has("isInDiffEditor"))}),m.CommandsRegistry.registerCommandAlias("editor.action.diffReview.next",k.AccessibleDiffViewerNext.id),(0,y.registerAction2)(k.AccessibleDiffViewerNext),m.CommandsRegistry.registerCommandAlias("editor.action.diffReview.prev",k.AccessibleDiffViewerPrev.id),(0,y.registerAction2)(k.AccessibleDiffViewerPrev)}),define(ne[420],se([1,0,5,258,26,2,21,92,112,286,124,218,29,7,365,12,154]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DiffEditorItemTemplate=e.TemplateData=void 0;class c{constructor(r,u){this.viewModel=r,this.deltaScrollVertical=u}getId(){return this.viewModel}}e.TemplateData=c;let l=class extends E.Disposable{constructor(r,u,C,f,h){super(),this._container=r,this._overflowWidgetsDomNode=u,this._workbenchUIElementFactory=C,this._instantiationService=f,this._viewModel=(0,m.observableValue)(this,void 0),this._collapsed=(0,y.derived)(this,S=>this._viewModel.read(S)?.collapsed.read(S)),this._editorContentHeight=(0,m.observableValue)(this,500),this.contentHeight=(0,y.derived)(this,S=>(this._collapsed.read(S)?0:this._editorContentHeight.read(S))+this._outerEditorHeight),this._modifiedContentWidth=(0,m.observableValue)(this,0),this._modifiedWidth=(0,m.observableValue)(this,0),this._originalContentWidth=(0,m.observableValue)(this,0),this._originalWidth=(0,m.observableValue)(this,0),this.maxScroll=(0,y.derived)(this,S=>{const L=this._modifiedContentWidth.read(S)-this._modifiedWidth.read(S),D=this._originalContentWidth.read(S)-this._originalWidth.read(S);return L>D?{maxScroll:L,width:this._modifiedWidth.read(S)}:{maxScroll:D,width:this._originalWidth.read(S)}}),this._elements=(0,d.h)("div.multiDiffEntry",[(0,d.h)("div.header@header",[(0,d.h)("div.header-content",[(0,d.h)("div.collapse-button@collapseButton"),(0,d.h)("div.file-path",[(0,d.h)("div.title.modified.show-file-icons@primaryPath",[]),(0,d.h)("div.status.deleted@status",["R"]),(0,d.h)("div.title.original.show-file-icons@secondaryPath",[])]),(0,d.h)("div.actions@actions")])]),(0,d.h)("div.editorParent",[(0,d.h)("div.editorContainer@editor")])]),this.editor=this._register(this._instantiationService.createInstance(b.DiffEditorWidget,this._elements.editor,{overflowWidgetsDomNode:this._overflowWidgetsDomNode},{})),this.isModifedFocused=(0,_.observableCodeEditor)(this.editor.getModifiedEditor()).isFocused,this.isOriginalFocused=(0,_.observableCodeEditor)(this.editor.getOriginalEditor()).isFocused,this.isFocused=(0,y.derived)(this,S=>this.isModifedFocused.read(S)||this.isOriginalFocused.read(S)),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 E.DisposableStore),this._headerHeight=40,this._lastScrollTop=-1,this._isSettingScrollTop=!1;const v=new k.Button(this._elements.collapseButton,{});this._register((0,y.autorun)(S=>{v.element.className="",v.icon=this._collapsed.read(S)?I.Codicon.chevronRight:I.Codicon.chevronDown})),this._register(v.onDidClick(()=>{this._viewModel.get()?.collapsed.set(!this._collapsed.get(),void 0)})),this._register((0,y.autorun)(S=>{this._elements.editor.style.display=this._collapsed.read(S)?"none":"block"})),this._register(this.editor.getModifiedEditor().onDidLayoutChange(S=>{const L=this.editor.getModifiedEditor().getLayoutInfo().contentWidth;this._modifiedWidth.set(L,void 0)})),this._register(this.editor.getOriginalEditor().onDidLayoutChange(S=>{const L=this.editor.getOriginalEditor().getLayoutInfo().contentWidth;this._originalWidth.set(L,void 0)})),this._register(this.editor.onDidContentSizeChange(S=>{(0,m.globalTransaction)(L=>{this._editorContentHeight.set(S.contentHeight,L),this._modifiedContentWidth.set(this.editor.getModifiedEditor().getContentWidth(),L),this._originalContentWidth.set(this.editor.getOriginalEditor().getContentWidth(),L)})})),this._register(this.editor.getOriginalEditor().onDidScrollChange(S=>{if(this._isSettingScrollTop||!S.scrollTopChanged||!this._data)return;const L=S.scrollTop-this._lastScrollTop;this._data.deltaScrollVertical(L)})),this._register((0,y.autorun)(S=>{const L=this._viewModel.read(S)?.isActive.read(S);this._elements.root.classList.toggle("active",L)})),this._container.appendChild(this._elements.root),this._outerEditorHeight=this._headerHeight,this._contextKeyService=this._register(h.createScoped(this._elements.actions));const w=this._register(this._instantiationService.createChild(new g.ServiceCollection([s.IContextKeyService,this._contextKeyService])));this._register(w.createInstance(n.MenuWorkbenchToolBar,this._elements.actions,o.MenuId.MultiDiffEditorFileToolbar,{actionRunner:this._register(new i.ActionRunnerWithContext(()=>this._viewModel.get()?.modifiedUri)),menuOptions:{shouldForwardArgs:!0},toolbarOptions:{primaryGroup:S=>S.startsWith("navigation")},actionViewItemProvider:(S,L)=>(0,p.createActionViewItem)(w,S,L)}))}setScrollLeft(r){this._modifiedContentWidth.get()-this._modifiedWidth.get()>this._originalContentWidth.get()-this._originalWidth.get()?this.editor.getModifiedEditor().setScrollLeft(r):this.editor.getOriginalEditor().setScrollLeft(r)}setData(r){this._data=r;function u(f){return{...f,scrollBeyondLastLine:!1,hideUnchangedRegions:{enabled:!0},scrollbar:{vertical:"hidden",horizontal:"hidden",handleMouseWheel:!1,useShadows:!1},renderOverviewRuler:!1,fixedOverflowWidgets:!0,overviewRulerBorder:!1}}if(!r){(0,m.globalTransaction)(f=>{this._viewModel.set(void 0,f),this.editor.setDiffModel(null,f),this._dataStore.clear()});return}const C=r.viewModel.documentDiffItem;if((0,m.globalTransaction)(f=>{this._resourceLabel?.setUri(r.viewModel.modifiedUri??r.viewModel.originalUri,{strikethrough:r.viewModel.modifiedUri===void 0});let h=!1,v=!1,w=!1,S="";r.viewModel.modifiedUri&&r.viewModel.originalUri&&r.viewModel.modifiedUri.path!==r.viewModel.originalUri.path?(S="R",h=!0):r.viewModel.modifiedUri?r.viewModel.originalUri||(S="A",w=!0):(S="D",v=!0),this._elements.status.classList.toggle("renamed",h),this._elements.status.classList.toggle("deleted",v),this._elements.status.classList.toggle("added",w),this._elements.status.innerText=S,this._resourceLabel2?.setUri(h?r.viewModel.originalUri:void 0,{strikethrough:!0}),this._dataStore.clear(),this._viewModel.set(r.viewModel,f),this.editor.setDiffModel(r.viewModel.diffEditorViewModelRef,f),this.editor.updateOptions(u(C.options??{}))}),C.onOptionsDidChange&&this._dataStore.add(C.onOptionsDidChange(()=>{this.editor.updateOptions(u(C.options??{}))})),r.viewModel.isAlive.recomputeInitiallyAndOnChange(this._dataStore,f=>{f||this.setData(void 0)}),r.viewModel.documentDiffItem.contextKeys)for(const[f,h]of Object.entries(r.viewModel.documentDiffItem.contextKeys))this._contextKeyService.createKey(f,h)}render(r,u,C,f){this._elements.root.style.visibility="visible",this._elements.root.style.top=`${r.start}px`,this._elements.root.style.height=`${r.length}px`,this._elements.root.style.width=`${u}px`,this._elements.root.style.position="absolute";const h=r.length-this._headerHeight,v=Math.max(0,Math.min(f.start-r.start,h));this._elements.header.style.transform=`translateY(${v}px)`,(0,m.globalTransaction)(w=>{this.editor.layout({width:u-2*8-2*1,height:r.length-this._outerEditorHeight})});try{this._isSettingScrollTop=!0,this._lastScrollTop=C,this.editor.getOriginalEditor().setScrollTop(C)}finally{this._isSettingScrollTop=!1}this._elements.header.classList.toggle("shadow",v>0||C>0),this._elements.header.classList.toggle("collapsed",v===h)}hide(){this._elements.root.style.top="-100000px",this._elements.root.style.visibility="hidden"}};e.DiffEditorItemTemplate=l,e.DiffEditorItemTemplate=l=ke([ce(3,t.IInstantiationService),ce(4,s.IContextKeyService)],l)}),define(ne[813],se([1,0,5,86,13,67,8,2,21,92,163,88,68,23,20,12,7,154,420,553,3,502]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.MultiDiffEditorWidgetImpl=void 0;let u=class extends m.Disposable{constructor(h,v,w,S,L,D){super(),this._element=h,this._dimension=v,this._viewModel=w,this._workbenchUIElementFactory=S,this._parentContextKeyService=L,this._parentInstantiationService=D,this._scrollableElements=(0,d.h)("div.scrollContent",[(0,d.h)("div@content",{style:{overflow:"hidden"}}),(0,d.h)("div.monaco-editor@overflowWidgetsDomNode",{})]),this._scrollable=this._register(new p.Scrollable({forceIntegerValues:!1,scheduleAtNextAnimationFrame:M=>(0,d.scheduleAtNextAnimationFrame)((0,d.getWindow)(this._element),M),smoothScrollDuration:100})),this._scrollableElement=this._register(new k.SmoothScrollableElement(this._scrollableElements.root,{vertical:1,horizontal:1,useShadows:!1},this._scrollable)),this._elements=(0,d.h)("div.monaco-component.multiDiffEditor",{},[(0,d.h)("div",{},[this._scrollableElement.getDomNode()]),(0,d.h)("div.placeholder@placeholder",{},[(0,d.h)("div",[(0,r.localize)(132,"No Changed Files")])])]),this._sizeObserver=this._register(new n.ObservableElementSizeObserver(this._element,void 0)),this._objectPool=this._register(new a.ObjectPool(M=>{const A=this._instantiationService.createInstance(l.DiffEditorItemTemplate,this._scrollableElements.content,this._scrollableElements.overflowWidgetsDomNode,this._workbenchUIElementFactory);return A.setData(M),A})),this.scrollTop=(0,_.observableFromEvent)(this,this._scrollableElement.onScroll,()=>this._scrollableElement.getScrollPosition().scrollTop),this.scrollLeft=(0,_.observableFromEvent)(this,this._scrollableElement.onScroll,()=>this._scrollableElement.getScrollPosition().scrollLeft),this._viewItemsInfo=(0,_.derivedWithStore)(this,(M,A)=>{const P=this._viewModel.read(M);if(!P)return{items:[],getItem:x=>{throw new y.BugIndicatingError}};const N=P.items.read(M),O=new Map;return{items:N.map(x=>{const W=A.add(new C(x,this._objectPool,this.scrollLeft,q=>{this._scrollableElement.setScrollPosition({scrollTop:this._scrollableElement.getScrollPosition().scrollTop+q})})),V=this._lastDocStates?.[W.getKey()];return V&&(0,b.transaction)(q=>{W.setViewState(V,q)}),O.set(x,W),W}),getItem:x=>O.get(x)}}),this._viewItems=this._viewItemsInfo.map(this,M=>M.items),this._spaceBetweenPx=0,this._totalHeight=this._viewItems.map(this,(M,A)=>M.reduce((P,N)=>P+N.contentHeight.read(A)+this._spaceBetweenPx,0)),this._contextKeyService=this._register(this._parentContextKeyService.createScoped(this._element)),this._instantiationService=this._register(this._parentInstantiationService.createChild(new c.ServiceCollection([s.IContextKeyService,this._contextKeyService]))),this._lastDocStates={},this._contextKeyService.createKey(i.EditorContextKeys.inMultiDiffEditor.key,!0),this._register((0,_.autorunWithStore)((M,A)=>{const P=this._viewModel.read(M);if(P&&P.contextKeys)for(const[N,O]of Object.entries(P.contextKeys)){const F=this._contextKeyService.createKey(N,void 0);F.set(O),A.add((0,m.toDisposable)(()=>F.reset()))}}));const T=this._parentContextKeyService.createKey(i.EditorContextKeys.multiDiffEditorAllCollapsed.key,!1);this._register((0,_.autorun)(M=>{const A=this._viewModel.read(M);if(A){const P=A.items.read(M).every(N=>N.collapsed.read(M));T.set(P)}})),this._register((0,_.autorun)(M=>{const A=this._dimension.read(M);this._sizeObserver.observe(A)})),this._register((0,_.autorun)(M=>{const A=this._viewItems.read(M);this._elements.placeholder.classList.toggle("visible",A.length===0)})),this._scrollableElements.content.style.position="relative",this._register((0,_.autorun)(M=>{const A=this._sizeObserver.height.read(M);this._scrollableElements.root.style.height=`${A}px`;const P=this._totalHeight.read(M);this._scrollableElements.content.style.height=`${P}px`;const N=this._sizeObserver.width.read(M);let O=N;const F=this._viewItems.read(M),x=(0,E.findFirstMax)(F,(0,I.compareBy)(W=>W.maxScroll.read(M).maxScroll,I.numberComparator));if(x){const W=x.maxScroll.read(M);O=N+W.maxScroll}this._scrollableElement.setScrollDimensions({width:N,height:A,scrollHeight:P,scrollWidth:O})})),h.replaceChildren(this._elements.root),this._register((0,m.toDisposable)(()=>{h.replaceChildren()})),this._register(this._register((0,_.autorun)(M=>{(0,b.globalTransaction)(A=>{this.render(M)})})))}render(h){const v=this.scrollTop.read(h);let w=0,S=0,L=0;const D=this._sizeObserver.height.read(h),T=o.OffsetRange.ofStartAndLength(v,D),M=this._sizeObserver.width.read(h);for(const A of this._viewItems.read(h)){const P=A.contentHeight.read(h),N=Math.min(P,D),O=o.OffsetRange.ofStartAndLength(S,N),F=o.OffsetRange.ofStartAndLength(L,P);if(F.isBefore(T))w-=P-N,A.hide();else if(F.isAfter(T))A.hide();else{const x=Math.max(0,Math.min(T.start-F.start,P-N));w-=x;const W=o.OffsetRange.ofStartAndLength(v+w,D);A.render(O,x,M,W)}S+=N+this._spaceBetweenPx,L+=P+this._spaceBetweenPx}this._scrollableElements.content.style.transform=`translateY(${-(v+w)}px)`}};e.MultiDiffEditorWidgetImpl=u,e.MultiDiffEditorWidgetImpl=u=ke([ce(4,s.IContextKeyService),ce(5,g.IInstantiationService)],u);class C extends m.Disposable{constructor(h,v,w,S){super(),this.viewModel=h,this._objectPool=v,this._scrollLeft=w,this._deltaScrollVertical=S,this._templateRef=this._register((0,b.disposableObservableValue)(this,void 0)),this.contentHeight=(0,_.derived)(this,L=>this._templateRef.read(L)?.object.contentHeight?.read(L)??this.viewModel.lastTemplateData.read(L).contentHeight),this.maxScroll=(0,_.derived)(this,L=>this._templateRef.read(L)?.object.maxScroll.read(L)??{maxScroll:0,scrollWidth:0}),this.template=(0,_.derived)(this,L=>this._templateRef.read(L)?.object),this._isHidden=(0,_.observableValue)(this,!1),this._isFocused=(0,_.derived)(this,L=>this.template.read(L)?.isFocused.read(L)??!1),this.viewModel.setIsFocused(this._isFocused,void 0),this._register((0,_.autorun)(L=>{const D=this._scrollLeft.read(L);this._templateRef.read(L)?.object.setScrollLeft(D)})),this._register((0,_.autorun)(L=>{const D=this._templateRef.read(L);!D||!this._isHidden.read(L)||D.object.isFocused.read(L)||this._clear()}))}dispose(){this._clear(),super.dispose()}toString(){return`VirtualViewItem(${this.viewModel.documentDiffItem.modified?.uri.toString()})`}getKey(){return this.viewModel.getKey()}setViewState(h,v){this.viewModel.collapsed.set(h.collapsed,v),this._updateTemplateData(v);const w=this.viewModel.lastTemplateData.get(),S=h.selections?.map(t.Selection.liftSelection);this.viewModel.lastTemplateData.set({...w,selections:S},v);const L=this._templateRef.get();L&&S&&L.object.editor.setSelections(S)}_updateTemplateData(h){const v=this._templateRef.get();v&&this.viewModel.lastTemplateData.set({contentHeight:v.object.contentHeight.get(),selections:v.object.editor.getSelections()??void 0},h)}_clear(){const h=this._templateRef.get();h&&(0,b.transaction)(v=>{this._updateTemplateData(v),h.object.hide(),this._templateRef.set(void 0,v)})}hide(){this._isHidden.set(!0,void 0)}render(h,v,w,S){this._isHidden.set(!1,void 0);let L=this._templateRef.get();if(!L){L=this._objectPool.getUnusedObj(new l.TemplateData(this.viewModel,this._deltaScrollVertical)),this._templateRef.set(L,void 0);const D=this.viewModel.lastTemplateData.get().selections;D&&L.object.editor.setSelections(D)}L.object.render(h,w,v,S)}}}),define(ne[814],se([1,0,2,21,171,813,7,420,756]),function(oe,e,d,k,I,E,y,m){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.MultiDiffEditorWidget=void 0;let _=class extends d.Disposable{constructor(p,n,o){super(),this._element=p,this._workbenchUIElementFactory=n,this._instantiationService=o,this._dimension=(0,k.observableValue)(this,void 0),this._viewModel=(0,k.observableValue)(this,void 0),this._widgetImpl=(0,k.derivedWithStore)(this,(t,i)=>((0,I.readHotReloadableExport)(m.DiffEditorItemTemplate,t),i.add(this._instantiationService.createInstance((0,I.readHotReloadableExport)(E.MultiDiffEditorWidgetImpl,t),this._element,this._dimension,this._viewModel,this._workbenchUIElementFactory)))),this._register((0,k.recomputeInitiallyAndOnChange)(this._widgetImpl))}};e.MultiDiffEditorWidget=_,e.MultiDiffEditorWidget=_=ke([ce(2,y.IInstantiationService)],_)}),define(ne[815],se([1,0,14,2,15,9,4,23,20,40,35,3,29,32,25,504]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.BracketMatchingController=void 0;const s=(0,t.registerColor)("editorOverviewRuler.bracketMatchForeground","#A0A0A0",n.localize(716,"Overview ruler marker color for matching brackets."));class g extends I.EditorAction{constructor(){super({id:"editor.action.jumpToBracket",label:n.localize(717,"Go to Bracket"),alias:"Go to Bracket",precondition:void 0,kbOpts:{kbExpr:_.EditorContextKeys.editorTextFocus,primary:3165,weight:100}})}run(C,f){r.get(f)?.jumpToBracket()}}class c extends I.EditorAction{constructor(){super({id:"editor.action.selectToBracket",label:n.localize(718,"Select to Bracket"),alias:"Select to Bracket",precondition:void 0,metadata:{description:n.localize2(721,"Select the text inside and including the brackets or curly braces"),args:[{name:"args",schema:{type:"object",properties:{selectBrackets:{type:"boolean",default:!0}}}}]}})}run(C,f,h){let v=!0;h&&h.selectBrackets===!1&&(v=!1),r.get(f)?.selectToBracket(v)}}class l extends I.EditorAction{constructor(){super({id:"editor.action.removeBrackets",label:n.localize(719,"Remove Brackets"),alias:"Remove Brackets",precondition:void 0,kbOpts:{kbExpr:_.EditorContextKeys.editorTextFocus,primary:2561,weight:100}})}run(C,f){r.get(f)?.removeBrackets(this.id)}}class a{constructor(C,f,h){this.position=C,this.brackets=f,this.options=h}}class r extends k.Disposable{static{this.ID="editor.contrib.bracketMatchingController"}static get(C){return C.getContribution(r.ID)}constructor(C){super(),this._editor=C,this._lastBracketsData=[],this._lastVersionId=0,this._decorations=this._editor.createDecorationsCollection(),this._updateBracketsSoon=this._register(new d.RunOnceScheduler(()=>this._updateBrackets(),50)),this._matchBrackets=this._editor.getOption(72),this._updateBracketsSoon.schedule(),this._register(C.onDidChangeCursorPosition(f=>{this._matchBrackets!=="never"&&this._updateBracketsSoon.schedule()})),this._register(C.onDidChangeModelContent(f=>{this._updateBracketsSoon.schedule()})),this._register(C.onDidChangeModel(f=>{this._lastBracketsData=[],this._updateBracketsSoon.schedule()})),this._register(C.onDidChangeModelLanguageConfiguration(f=>{this._lastBracketsData=[],this._updateBracketsSoon.schedule()})),this._register(C.onDidChangeConfiguration(f=>{f.hasChanged(72)&&(this._matchBrackets=this._editor.getOption(72),this._decorations.clear(),this._lastBracketsData=[],this._lastVersionId=0,this._updateBracketsSoon.schedule())})),this._register(C.onDidBlurEditorWidget(()=>{this._updateBracketsSoon.schedule()})),this._register(C.onDidFocusEditorWidget(()=>{this._updateBracketsSoon.schedule()}))}jumpToBracket(){if(!this._editor.hasModel())return;const C=this._editor.getModel(),f=this._editor.getSelections().map(h=>{const v=h.getStartPosition(),w=C.bracketPairs.matchBracket(v);let S=null;if(w)w[0].containsPosition(v)&&!w[1].containsPosition(v)?S=w[1].getStartPosition():w[1].containsPosition(v)&&(S=w[0].getStartPosition());else{const L=C.bracketPairs.findEnclosingBrackets(v);if(L)S=L[1].getStartPosition();else{const D=C.bracketPairs.findNextBracket(v);D&&D.range&&(S=D.range.getStartPosition())}}return S?new m.Selection(S.lineNumber,S.column,S.lineNumber,S.column):new m.Selection(v.lineNumber,v.column,v.lineNumber,v.column)});this._editor.setSelections(f),this._editor.revealRange(f[0])}selectToBracket(C){if(!this._editor.hasModel())return;const f=this._editor.getModel(),h=[];this._editor.getSelections().forEach(v=>{const w=v.getStartPosition();let S=f.bracketPairs.matchBracket(w);if(!S&&(S=f.bracketPairs.findEnclosingBrackets(w),!S)){const T=f.bracketPairs.findNextBracket(w);T&&T.range&&(S=f.bracketPairs.matchBracket(T.range.getStartPosition()))}let L=null,D=null;if(S){S.sort(y.Range.compareRangesUsingStarts);const[T,M]=S;if(L=C?T.getStartPosition():T.getEndPosition(),D=C?M.getEndPosition():M.getStartPosition(),M.containsPosition(w)){const A=L;L=D,D=A}}L&&D&&h.push(new m.Selection(L.lineNumber,L.column,D.lineNumber,D.column))}),h.length>0&&(this._editor.setSelections(h),this._editor.revealRange(h[0]))}removeBrackets(C){if(!this._editor.hasModel())return;const f=this._editor.getModel();this._editor.getSelections().forEach(h=>{const v=h.getPosition();let w=f.bracketPairs.matchBracket(v);w||(w=f.bracketPairs.findEnclosingBrackets(v)),w&&(this._editor.pushUndoStop(),this._editor.executeEdits(C,[{range:w[0],text:""},{range:w[1],text:""}]),this._editor.pushUndoStop())})}static{this._DECORATION_OPTIONS_WITH_OVERVIEW_RULER=p.ModelDecorationOptions.register({description:"bracket-match-overview",stickiness:1,className:"bracket-match",overviewRuler:{color:(0,i.themeColorFromId)(s),position:b.OverviewRulerLane.Center}})}static{this._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER=p.ModelDecorationOptions.register({description:"bracket-match-no-overview",stickiness:1,className:"bracket-match"})}_updateBrackets(){if(this._matchBrackets==="never")return;this._recomputeBrackets();const C=[];let f=0;for(const h of this._lastBracketsData){const v=h.brackets;v&&(C[f++]={range:v[0],options:h.options},C[f++]={range:v[1],options:h.options})}this._decorations.set(C)}_recomputeBrackets(){if(!this._editor.hasModel()||!this._editor.hasWidgetFocus()){this._lastBracketsData=[],this._lastVersionId=0;return}const C=this._editor.getSelections();if(C.length>100){this._lastBracketsData=[],this._lastVersionId=0;return}const f=this._editor.getModel(),h=f.getVersionId();let v=[];this._lastVersionId===h&&(v=this._lastBracketsData);const w=[];let S=0;for(let A=0,P=C.length;A1&&w.sort(E.Position.compare);const L=[];let D=0,T=0;const M=v.length;for(let A=0,P=w.length;A{const L=this._editor.getModel();(this.state.type!==1||!L||this.state.editorPosition.lineNumber>=L.getLineCount())&&this.hide(),(this.gutterState.type!==1||!L||this.gutterState.editorPosition.lineNumber>=L.getLineCount())&&this.gutterHide()})),this._register(d.addStandardDisposableGenericMouseDownListener(this._domNode,S=>{if(this.state.type!==1)return;this._editor.focus(),S.preventDefault();const{top:L,height:D}=d.getDomNodePagePosition(this._domNode),T=this._editor.getOption(67);let M=Math.floor(T/3);this.state.widgetPosition.position!==null&&this.state.widgetPosition.position.lineNumber{(S.buttons&1)===1&&this.hide()})),this._register(E.Event.runAndSubscribe(this._keybindingService.onDidUpdateKeybindings,()=>{this._preferredKbLabel=this._keybindingService.lookupKeybinding(n.autoFixCommandId)?.getLabel()??void 0,this._quickFixKbLabel=this._keybindingService.lookupKeybinding(n.quickFixCommandId)?.getLabel()??void 0,this._updateLightBulbTitleAndIcon()})),this._register(this._editor.onMouseDown(async S=>{if(!S.target.element||!this.lightbulbClasses.some(A=>S.target.element&&S.target.element.classList.contains(A))||this.gutterState.type!==1)return;this._editor.focus();const{top:L,height:D}=d.getDomNodePagePosition(S.target.element),T=this._editor.getOption(67);let M=Math.floor(T/3);this.gutterState.widgetPosition.position!==null&&this.gutterState.widgetPosition.position.lineNumber22,W=Q=>Q>2&&this._editor.getTopForLineNumber(Q)===this._editor.getTopForLineNumber(Q-1),V=this._editor.getLineDecorations(M);let q=!1;if(V)for(const Q of V){const G=Q.options.glyphMarginClassName;if(G&&!this.lightbulbClasses.some(K=>G.includes(K))){q=!0;break}}let H=M,z=1;if(!x){const Q=G=>{const K=T.getLineContent(G);return/^\s*$|^\s+/.test(K)||K.length<=z};if(M>1&&!W(M-1)){const G=T.getLineCount(),K=M===G,R=M>1&&Q(M-1),J=!K&&Q(M+1),ie=Q(M),ue=!J&&!R;if(!J&&!R&&!q)return this.gutterState=new C.Showing(v,w,S,{position:{lineNumber:H,column:z},preference:g._posPref}),this.renderGutterLightbub(),this.hide();R||K||R&&!ie?H-=1:(J||ue&&ie)&&(H+=1)}else if(M===1&&(M===T.getLineCount()||!Q(M+1)&&!Q(M)))if(this.gutterState=new C.Showing(v,w,S,{position:{lineNumber:H,column:z},preference:g._posPref}),q)this.gutterHide();else return this.renderGutterLightbub(),this.hide();else if(M{this._gutterDecorationID=w.addDecoration(new s.Range(v,0,v,0),this.gutterDecoration)})}_removeGutterDecoration(v){this._editor.changeDecorations(w=>{w.removeDecoration(v),this._gutterDecorationID=void 0})}_updateGutterDecoration(v,w){this._editor.changeDecorations(S=>{S.changeDecoration(v,new s.Range(w,0,w,0)),S.changeDecorationOptions(v,this.gutterDecoration)})}_updateLightbulbTitle(v,w){this.state.type===1&&(w?this.title=o.localize(790,"Run: {0}",this.state.actions.validActions[0].action.title):v&&this._preferredKbLabel?this.title=o.localize(791,"Show Code Actions. Preferred Quick Fix Available ({0})",this._preferredKbLabel):!v&&this._quickFixKbLabel?this.title=o.localize(792,"Show Code Actions ({0})",this._quickFixKbLabel):v||(this.title=o.localize(793,"Show Code Actions")))}set title(v){this._domNode.title=v}};e.LightBulbWidget=f,e.LightBulbWidget=f=g=ke([ce(1,t.IKeybindingService)],f)}),define(ne[287],se([1,0,5,46,8,98,2,9,35,17,157,733,757,421,184,3,760,24,28,12,7,108,96,32,97,25,134,408,91,63]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r,u,C,f,h,v,w,S,L,D){"use strict";var T;Object.defineProperty(e,"__esModule",{value:!0}),e.CodeActionController=void 0;const M="quickfix-edit-highlight";let A=class extends y.Disposable{static{T=this}static{this.ID="editor.contrib.codeActionController"}static get(N){return N.getContribution(T.ID)}constructor(N,O,F,x,W,V,q,H,z,U,j){super(),this._commandService=q,this._configurationService=H,this._actionWidgetService=z,this._instantiationService=U,this._telemetryService=j,this._activeCodeActions=this._register(new y.MutableDisposable),this._showDisabled=!1,this._disposed=!1,this._editor=N,this._model=this._register(new S.CodeActionModel(this._editor,W.codeActionProvider,O,F,V,H,this._telemetryService)),this._register(this._model.onDidChangeState(Q=>this.update(Q))),this._lightBulbWidget=new E.Lazy(()=>{const Q=this._editor.getContribution(t.LightBulbWidget.ID);return Q&&this._register(Q.onClick(G=>this.showCodeActionsFromLightbulb(G.actions,G))),Q}),this._resolver=x.createInstance(n.CodeActionKeybindingResolver),this._register(this._editor.onDidLayoutChange(()=>this._actionWidgetService.hide()))}dispose(){this._disposed=!0,super.dispose()}async showCodeActionsFromLightbulb(N,O){if(N.allAIFixes&&N.validActions.length===1){const F=N.validActions[0],x=F.action.command;x&&x.id==="inlineChat.start"&&x.arguments&&x.arguments.length>=1&&(x.arguments[0]={...x.arguments[0],autoSend:!1}),await this._applyCodeAction(F,!1,!1,p.ApplyCodeActionReason.FromAILightbulb);return}await this.showCodeActionList(N,O,{includeDisabledActions:!1,fromLightbulb:!0})}showCodeActions(N,O,F){return this.showCodeActionList(O,F,{includeDisabledActions:!1,fromLightbulb:!1})}manualTriggerAtCurrentPosition(N,O,F,x){if(!this._editor.hasModel())return;i.MessageController.get(this._editor)?.closeMessage();const W=this._editor.getPosition();this._trigger({type:1,triggerAction:O,filter:F,autoApply:x,context:{notAvailableMessage:N,position:W}})}_trigger(N){return this._model.trigger(N)}async _applyCodeAction(N,O,F,x){try{await this._instantiationService.invokeFunction(p.applyCodeAction,N,x,{preview:F,editor:this._editor})}finally{O&&this._trigger({type:2,triggerAction:w.CodeActionTriggerSource.QuickFix,filter:{}})}}hideLightBulbWidget(){this._lightBulbWidget.rawValue?.hide(),this._lightBulbWidget.rawValue?.gutterHide()}async update(N){if(N.type!==1){this.hideLightBulbWidget();return}let O;try{O=await N.actions}catch(x){(0,I.onUnexpectedError)(x);return}if(!(this._disposed||this._editor.getSelection()?.startLineNumber!==N.position.lineNumber))if(this._lightBulbWidget.value?.update(O,N.trigger,N.position),N.trigger.type===1){if(N.trigger.filter?.include){const W=this.tryGetValidActionToApply(N.trigger,O);if(W){try{this.hideLightBulbWidget(),await this._applyCodeAction(W,!1,!1,p.ApplyCodeActionReason.FromCodeActions)}finally{O.dispose()}return}if(N.trigger.context){const V=this.getInvalidActionThatWouldHaveBeenApplied(N.trigger,O);if(V&&V.action.disabled){i.MessageController.get(this._editor)?.showMessage(V.action.disabled,N.trigger.context.position),O.dispose();return}}}const x=!!N.trigger.filter?.include;if(N.trigger.context&&(!O.allActions.length||!x&&!O.validActions.length)){i.MessageController.get(this._editor)?.showMessage(N.trigger.context.notAvailableMessage,N.trigger.context.position),this._activeCodeActions.value=O,O.dispose();return}this._activeCodeActions.value=O,this.showCodeActionList(O,this.toCoords(N.position),{includeDisabledActions:x,fromLightbulb:!1})}else this._actionWidgetService.isVisible?O.dispose():this._activeCodeActions.value=O}getInvalidActionThatWouldHaveBeenApplied(N,O){if(O.allActions.length&&(N.autoApply==="first"&&O.validActions.length===0||N.autoApply==="ifSingle"&&O.allActions.length===1))return O.allActions.find(({action:F})=>F.disabled)}tryGetValidActionToApply(N,O){if(O.validActions.length&&(N.autoApply==="first"&&O.validActions.length>0||N.autoApply==="ifSingle"&&O.validActions.length===1))return O.validActions[0]}static{this.DECORATION=_.ModelDecorationOptions.register({description:"quickfix-highlight",className:M})}async showCodeActionList(N,O,F){const x=this._editor.createDecorationsCollection(),W=this._editor.getDomNode();if(!W)return;const V=F.includeDisabledActions&&(this._showDisabled||N.validActions.length===0)?N.allActions:N.validActions;if(!V.length)return;const q=m.Position.isIPosition(O)?this.toCoords(O):O,H={onSelect:async(z,U)=>{this._applyCodeAction(z,!0,!!U,F.fromLightbulb?p.ApplyCodeActionReason.FromAILightbulb:p.ApplyCodeActionReason.FromCodeActions),this._actionWidgetService.hide(!1),x.clear()},onHide:z=>{this._editor?.focus(),x.clear()},onHover:async(z,U)=>{if(U.isCancellationRequested)return;let j=!1;const Q=z.action.kind;if(Q){const G=new L.HierarchicalKind(Q);j=[w.CodeActionKind.RefactorExtract,w.CodeActionKind.RefactorInline,w.CodeActionKind.RefactorRewrite,w.CodeActionKind.RefactorMove,w.CodeActionKind.Source].some(R=>R.contains(G))}return{canPreview:j||!!z.action.edit?.edits.length}},onFocus:z=>{if(z&&z.action){const U=z.action.ranges,j=z.action.diagnostics;if(x.clear(),U&&U.length>0){const Q=j&&j?.length>1?j.map(G=>({range:G,options:T.DECORATION})):U.map(G=>({range:G,options:T.DECORATION}));x.set(Q)}else if(j&&j.length>0){const Q=j.map(K=>({range:K,options:T.DECORATION}));x.set(Q);const G=j[0];if(G.startLineNumber&&G.startColumn){const K=this._editor.getModel()?.getWordAtPosition({lineNumber:G.startLineNumber,column:G.startColumn})?.word;k.status((0,s.localize)(774,"Context: {0} at line {1} and column {2}.",K,G.startLineNumber,G.startColumn))}}}else x.clear()}};this._actionWidgetService.show("codeActionWidget",!0,(0,o.toMenuItems)(V,this._shouldShowHeaders(),this._resolver.getResolver()),H,q,W,this._getActionBarActions(N,O,F))}toCoords(N){if(!this._editor.hasModel())return{x:0,y:0};this._editor.revealPosition(N,1),this._editor.render();const O=this._editor.getScrolledVisiblePosition(N),F=(0,d.getDomNodePagePosition)(this._editor.getDomNode()),x=F.left+O.left,W=F.top+O.top+O.height;return{x,y:W}}_shouldShowHeaders(){const N=this._editor?.getModel();return this._configurationService.getValue("editor.codeActionWidget.showHeaders",{resource:N?.uri})}_getActionBarActions(N,O,F){if(F.fromLightbulb)return[];const x=N.documentation.map(W=>({id:W.id,label:W.title,tooltip:W.tooltip??"",class:void 0,enabled:!0,run:()=>this._commandService.executeCommand(W.id,...W.arguments??[])}));return F.includeDisabledActions&&N.validActions.length>0&&N.allActions.length!==N.validActions.length&&x.push(this._showDisabled?{id:"hideMoreActions",label:(0,s.localize)(775,"Hide Disabled"),enabled:!0,tooltip:"",class:void 0,run:()=>(this._showDisabled=!1,this.showCodeActionList(N,O,F))}:{id:"showMoreActions",label:(0,s.localize)(776,"Show Disabled"),enabled:!0,tooltip:"",class:void 0,run:()=>(this._showDisabled=!0,this.showCodeActionList(N,O,F))}),x}};e.CodeActionController=A,e.CodeActionController=A=T=ke([ce(1,u.IMarkerService),ce(2,a.IContextKeyService),ce(3,r.IInstantiationService),ce(4,b.ILanguageFeaturesService),ce(5,C.IEditorProgressService),ce(6,c.ICommandService),ce(7,l.IConfigurationService),ce(8,g.IActionWidgetService),ce(9,r.IInstantiationService),ce(10,D.ITelemetryService)],A),(0,v.registerThemingParticipant)((P,N)=>{((x,W)=>{W&&N.addRule(`.monaco-editor ${x} { background-color: ${W}; }`)})(".quickfix-edit-highlight",P.getColor(f.editorFindMatchHighlight));const F=P.getColor(f.editorFindMatchHighlightBorder);F&&N.addRule(`.monaco-editor .quickfix-edit-highlight { border: 1px ${(0,h.isHighContrast)(P.type)?"dotted":"solid"} ${F}; box-sizing: border-box; }`)})}),define(ne[816],se([1,0,91,11,15,20,157,3,12,134,287,408]),function(oe,e,d,k,I,E,y,m,_,b,p,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.AutoFixAction=e.FixAllAction=e.OrganizeImportsAction=e.SourceAction=e.RefactorAction=e.CodeActionCommand=e.QuickFixAction=void 0;function o(C){return _.ContextKeyExpr.regex(n.SUPPORTED_CODE_ACTIONS.keys()[0],new RegExp("(\\s|^)"+(0,k.escapeRegExpCharacters)(C.value)+"\\b"))}const t={type:"object",defaultSnippets:[{body:{kind:""}}],properties:{kind:{type:"string",description:m.localize(743,"Kind of the code action to run.")},apply:{type:"string",description:m.localize(744,"Controls when the returned actions are applied."),default:"ifSingle",enum:["first","ifSingle","never"],enumDescriptions:[m.localize(745,"Always apply the first returned code action."),m.localize(746,"Apply the first returned code action if it is the only one."),m.localize(747,"Do not apply the returned code actions.")]},preferred:{type:"boolean",default:!1,description:m.localize(748,"Controls if only preferred code actions should be returned.")}}};function i(C,f,h,v,w=b.CodeActionTriggerSource.Default){C.hasModel()&&p.CodeActionController.get(C)?.manualTriggerAtCurrentPosition(f,w,h,v)}class s extends I.EditorAction{constructor(){super({id:y.quickFixCommandId,label:m.localize(749,"Quick Fix..."),alias:"Quick Fix...",precondition:_.ContextKeyExpr.and(E.EditorContextKeys.writable,E.EditorContextKeys.hasCodeActionsProvider),kbOpts:{kbExpr:E.EditorContextKeys.textInputFocus,primary:2137,weight:100}})}run(f,h){return i(h,m.localize(750,"No code actions available"),void 0,void 0,b.CodeActionTriggerSource.QuickFix)}}e.QuickFixAction=s;class g extends I.EditorCommand{constructor(){super({id:y.codeActionCommandId,precondition:_.ContextKeyExpr.and(E.EditorContextKeys.writable,E.EditorContextKeys.hasCodeActionsProvider),metadata:{description:"Trigger a code action",args:[{name:"args",schema:t}]}})}runEditorCommand(f,h,v){const w=b.CodeActionCommandArgs.fromUser(v,{kind:d.HierarchicalKind.Empty,apply:"ifSingle"});return i(h,typeof v?.kind=="string"?w.preferred?m.localize(751,"No preferred code actions for '{0}' available",v.kind):m.localize(752,"No code actions for '{0}' available",v.kind):w.preferred?m.localize(753,"No preferred code actions available"):m.localize(754,"No code actions available"),{include:w.kind,includeSourceActions:!0,onlyIncludePreferredActions:w.preferred},w.apply)}}e.CodeActionCommand=g;class c extends I.EditorAction{constructor(){super({id:y.refactorCommandId,label:m.localize(755,"Refactor..."),alias:"Refactor...",precondition:_.ContextKeyExpr.and(E.EditorContextKeys.writable,E.EditorContextKeys.hasCodeActionsProvider),kbOpts:{kbExpr:E.EditorContextKeys.textInputFocus,primary:3120,mac:{primary:1328},weight:100},contextMenuOpts:{group:"1_modification",order:2,when:_.ContextKeyExpr.and(E.EditorContextKeys.writable,o(b.CodeActionKind.Refactor))},metadata:{description:"Refactor...",args:[{name:"args",schema:t}]}})}run(f,h,v){const w=b.CodeActionCommandArgs.fromUser(v,{kind:b.CodeActionKind.Refactor,apply:"never"});return i(h,typeof v?.kind=="string"?w.preferred?m.localize(756,"No preferred refactorings for '{0}' available",v.kind):m.localize(757,"No refactorings for '{0}' available",v.kind):w.preferred?m.localize(758,"No preferred refactorings available"):m.localize(759,"No refactorings available"),{include:b.CodeActionKind.Refactor.contains(w.kind)?w.kind:d.HierarchicalKind.None,onlyIncludePreferredActions:w.preferred},w.apply,b.CodeActionTriggerSource.Refactor)}}e.RefactorAction=c;class l extends I.EditorAction{constructor(){super({id:y.sourceActionCommandId,label:m.localize(760,"Source Action..."),alias:"Source Action...",precondition:_.ContextKeyExpr.and(E.EditorContextKeys.writable,E.EditorContextKeys.hasCodeActionsProvider),contextMenuOpts:{group:"1_modification",order:2.1,when:_.ContextKeyExpr.and(E.EditorContextKeys.writable,o(b.CodeActionKind.Source))},metadata:{description:"Source Action...",args:[{name:"args",schema:t}]}})}run(f,h,v){const w=b.CodeActionCommandArgs.fromUser(v,{kind:b.CodeActionKind.Source,apply:"never"});return i(h,typeof v?.kind=="string"?w.preferred?m.localize(761,"No preferred source actions for '{0}' available",v.kind):m.localize(762,"No source actions for '{0}' available",v.kind):w.preferred?m.localize(763,"No preferred source actions available"):m.localize(764,"No source actions available"),{include:b.CodeActionKind.Source.contains(w.kind)?w.kind:d.HierarchicalKind.None,includeSourceActions:!0,onlyIncludePreferredActions:w.preferred},w.apply,b.CodeActionTriggerSource.SourceAction)}}e.SourceAction=l;class a extends I.EditorAction{constructor(){super({id:y.organizeImportsCommandId,label:m.localize(765,"Organize Imports"),alias:"Organize Imports",precondition:_.ContextKeyExpr.and(E.EditorContextKeys.writable,o(b.CodeActionKind.SourceOrganizeImports)),kbOpts:{kbExpr:E.EditorContextKeys.textInputFocus,primary:1581,weight:100}})}run(f,h){return i(h,m.localize(766,"No organize imports action available"),{include:b.CodeActionKind.SourceOrganizeImports,includeSourceActions:!0},"ifSingle",b.CodeActionTriggerSource.OrganizeImports)}}e.OrganizeImportsAction=a;class r extends I.EditorAction{constructor(){super({id:y.fixAllCommandId,label:m.localize(767,"Fix All"),alias:"Fix All",precondition:_.ContextKeyExpr.and(E.EditorContextKeys.writable,o(b.CodeActionKind.SourceFixAll))})}run(f,h){return i(h,m.localize(768,"No fix all action available"),{include:b.CodeActionKind.SourceFixAll,includeSourceActions:!0},"ifSingle",b.CodeActionTriggerSource.FixAll)}}e.FixAllAction=r;class u extends I.EditorAction{constructor(){super({id:y.autoFixCommandId,label:m.localize(769,"Auto Fix..."),alias:"Auto Fix...",precondition:_.ContextKeyExpr.and(E.EditorContextKeys.writable,o(b.CodeActionKind.QuickFix)),kbOpts:{kbExpr:E.EditorContextKeys.textInputFocus,primary:1625,mac:{primary:2649},weight:100}})}run(f,h){return i(h,m.localize(770,"No auto fixes available"),{include:b.CodeActionKind.QuickFix,onlyIncludePreferredActions:!0},"ifSingle",b.CodeActionTriggerSource.AutoFix)}}e.AutoFixAction=u}),define(ne[817],se([1,0,15,274,816,287,421,3,109,38]),function(oe,e,d,k,I,E,y,m,_,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),(0,d.registerEditorContribution)(E.CodeActionController.ID,E.CodeActionController,3),(0,d.registerEditorContribution)(y.LightBulbWidget.ID,y.LightBulbWidget,4),(0,d.registerEditorAction)(I.QuickFixAction),(0,d.registerEditorAction)(I.RefactorAction),(0,d.registerEditorAction)(I.SourceAction),(0,d.registerEditorAction)(I.OrganizeImportsAction),(0,d.registerEditorAction)(I.AutoFixAction),(0,d.registerEditorAction)(I.FixAllAction),(0,d.registerEditorCommand)(new I.CodeActionCommand),b.Registry.as(_.Extensions.Configuration).registerConfiguration({...k.editorConfigurationBaseNode,properties:{"editor.codeActionWidget.showHeaders":{type:"boolean",scope:5,description:m.localize(771,"Enable/disable showing group headers in the Code Action menu."),default:!0}}}),b.Registry.as(_.Extensions.Configuration).registerConfiguration({...k.editorConfigurationBaseNode,properties:{"editor.codeActionWidget.includeNearbyQuickFixes":{type:"boolean",scope:5,description:m.localize(772,"Enable/disable showing nearest Quick Fix within a line when not currently on a diagnostic."),default:!0}}}),b.Registry.as(_.Extensions.Configuration).registerConfiguration({...k.editorConfigurationBaseNode,properties:{"editor.codeActions.triggerOnFocusChange":{type:"boolean",scope:5,markdownDescription:m.localize(773,"Enable triggering {0} when {1} is set to {2}. Code Actions must be set to {3} to be triggered for window and focus changes.","`#editor.codeActionsOnSave#`","`#files.autoSave#`","`afterDelay`","`always`"),default:!1}}})}),define(ne[818],se([1,0,5,114,4,35,506]),function(oe,e,d,k,I,E){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CodeLensWidget=e.CodeLensHelper=void 0;class y{constructor(o,t,i){this.afterColumn=1073741824,this.afterLineNumber=o,this.heightInPx=t,this._onHeight=i,this.suppressMouseDown=!0,this.domNode=document.createElement("div")}onComputedHeight(o){this._lastHeight===void 0?this._lastHeight=o:this._lastHeight!==o&&(this._lastHeight=o,this._onHeight())}isVisible(){return this._lastHeight!==0&&this.domNode.hasAttribute("monaco-visible-view-zone")}}class m{static{this._idPool=0}constructor(o,t){this.allowEditorOverflow=!1,this.suppressMouseDown=!0,this._commands=new Map,this._isEmpty=!0,this._editor=o,this._id=`codelens.widget-${m._idPool++}`,this.updatePosition(t),this._domNode=document.createElement("span"),this._domNode.className="codelens-decoration"}withCommands(o,t){this._commands.clear();const i=[];let s=!1;for(let g=0;g{r.symbol.command&&a.push(r.symbol),i.addDecoration({range:r.symbol.range,options:b},C=>this._decorationIds[u]=C),l?l=I.Range.plusRange(l,r.symbol.range):l=I.Range.lift(r.symbol.range)}),this._viewZone=new y(l.startLineNumber-1,g,c),this._viewZoneId=s.addZone(this._viewZone),a.length>0&&(this._createContentWidgetIfNecessary(),this._contentWidget.withCommands(a,!1))}_createContentWidgetIfNecessary(){this._contentWidget?this._editor.layoutContentWidget(this._contentWidget):(this._contentWidget=new m(this._editor,this._viewZone.afterLineNumber+1),this._editor.addContentWidget(this._contentWidget))}dispose(o,t){this._decorationIds.forEach(o.removeDecoration,o),this._decorationIds=[],t?.removeZone(this._viewZoneId),this._contentWidget&&(this._editor.removeContentWidget(this._contentWidget),this._contentWidget=void 0),this._isDisposed=!0}isDisposed(){return this._isDisposed}isValid(){return this._decorationIds.some((o,t)=>{const i=this._editor.getModel().getDecorationRange(o),s=this._data[t].symbol;return!!(i&&I.Range.isEmpty(s.range)===i.isEmpty())})}updateCodeLensSymbols(o,t){this._decorationIds.forEach(t.removeDecoration,t),this._decorationIds=[],this._data=o,this._data.forEach((i,s)=>{t.addDecoration({range:i.symbol.range,options:b},g=>this._decorationIds[s]=g)})}updateHeight(o,t){this._viewZone.heightInPx=o,t.layoutZone(this._viewZoneId),this._contentWidget&&this._editor.layoutContentWidget(this._contentWidget)}computeIfNecessary(o){if(!this._viewZone.isVisible())return null;for(let t=0;tthis._resolveCodeLensesInViewport(),this._resolveCodeLensesDebounce.default()),this._disposables.add(this._editor.onDidChangeModel(()=>this._onModelChange())),this._disposables.add(this._editor.onDidChangeModelLanguage(()=>this._onModelChange())),this._disposables.add(this._editor.onDidChangeConfiguration(w=>{(w.hasChanged(50)||w.hasChanged(19)||w.hasChanged(18))&&this._updateLensStyle(),w.hasChanged(17)&&this._onModelChange()})),this._disposables.add(u.codeLensProvider.onDidChange(this._onModelChange,this)),this._onModelChange(),this._updateLensStyle()}dispose(){this._localDispose(),this._disposables.dispose(),this._oldCodeLensModels.dispose(),this._currentCodeLensModel?.dispose()}_getLayoutInfo(){const r=Math.max(1.3,this._editor.getOption(67)/this._editor.getOption(52));let u=this._editor.getOption(19);return(!u||u<5)&&(u=this._editor.getOption(52)*.9|0),{fontSize:u,codeLensHeight:u*r|0}}_updateLensStyle(){const{codeLensHeight:r,fontSize:u}=this._getLayoutInfo(),C=this._editor.getOption(18),f=this._editor.getOption(50),{style:h}=this._editor.getContainerDomNode();h.setProperty("--vscode-editorCodeLens-lineHeight",`${r}px`),h.setProperty("--vscode-editorCodeLens-fontSize",`${u}px`),h.setProperty("--vscode-editorCodeLens-fontFeatureSettings",f.fontFeatureSettings),C&&(h.setProperty("--vscode-editorCodeLens-fontFamily",C),h.setProperty("--vscode-editorCodeLens-fontFamilyDefault",m.EDITOR_FONT_DEFAULTS.fontFamily)),this._editor.changeViewZones(v=>{for(const w of this._lenses)w.updateHeight(r,v)})}_localDispose(){this._getCodeLensModelPromise?.cancel(),this._getCodeLensModelPromise=void 0,this._resolveCodeLensesPromise?.cancel(),this._resolveCodeLensesPromise=void 0,this._localToDispose.clear(),this._oldCodeLensModels.clear(),this._currentCodeLensModel?.dispose()}_onModelChange(){this._localDispose();const r=this._editor.getModel();if(!r||!this._editor.getOption(17)||r.isTooLargeForTokenization())return;const u=this._codeLensCache.get(r);if(u&&this._renderCodeLensSymbols(u),!this._languageFeaturesService.codeLensProvider.has(r)){u&&(0,d.disposableTimeout)(()=>{const f=this._codeLensCache.get(r);u===f&&(this._codeLensCache.delete(r),this._onModelChange())},30*1e3,this._localToDispose);return}for(const f of this._languageFeaturesService.codeLensProvider.all(r))if(typeof f.onDidChange=="function"){const h=f.onDidChange(()=>C.schedule());this._localToDispose.add(h)}const C=new d.RunOnceScheduler(()=>{const f=Date.now();this._getCodeLensModelPromise?.cancel(),this._getCodeLensModelPromise=(0,d.createCancelablePromise)(h=>(0,b.getCodeLensModel)(this._languageFeaturesService.codeLensProvider,r,h)),this._getCodeLensModelPromise.then(h=>{this._currentCodeLensModel&&this._oldCodeLensModels.add(this._currentCodeLensModel),this._currentCodeLensModel=h,this._codeLensCache.put(r,h);const v=this._provideCodeLensDebounce.update(r,Date.now()-f);C.delay=v,this._renderCodeLensSymbols(h),this._resolveCodeLensesInViewportSoon()},k.onUnexpectedError)},this._provideCodeLensDebounce.get(r));this._localToDispose.add(C),this._localToDispose.add((0,I.toDisposable)(()=>this._resolveCodeLensesScheduler.cancel())),this._localToDispose.add(this._editor.onDidChangeModelContent(()=>{this._editor.changeDecorations(f=>{this._editor.changeViewZones(h=>{const v=[];let w=-1;this._lenses.forEach(L=>{!L.isValid()||w===L.getLineNumber()?v.push(L):(L.update(h),w=L.getLineNumber())});const S=new n.CodeLensHelper;v.forEach(L=>{L.dispose(S,h),this._lenses.splice(this._lenses.indexOf(L),1)}),S.commit(f)})}),C.schedule(),this._resolveCodeLensesScheduler.cancel(),this._resolveCodeLensesPromise?.cancel(),this._resolveCodeLensesPromise=void 0})),this._localToDispose.add(this._editor.onDidFocusEditorText(()=>{C.schedule()})),this._localToDispose.add(this._editor.onDidBlurEditorText(()=>{C.cancel()})),this._localToDispose.add(this._editor.onDidScrollChange(f=>{f.scrollTopChanged&&this._lenses.length>0&&this._resolveCodeLensesInViewportSoon()})),this._localToDispose.add(this._editor.onDidLayoutChange(()=>{this._resolveCodeLensesInViewportSoon()})),this._localToDispose.add((0,I.toDisposable)(()=>{if(this._editor.getModel()){const f=E.StableEditorScrollState.capture(this._editor);this._editor.changeDecorations(h=>{this._editor.changeViewZones(v=>{this._disposeAllLenses(h,v)})}),f.restore(this._editor)}else this._disposeAllLenses(void 0,void 0)})),this._localToDispose.add(this._editor.onMouseDown(f=>{if(f.target.type!==9)return;let h=f.target.element;if(h?.tagName==="SPAN"&&(h=h.parentElement),h?.tagName==="A")for(const v of this._lenses){const w=v.getCommand(h);if(w){this._commandService.executeCommand(w.id,...w.arguments||[]).catch(S=>this._notificationService.error(S));break}}})),C.schedule()}_disposeAllLenses(r,u){const C=new n.CodeLensHelper;for(const f of this._lenses)f.dispose(C,u);r&&C.commit(r),this._lenses.length=0}_renderCodeLensSymbols(r){if(!this._editor.hasModel())return;const u=this._editor.getModel().getLineCount(),C=[];let f;for(const w of r.lenses){const S=w.symbol.range.startLineNumber;S<1||S>u||(f&&f[f.length-1].symbol.range.startLineNumber===S?f.push(w):(f=[w],C.push(f)))}if(!C.length&&!this._lenses.length)return;const h=E.StableEditorScrollState.capture(this._editor),v=this._getLayoutInfo();this._editor.changeDecorations(w=>{this._editor.changeViewZones(S=>{const L=new n.CodeLensHelper;let D=0,T=0;for(;Tthis._resolveCodeLensesInViewportSoon())),D++,T++)}for(;Dthis._resolveCodeLensesInViewportSoon())),T++;L.commit(w)})}),h.restore(this._editor)}_resolveCodeLensesInViewportSoon(){this._editor.getModel()&&this._resolveCodeLensesScheduler.schedule()}_resolveCodeLensesInViewport(){this._resolveCodeLensesPromise?.cancel(),this._resolveCodeLensesPromise=void 0;const r=this._editor.getModel();if(!r)return;const u=[],C=[];if(this._lenses.forEach(v=>{const w=v.computeIfNecessary(r);w&&(u.push(w),C.push(v))}),u.length===0)return;const f=Date.now(),h=(0,d.createCancelablePromise)(v=>{const w=u.map((S,L)=>{const D=new Array(S.length),T=S.map((M,A)=>!M.symbol.command&&typeof M.provider.resolveCodeLens=="function"?Promise.resolve(M.provider.resolveCodeLens(r,M.symbol,v)).then(P=>{D[A]=P},k.onUnexpectedExternalError):(D[A]=M.symbol,Promise.resolve(void 0)));return Promise.all(T).then(()=>{!v.isCancellationRequested&&!C[L].isDisposed()&&C[L].updateCommands(D)})});return Promise.all(w)});this._resolveCodeLensesPromise=h,this._resolveCodeLensesPromise.then(()=>{const v=this._resolveCodeLensesDebounce.update(r,Date.now()-f);this._resolveCodeLensesScheduler.delay=v,this._currentCodeLensModel&&this._codeLensCache.put(r,this._currentCodeLensModel),this._oldCodeLensModels.clear(),h===this._resolveCodeLensesPromise&&(this._resolveCodeLensesPromise=void 0)},v=>{(0,k.onUnexpectedError)(v),h===this._resolveCodeLensesPromise&&(this._resolveCodeLensesPromise=void 0)})}async getModel(){return await this._getCodeLensModelPromise,await this._resolveCodeLensesPromise,this._currentCodeLensModel?.isDisposed?void 0:this._currentCodeLensModel}};e.CodeLensContribution=l,e.CodeLensContribution=l=ke([ce(1,c.ILanguageFeaturesService),ce(2,g.ILanguageFeatureDebounceService),ce(3,t.ICommandService),ce(4,i.INotificationService),ce(5,p.ICodeLensCache)],l),(0,y.registerEditorContribution)(l.ID,l,1),(0,y.registerEditorAction)(class extends y.EditorAction{constructor(){super({id:"codelens.showLensesInCurrentLine",precondition:_.EditorContextKeys.hasCodeLensProvider,label:(0,o.localize)(794,"Show CodeLens Commands For Current Line"),alias:"Show CodeLens Commands For Current Line"})}async run(r,u){if(!u.hasModel())return;const C=r.get(s.IQuickInputService),f=r.get(t.ICommandService),h=r.get(i.INotificationService),v=u.getSelection().positionLineNumber,w=u.getContribution(l.ID);if(!w)return;const S=await w.getModel();if(!S)return;const L=[];for(const M of S.lenses)M.symbol.command&&M.symbol.range.startLineNumber===v&&L.push({label:M.symbol.command.title,command:M.symbol.command});if(L.length===0)return;const D=await C.pick(L,{canPickMany:!1,placeHolder:(0,o.localize)(795,"Select a command")});if(!D)return;let T=D.command;if(S.isDisposed){const A=(await w.getModel())?.lenses.find(P=>P.symbol.range.startLineNumber===v&&P.symbol.command?.title===T.title);if(!A||!A.symbol.command)return;T=A.symbol.command}try{await f.executeCommand(T.id,...T.arguments||[])}catch(M){h.error(M)}}})}),define(ne[422],se([1,0,14,33,8,6,2,54,11,185,15,4,35,79,17,388,28]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g){"use strict";var c;Object.defineProperty(e,"__esModule",{value:!0}),e.DecoratorLimitReporter=e.ColorDetector=e.ColorDecorationInjectedTextMarker=void 0,e.ColorDecorationInjectedTextMarker=Object.create({});let l=class extends y.Disposable{static{c=this}static{this.ID="editor.contrib.colorDetector"}static{this.RECOMPUTE_TIME=1e3}constructor(u,C,f,h){super(),this._editor=u,this._configurationService=C,this._languageFeaturesService=f,this._localToDispose=this._register(new y.DisposableStore),this._decorationsIds=[],this._colorDatas=new Map,this._colorDecoratorIds=this._editor.createDecorationsCollection(),this._ruleFactory=new b.DynamicCssRules(this._editor),this._decoratorLimitReporter=new a,this._colorDecorationClassRefs=this._register(new y.DisposableStore),this._debounceInformation=h.for(f.colorProvider,"Document Colors",{min:c.RECOMPUTE_TIME}),this._register(u.onDidChangeModel(()=>{this._isColorDecoratorsEnabled=this.isEnabled(),this.updateColors()})),this._register(u.onDidChangeModelLanguage(()=>this.updateColors())),this._register(f.colorProvider.onDidChange(()=>this.updateColors())),this._register(u.onDidChangeConfiguration(v=>{const w=this._isColorDecoratorsEnabled;this._isColorDecoratorsEnabled=this.isEnabled(),this._isDefaultColorDecoratorsEnabled=this._editor.getOption(148);const S=w!==this._isColorDecoratorsEnabled||v.hasChanged(21),L=v.hasChanged(148);(S||L)&&(this._isColorDecoratorsEnabled?this.updateColors():this.removeAllDecorations())})),this._timeoutTimer=null,this._computePromise=null,this._isColorDecoratorsEnabled=this.isEnabled(),this._isDefaultColorDecoratorsEnabled=this._editor.getOption(148),this.updateColors()}isEnabled(){const u=this._editor.getModel();if(!u)return!1;const C=u.getLanguageId(),f=this._configurationService.getValue(C);if(f&&typeof f=="object"){const h=f.colorDecorators;if(h&&h.enable!==void 0&&!h.enable)return h.enable}return this._editor.getOption(20)}static get(u){return u.getContribution(this.ID)}dispose(){this.stop(),this.removeAllDecorations(),super.dispose()}updateColors(){if(this.stop(),!this._isColorDecoratorsEnabled)return;const u=this._editor.getModel();!u||!this._languageFeaturesService.colorProvider.has(u)||(this._localToDispose.add(this._editor.onDidChangeModelContent(()=>{this._timeoutTimer||(this._timeoutTimer=new d.TimeoutTimer,this._timeoutTimer.cancelAndSet(()=>{this._timeoutTimer=null,this.beginCompute()},this._debounceInformation.get(u)))})),this.beginCompute())}async beginCompute(){this._computePromise=(0,d.createCancelablePromise)(async u=>{const C=this._editor.getModel();if(!C)return[];const f=new m.StopWatch(!1),h=await(0,s.getColors)(this._languageFeaturesService.colorProvider,C,u,this._isDefaultColorDecoratorsEnabled);return this._debounceInformation.update(C,f.elapsed()),h});try{const u=await this._computePromise;this.updateDecorations(u),this.updateColorDecorators(u),this._computePromise=null}catch(u){(0,I.onUnexpectedError)(u)}}stop(){this._timeoutTimer&&(this._timeoutTimer.cancel(),this._timeoutTimer=null),this._computePromise&&(this._computePromise.cancel(),this._computePromise=null),this._localToDispose.clear()}updateDecorations(u){const C=u.map(f=>({range:{startLineNumber:f.colorInfo.range.startLineNumber,startColumn:f.colorInfo.range.startColumn,endLineNumber:f.colorInfo.range.endLineNumber,endColumn:f.colorInfo.range.endColumn},options:o.ModelDecorationOptions.EMPTY}));this._editor.changeDecorations(f=>{this._decorationsIds=f.deltaDecorations(this._decorationsIds,C),this._colorDatas=new Map,this._decorationsIds.forEach((h,v)=>this._colorDatas.set(h,u[v]))})}updateColorDecorators(u){this._colorDecorationClassRefs.clear();const C=[],f=this._editor.getOption(21);for(let v=0;vthis._colorDatas.has(h.id));return f.length===0?null:this._colorDatas.get(f[0].id)}isColorDecoration(u){return this._colorDecoratorIds.has(u)}};e.ColorDetector=l,e.ColorDetector=l=c=ke([ce(1,g.IConfigurationService),ce(2,i.ILanguageFeaturesService),ce(3,t.ILanguageFeatureDebounceService)],l);class a{constructor(){this._onDidChange=new E.Emitter,this._computed=0,this._limited=!1}update(u,C){(u!==this._computed||C!==this._limited)&&(this._computed=u,this._limited=C,this._onDidChange.fire())}}e.DecoratorLimitReporter=a,(0,p.registerEditorContribution)(l.ID,l,1)}),define(ne[288],se([1,0,14,18,33,2,4,388,422,608,763,84,25,5]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.StandaloneColorPickerParticipant=e.StandaloneColorPickerHover=e.ColorHoverParticipant=e.ColorHover=void 0;class i{constructor(f,h,v,w){this.owner=f,this.range=h,this.model=v,this.provider=w,this.forceShowAtRange=!0}isValidForHoverAnchor(f){return f.type===1&&this.range.startColumn<=f.range.startColumn&&this.range.endColumn>=f.range.endColumn}}e.ColorHover=i;let s=class{constructor(f,h){this._editor=f,this._themeService=h,this.hoverOrdinal=2}computeSync(f,h){return[]}computeAsync(f,h,v){return d.AsyncIterableObject.fromPromise(this._computeAsync(f,h,v))}async _computeAsync(f,h,v){if(!this._editor.hasModel())return[];const w=_.ColorDetector.get(this._editor);if(!w)return[];for(const S of h){if(!w.isColorDecoration(S))continue;const L=w.getColorData(S.range.getStartPosition());if(L)return[await l(this,this._editor.getModel(),L.colorInfo,L.provider)]}return[]}renderHoverParts(f,h){const v=a(this,this._editor,this._themeService,h,f);if(!v)return new n.RenderedHoverParts([]);this._colorPicker=v.colorPicker;const w={hoverPart:v.hoverPart,hoverElement:this._colorPicker.domNode,dispose(){v.disposables.dispose()}};return new n.RenderedHoverParts([w])}handleResize(){this._colorPicker?.layout()}isColorPickerVisible(){return!!this._colorPicker}};e.ColorHoverParticipant=s,e.ColorHoverParticipant=s=ke([ce(1,o.IThemeService)],s);class g{constructor(f,h,v,w){this.owner=f,this.range=h,this.model=v,this.provider=w}}e.StandaloneColorPickerHover=g;let c=class{constructor(f,h){this._editor=f,this._themeService=h,this._color=null}async createColorHover(f,h,v){if(!this._editor.hasModel()||!_.ColorDetector.get(this._editor))return null;const S=await(0,m.getColors)(v,this._editor.getModel(),k.CancellationToken.None);let L=null,D=null;for(const P of S){const N=P.colorInfo;y.Range.containsRange(N.range,f.range)&&(L=N,D=P.provider)}const T=L??f,M=D??h,A=!!L;return{colorHover:await l(this,this._editor.getModel(),T,M),foundInEditor:A}}async updateEditorModel(f){if(!this._editor.hasModel())return;const h=f.model;let v=new y.Range(f.range.startLineNumber,f.range.startColumn,f.range.endLineNumber,f.range.endColumn);this._color&&(await u(this._editor.getModel(),h,this._color,v,f),v=r(this._editor,v,h))}renderHoverParts(f,h){return a(this,this._editor,this._themeService,h,f)}set color(f){this._color=f}get color(){return this._color}};e.StandaloneColorPickerParticipant=c,e.StandaloneColorPickerParticipant=c=ke([ce(1,o.IThemeService)],c);async function l(C,f,h,v){const w=f.getValueInRange(h.range),{red:S,green:L,blue:D,alpha:T}=h.color,M=new I.RGBA(Math.round(S*255),Math.round(L*255),Math.round(D*255),T),A=new I.Color(M),P=await(0,m.getColorPresentations)(f,h,v,k.CancellationToken.None),N=new b.ColorPickerModel(A,[],0);return N.colorPresentations=P||[],N.guessColorPresentation(A,w),C instanceof s?new i(C,y.Range.lift(h.range),N,v):new g(C,y.Range.lift(h.range),N,v)}function a(C,f,h,v,w){if(v.length===0||!f.hasModel())return;if(w.setMinimumDimensions){const N=f.getOption(67)+8;w.setMinimumDimensions(new t.Dimension(302,N))}const S=new E.DisposableStore,L=v[0],D=f.getModel(),T=L.model,M=S.add(new p.ColorPickerWidget(w.fragment,T,f.getOption(144),h,C instanceof c));let A=!1,P=new y.Range(L.range.startLineNumber,L.range.startColumn,L.range.endLineNumber,L.range.endColumn);if(C instanceof c){const N=L.model.color;C.color=N,u(D,T,N,P,L),S.add(T.onColorFlushed(O=>{C.color=O}))}else S.add(T.onColorFlushed(async N=>{await u(D,T,N,P,L),A=!0,P=r(f,P,T)}));return S.add(T.onDidChangeColor(N=>{u(D,T,N,P,L)})),S.add(f.onDidChangeModelContent(N=>{A?A=!1:(w.hide(),f.focus())})),{hoverPart:L,colorPicker:M,disposables:S}}function r(C,f,h){const v=[],w=h.presentation.textEdit??{range:f,text:h.presentation.label,forceMoveMarkers:!1};v.push(w),h.presentation.additionalTextEdits&&v.push(...h.presentation.additionalTextEdits);const S=y.Range.lift(w.range),L=C.getModel()._setTrackedRange(null,S,3);return C.executeEdits("colorpicker",v),C.pushUndoStop(),C.getModel()._getTrackedRange(L)??S}async function u(C,f,h,v,w){const S=await(0,m.getColorPresentations)(C,{range:v,color:{red:h.rgba.r/255,green:h.rgba.g/255,blue:h.rgba.b/255,alpha:h.rgba.a}},w.provider,k.CancellationToken.None);f.colorPresentations=S||[]}}),define(ne[820],se([1,0,2,288,7,391,31,6,17,15,20,12,385,5,100,227]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i){"use strict";var s,g;Object.defineProperty(e,"__esModule",{value:!0}),e.StandaloneColorPickerWidget=e.StandaloneColorPickerController=void 0;let c=class extends d.Disposable{static{s=this}static{this.ID="editor.contrib.standaloneColorPickerController"}constructor(f,h,v){super(),this._editor=f,this._instantiationService=v,this._standaloneColorPickerWidget=null,this._standaloneColorPickerVisible=p.EditorContextKeys.standaloneColorPickerVisible.bindTo(h),this._standaloneColorPickerFocused=p.EditorContextKeys.standaloneColorPickerFocused.bindTo(h)}showOrFocus(){this._editor.hasModel()&&(this._standaloneColorPickerVisible.get()?this._standaloneColorPickerFocused.get()||this._standaloneColorPickerWidget?.focus():this._standaloneColorPickerWidget=this._instantiationService.createInstance(r,this._editor,this._standaloneColorPickerVisible,this._standaloneColorPickerFocused))}hide(){this._standaloneColorPickerFocused.set(!1),this._standaloneColorPickerVisible.set(!1),this._standaloneColorPickerWidget?.hide(),this._editor.focus()}insertColor(){this._standaloneColorPickerWidget?.updateEditor(),this.hide()}static get(f){return f.getContribution(s.ID)}};e.StandaloneColorPickerController=c,e.StandaloneColorPickerController=c=s=ke([ce(1,n.IContextKeyService),ce(2,I.IInstantiationService)],c),(0,b.registerEditorContribution)(c.ID,c,1);const l=8,a=22;let r=class extends d.Disposable{static{g=this}static{this.ID="editor.contrib.standaloneColorPickerWidget"}constructor(f,h,v,w,S,L,D){super(),this._editor=f,this._standaloneColorPickerVisible=h,this._standaloneColorPickerFocused=v,this._keybindingService=S,this._languageFeaturesService=L,this._editorWorkerService=D,this.allowEditorOverflow=!0,this._position=void 0,this._body=document.createElement("div"),this._colorHover=null,this._selectionSetInEditor=!1,this._onResult=this._register(new m.Emitter),this.onResult=this._onResult.event,this._standaloneColorPickerVisible.set(!0),this._standaloneColorPickerParticipant=w.createInstance(k.StandaloneColorPickerParticipant,this._editor),this._position=this._editor._getViewModel()?.getPrimaryCursorState().modelState.position;const T=this._editor.getSelection(),M=T?{startLineNumber:T.startLineNumber,startColumn:T.startColumn,endLineNumber:T.endLineNumber,endColumn:T.endColumn}:{startLineNumber:0,endLineNumber:0,endColumn:0,startColumn:0},A=this._register(t.trackFocus(this._body));this._register(A.onDidBlur(P=>{this.hide()})),this._register(A.onDidFocus(P=>{this.focus()})),this._register(this._editor.onDidChangeCursorPosition(()=>{this._selectionSetInEditor?this._selectionSetInEditor=!1:this.hide()})),this._register(this._editor.onMouseMove(P=>{const N=P.target.element?.classList;N&&N.contains("colorpicker-color-decoration")&&this.hide()})),this._register(this.onResult(P=>{this._render(P.value,P.foundInEditor)})),this._start(M),this._body.style.zIndex="50",this._editor.addContentWidget(this)}updateEditor(){this._colorHover&&this._standaloneColorPickerParticipant.updateEditorModel(this._colorHover)}getId(){return g.ID}getDomNode(){return this._body}getPosition(){if(!this._position)return null;const f=this._editor.getOption(60).above;return{position:this._position,secondaryPosition:this._position,preference:f?[1,2]:[2,1],positionAffinity:2}}hide(){this.dispose(),this._standaloneColorPickerVisible.set(!1),this._standaloneColorPickerFocused.set(!1),this._editor.removeContentWidget(this),this._editor.focus()}focus(){this._standaloneColorPickerFocused.set(!0),this._body.focus()}async _start(f){const h=await this._computeAsync(f);h&&this._onResult.fire(new u(h.result,h.foundInEditor))}async _computeAsync(f){if(!this._editor.hasModel())return null;const h={range:f,color:{red:0,green:0,blue:0,alpha:1}},v=await this._standaloneColorPickerParticipant.createColorHover(h,new o.DefaultDocumentColorProvider(this._editorWorkerService),this._languageFeaturesService.colorProvider);return v?{result:v.colorHover,foundInEditor:v.foundInEditor}:null}_render(f,h){const v=document.createDocumentFragment(),w=this._register(new E.EditorHoverStatusBar(this._keybindingService)),S={fragment:v,statusBar:w,onContentsChanged:()=>{},hide:()=>this.hide()};this._colorHover=f;const L=this._standaloneColorPickerParticipant.renderHoverParts(S,[f]);if(!L)return;this._register(L.disposables);const D=L.colorPicker;this._body.classList.add("standalone-colorpicker-body"),this._body.style.maxHeight=Math.max(this._editor.getLayoutInfo().height/4,250)+"px",this._body.style.maxWidth=Math.max(this._editor.getLayoutInfo().width*.66,500)+"px",this._body.tabIndex=0,this._body.appendChild(v),D.layout();const T=D.body,M=T.saturationBox.domNode.clientWidth,A=T.domNode.clientWidth-M-a-l,P=D.body.enterButton;P?.onClicked(()=>{this.updateEditor(),this.hide()});const N=D.header,O=N.pickedColorNode;O.style.width=M+l+"px";const F=N.originalColorNode;F.style.width=A+"px",D.header.closeButton?.onClicked(()=>{this.hide()}),h&&(P&&(P.button.textContent="Replace"),this._selectionSetInEditor=!0,this._editor.setSelection(f.range)),this._editor.layoutContentWidget(this)}};e.StandaloneColorPickerWidget=r,e.StandaloneColorPickerWidget=r=g=ke([ce(3,I.IInstantiationService),ce(4,y.IKeybindingService),ce(5,_.ILanguageFeaturesService),ce(6,i.IEditorWorkerService)],r);class u{constructor(f,h){this.value=f,this.foundInEditor=h}}}),define(ne[821],se([1,0,15,3,820,20,29,227]),function(oe,e,d,k,I,E,y){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ShowOrFocusStandaloneColorPicker=void 0;class m extends d.EditorAction2{constructor(){super({id:"editor.action.showOrFocusStandaloneColorPicker",title:{...(0,k.localize2)(801,"Show or Focus Standalone Color Picker"),mnemonicTitle:(0,k.localize)(798,"&&Show or Focus Standalone Color Picker")},precondition:void 0,menu:[{id:y.MenuId.CommandPalette}],metadata:{description:(0,k.localize2)(802,"Show or focus a standalone color picker which uses the default color provider. It displays hex/rgb/hsl colors.")}})}runEditorCommand(n,o){I.StandaloneColorPickerController.get(o)?.showOrFocus()}}e.ShowOrFocusStandaloneColorPicker=m;class _ extends d.EditorAction{constructor(){super({id:"editor.action.hideColorPicker",label:(0,k.localize)(799,"Hide the Color Picker"),alias:"Hide the Color Picker",precondition:E.EditorContextKeys.standaloneColorPickerVisible.isEqualTo(!0),kbOpts:{primary:9,weight:100},metadata:{description:(0,k.localize2)(803,"Hide the standalone color picker.")}})}run(n,o){I.StandaloneColorPickerController.get(o)?.hide()}}class b extends d.EditorAction{constructor(){super({id:"editor.action.insertColorWithStandaloneColorPicker",label:(0,k.localize)(800,"Insert Color with Standalone Color Picker"),alias:"Insert Color with Standalone Color Picker",precondition:E.EditorContextKeys.standaloneColorPickerFocused.isEqualTo(!0),kbOpts:{primary:3,weight:100},metadata:{description:(0,k.localize2)(804,"Insert hex/rgb/hsl colors with the focused standalone color picker.")}})}run(n,o){I.StandaloneColorPickerController.get(o)?.insertColor()}}(0,d.registerEditorAction)(_),(0,d.registerEditorAction)(b),(0,y.registerAction2)(m)}),define(ne[822],se([1,0,2,16,15,9,4,23,35,610,507]),function(oe,e,d,k,I,E,y,m,_,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DragAndDropController=void 0;function p(o){return k.isMacintosh?o.altKey:o.ctrlKey}class n extends d.Disposable{static{this.ID="editor.contrib.dragAndDrop"}static{this.TRIGGER_KEY_VALUE=k.isMacintosh?6:5}constructor(t){super(),this._editor=t,this._dndDecorationIds=this._editor.createDecorationsCollection(),this._register(this._editor.onMouseDown(i=>this._onEditorMouseDown(i))),this._register(this._editor.onMouseUp(i=>this._onEditorMouseUp(i))),this._register(this._editor.onMouseDrag(i=>this._onEditorMouseDrag(i))),this._register(this._editor.onMouseDrop(i=>this._onEditorMouseDrop(i))),this._register(this._editor.onMouseDropCanceled(()=>this._onEditorMouseDropCanceled())),this._register(this._editor.onKeyDown(i=>this.onEditorKeyDown(i))),this._register(this._editor.onKeyUp(i=>this.onEditorKeyUp(i))),this._register(this._editor.onDidBlurEditorWidget(()=>this.onEditorBlur())),this._register(this._editor.onDidBlurEditorText(()=>this.onEditorBlur())),this._mouseDown=!1,this._modifierPressed=!1,this._dragSelection=null}onEditorBlur(){this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1,this._modifierPressed=!1}onEditorKeyDown(t){!this._editor.getOption(35)||this._editor.getOption(22)||(p(t)&&(this._modifierPressed=!0),this._mouseDown&&p(t)&&this._editor.updateOptions({mouseStyle:"copy"}))}onEditorKeyUp(t){!this._editor.getOption(35)||this._editor.getOption(22)||(p(t)&&(this._modifierPressed=!1),this._mouseDown&&t.keyCode===n.TRIGGER_KEY_VALUE&&this._editor.updateOptions({mouseStyle:"default"}))}_onEditorMouseDown(t){this._mouseDown=!0}_onEditorMouseUp(t){this._mouseDown=!1,this._editor.updateOptions({mouseStyle:"text"})}_onEditorMouseDrag(t){const i=t.target;if(this._dragSelection===null){const g=(this._editor.getSelections()||[]).filter(c=>i.position&&c.containsPosition(i.position));if(g.length===1)this._dragSelection=g[0];else return}p(t.event)?this._editor.updateOptions({mouseStyle:"copy"}):this._editor.updateOptions({mouseStyle:"default"}),i.position&&(this._dragSelection.containsPosition(i.position)?this._removeDecoration():this.showAt(i.position))}_onEditorMouseDropCanceled(){this._editor.updateOptions({mouseStyle:"text"}),this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1}_onEditorMouseDrop(t){if(t.target&&(this._hitContent(t.target)||this._hitMargin(t.target))&&t.target.position){const i=new E.Position(t.target.position.lineNumber,t.target.position.column);if(this._dragSelection===null){let s=null;if(t.event.shiftKey){const g=this._editor.getSelection();if(g){const{selectionStartLineNumber:c,selectionStartColumn:l}=g;s=[new m.Selection(c,l,i.lineNumber,i.column)]}}else s=(this._editor.getSelections()||[]).map(g=>g.containsPosition(i)?new m.Selection(i.lineNumber,i.column,i.lineNumber,i.column):g);this._editor.setSelections(s||[],"mouse",3)}else(!this._dragSelection.containsPosition(i)||(p(t.event)||this._modifierPressed)&&(this._dragSelection.getEndPosition().equals(i)||this._dragSelection.getStartPosition().equals(i)))&&(this._editor.pushUndoStop(),this._editor.executeCommand(n.ID,new b.DragAndDropCommand(this._dragSelection,i,p(t.event)||this._modifierPressed)),this._editor.pushUndoStop())}this._editor.updateOptions({mouseStyle:"text"}),this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1}static{this._DECORATION_OPTIONS=_.ModelDecorationOptions.register({description:"dnd-target",className:"dnd-target"})}showAt(t){this._dndDecorationIds.set([{range:new y.Range(t.lineNumber,t.column,t.lineNumber,t.column),options:n._DECORATION_OPTIONS}]),this._editor.revealPosition(t,1)}_removeDecoration(){this._dndDecorationIds.clear()}_hitContent(t){return t.type===6||t.type===7}_hitMargin(t){return t.type===2||t.type===3||t.type===4}dispose(){this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1,this._modifierPressed=!1,super.dispose()}}e.DragAndDropController=n,(0,I.registerEditorContribution)(n.ID,n,2)}),define(ne[823],se([1,0,4,40,35,32,25]),function(oe,e,d,k,I,E,y){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.FindDecorations=void 0;class m{constructor(b){this._editor=b,this._decorations=[],this._overviewRulerApproximateDecorations=[],this._findScopeDecorationIds=[],this._rangeHighlightDecorationId=null,this._highlightedDecorationId=null,this._startPosition=this._editor.getPosition()}dispose(){this._editor.removeDecorations(this._allDecorations()),this._decorations=[],this._overviewRulerApproximateDecorations=[],this._findScopeDecorationIds=[],this._rangeHighlightDecorationId=null,this._highlightedDecorationId=null}reset(){this._decorations=[],this._overviewRulerApproximateDecorations=[],this._findScopeDecorationIds=[],this._rangeHighlightDecorationId=null,this._highlightedDecorationId=null}getCount(){return this._decorations.length}getFindScope(){return this._findScopeDecorationIds[0]?this._editor.getModel().getDecorationRange(this._findScopeDecorationIds[0]):null}getFindScopes(){if(this._findScopeDecorationIds.length){const b=this._findScopeDecorationIds.map(p=>this._editor.getModel().getDecorationRange(p)).filter(p=>!!p);if(b.length)return b}return null}getStartPosition(){return this._startPosition}setStartPosition(b){this._startPosition=b,this.setCurrentFindMatch(null)}_getDecorationIndex(b){const p=this._decorations.indexOf(b);return p>=0?p+1:1}getDecorationRangeAt(b){const p=b{if(this._highlightedDecorationId!==null&&(o.changeDecorationOptions(this._highlightedDecorationId,m._FIND_MATCH_DECORATION),this._highlightedDecorationId=null),p!==null&&(this._highlightedDecorationId=p,o.changeDecorationOptions(this._highlightedDecorationId,m._CURRENT_FIND_MATCH_DECORATION)),this._rangeHighlightDecorationId!==null&&(o.removeDecoration(this._rangeHighlightDecorationId),this._rangeHighlightDecorationId=null),p!==null){let t=this._editor.getModel().getDecorationRange(p);if(t.startLineNumber!==t.endLineNumber&&t.endColumn===1){const i=t.endLineNumber-1,s=this._editor.getModel().getLineMaxColumn(i);t=new d.Range(t.startLineNumber,t.startColumn,i,s)}this._rangeHighlightDecorationId=o.addDecoration(t,m._RANGE_HIGHLIGHT_DECORATION)}}),n}set(b,p){this._editor.changeDecorations(n=>{let o=m._FIND_MATCH_DECORATION;const t=[];if(b.length>1e3){o=m._FIND_MATCH_NO_OVERVIEW_DECORATION;const s=this._editor.getModel().getLineCount(),c=this._editor.getLayoutInfo().height/s,l=Math.max(2,Math.ceil(3/c));let a=b[0].range.startLineNumber,r=b[0].range.endLineNumber;for(let u=1,C=b.length;u=f.startLineNumber?f.endLineNumber>r&&(r=f.endLineNumber):(t.push({range:new d.Range(a,1,r,1),options:m._FIND_MATCH_ONLY_OVERVIEW_DECORATION}),a=f.startLineNumber,r=f.endLineNumber)}t.push({range:new d.Range(a,1,r,1),options:m._FIND_MATCH_ONLY_OVERVIEW_DECORATION})}const i=new Array(b.length);for(let s=0,g=b.length;sn.removeDecoration(s)),this._findScopeDecorationIds=[]),p?.length&&(this._findScopeDecorationIds=p.map(s=>n.addDecoration(s,m._FIND_SCOPE_DECORATION)))})}matchBeforePosition(b){if(this._decorations.length===0)return null;for(let p=this._decorations.length-1;p>=0;p--){const n=this._decorations[p],o=this._editor.getModel().getDecorationRange(n);if(!(!o||o.endLineNumber>b.lineNumber)){if(o.endLineNumberb.column))return o}}return this._editor.getModel().getDecorationRange(this._decorations[this._decorations.length-1])}matchAfterPosition(b){if(this._decorations.length===0)return null;for(let p=0,n=this._decorations.length;pb.lineNumber)return t;if(!(t.startColumn{if(this._editor.hasModel())return this.research(!1)},100),this._toDispose.add(this._updateDecorationsScheduler),this._toDispose.add(this._editor.onDidChangeCursorPosition(a=>{(a.reason===3||a.reason===5||a.reason===6)&&this._decorations.setStartPosition(this._editor.getPosition())})),this._ignoreModelContentChanged=!1,this._toDispose.add(this._editor.onDidChangeModelContent(a=>{this._ignoreModelContentChanged||(a.isFlush&&this._decorations.reset(),this._decorations.setStartPosition(this._editor.getPosition()),this._updateDecorationsScheduler.schedule())})),this._toDispose.add(this._state.onFindReplaceStateChange(a=>this._onStateChanged(a))),this.research(!1,this._state.searchScope)}dispose(){this._isDisposed=!0,(0,I.dispose)(this._startSearchingTimer),this._toDispose.dispose()}_onStateChanged(c){this._isDisposed||this._editor.hasModel()&&(c.searchString||c.isReplaceRevealed||c.isRegex||c.wholeWord||c.matchCase||c.searchScope)&&(this._editor.getModel().isTooLargeForSyncing()?(this._startSearchingTimer.cancel(),this._startSearchingTimer.setIfNotSet(()=>{c.searchScope?this.research(c.moveCursor,this._state.searchScope):this.research(c.moveCursor)},i)):c.searchScope?this.research(c.moveCursor,this._state.searchScope):this.research(c.moveCursor))}static _getSearchRange(c,l){return l||c.getFullModelRange()}research(c,l){let a=null;typeof l<"u"?l!==null&&(Array.isArray(l)?a=l:a=[l]):a=this._decorations.getFindScopes(),a!==null&&(a=a.map(f=>{if(f.startLineNumber!==f.endLineNumber){let h=f.endLineNumber;return f.endColumn===1&&(h=h-1),new m.Range(f.startLineNumber,1,h,this._editor.getModel().getLineMaxColumn(h))}return f}));const r=this._findMatches(a,!1,e.MATCHES_LIMIT);this._decorations.set(r,a);const u=this._editor.getSelection();let C=this._decorations.getCurrentMatchesPosition(u);if(C===0&&r.length>0){const f=(0,d.findFirstIdxMonotonousOrArrLen)(r.map(h=>h.range),h=>m.Range.compareRangesUsingStarts(h,u)>=0);C=f>0?f-1+1:C}this._state.changeMatchInfo(C,this._decorations.getCount(),void 0),c&&this._editor.getOption(41).cursorMoveOnType&&this._moveToNextMatch(this._decorations.getStartPosition())}_hasMatches(){return this._state.matchesCount>0}_cannotFind(){if(!this._hasMatches()){const c=this._decorations.getFindScope();return c&&this._editor.revealRangeInCenterIfOutsideViewport(c,0),!0}return!1}_setCurrentFindMatch(c){const l=this._decorations.setCurrentFindMatch(c);this._state.changeMatchInfo(l,this._decorations.getCount(),c),this._editor.setSelection(c),this._editor.revealRangeInCenterIfOutsideViewport(c,0)}_prevSearchPosition(c){const l=this._state.isRegex&&(this._state.searchString.indexOf("^")>=0||this._state.searchString.indexOf("$")>=0);let{lineNumber:a,column:r}=c;const u=this._editor.getModel();return l||r===1?(a===1?a=u.getLineCount():a--,r=u.getLineMaxColumn(a)):r--,new y.Position(a,r)}_moveToPrevMatch(c,l=!1){if(!this._state.canNavigateBack()){const w=this._decorations.matchAfterPosition(c);w&&this._setCurrentFindMatch(w);return}if(this._decorations.getCount()=0||this._state.searchString.indexOf("$")>=0);let{lineNumber:a,column:r}=c;const u=this._editor.getModel();return l||r===u.getLineMaxColumn(a)?(a===u.getLineCount()?a=1:a++,r=1):r++,new y.Position(a,r)}_moveToNextMatch(c){if(!this._state.canNavigateForward()){const a=this._decorations.matchBeforePosition(c);a&&this._setCurrentFindMatch(a);return}if(this._decorations.getCount()s._getSearchRange(this._editor.getModel(),u));return this._editor.getModel().findMatches(this._state.searchString,r,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(132):null,l,a)}replaceAll(){if(!this._hasMatches())return;const c=this._decorations.getFindScopes();c===null&&this._state.matchesCount>=e.MATCHES_LIMIT?this._largeReplaceAll():this._regularReplaceAll(c),this.research(!1)}_largeReplaceAll(){const l=new b.SearchParams(this._state.searchString,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(132):null).parseSearchRequest();if(!l)return;let a=l.regex;if(!a.multiline){let S="mu";a.ignoreCase&&(S+="i"),a.global&&(S+="g"),a=new RegExp(a.source,S)}const r=this._editor.getModel(),u=r.getValue(1),C=r.getFullModelRange(),f=this._getReplacePattern();let h;const v=this._state.preserveCase;f.hasReplacementPatterns||v?h=u.replace(a,function(){return f.buildReplaceString(arguments,v)}):h=u.replace(a,f.buildReplaceString(null,v));const w=new E.ReplaceCommandThatPreservesSelection(C,h,this._editor.getSelection());this._executeEditorCommand("replaceAll",w)}_regularReplaceAll(c){const l=this._getReplacePattern(),a=this._findMatches(c,l.hasReplacementPatterns||this._state.preserveCase,1073741824),r=[];for(let C=0,f=a.length;CC.range),r);this._executeEditorCommand("replaceAll",u)}selectAllMatches(){if(!this._hasMatches())return;const c=this._decorations.getFindScopes();let a=this._findMatches(c,!1,1073741824).map(u=>new _.Selection(u.range.startLineNumber,u.range.startColumn,u.range.endLineNumber,u.range.endColumn));const r=this._editor.getSelection();for(let u=0,C=a.length;uthis._hide(),2e3)),this._isVisible=!1,this._editor=n,this._state=o,this._keybindingService=t,this._domNode=document.createElement("div"),this._domNode.className="findOptionsWidget",this._domNode.style.display="none",this._domNode.style.top="10px",this._domNode.style.zIndex="12",this._domNode.setAttribute("role","presentation"),this._domNode.setAttribute("aria-hidden","true");const i={inputActiveOptionBorder:(0,m.asCssVariable)(m.inputActiveOptionBorder),inputActiveOptionForeground:(0,m.asCssVariable)(m.inputActiveOptionForeground),inputActiveOptionBackground:(0,m.asCssVariable)(m.inputActiveOptionBackground)},s=this._register((0,_.createInstantHoverDelegate)());this.caseSensitive=this._register(new k.CaseSensitiveToggle({appendTitle:this._keybindingLabelFor(y.FIND_IDS.ToggleCaseSensitiveCommand),isChecked:this._state.matchCase,hoverDelegate:s,...i})),this._domNode.appendChild(this.caseSensitive.domNode),this._register(this.caseSensitive.onChange(()=>{this._state.change({matchCase:this.caseSensitive.checked},!1)})),this.wholeWords=this._register(new k.WholeWordsToggle({appendTitle:this._keybindingLabelFor(y.FIND_IDS.ToggleWholeWordCommand),isChecked:this._state.wholeWord,hoverDelegate:s,...i})),this._domNode.appendChild(this.wholeWords.domNode),this._register(this.wholeWords.onChange(()=>{this._state.change({wholeWord:this.wholeWords.checked},!1)})),this.regex=this._register(new k.RegexToggle({appendTitle:this._keybindingLabelFor(y.FIND_IDS.ToggleRegexCommand),isChecked:this._state.isRegex,hoverDelegate:s,...i})),this._domNode.appendChild(this.regex.domNode),this._register(this.regex.onChange(()=>{this._state.change({isRegex:this.regex.checked},!1)})),this._editor.addOverlayWidget(this),this._register(this._state.onFindReplaceStateChange(g=>{let c=!1;g.isRegex&&(this.regex.checked=this._state.isRegex,c=!0),g.wholeWord&&(this.wholeWords.checked=this._state.wholeWord,c=!0),g.matchCase&&(this.caseSensitive.checked=this._state.matchCase,c=!0),!this._state.isRevealed&&c&&this._revealTemporarily()})),this._register(d.addDisposableListener(this._domNode,d.EventType.MOUSE_LEAVE,g=>this._onMouseLeave())),this._register(d.addDisposableListener(this._domNode,"mouseover",g=>this._onMouseOver()))}_keybindingLabelFor(n){const o=this._keybindingService.lookupKeybinding(n);return o?` (${o.getLabel()})`:""}dispose(){this._editor.removeOverlayWidget(this),super.dispose()}getId(){return b.ID}getDomNode(){return this._domNode}getPosition(){return{preference:0}}highlightFindOptions(){this._revealTemporarily()}_revealTemporarily(){this._show(),this._hideSoon.schedule()}_onMouseLeave(){this._hideSoon.schedule()}_onMouseOver(){this._hideSoon.cancel()}_show(){this._isVisible||(this._isVisible=!0,this._domNode.style.display="block")}_hide(){this._isVisible&&(this._isVisible=!1,this._domNode.style.display="none")}}e.FindOptionsWidget=b}),define(ne[825],se([1,0,6,2,4,220]),function(oe,e,d,k,I,E){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.FindReplaceState=void 0;function y(_,b){return _===1?!0:_===2?!1:b}class m extends k.Disposable{get searchString(){return this._searchString}get replaceString(){return this._replaceString}get isRevealed(){return this._isRevealed}get isReplaceRevealed(){return this._isReplaceRevealed}get isRegex(){return y(this._isRegexOverride,this._isRegex)}get wholeWord(){return y(this._wholeWordOverride,this._wholeWord)}get matchCase(){return y(this._matchCaseOverride,this._matchCase)}get preserveCase(){return y(this._preserveCaseOverride,this._preserveCase)}get actualIsRegex(){return this._isRegex}get actualWholeWord(){return this._wholeWord}get actualMatchCase(){return this._matchCase}get actualPreserveCase(){return this._preserveCase}get searchScope(){return this._searchScope}get matchesPosition(){return this._matchesPosition}get matchesCount(){return this._matchesCount}get currentMatch(){return this._currentMatch}constructor(){super(),this._onFindReplaceStateChange=this._register(new d.Emitter),this.onFindReplaceStateChange=this._onFindReplaceStateChange.event,this._searchString="",this._replaceString="",this._isRevealed=!1,this._isReplaceRevealed=!1,this._isRegex=!1,this._isRegexOverride=0,this._wholeWord=!1,this._wholeWordOverride=0,this._matchCase=!1,this._matchCaseOverride=0,this._preserveCase=!1,this._preserveCaseOverride=0,this._searchScope=null,this._matchesPosition=0,this._matchesCount=0,this._currentMatch=null,this._loop=!0,this._isSearching=!1,this._filters=null}changeMatchInfo(b,p,n){const o={moveCursor:!1,updateHistory:!1,searchString:!1,replaceString:!1,isRevealed:!1,isReplaceRevealed:!1,isRegex:!1,wholeWord:!1,matchCase:!1,preserveCase:!1,searchScope:!1,matchesPosition:!1,matchesCount:!1,currentMatch:!1,loop:!1,isSearching:!1,filters:!1};let t=!1;p===0&&(b=0),b>p&&(b=p),this._matchesPosition!==b&&(this._matchesPosition=b,o.matchesPosition=!0,t=!0),this._matchesCount!==p&&(this._matchesCount=p,o.matchesCount=!0,t=!0),typeof n<"u"&&(I.Range.equalsRange(this._currentMatch,n)||(this._currentMatch=n,o.currentMatch=!0,t=!0)),t&&this._onFindReplaceStateChange.fire(o)}change(b,p,n=!0){const o={moveCursor:p,updateHistory:n,searchString:!1,replaceString:!1,isRevealed:!1,isReplaceRevealed:!1,isRegex:!1,wholeWord:!1,matchCase:!1,preserveCase:!1,searchScope:!1,matchesPosition:!1,matchesCount:!1,currentMatch:!1,loop:!1,isSearching:!1,filters:!1};let t=!1;const i=this.isRegex,s=this.wholeWord,g=this.matchCase,c=this.preserveCase;typeof b.searchString<"u"&&this._searchString!==b.searchString&&(this._searchString=b.searchString,o.searchString=!0,t=!0),typeof b.replaceString<"u"&&this._replaceString!==b.replaceString&&(this._replaceString=b.replaceString,o.replaceString=!0,t=!0),typeof b.isRevealed<"u"&&this._isRevealed!==b.isRevealed&&(this._isRevealed=b.isRevealed,o.isRevealed=!0,t=!0),typeof b.isReplaceRevealed<"u"&&this._isReplaceRevealed!==b.isReplaceRevealed&&(this._isReplaceRevealed=b.isReplaceRevealed,o.isReplaceRevealed=!0,t=!0),typeof b.isRegex<"u"&&(this._isRegex=b.isRegex),typeof b.wholeWord<"u"&&(this._wholeWord=b.wholeWord),typeof b.matchCase<"u"&&(this._matchCase=b.matchCase),typeof b.preserveCase<"u"&&(this._preserveCase=b.preserveCase),typeof b.searchScope<"u"&&(b.searchScope?.every(l=>this._searchScope?.some(a=>!I.Range.equalsRange(a,l)))||(this._searchScope=b.searchScope,o.searchScope=!0,t=!0)),typeof b.loop<"u"&&this._loop!==b.loop&&(this._loop=b.loop,o.loop=!0,t=!0),typeof b.isSearching<"u"&&this._isSearching!==b.isSearching&&(this._isSearching=b.isSearching,o.isSearching=!0,t=!0),typeof b.filters<"u"&&(this._filters?this._filters.update(b.filters):this._filters=b.filters,o.filters=!0,t=!0),this._isRegexOverride=typeof b.isRegexOverride<"u"?b.isRegexOverride:0,this._wholeWordOverride=typeof b.wholeWordOverride<"u"?b.wholeWordOverride:0,this._matchCaseOverride=typeof b.matchCaseOverride<"u"?b.matchCaseOverride:0,this._preserveCaseOverride=typeof b.preserveCaseOverride<"u"?b.preserveCaseOverride:0,i!==this.isRegex&&(t=!0,o.isRegex=!0),s!==this.wholeWord&&(t=!0,o.wholeWord=!0),g!==this.matchCase&&(t=!0,o.matchCase=!0),c!==this.preserveCase&&(t=!0,o.preserveCase=!0),t&&this._onFindReplaceStateChange.fire(o)}canNavigateBack(){return this.canNavigateInLoop()||this.matchesPosition!==1}canNavigateForward(){return this.canNavigateInLoop()||this.matchesPosition=E.MATCHES_LIMIT}}e.FindReplaceState=m}),define(ne[826],se([1,0,5,46,175,173,85,14,26,8,2,16,11,4,220,3,404,675,32,71,25,30,97,19,110,44,510]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r,u,C,f,h,v){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SimpleButton=e.FindWidget=e.FindWidgetViewZone=e.NLS_NO_RESULTS=e.NLS_MATCHES_LOCATION=e.findNextMatchIcon=e.findPreviousMatchIcon=e.findReplaceAllIcon=e.findReplaceIcon=e.findSelectionIcon=void 0;const w=(0,a.registerIcon)("find-collapsed",_.Codicon.chevronRight,s.localize(864,"Icon to indicate that the editor find widget is collapsed.")),S=(0,a.registerIcon)("find-expanded",_.Codicon.chevronDown,s.localize(865,"Icon to indicate that the editor find widget is expanded."));e.findSelectionIcon=(0,a.registerIcon)("find-selection",_.Codicon.selection,s.localize(866,"Icon for 'Find in Selection' in the editor find widget.")),e.findReplaceIcon=(0,a.registerIcon)("find-replace",_.Codicon.replace,s.localize(867,"Icon for 'Replace' in the editor find widget.")),e.findReplaceAllIcon=(0,a.registerIcon)("find-replace-all",_.Codicon.replaceAll,s.localize(868,"Icon for 'Replace All' in the editor find widget.")),e.findPreviousMatchIcon=(0,a.registerIcon)("find-previous-match",_.Codicon.arrowUp,s.localize(869,"Icon for 'Find Previous' in the editor find widget.")),e.findNextMatchIcon=(0,a.registerIcon)("find-next-match",_.Codicon.arrowDown,s.localize(870,"Icon for 'Find Next' in the editor find widget."));const L=s.localize(871,"Find / Replace"),D=s.localize(872,"Find"),T=s.localize(873,"Find"),M=s.localize(874,"Previous Match"),A=s.localize(875,"Next Match"),P=s.localize(876,"Find in Selection"),N=s.localize(877,"Close"),O=s.localize(878,"Replace"),F=s.localize(879,"Replace"),x=s.localize(880,"Replace"),W=s.localize(881,"Replace All"),V=s.localize(882,"Toggle Replace"),q=s.localize(883,"Only the first {0} results are highlighted, but all find operations work on the entire text.",i.MATCHES_LIMIT);e.NLS_MATCHES_LOCATION=s.localize(884,"{0} of {1}"),e.NLS_NO_RESULTS=s.localize(885,"No results");const H=419,U=275-54;let j=69;const Q=33,G="ctrlEnterReplaceAll.windows.donotask",K=n.isMacintosh?256:2048;class R{constructor(ae){this.afterLineNumber=ae,this.heightInPx=Q,this.suppressMouseDown=!1,this.domNode=document.createElement("div"),this.domNode.className="dock-find-viewzone"}}e.FindWidgetViewZone=R;function J(pe,ae,ee){const de=!!ae.match(/\n/);if(ee&&de&&ee.selectionStart>0){pe.stopPropagation();return}}function ie(pe,ae,ee){const de=!!ae.match(/\n/);if(ee&&de&&ee.selectionEndthis._updateHistoryDelayer.cancel())),this._register(this._state.onFindReplaceStateChange(re=>this._onStateChanged(re))),this._buildDomNode(),this._updateButtons(),this._tryUpdateWidgetWidth(),this._findInput.inputBox.layout(),this._register(this._codeEditor.onDidChangeConfiguration(re=>{if(re.hasChanged(92)&&(this._codeEditor.getOption(92)&&this._state.change({isReplaceRevealed:!1},!1),this._updateButtons()),re.hasChanged(146)&&this._tryUpdateWidgetWidth(),re.hasChanged(2)&&this.updateAccessibilitySupport(),re.hasChanged(41)){const le=this._codeEditor.getOption(41).loop;this._state.change({loop:le},!1);const me=this._codeEditor.getOption(41).addExtraSpaceOnTop;me&&!this._viewZone&&(this._viewZone=new R(0),this._showViewZone()),!me&&this._viewZone&&this._removeViewZone()}})),this.updateAccessibilitySupport(),this._register(this._codeEditor.onDidChangeCursorSelection(()=>{this._isVisible&&this._updateToggleSelectionFindButton()})),this._register(this._codeEditor.onDidFocusEditorWidget(async()=>{if(this._isVisible){const re=await this._controller.getGlobalBufferTerm();re&&re!==this._state.searchString&&(this._state.change({searchString:re},!1),this._findInput.select())}})),this._findInputFocused=i.CONTEXT_FIND_INPUT_FOCUSED.bindTo(B),this._findFocusTracker=this._register(d.trackFocus(this._findInput.inputBox.inputElement)),this._register(this._findFocusTracker.onDidFocus(()=>{this._findInputFocused.set(!0),this._updateSearchScope()})),this._register(this._findFocusTracker.onDidBlur(()=>{this._findInputFocused.set(!1)})),this._replaceInputFocused=i.CONTEXT_REPLACE_INPUT_FOCUSED.bindTo(B),this._replaceFocusTracker=this._register(d.trackFocus(this._replaceInput.inputBox.inputElement)),this._register(this._replaceFocusTracker.onDidFocus(()=>{this._replaceInputFocused.set(!0),this._updateSearchScope()})),this._register(this._replaceFocusTracker.onDidBlur(()=>{this._replaceInputFocused.set(!1)})),this._codeEditor.addOverlayWidget(this),this._codeEditor.getOption(41).addExtraSpaceOnTop&&(this._viewZone=new R(0)),this._register(this._codeEditor.onDidChangeModel(()=>{this._isVisible&&(this._viewZoneId=void 0)})),this._register(this._codeEditor.onDidScrollChange(re=>{if(re.scrollTopChanged){this._layoutViewZone();return}setTimeout(()=>{this._layoutViewZone()},0)}))}getId(){return ue.ID}getDomNode(){return this._domNode}getPosition(){return this._isVisible?{preference:0}:null}_onStateChanged(ae){if(ae.searchString){try{this._ignoreChangeEvent=!0,this._findInput.setValue(this._state.searchString)}finally{this._ignoreChangeEvent=!1}this._updateButtons()}if(ae.replaceString&&(this._replaceInput.inputBox.value=this._state.replaceString),ae.isRevealed&&(this._state.isRevealed?this._reveal():this._hide(!0)),ae.isReplaceRevealed&&(this._state.isReplaceRevealed?!this._codeEditor.getOption(92)&&!this._isReplaceVisible&&(this._isReplaceVisible=!0,this._replaceInput.width=d.getTotalWidth(this._findInput.domNode),this._updateButtons(),this._replaceInput.inputBox.layout()):this._isReplaceVisible&&(this._isReplaceVisible=!1,this._updateButtons())),(ae.isRevealed||ae.isReplaceRevealed)&&(this._state.isRevealed||this._state.isReplaceRevealed)&&this._tryUpdateHeight()&&this._showViewZone(),ae.isRegex&&this._findInput.setRegex(this._state.isRegex),ae.wholeWord&&this._findInput.setWholeWords(this._state.wholeWord),ae.matchCase&&this._findInput.setCaseSensitive(this._state.matchCase),ae.preserveCase&&this._replaceInput.setPreserveCase(this._state.preserveCase),ae.searchScope&&(this._state.searchScope?this._toggleSelectionFind.checked=!0:this._toggleSelectionFind.checked=!1,this._updateToggleSelectionFindButton()),ae.searchString||ae.matchesCount||ae.matchesPosition){const ee=this._state.searchString.length>0&&this._state.matchesCount===0;this._domNode.classList.toggle("no-results",ee),this._updateMatchesCount(),this._updateButtons()}(ae.searchString||ae.currentMatch)&&this._layoutViewZone(),ae.updateHistory&&this._delayedUpdateHistory(),ae.loop&&this._updateButtons()}_delayedUpdateHistory(){this._updateHistoryDelayer.trigger(this._updateHistory.bind(this)).then(void 0,b.onUnexpectedError)}_updateHistory(){this._state.searchString&&this._findInput.inputBox.addToHistory(),this._state.replaceString&&this._replaceInput.inputBox.addToHistory()}_updateMatchesCount(){this._matchesCount.style.minWidth=j+"px",this._state.matchesCount>=i.MATCHES_LIMIT?this._matchesCount.title=q:this._matchesCount.title="",this._matchesCount.firstChild?.remove();let ae;if(this._state.matchesCount>0){let ee=String(this._state.matchesCount);this._state.matchesCount>=i.MATCHES_LIMIT&&(ee+="+");let de=String(this._state.matchesPosition);de==="0"&&(de="?"),ae=o.format(e.NLS_MATCHES_LOCATION,de,ee)}else ae=e.NLS_NO_RESULTS;this._matchesCount.appendChild(document.createTextNode(ae)),(0,k.alert)(this._getAriaLabel(ae,this._state.currentMatch,this._state.searchString)),j=Math.max(j,this._matchesCount.clientWidth)}_getAriaLabel(ae,ee,de){if(ae===e.NLS_NO_RESULTS)return de===""?s.localize(886,"{0} found",ae):s.localize(887,"{0} found for '{1}'",ae,de);if(ee){const ge=s.localize(888,"{0} found for '{1}', at {2}",ae,de,ee.startLineNumber+":"+ee.startColumn),X=this._codeEditor.getModel();return X&&ee.startLineNumber<=X.getLineCount()&&ee.startLineNumber>=1?`${X.getLineContent(ee.startLineNumber)}, ${ge}`:ge}return s.localize(889,"{0} found for '{1}'",ae,de)}_updateToggleSelectionFindButton(){const ae=this._codeEditor.getSelection(),ee=ae?ae.startLineNumber!==ae.endLineNumber||ae.startColumn!==ae.endColumn:!1,de=this._toggleSelectionFind.checked;this._isVisible&&(de||ee)?this._toggleSelectionFind.enable():this._toggleSelectionFind.disable()}_updateButtons(){this._findInput.setEnabled(this._isVisible),this._replaceInput.setEnabled(this._isVisible&&this._isReplaceVisible),this._updateToggleSelectionFindButton(),this._closeBtn.setEnabled(this._isVisible);const ae=this._state.searchString.length>0,ee=!!this._state.matchesCount;this._prevBtn.setEnabled(this._isVisible&&ae&&ee&&this._state.canNavigateBack()),this._nextBtn.setEnabled(this._isVisible&&ae&&ee&&this._state.canNavigateForward()),this._replaceBtn.setEnabled(this._isVisible&&this._isReplaceVisible&&ae),this._replaceAllBtn.setEnabled(this._isVisible&&this._isReplaceVisible&&ae),this._domNode.classList.toggle("replaceToggled",this._isReplaceVisible),this._toggleReplaceBtn.setExpanded(this._isReplaceVisible);const de=!this._codeEditor.getOption(92);this._toggleReplaceBtn.setEnabled(this._isVisible&&de)}_reveal(){if(this._revealTimeouts.forEach(ae=>{clearTimeout(ae)}),this._revealTimeouts=[],!this._isVisible){this._isVisible=!0;const ae=this._codeEditor.getSelection();switch(this._codeEditor.getOption(41).autoFindInSelection){case"always":this._toggleSelectionFind.checked=!0;break;case"never":this._toggleSelectionFind.checked=!1;break;case"multiline":{const de=!!ae&&ae.startLineNumber!==ae.endLineNumber;this._toggleSelectionFind.checked=de;break}default:break}this._tryUpdateWidgetWidth(),this._updateButtons(),this._revealTimeouts.push(setTimeout(()=>{this._domNode.classList.add("visible"),this._domNode.setAttribute("aria-hidden","false")},0)),this._revealTimeouts.push(setTimeout(()=>{this._findInput.validate()},200)),this._codeEditor.layoutOverlayWidget(this);let ee=!0;if(this._codeEditor.getOption(41).seedSearchStringFromSelection&&ae){const de=this._codeEditor.getDomNode();if(de){const ge=d.getDomNodePagePosition(de),X=this._codeEditor.getScrolledVisiblePosition(ae.getStartPosition()),B=ge.left+(X?X.left:0),$=X?X.top:0;if(this._viewZone&&$ae.startLineNumber&&(ee=!1);const Y=d.getTopLeftOffset(this._domNode).left;B>Y&&(ee=!1);const Z=this._codeEditor.getScrolledVisiblePosition(ae.getEndPosition());ge.left+(Z?Z.left:0)>Y&&(ee=!1)}}}this._showViewZone(ee)}}_hide(ae){this._revealTimeouts.forEach(ee=>{clearTimeout(ee)}),this._revealTimeouts=[],this._isVisible&&(this._isVisible=!1,this._updateButtons(),this._domNode.classList.remove("visible"),this._domNode.setAttribute("aria-hidden","true"),this._findInput.clearMessage(),ae&&this._codeEditor.focus(),this._codeEditor.layoutOverlayWidget(this),this._removeViewZone())}_layoutViewZone(ae){if(!this._codeEditor.getOption(41).addExtraSpaceOnTop){this._removeViewZone();return}if(!this._isVisible)return;const de=this._viewZone;this._viewZoneId!==void 0||!de||this._codeEditor.changeViewZones(ge=>{de.heightInPx=this._getHeight(),this._viewZoneId=ge.addZone(de),this._codeEditor.setScrollTop(ae||this._codeEditor.getScrollTop()+de.heightInPx)})}_showViewZone(ae=!0){if(!this._isVisible||!this._codeEditor.getOption(41).addExtraSpaceOnTop)return;this._viewZone===void 0&&(this._viewZone=new R(0));const de=this._viewZone;this._codeEditor.changeViewZones(ge=>{if(this._viewZoneId!==void 0){const X=this._getHeight();if(X===de.heightInPx)return;const B=X-de.heightInPx;de.heightInPx=X,ge.layoutZone(this._viewZoneId),ae&&this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()+B);return}else{let X=this._getHeight();if(X-=this._codeEditor.getOption(84).top,X<=0)return;de.heightInPx=X,this._viewZoneId=ge.addZone(de),ae&&this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()+X)}})}_removeViewZone(){this._codeEditor.changeViewZones(ae=>{this._viewZoneId!==void 0&&(ae.removeZone(this._viewZoneId),this._viewZoneId=void 0,this._viewZone&&(this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()-this._viewZone.heightInPx),this._viewZone=void 0))})}_tryUpdateWidgetWidth(){if(!this._isVisible||!this._domNode.isConnected)return;const ae=this._codeEditor.getLayoutInfo();if(ae.contentWidth<=0){this._domNode.classList.add("hiddenEditor");return}else this._domNode.classList.contains("hiddenEditor")&&this._domNode.classList.remove("hiddenEditor");const de=ae.width,ge=ae.minimap.minimapWidth;let X=!1,B=!1,$=!1;if(this._resized&&d.getTotalWidth(this._domNode)>H){this._domNode.style.maxWidth=`${de-28-ge-15}px`,this._replaceInput.width=d.getTotalWidth(this._findInput.domNode);return}if(H+28+ge>=de&&(B=!0),H+28+ge-j>=de&&($=!0),H+28+ge-j>=de+50&&(X=!0),this._domNode.classList.toggle("collapsed-find-widget",X),this._domNode.classList.toggle("narrow-find-widget",$),this._domNode.classList.toggle("reduced-find-widget",B),!$&&!X&&(this._domNode.style.maxWidth=`${de-28-ge-15}px`),this._findInput.layout({collapsedFindWidget:X,narrowFindWidget:$,reducedFindWidget:B}),this._resized){const Y=this._findInput.inputBox.element.clientWidth;Y>0&&(this._replaceInput.width=Y)}else this._isReplaceVisible&&(this._replaceInput.width=d.getTotalWidth(this._findInput.domNode))}_getHeight(){let ae=0;return ae+=4,ae+=this._findInput.inputBox.height+2,this._isReplaceVisible&&(ae+=4,ae+=this._replaceInput.inputBox.height+2),ae+=4,ae}_tryUpdateHeight(){const ae=this._getHeight();return this._cachedHeight!==null&&this._cachedHeight===ae?!1:(this._cachedHeight=ae,this._domNode.style.height=`${ae}px`,!0)}focusFindInput(){this._findInput.select(),this._findInput.focus()}focusReplaceInput(){this._replaceInput.select(),this._replaceInput.focus()}highlightFindOptions(){this._findInput.highlightFindOptions()}_updateSearchScope(){if(this._codeEditor.hasModel()&&this._toggleSelectionFind.checked){const ae=this._codeEditor.getSelections();ae.map(ee=>{ee.endColumn===1&&ee.endLineNumber>ee.startLineNumber&&(ee=ee.setEndPosition(ee.endLineNumber-1,this._codeEditor.getModel().getLineMaxColumn(ee.endLineNumber-1)));const de=this._state.currentMatch;return ee.startLineNumber!==ee.endLineNumber&&!t.Range.equalsRange(ee,de)?ee:null}).filter(ee=>!!ee),ae.length&&this._state.change({searchScope:ae},!0)}}_onFindInputMouseDown(ae){ae.middleButton&&ae.stopPropagation()}_onFindInputKeyDown(ae){if(ae.equals(K|3))if(this._keybindingService.dispatchEvent(ae,ae.target)){ae.preventDefault();return}else{this._findInput.inputBox.insertAtCursor(` +`),ae.preventDefault();return}if(ae.equals(2)){this._isReplaceVisible?this._replaceInput.focus():this._findInput.focusOnCaseSensitive(),ae.preventDefault();return}if(ae.equals(2066)){this._codeEditor.focus(),ae.preventDefault();return}if(ae.equals(16))return J(ae,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea"));if(ae.equals(18))return ie(ae,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea"))}_onReplaceInputKeyDown(ae){if(ae.equals(K|3))if(this._keybindingService.dispatchEvent(ae,ae.target)){ae.preventDefault();return}else{n.isWindows&&n.isNative&&!this._ctrlEnterReplaceAllWarningPrompted&&(this._notificationService.info(s.localize(890,"Ctrl+Enter now inserts line break instead of replacing all. You can modify the keybinding for editor.action.replaceAll to override this behavior.")),this._ctrlEnterReplaceAllWarningPrompted=!0,this._storageService.store(G,!0,0,0)),this._replaceInput.inputBox.insertAtCursor(` +`),ae.preventDefault();return}if(ae.equals(2)){this._findInput.focusOnCaseSensitive(),ae.preventDefault();return}if(ae.equals(1026)){this._findInput.focus(),ae.preventDefault();return}if(ae.equals(2066)){this._codeEditor.focus(),ae.preventDefault();return}if(ae.equals(16))return J(ae,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector("textarea"));if(ae.equals(18))return ie(ae,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector("textarea"))}getVerticalSashLeft(ae){return 0}_keybindingLabelFor(ae){const ee=this._keybindingService.lookupKeybinding(ae);return ee?` (${ee.getLabel()})`:""}_buildDomNode(){this._findInput=this._register(new g.ContextScopedFindInput(null,this._contextViewProvider,{width:U,label:D,placeholder:T,appendCaseSensitiveLabel:this._keybindingLabelFor(i.FIND_IDS.ToggleCaseSensitiveCommand),appendWholeWordsLabel:this._keybindingLabelFor(i.FIND_IDS.ToggleWholeWordCommand),appendRegexLabel:this._keybindingLabelFor(i.FIND_IDS.ToggleRegexCommand),validation:te=>{if(te.length===0||!this._findInput.getRegex())return null;try{return new RegExp(te,"gu"),null}catch(re){return{content:re.message}}},flexibleHeight:!0,flexibleWidth:!0,flexibleMaxHeight:118,showCommonFindToggles:!0,showHistoryHint:()=>(0,c.showHistoryKeybindingHint)(this._keybindingService),inputBoxStyles:h.defaultInputBoxStyles,toggleStyles:h.defaultToggleStyles},this._contextKeyService)),this._findInput.setRegex(!!this._state.isRegex),this._findInput.setCaseSensitive(!!this._state.matchCase),this._findInput.setWholeWords(!!this._state.wholeWord),this._register(this._findInput.onKeyDown(te=>this._onFindInputKeyDown(te))),this._register(this._findInput.inputBox.onDidChange(()=>{this._ignoreChangeEvent||this._state.change({searchString:this._findInput.getValue()},!0)})),this._register(this._findInput.onDidOptionChange(()=>{this._state.change({isRegex:this._findInput.getRegex(),wholeWord:this._findInput.getWholeWords(),matchCase:this._findInput.getCaseSensitive()},!0)})),this._register(this._findInput.onCaseSensitiveKeyDown(te=>{te.equals(1026)&&this._isReplaceVisible&&(this._replaceInput.focus(),te.preventDefault())})),this._register(this._findInput.onRegexKeyDown(te=>{te.equals(2)&&this._isReplaceVisible&&(this._replaceInput.focusOnPreserve(),te.preventDefault())})),this._register(this._findInput.inputBox.onDidHeightChange(te=>{this._tryUpdateHeight()&&this._showViewZone()})),n.isLinux&&this._register(this._findInput.onMouseDown(te=>this._onFindInputMouseDown(te))),this._matchesCount=document.createElement("div"),this._matchesCount.className="matchesCount",this._updateMatchesCount();const de=this._register((0,v.createInstantHoverDelegate)());this._prevBtn=this._register(new he({label:M+this._keybindingLabelFor(i.FIND_IDS.PreviousMatchFindAction),icon:e.findPreviousMatchIcon,hoverDelegate:de,onTrigger:()=>{(0,f.assertIsDefined)(this._codeEditor.getAction(i.FIND_IDS.PreviousMatchFindAction)).run().then(void 0,b.onUnexpectedError)}},this._hoverService)),this._nextBtn=this._register(new he({label:A+this._keybindingLabelFor(i.FIND_IDS.NextMatchFindAction),icon:e.findNextMatchIcon,hoverDelegate:de,onTrigger:()=>{(0,f.assertIsDefined)(this._codeEditor.getAction(i.FIND_IDS.NextMatchFindAction)).run().then(void 0,b.onUnexpectedError)}},this._hoverService));const ge=document.createElement("div");ge.className="find-part",ge.appendChild(this._findInput.domNode);const X=document.createElement("div");X.className="find-actions",ge.appendChild(X),X.appendChild(this._matchesCount),X.appendChild(this._prevBtn.domNode),X.appendChild(this._nextBtn.domNode),this._toggleSelectionFind=this._register(new I.Toggle({icon:e.findSelectionIcon,title:P+this._keybindingLabelFor(i.FIND_IDS.ToggleSearchScopeCommand),isChecked:!1,hoverDelegate:de,inputActiveOptionBackground:(0,l.asCssVariable)(l.inputActiveOptionBackground),inputActiveOptionBorder:(0,l.asCssVariable)(l.inputActiveOptionBorder),inputActiveOptionForeground:(0,l.asCssVariable)(l.inputActiveOptionForeground)})),this._register(this._toggleSelectionFind.onChange(()=>{if(this._toggleSelectionFind.checked){if(this._codeEditor.hasModel()){let te=this._codeEditor.getSelections();te=te.map(re=>(re.endColumn===1&&re.endLineNumber>re.startLineNumber&&(re=re.setEndPosition(re.endLineNumber-1,this._codeEditor.getModel().getLineMaxColumn(re.endLineNumber-1))),re.isEmpty()?null:re)).filter(re=>!!re),te.length&&this._state.change({searchScope:te},!0)}}else this._state.change({searchScope:null},!0)})),X.appendChild(this._toggleSelectionFind.domNode),this._closeBtn=this._register(new he({label:N+this._keybindingLabelFor(i.FIND_IDS.CloseFindWidgetCommand),icon:a.widgetClose,hoverDelegate:de,onTrigger:()=>{this._state.change({isRevealed:!1,searchScope:null},!1)},onKeyDown:te=>{te.equals(2)&&this._isReplaceVisible&&(this._replaceBtn.isEnabled()?this._replaceBtn.focus():this._codeEditor.focus(),te.preventDefault())}},this._hoverService)),this._replaceInput=this._register(new g.ContextScopedReplaceInput(null,void 0,{label:O,placeholder:F,appendPreserveCaseLabel:this._keybindingLabelFor(i.FIND_IDS.TogglePreserveCaseCommand),history:[],flexibleHeight:!0,flexibleWidth:!0,flexibleMaxHeight:118,showHistoryHint:()=>(0,c.showHistoryKeybindingHint)(this._keybindingService),inputBoxStyles:h.defaultInputBoxStyles,toggleStyles:h.defaultToggleStyles},this._contextKeyService,!0)),this._replaceInput.setPreserveCase(!!this._state.preserveCase),this._register(this._replaceInput.onKeyDown(te=>this._onReplaceInputKeyDown(te))),this._register(this._replaceInput.inputBox.onDidChange(()=>{this._state.change({replaceString:this._replaceInput.inputBox.value},!1)})),this._register(this._replaceInput.inputBox.onDidHeightChange(te=>{this._isReplaceVisible&&this._tryUpdateHeight()&&this._showViewZone()})),this._register(this._replaceInput.onDidOptionChange(()=>{this._state.change({preserveCase:this._replaceInput.getPreserveCase()},!0)})),this._register(this._replaceInput.onPreserveCaseKeyDown(te=>{te.equals(2)&&(this._prevBtn.isEnabled()?this._prevBtn.focus():this._nextBtn.isEnabled()?this._nextBtn.focus():this._toggleSelectionFind.enabled?this._toggleSelectionFind.focus():this._closeBtn.isEnabled()&&this._closeBtn.focus(),te.preventDefault())}));const B=this._register((0,v.createInstantHoverDelegate)());this._replaceBtn=this._register(new he({label:x+this._keybindingLabelFor(i.FIND_IDS.ReplaceOneAction),icon:e.findReplaceIcon,hoverDelegate:B,onTrigger:()=>{this._controller.replace()},onKeyDown:te=>{te.equals(1026)&&(this._closeBtn.focus(),te.preventDefault())}},this._hoverService)),this._replaceAllBtn=this._register(new he({label:W+this._keybindingLabelFor(i.FIND_IDS.ReplaceAllAction),icon:e.findReplaceAllIcon,hoverDelegate:B,onTrigger:()=>{this._controller.replaceAll()}},this._hoverService));const $=document.createElement("div");$.className="replace-part",$.appendChild(this._replaceInput.domNode);const Y=document.createElement("div");Y.className="replace-actions",$.appendChild(Y),Y.appendChild(this._replaceBtn.domNode),Y.appendChild(this._replaceAllBtn.domNode),this._toggleReplaceBtn=this._register(new he({label:V,className:"codicon toggle left",onTrigger:()=>{this._state.change({isReplaceRevealed:!this._isReplaceVisible},!1),this._isReplaceVisible&&(this._replaceInput.width=d.getTotalWidth(this._findInput.domNode),this._replaceInput.inputBox.layout()),this._showViewZone()}},this._hoverService)),this._toggleReplaceBtn.setExpanded(this._isReplaceVisible),this._domNode=document.createElement("div"),this._domNode.className="editor-widget find-widget",this._domNode.setAttribute("aria-hidden","true"),this._domNode.ariaLabel=L,this._domNode.role="dialog",this._domNode.style.width=`${H}px`,this._domNode.appendChild(this._toggleReplaceBtn.domNode),this._domNode.appendChild(ge),this._domNode.appendChild(this._closeBtn.domNode),this._domNode.appendChild($),this._resizeSash=this._register(new E.Sash(this._domNode,this,{orientation:0,size:2})),this._resized=!1;let Z=H;this._register(this._resizeSash.onDidStart(()=>{Z=d.getTotalWidth(this._domNode)})),this._register(this._resizeSash.onDidChange(te=>{this._resized=!0;const re=Z+te.startX-te.currentX;if(rele||(this._domNode.style.width=`${re}px`,this._isReplaceVisible&&(this._replaceInput.width=d.getTotalWidth(this._findInput.domNode)),this._findInput.inputBox.layout(),this._tryUpdateHeight())})),this._register(this._resizeSash.onDidReset(()=>{const te=d.getTotalWidth(this._domNode);if(te{this._opts.onTrigger(),ge.preventDefault()}),this.onkeydown(this._domNode,ge=>{if(ge.equals(10)||ge.equals(3)){this._opts.onTrigger(),ge.preventDefault();return}this._opts.onKeyDown?.(ge)})}get domNode(){return this._domNode}isEnabled(){return this._domNode.tabIndex>=0}focus(){this._domNode.focus()}setEnabled(ae){this._domNode.classList.toggle("disabled",!ae),this._domNode.setAttribute("aria-disabled",String(!ae)),this._domNode.tabIndex=ae?0:-1}setExpanded(ae){this._domNode.setAttribute("aria-expanded",String(!!ae)),ae?(this._domNode.classList.remove(...u.ThemeIcon.asClassNameArray(w)),this._domNode.classList.add(...u.ThemeIcon.asClassNameArray(S))):(this._domNode.classList.remove(...u.ThemeIcon.asClassNameArray(S)),this._domNode.classList.add(...u.ThemeIcon.asClassNameArray(w)))}}e.SimpleButton=he,(0,r.registerThemingParticipant)((pe,ae)=>{const ee=pe.getColor(l.editorFindMatchHighlightBorder);ee&&ae.addRule(`.monaco-editor .findMatch { border: 1px ${(0,C.isHighContrast)(pe.type)?"dotted":"solid"} ${ee}; box-sizing: border-box; }`);const de=pe.getColor(l.editorFindRangeHighlightBorder);de&&ae.addRule(`.monaco-editor .findScope { border: 1px ${(0,C.isHighContrast)(pe.type)?"dashed":"solid"} ${de}; }`);const ge=pe.getColor(l.contrastBorder);ge&&ae.addRule(`.monaco-editor .find-widget { border: 1px solid ${ge}; }`);const X=pe.getColor(l.editorFindMatchForeground);X&&ae.addRule(`.monaco-editor .findMatchInline { color: ${X}; }`);const B=pe.getColor(l.editorFindMatchHighlightForeground);B&&ae.addRule(`.monaco-editor .currentFindMatchInline { color: ${B}; }`)})}),define(ne[423],se([1,0,14,2,11,15,80,20,40,220,824,825,826,3,29,117,12,58,31,50,66,101,25,118]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r,u,C,f){"use strict";var h;Object.defineProperty(e,"__esModule",{value:!0}),e.StartFindReplaceAction=e.PreviousSelectionMatchFindAction=e.NextSelectionMatchFindAction=e.SelectionMatchFindAction=e.MoveToMatchFindAction=e.PreviousMatchFindAction=e.NextMatchFindAction=e.MatchFindAction=e.StartFindWithSelectionAction=e.StartFindWithArgsAction=e.StartFindAction=e.FindController=e.CommonFindController=void 0,e.getSelectionSearchString=w;const v=524288;function w(q,H="single",z=!1){if(!q.hasModel())return null;const U=q.getSelection();if(H==="single"&&U.startLineNumber===U.endLineNumber||H==="multiple"){if(U.isEmpty()){const j=q.getConfiguredWordAtPosition(U.getStartPosition());if(j&&z===!1)return j.word}else if(q.getModel().getValueLengthInRange(U)this._onStateChanged(K))),this._model=null,this._register(this._editor.onDidChangeModel(()=>{const K=this._editor.getModel()&&this._state.isRevealed;this.disposeModel(),this._state.change({searchScope:null,matchCase:this._storageService.getBoolean("editor.matchCase",1,!1),wholeWord:this._storageService.getBoolean("editor.wholeWord",1,!1),isRegex:this._storageService.getBoolean("editor.isRegex",1,!1),preserveCase:this._storageService.getBoolean("editor.preserveCase",1,!1)},!1),K&&this._start({forceRevealReplace:!1,seedSearchStringFromSelection:"none",seedSearchStringFromNonEmptySelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!1,updateSearchScope:!1,loop:this._editor.getOption(41).loop})}))}dispose(){this.disposeModel(),super.dispose()}disposeModel(){this._model&&(this._model.dispose(),this._model=null)}_onStateChanged(H){this.saveQueryState(H),H.isRevealed&&(this._state.isRevealed?this._findWidgetVisible.set(!0):(this._findWidgetVisible.reset(),this.disposeModel())),H.searchString&&this.setGlobalBufferTerm(this._state.searchString)}saveQueryState(H){H.isRegex&&this._storageService.store("editor.isRegex",this._state.actualIsRegex,1,1),H.wholeWord&&this._storageService.store("editor.wholeWord",this._state.actualWholeWord,1,1),H.matchCase&&this._storageService.store("editor.matchCase",this._state.actualMatchCase,1,1),H.preserveCase&&this._storageService.store("editor.preserveCase",this._state.actualPreserveCase,1,1)}loadQueryState(){this._state.change({matchCase:this._storageService.getBoolean("editor.matchCase",1,this._state.matchCase),wholeWord:this._storageService.getBoolean("editor.wholeWord",1,this._state.wholeWord),isRegex:this._storageService.getBoolean("editor.isRegex",1,this._state.isRegex),preserveCase:this._storageService.getBoolean("editor.preserveCase",1,this._state.preserveCase)},!1)}isFindInputFocused(){return!!b.CONTEXT_FIND_INPUT_FOCUSED.getValue(this._contextKeyService)}getState(){return this._state}closeFindWidget(){this._state.change({isRevealed:!1,searchScope:null},!1),this._editor.focus()}toggleCaseSensitive(){this._state.change({matchCase:!this._state.matchCase},!1),this._state.isRevealed||this.highlightFindOptions()}toggleWholeWords(){this._state.change({wholeWord:!this._state.wholeWord},!1),this._state.isRevealed||this.highlightFindOptions()}toggleRegex(){this._state.change({isRegex:!this._state.isRegex},!1),this._state.isRevealed||this.highlightFindOptions()}togglePreserveCase(){this._state.change({preserveCase:!this._state.preserveCase},!1),this._state.isRevealed||this.highlightFindOptions()}toggleSearchScope(){if(this._state.searchScope)this._state.change({searchScope:null},!0);else if(this._editor.hasModel()){let H=this._editor.getSelections();H=H.map(z=>(z.endColumn===1&&z.endLineNumber>z.startLineNumber&&(z=z.setEndPosition(z.endLineNumber-1,this._editor.getModel().getLineMaxColumn(z.endLineNumber-1))),z.isEmpty()?null:z)).filter(z=>!!z),H.length&&this._state.change({searchScope:H},!0)}}setSearchString(H){this._state.isRegex&&(H=I.escapeRegExpCharacters(H)),this._state.change({searchString:H},!1)}highlightFindOptions(H=!1){}async _start(H,z){if(this.disposeModel(),!this._editor.hasModel())return;const U={...z,isRevealed:!0};if(H.seedSearchStringFromSelection==="single"){const j=w(this._editor,H.seedSearchStringFromSelection,H.seedSearchStringFromNonEmptySelection);j&&(this._state.isRegex?U.searchString=I.escapeRegExpCharacters(j):U.searchString=j)}else if(H.seedSearchStringFromSelection==="multiple"&&!H.updateSearchScope){const j=w(this._editor,H.seedSearchStringFromSelection);j&&(U.searchString=j)}if(!U.searchString&&H.seedSearchStringFromGlobalClipboard){const j=await this.getGlobalBufferTerm();if(!this._editor.hasModel())return;j&&(U.searchString=j)}if(H.forceRevealReplace||U.isReplaceRevealed?U.isReplaceRevealed=!0:this._findWidgetVisible.get()||(U.isReplaceRevealed=!1),H.updateSearchScope){const j=this._editor.getSelections();j.some(Q=>!Q.isEmpty())&&(U.searchScope=j)}U.loop=H.loop,this._state.change(U,!1),this._model||(this._model=new b.FindModelBoundToEditorModel(this._editor,this._state))}start(H,z){return this._start(H,z)}moveToNextMatch(){return this._model?(this._model.moveToNextMatch(),!0):!1}moveToPrevMatch(){return this._model?(this._model.moveToPrevMatch(),!0):!1}goToMatch(H){return this._model?(this._model.moveToMatch(H),!0):!1}replace(){return this._model?(this._model.replace(),!0):!1}replaceAll(){return this._model?this._editor.getModel()?.isTooLargeForHeapOperation()?(this._notificationService.warn(t.localize(848,"The file is too large to perform a replace all operation.")),!1):(this._model.replaceAll(),!0):!1}selectAllMatches(){return this._model?(this._model.selectAllMatches(),this._editor.focus(),!0):!1}async getGlobalBufferTerm(){return this._editor.getOption(41).globalFindClipboard&&this._editor.hasModel()&&!this._editor.getModel().isTooLargeForSyncing()?this._clipboardService.readFindText():""}setGlobalBufferTerm(H){this._editor.getOption(41).globalFindClipboard&&this._editor.hasModel()&&!this._editor.getModel().isTooLargeForSyncing()&&this._clipboardService.writeFindText(H)}};e.CommonFindController=S,e.CommonFindController=S=h=ke([ce(1,g.IContextKeyService),ce(2,u.IStorageService),ce(3,s.IClipboardService),ce(4,a.INotificationService),ce(5,f.IHoverService)],S);let L=class extends S{constructor(H,z,U,j,Q,G,K,R,J){super(H,U,K,R,G,J),this._contextViewService=z,this._keybindingService=j,this._themeService=Q,this._widget=null,this._findOptionsWidget=null}async _start(H,z){this._widget||this._createFindWidget();const U=this._editor.getSelection();let j=!1;switch(this._editor.getOption(41).autoFindInSelection){case"always":j=!0;break;case"never":j=!1;break;case"multiline":{j=!!U&&U.startLineNumber!==U.endLineNumber;break}default:break}H.updateSearchScope=H.updateSearchScope||j,await super._start(H,z),this._widget&&(H.shouldFocus===2?this._widget.focusReplaceInput():H.shouldFocus===1&&this._widget.focusFindInput())}highlightFindOptions(H=!1){this._widget||this._createFindWidget(),this._state.isRevealed&&!H?this._widget.highlightFindOptions():this._findOptionsWidget.highlightFindOptions()}_createFindWidget(){this._widget=this._register(new o.FindWidget(this._editor,this,this._state,this._contextViewService,this._keybindingService,this._contextKeyService,this._themeService,this._storageService,this._notificationService,this._hoverService)),this._findOptionsWidget=this._register(new p.FindOptionsWidget(this._editor,this._state,this._keybindingService))}};e.FindController=L,e.FindController=L=ke([ce(1,c.IContextViewService),ce(2,g.IContextKeyService),ce(3,l.IKeybindingService),ce(4,C.IThemeService),ce(5,a.INotificationService),ce(6,u.IStorageService),ce(7,s.IClipboardService),ce(8,f.IHoverService)],L),e.StartFindAction=(0,E.registerMultiEditorAction)(new E.MultiEditorAction({id:b.FIND_IDS.StartFindAction,label:t.localize(849,"Find"),alias:"Find",precondition:g.ContextKeyExpr.or(m.EditorContextKeys.focus,g.ContextKeyExpr.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2084,weight:100},menuOpts:{menuId:i.MenuId.MenubarEditMenu,group:"3_find",title:t.localize(850,"&&Find"),order:1}})),e.StartFindAction.addImplementation(0,(q,H,z)=>{const U=S.get(H);return U?U.start({forceRevealReplace:!1,seedSearchStringFromSelection:H.getOption(41).seedSearchStringFromSelection!=="never"?"single":"none",seedSearchStringFromNonEmptySelection:H.getOption(41).seedSearchStringFromSelection==="selection",seedSearchStringFromGlobalClipboard:H.getOption(41).globalFindClipboard,shouldFocus:1,shouldAnimate:!0,updateSearchScope:!1,loop:H.getOption(41).loop}):!1});const D={description:"Open a new In-Editor Find Widget.",args:[{name:"Open a new In-Editor Find Widget args",schema:{properties:{searchString:{type:"string"},replaceString:{type:"string"},isRegex:{type:"boolean"},matchWholeWord:{type:"boolean"},isCaseSensitive:{type:"boolean"},preserveCase:{type:"boolean"},findInSelection:{type:"boolean"}}}}]};class T extends E.EditorAction{constructor(){super({id:b.FIND_IDS.StartFindWithArgs,label:t.localize(851,"Find With Arguments"),alias:"Find With Arguments",precondition:void 0,kbOpts:{kbExpr:null,primary:0,weight:100},metadata:D})}async run(H,z,U){const j=S.get(z);if(j){const Q=U?{searchString:U.searchString,replaceString:U.replaceString,isReplaceRevealed:U.replaceString!==void 0,isRegex:U.isRegex,wholeWord:U.matchWholeWord,matchCase:U.isCaseSensitive,preserveCase:U.preserveCase}:{};await j.start({forceRevealReplace:!1,seedSearchStringFromSelection:j.getState().searchString.length===0&&z.getOption(41).seedSearchStringFromSelection!=="never"?"single":"none",seedSearchStringFromNonEmptySelection:z.getOption(41).seedSearchStringFromSelection==="selection",seedSearchStringFromGlobalClipboard:!0,shouldFocus:1,shouldAnimate:!0,updateSearchScope:U?.findInSelection||!1,loop:z.getOption(41).loop},Q),j.setGlobalBufferTerm(j.getState().searchString)}}}e.StartFindWithArgsAction=T;class M extends E.EditorAction{constructor(){super({id:b.FIND_IDS.StartFindWithSelection,label:t.localize(852,"Find With Selection"),alias:"Find With Selection",precondition:void 0,kbOpts:{kbExpr:null,primary:0,mac:{primary:2083},weight:100}})}async run(H,z){const U=S.get(z);U&&(await U.start({forceRevealReplace:!1,seedSearchStringFromSelection:"multiple",seedSearchStringFromNonEmptySelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:z.getOption(41).loop}),U.setGlobalBufferTerm(U.getState().searchString))}}e.StartFindWithSelectionAction=M;class A extends E.EditorAction{async run(H,z){const U=S.get(z);U&&!this._run(U)&&(await U.start({forceRevealReplace:!1,seedSearchStringFromSelection:U.getState().searchString.length===0&&z.getOption(41).seedSearchStringFromSelection!=="never"?"single":"none",seedSearchStringFromNonEmptySelection:z.getOption(41).seedSearchStringFromSelection==="selection",seedSearchStringFromGlobalClipboard:!0,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:z.getOption(41).loop}),this._run(U))}}e.MatchFindAction=A;class P extends A{constructor(){super({id:b.FIND_IDS.NextMatchFindAction,label:t.localize(853,"Find Next"),alias:"Find Next",precondition:void 0,kbOpts:[{kbExpr:m.EditorContextKeys.focus,primary:61,mac:{primary:2085,secondary:[61]},weight:100},{kbExpr:g.ContextKeyExpr.and(m.EditorContextKeys.focus,b.CONTEXT_FIND_INPUT_FOCUSED),primary:3,weight:100}]})}_run(H){return H.moveToNextMatch()?(H.editor.pushUndoStop(),!0):!1}}e.NextMatchFindAction=P;class N extends A{constructor(){super({id:b.FIND_IDS.PreviousMatchFindAction,label:t.localize(854,"Find Previous"),alias:"Find Previous",precondition:void 0,kbOpts:[{kbExpr:m.EditorContextKeys.focus,primary:1085,mac:{primary:3109,secondary:[1085]},weight:100},{kbExpr:g.ContextKeyExpr.and(m.EditorContextKeys.focus,b.CONTEXT_FIND_INPUT_FOCUSED),primary:1027,weight:100}]})}_run(H){return H.moveToPrevMatch()}}e.PreviousMatchFindAction=N;class O extends E.EditorAction{constructor(){super({id:b.FIND_IDS.GoToMatchFindAction,label:t.localize(855,"Go to Match..."),alias:"Go to Match...",precondition:b.CONTEXT_FIND_WIDGET_VISIBLE}),this._highlightDecorations=[]}run(H,z,U){const j=S.get(z);if(!j)return;const Q=j.getState().matchesCount;if(Q<1){H.get(a.INotificationService).notify({severity:a.Severity.Warning,message:t.localize(856,"No matches. Try searching for something else.")});return}const G=H.get(r.IQuickInputService),K=new k.DisposableStore,R=K.add(G.createInputBox());R.placeholder=t.localize(857,"Type a number to go to a specific match (between 1 and {0})",Q);const J=ue=>{const he=parseInt(ue);if(isNaN(he))return;const pe=j.getState().matchesCount;if(he>0&&he<=pe)return he-1;if(he<0&&he>=-pe)return pe+he},ie=ue=>{const he=J(ue);if(typeof he=="number"){R.validationMessage=void 0,j.goToMatch(he);const pe=j.getState().currentMatch;pe&&this.addDecorations(z,pe)}else R.validationMessage=t.localize(858,"Please type a number between 1 and {0}",j.getState().matchesCount),this.clearDecorations(z)};K.add(R.onDidChangeValue(ue=>{ie(ue)})),K.add(R.onDidAccept(()=>{const ue=J(R.value);typeof ue=="number"?(j.goToMatch(ue),R.hide()):R.validationMessage=t.localize(859,"Please type a number between 1 and {0}",j.getState().matchesCount)})),K.add(R.onDidHide(()=>{this.clearDecorations(z),K.dispose()})),R.show()}clearDecorations(H){H.changeDecorations(z=>{this._highlightDecorations=z.deltaDecorations(this._highlightDecorations,[])})}addDecorations(H,z){H.changeDecorations(U=>{this._highlightDecorations=U.deltaDecorations(this._highlightDecorations,[{range:z,options:{description:"find-match-quick-access-range-highlight",className:"rangeHighlight",isWholeLine:!0}},{range:z,options:{description:"find-match-quick-access-range-highlight-overview",overviewRuler:{color:(0,C.themeColorFromId)(y.overviewRulerRangeHighlight),position:_.OverviewRulerLane.Full}}}])})}}e.MoveToMatchFindAction=O;class F extends E.EditorAction{async run(H,z){const U=S.get(z);if(!U)return;const j=w(z,"single",!1);j&&U.setSearchString(j),this._run(U)||(await U.start({forceRevealReplace:!1,seedSearchStringFromSelection:"none",seedSearchStringFromNonEmptySelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:z.getOption(41).loop}),this._run(U))}}e.SelectionMatchFindAction=F;class x extends F{constructor(){super({id:b.FIND_IDS.NextSelectionMatchFindAction,label:t.localize(860,"Find Next Selection"),alias:"Find Next Selection",precondition:void 0,kbOpts:{kbExpr:m.EditorContextKeys.focus,primary:2109,weight:100}})}_run(H){return H.moveToNextMatch()}}e.NextSelectionMatchFindAction=x;class W extends F{constructor(){super({id:b.FIND_IDS.PreviousSelectionMatchFindAction,label:t.localize(861,"Find Previous Selection"),alias:"Find Previous Selection",precondition:void 0,kbOpts:{kbExpr:m.EditorContextKeys.focus,primary:3133,weight:100}})}_run(H){return H.moveToPrevMatch()}}e.PreviousSelectionMatchFindAction=W,e.StartFindReplaceAction=(0,E.registerMultiEditorAction)(new E.MultiEditorAction({id:b.FIND_IDS.StartFindReplaceAction,label:t.localize(862,"Replace"),alias:"Replace",precondition:g.ContextKeyExpr.or(m.EditorContextKeys.focus,g.ContextKeyExpr.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2086,mac:{primary:2596},weight:100},menuOpts:{menuId:i.MenuId.MenubarEditMenu,group:"3_find",title:t.localize(863,"&&Replace"),order:2}})),e.StartFindReplaceAction.addImplementation(0,(q,H,z)=>{if(!H.hasModel()||H.getOption(92))return!1;const U=S.get(H);if(!U)return!1;const j=H.getSelection(),Q=U.isFindInputFocused(),G=!j.isEmpty()&&j.startLineNumber===j.endLineNumber&&H.getOption(41).seedSearchStringFromSelection!=="never"&&!Q,K=Q||G?2:1;return U.start({forceRevealReplace:!0,seedSearchStringFromSelection:G?"single":"none",seedSearchStringFromNonEmptySelection:H.getOption(41).seedSearchStringFromSelection==="selection",seedSearchStringFromGlobalClipboard:H.getOption(41).seedSearchStringFromSelection!=="never",shouldFocus:K,shouldAnimate:!0,updateSearchScope:!1,loop:H.getOption(41).loop})}),(0,E.registerEditorContribution)(S.ID,L,0),(0,E.registerEditorAction)(T),(0,E.registerEditorAction)(M),(0,E.registerEditorAction)(P),(0,E.registerEditorAction)(N),(0,E.registerEditorAction)(O),(0,E.registerEditorAction)(x),(0,E.registerEditorAction)(W);const V=E.EditorCommand.bindToContribution(S.get);(0,E.registerEditorCommand)(new V({id:b.FIND_IDS.CloseFindWidgetCommand,precondition:b.CONTEXT_FIND_WIDGET_VISIBLE,handler:q=>q.closeFindWidget(),kbOpts:{weight:105,kbExpr:g.ContextKeyExpr.and(m.EditorContextKeys.focus,g.ContextKeyExpr.not("isComposing")),primary:9,secondary:[1033]}})),(0,E.registerEditorCommand)(new V({id:b.FIND_IDS.ToggleCaseSensitiveCommand,precondition:void 0,handler:q=>q.toggleCaseSensitive(),kbOpts:{weight:105,kbExpr:m.EditorContextKeys.focus,primary:b.ToggleCaseSensitiveKeybinding.primary,mac:b.ToggleCaseSensitiveKeybinding.mac,win:b.ToggleCaseSensitiveKeybinding.win,linux:b.ToggleCaseSensitiveKeybinding.linux}})),(0,E.registerEditorCommand)(new V({id:b.FIND_IDS.ToggleWholeWordCommand,precondition:void 0,handler:q=>q.toggleWholeWords(),kbOpts:{weight:105,kbExpr:m.EditorContextKeys.focus,primary:b.ToggleWholeWordKeybinding.primary,mac:b.ToggleWholeWordKeybinding.mac,win:b.ToggleWholeWordKeybinding.win,linux:b.ToggleWholeWordKeybinding.linux}})),(0,E.registerEditorCommand)(new V({id:b.FIND_IDS.ToggleRegexCommand,precondition:void 0,handler:q=>q.toggleRegex(),kbOpts:{weight:105,kbExpr:m.EditorContextKeys.focus,primary:b.ToggleRegexKeybinding.primary,mac:b.ToggleRegexKeybinding.mac,win:b.ToggleRegexKeybinding.win,linux:b.ToggleRegexKeybinding.linux}})),(0,E.registerEditorCommand)(new V({id:b.FIND_IDS.ToggleSearchScopeCommand,precondition:void 0,handler:q=>q.toggleSearchScope(),kbOpts:{weight:105,kbExpr:m.EditorContextKeys.focus,primary:b.ToggleSearchScopeKeybinding.primary,mac:b.ToggleSearchScopeKeybinding.mac,win:b.ToggleSearchScopeKeybinding.win,linux:b.ToggleSearchScopeKeybinding.linux}})),(0,E.registerEditorCommand)(new V({id:b.FIND_IDS.TogglePreserveCaseCommand,precondition:void 0,handler:q=>q.togglePreserveCase(),kbOpts:{weight:105,kbExpr:m.EditorContextKeys.focus,primary:b.TogglePreserveCaseKeybinding.primary,mac:b.TogglePreserveCaseKeybinding.mac,win:b.TogglePreserveCaseKeybinding.win,linux:b.TogglePreserveCaseKeybinding.linux}})),(0,E.registerEditorCommand)(new V({id:b.FIND_IDS.ReplaceOneAction,precondition:b.CONTEXT_FIND_WIDGET_VISIBLE,handler:q=>q.replace(),kbOpts:{weight:105,kbExpr:m.EditorContextKeys.focus,primary:3094}})),(0,E.registerEditorCommand)(new V({id:b.FIND_IDS.ReplaceOneAction,precondition:b.CONTEXT_FIND_WIDGET_VISIBLE,handler:q=>q.replace(),kbOpts:{weight:105,kbExpr:g.ContextKeyExpr.and(m.EditorContextKeys.focus,b.CONTEXT_REPLACE_INPUT_FOCUSED),primary:3}})),(0,E.registerEditorCommand)(new V({id:b.FIND_IDS.ReplaceAllAction,precondition:b.CONTEXT_FIND_WIDGET_VISIBLE,handler:q=>q.replaceAll(),kbOpts:{weight:105,kbExpr:m.EditorContextKeys.focus,primary:2563}})),(0,E.registerEditorCommand)(new V({id:b.FIND_IDS.ReplaceAllAction,precondition:b.CONTEXT_FIND_WIDGET_VISIBLE,handler:q=>q.replaceAll(),kbOpts:{weight:105,kbExpr:g.ContextKeyExpr.and(m.EditorContextKeys.focus,b.CONTEXT_REPLACE_INPUT_FOCUSED),primary:void 0,mac:{primary:2051}}})),(0,E.registerEditorCommand)(new V({id:b.FIND_IDS.SelectAllMatchesAction,precondition:b.CONTEXT_FIND_WIDGET_VISIBLE,handler:q=>q.selectAllMatches(),kbOpts:{weight:105,kbExpr:m.EditorContextKeys.focus,primary:515}}))}),define(ne[424],se([1,0,26,35,3,32,71,25,30]),function(oe,e,d,k,I,E,y,m,_){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.FoldingDecorationProvider=e.foldingManualExpandedIcon=e.foldingManualCollapsedIcon=e.foldingCollapsedIcon=e.foldingExpandedIcon=void 0;const b=(0,E.registerColor)("editor.foldBackground",{light:(0,E.transparent)(E.editorSelectionBackground,.3),dark:(0,E.transparent)(E.editorSelectionBackground,.3),hcDark:null,hcLight:null},(0,I.localize)(910,"Background color behind folded ranges. The color must not be opaque so as not to hide underlying decorations."),!0);(0,E.registerColor)("editor.foldPlaceholderForeground",{light:"#808080",dark:"#808080",hcDark:null,hcLight:null},(0,I.localize)(911,"Color of the collapsed text after the first line of a folded range.")),(0,E.registerColor)("editorGutter.foldingControlForeground",E.iconForeground,(0,I.localize)(912,"Color of the folding control in the editor gutter.")),e.foldingExpandedIcon=(0,y.registerIcon)("folding-expanded",d.Codicon.chevronDown,(0,I.localize)(913,"Icon for expanded ranges in the editor glyph margin.")),e.foldingCollapsedIcon=(0,y.registerIcon)("folding-collapsed",d.Codicon.chevronRight,(0,I.localize)(914,"Icon for collapsed ranges in the editor glyph margin.")),e.foldingManualCollapsedIcon=(0,y.registerIcon)("folding-manual-collapsed",e.foldingCollapsedIcon,(0,I.localize)(915,"Icon for manually collapsed ranges in the editor glyph margin.")),e.foldingManualExpandedIcon=(0,y.registerIcon)("folding-manual-expanded",e.foldingExpandedIcon,(0,I.localize)(916,"Icon for manually expanded ranges in the editor glyph margin."));const p={color:(0,m.themeColorFromId)(b),position:1},n=(0,I.localize)(917,"Click to expand the range."),o=(0,I.localize)(918,"Click to collapse the range.");class t{static{this.COLLAPSED_VISUAL_DECORATION=k.ModelDecorationOptions.register({description:"folding-collapsed-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:n,firstLineDecorationClassName:_.ThemeIcon.asClassName(e.foldingCollapsedIcon)})}static{this.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=k.ModelDecorationOptions.register({description:"folding-collapsed-highlighted-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:p,isWholeLine:!0,linesDecorationsTooltip:n,firstLineDecorationClassName:_.ThemeIcon.asClassName(e.foldingCollapsedIcon)})}static{this.MANUALLY_COLLAPSED_VISUAL_DECORATION=k.ModelDecorationOptions.register({description:"folding-manually-collapsed-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:n,firstLineDecorationClassName:_.ThemeIcon.asClassName(e.foldingManualCollapsedIcon)})}static{this.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=k.ModelDecorationOptions.register({description:"folding-manually-collapsed-highlighted-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:p,isWholeLine:!0,linesDecorationsTooltip:n,firstLineDecorationClassName:_.ThemeIcon.asClassName(e.foldingManualCollapsedIcon)})}static{this.NO_CONTROLS_COLLAPSED_RANGE_DECORATION=k.ModelDecorationOptions.register({description:"folding-no-controls-range-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:n})}static{this.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION=k.ModelDecorationOptions.register({description:"folding-no-controls-range-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:p,isWholeLine:!0,linesDecorationsTooltip:n})}static{this.EXPANDED_VISUAL_DECORATION=k.ModelDecorationOptions.register({description:"folding-expanded-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+_.ThemeIcon.asClassName(e.foldingExpandedIcon),linesDecorationsTooltip:o})}static{this.EXPANDED_AUTO_HIDE_VISUAL_DECORATION=k.ModelDecorationOptions.register({description:"folding-expanded-auto-hide-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:_.ThemeIcon.asClassName(e.foldingExpandedIcon),linesDecorationsTooltip:o})}static{this.MANUALLY_EXPANDED_VISUAL_DECORATION=k.ModelDecorationOptions.register({description:"folding-manually-expanded-visual-decoration",stickiness:0,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+_.ThemeIcon.asClassName(e.foldingManualExpandedIcon),linesDecorationsTooltip:o})}static{this.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION=k.ModelDecorationOptions.register({description:"folding-manually-expanded-auto-hide-visual-decoration",stickiness:0,isWholeLine:!0,firstLineDecorationClassName:_.ThemeIcon.asClassName(e.foldingManualExpandedIcon),linesDecorationsTooltip:o})}static{this.NO_CONTROLS_EXPANDED_RANGE_DECORATION=k.ModelDecorationOptions.register({description:"folding-no-controls-range-decoration",stickiness:0,isWholeLine:!0})}static{this.HIDDEN_RANGE_DECORATION=k.ModelDecorationOptions.register({description:"folding-hidden-range-decoration",stickiness:1})}constructor(s){this.editor=s,this.showFoldingControls="mouseover",this.showFoldingHighlights=!0}getDecorationOption(s,g,c){return g?t.HIDDEN_RANGE_DECORATION:this.showFoldingControls==="never"?s?this.showFoldingHighlights?t.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION:t.NO_CONTROLS_COLLAPSED_RANGE_DECORATION:t.NO_CONTROLS_EXPANDED_RANGE_DECORATION:s?c?this.showFoldingHighlights?t.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:t.MANUALLY_COLLAPSED_VISUAL_DECORATION:this.showFoldingHighlights?t.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:t.COLLAPSED_VISUAL_DECORATION:this.showFoldingControls==="mouseover"?c?t.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION:t.EXPANDED_AUTO_HIDE_VISUAL_DECORATION:c?t.MANUALLY_EXPANDED_VISUAL_DECORATION:t.EXPANDED_VISUAL_DECORATION}changeDecorations(s){return this.editor.changeDecorations(s)}removeDecorations(s){this.editor.removeDecorations(s)}}e.FoldingDecorationProvider=t}),define(ne[289],se([1,0,14,18,8,72,2,11,19,143,15,20,27,36,334,613,335,3,12,424,203,336,50,79,54,17,6,24,22,51,28,511]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r,u,C,f,h,v,w,S,L,D,T){"use strict";var M;Object.defineProperty(e,"__esModule",{value:!0}),e.RangesLimitReporter=e.FoldingController=void 0,e.toSelectedLines=F;const A=new l.RawContextKey("foldingEnabled",!1);let P=class extends y.Disposable{static{M=this}static{this.ID="editor.contrib.folding"}static get(X){return X.getContribution(M.ID)}static getFoldingRangeProviders(X,B){const $=X.foldingRangeProvider.ordered(B);return M._foldingRangeSelector?.($,B)??$}constructor(X,B,$,Y,Z,te){super(),this.contextKeyService=B,this.languageConfigurationService=$,this.languageFeaturesService=te,this.localToDispose=this._register(new y.DisposableStore),this.editor=X,this._foldingLimitReporter=new N(X);const re=this.editor.getOptions();this._isEnabled=re.get(43),this._useFoldingProviders=re.get(44)!=="indentation",this._unfoldOnClickAfterEndOfLine=re.get(48),this._restoringViewState=!1,this._currentModelHasFoldedImports=!1,this._foldingImportsByDefault=re.get(46),this.updateDebounceInfo=Z.for(te.foldingRangeProvider,"Folding",{min:200}),this.foldingModel=null,this.hiddenRangeModel=null,this.rangeProvider=null,this.foldingRegionPromise=null,this.foldingModelPromise=null,this.updateScheduler=null,this.cursorChangedScheduler=null,this.mouseDownInfo=null,this.foldingDecorationProvider=new a.FoldingDecorationProvider(X),this.foldingDecorationProvider.showFoldingControls=re.get(111),this.foldingDecorationProvider.showFoldingHighlights=re.get(45),this.foldingEnabled=A.bindTo(this.contextKeyService),this.foldingEnabled.set(this._isEnabled),this._register(this.editor.onDidChangeModel(()=>this.onModelChanged())),this._register(this.editor.onDidChangeConfiguration(le=>{if(le.hasChanged(43)&&(this._isEnabled=this.editor.getOptions().get(43),this.foldingEnabled.set(this._isEnabled),this.onModelChanged()),le.hasChanged(47)&&this.onModelChanged(),le.hasChanged(111)||le.hasChanged(45)){const me=this.editor.getOptions();this.foldingDecorationProvider.showFoldingControls=me.get(111),this.foldingDecorationProvider.showFoldingHighlights=me.get(45),this.triggerFoldingModelChanged()}le.hasChanged(44)&&(this._useFoldingProviders=this.editor.getOptions().get(44)!=="indentation",this.onFoldingStrategyChanged()),le.hasChanged(48)&&(this._unfoldOnClickAfterEndOfLine=this.editor.getOptions().get(48)),le.hasChanged(46)&&(this._foldingImportsByDefault=this.editor.getOptions().get(46))})),this.onModelChanged()}saveViewState(){const X=this.editor.getModel();if(!X||!this._isEnabled||X.isTooLargeForTokenization())return{};if(this.foldingModel){const B=this.foldingModel.getMemento(),$=this.rangeProvider?this.rangeProvider.id:void 0;return{collapsedRegions:B,lineCount:X.getLineCount(),provider:$,foldedImports:this._currentModelHasFoldedImports}}}restoreViewState(X){const B=this.editor.getModel();if(!(!B||!this._isEnabled||B.isTooLargeForTokenization()||!this.hiddenRangeModel)&&X&&(this._currentModelHasFoldedImports=!!X.foldedImports,X.collapsedRegions&&X.collapsedRegions.length>0&&this.foldingModel)){this._restoringViewState=!0;try{this.foldingModel.applyMemento(X.collapsedRegions)}finally{this._restoringViewState=!1}}}onModelChanged(){this.localToDispose.clear();const X=this.editor.getModel();!this._isEnabled||!X||X.isTooLargeForTokenization()||(this._currentModelHasFoldedImports=!1,this.foldingModel=new i.FoldingModel(X,this.foldingDecorationProvider),this.localToDispose.add(this.foldingModel),this.hiddenRangeModel=new s.HiddenRangeModel(this.foldingModel),this.localToDispose.add(this.hiddenRangeModel),this.localToDispose.add(this.hiddenRangeModel.onDidChange(B=>this.onHiddenRangesChanges(B))),this.updateScheduler=new d.Delayer(this.updateDebounceInfo.get(X)),this.cursorChangedScheduler=new d.RunOnceScheduler(()=>this.revealCursor(),200),this.localToDispose.add(this.cursorChangedScheduler),this.localToDispose.add(this.languageFeaturesService.foldingRangeProvider.onDidChange(()=>this.onFoldingStrategyChanged())),this.localToDispose.add(this.editor.onDidChangeModelLanguageConfiguration(()=>this.onFoldingStrategyChanged())),this.localToDispose.add(this.editor.onDidChangeModelContent(B=>this.onDidChangeModelContent(B))),this.localToDispose.add(this.editor.onDidChangeCursorPosition(()=>this.onCursorPositionChanged())),this.localToDispose.add(this.editor.onMouseDown(B=>this.onEditorMouseDown(B))),this.localToDispose.add(this.editor.onMouseUp(B=>this.onEditorMouseUp(B))),this.localToDispose.add({dispose:()=>{this.foldingRegionPromise&&(this.foldingRegionPromise.cancel(),this.foldingRegionPromise=null),this.updateScheduler?.cancel(),this.updateScheduler=null,this.foldingModel=null,this.foldingModelPromise=null,this.hiddenRangeModel=null,this.cursorChangedScheduler=null,this.rangeProvider?.dispose(),this.rangeProvider=null}}),this.triggerFoldingModelChanged())}onFoldingStrategyChanged(){this.rangeProvider?.dispose(),this.rangeProvider=null,this.triggerFoldingModelChanged()}getRangeProvider(X){if(this.rangeProvider)return this.rangeProvider;const B=new g.IndentRangeProvider(X,this.languageConfigurationService,this._foldingLimitReporter);if(this.rangeProvider=B,this._useFoldingProviders&&this.foldingModel){const $=M.getFoldingRangeProviders(this.languageFeaturesService,X);$.length>0&&(this.rangeProvider=new u.SyntaxRangeProvider(X,$,()=>this.triggerFoldingModelChanged(),this._foldingLimitReporter,B))}return this.rangeProvider}getFoldingModel(){return this.foldingModelPromise}onDidChangeModelContent(X){this.hiddenRangeModel?.notifyChangeModelContent(X),this.triggerFoldingModelChanged()}triggerFoldingModelChanged(){this.updateScheduler&&(this.foldingRegionPromise&&(this.foldingRegionPromise.cancel(),this.foldingRegionPromise=null),this.foldingModelPromise=this.updateScheduler.trigger(()=>{const X=this.foldingModel;if(!X)return null;const B=new h.StopWatch,$=this.getRangeProvider(X.textModel),Y=this.foldingRegionPromise=(0,d.createCancelablePromise)(Z=>$.compute(Z));return Y.then(Z=>{if(Z&&Y===this.foldingRegionPromise){let te;if(this._foldingImportsByDefault&&!this._currentModelHasFoldedImports){const me=Z.setCollapsedAllOfType(o.FoldingRangeKind.Imports.value,!0);me&&(te=b.StableEditorScrollState.capture(this.editor),this._currentModelHasFoldedImports=me)}const re=this.editor.getSelections();X.update(Z,F(re)),te?.restore(this.editor);const le=this.updateDebounceInfo.update(X.textModel,B.elapsed());this.updateScheduler&&(this.updateScheduler.defaultDelay=le)}return X})}).then(void 0,X=>((0,I.onUnexpectedError)(X),null)))}onHiddenRangesChanges(X){if(this.hiddenRangeModel&&X.length&&!this._restoringViewState){const B=this.editor.getSelections();B&&this.hiddenRangeModel.adjustSelections(B)&&this.editor.setSelections(B)}this.editor.setHiddenAreas(X,this)}onCursorPositionChanged(){this.hiddenRangeModel&&this.hiddenRangeModel.hasRanges()&&this.cursorChangedScheduler.schedule()}revealCursor(){const X=this.getFoldingModel();X&&X.then(B=>{if(B){const $=this.editor.getSelections();if($&&$.length>0){const Y=[];for(const Z of $){const te=Z.selectionStartLineNumber;this.hiddenRangeModel&&this.hiddenRangeModel.isHidden(te)&&Y.push(...B.getAllRegionsAtLine(te,re=>re.isCollapsed&&te>re.startLineNumber))}Y.length&&(B.toggleCollapseState(Y),this.reveal($[0].getPosition()))}}}).then(void 0,I.onUnexpectedError)}onEditorMouseDown(X){if(this.mouseDownInfo=null,!this.hiddenRangeModel||!X.target||!X.target.range||!X.event.leftButton&&!X.event.middleButton)return;const B=X.target.range;let $=!1;switch(X.target.type){case 4:{const Y=X.target.detail,Z=X.target.element.offsetLeft;if(Y.offsetX-Z<4)return;$=!0;break}case 7:{if(this._unfoldOnClickAfterEndOfLine&&this.hiddenRangeModel.hasRanges()&&!X.target.detail.isAfterLines)break;return}case 6:{if(this.hiddenRangeModel.hasRanges()){const Y=this.editor.getModel();if(Y&&B.startColumn===Y.getLineMaxColumn(B.startLineNumber))break}return}default:return}this.mouseDownInfo={lineNumber:B.startLineNumber,iconClicked:$}}onEditorMouseUp(X){const B=this.foldingModel;if(!B||!this.mouseDownInfo||!X.target)return;const $=this.mouseDownInfo.lineNumber,Y=this.mouseDownInfo.iconClicked,Z=X.target.range;if(!Z||Z.startLineNumber!==$)return;if(Y){if(X.target.type!==4)return}else{const re=this.editor.getModel();if(!re||Z.startColumn!==re.getLineMaxColumn($))return}const te=B.getRegionAtLine($);if(te&&te.startLineNumber===$){const re=te.isCollapsed;if(Y||re){const le=X.event.altKey;let me=[];if(le){const ve=Ee=>!Ee.containedBy(te)&&!te.containedBy(Ee),Le=B.getRegionsInside(null,ve);for(const Ee of Le)Ee.isCollapsed&&me.push(Ee);me.length===0&&(me=Le)}else{const ve=X.event.middleButton||X.event.shiftKey;if(ve)for(const Le of B.getRegionsInside(te))Le.isCollapsed===re&&me.push(Le);(re||!ve||me.length===0)&&me.push(te)}B.toggleCollapseState(me),this.reveal({lineNumber:$,column:1})}}}reveal(X){this.editor.revealPositionInCenterIfOutsideViewport(X,0)}};e.FoldingController=P,e.FoldingController=P=M=ke([ce(1,l.IContextKeyService),ce(2,t.ILanguageConfigurationService),ce(3,C.INotificationService),ce(4,f.ILanguageFeatureDebounceService),ce(5,v.ILanguageFeaturesService)],P);class N{constructor(X){this.editor=X,this._onDidChange=new w.Emitter,this._computed=0,this._limited=!1}get limit(){return this.editor.getOptions().get(47)}update(X,B){(X!==this._computed||B!==this._limited)&&(this._computed=X,this._limited=B,this._onDidChange.fire())}}e.RangesLimitReporter=N;class O extends p.EditorAction{runEditorCommand(X,B,$){const Y=X.get(t.ILanguageConfigurationService),Z=P.get(B);if(!Z)return;const te=Z.getFoldingModel();if(te)return this.reportTelemetry(X,B),te.then(re=>{if(re){this.invoke(Z,re,B,$,Y);const le=B.getSelection();le&&Z.reveal(le.getStartPosition())}})}getSelectedLines(X){const B=X.getSelections();return B?B.map($=>$.startLineNumber):[]}getLineNumbers(X,B){return X&&X.selectionLines?X.selectionLines.map($=>$+1):this.getSelectedLines(B)}run(X,B){}}function F(ge){return!ge||ge.length===0?{startsInside:()=>!1}:{startsInside(X,B){for(const $ of ge){const Y=$.startLineNumber;if(Y>=X&&Y<=B)return!0}return!1}}}function x(ge){if(!_.isUndefined(ge)){if(!_.isObject(ge))return!1;const X=ge;if(!_.isUndefined(X.levels)&&!_.isNumber(X.levels)||!_.isUndefined(X.direction)&&!_.isString(X.direction)||!_.isUndefined(X.selectionLines)&&(!Array.isArray(X.selectionLines)||!X.selectionLines.every(_.isNumber)))return!1}return!0}class W extends O{constructor(){super({id:"editor.unfold",label:c.localize(891,"Unfold"),alias:"Unfold",precondition:A,kbOpts:{kbExpr:n.EditorContextKeys.editorTextFocus,primary:3166,mac:{primary:2654},weight:100},metadata:{description:"Unfold the content in the editor",args:[{name:"Unfold editor argument",description:`Property-value pairs that can be passed through this argument: + * 'levels': Number of levels to unfold. If not set, defaults to 1. + * 'direction': If 'up', unfold given number of levels up otherwise unfolds down. + * 'selectionLines': Array of the start lines (0-based) of the editor selections to apply the unfold action to. If not set, the active selection(s) will be used. + `,constraint:x,schema:{type:"object",properties:{levels:{type:"number",default:1},direction:{type:"string",enum:["up","down"],default:"down"},selectionLines:{type:"array",items:{type:"number"}}}}}]}})}invoke(X,B,$,Y){const Z=Y&&Y.levels||1,te=this.getLineNumbers(Y,$);Y&&Y.direction==="up"?(0,i.setCollapseStateLevelsUp)(B,!1,Z,te):(0,i.setCollapseStateLevelsDown)(B,!1,Z,te)}}class V extends O{constructor(){super({id:"editor.unfoldRecursively",label:c.localize(892,"Unfold Recursively"),alias:"Unfold Recursively",precondition:A,kbOpts:{kbExpr:n.EditorContextKeys.editorTextFocus,primary:(0,E.KeyChord)(2089,2142),weight:100}})}invoke(X,B,$,Y){(0,i.setCollapseStateLevelsDown)(B,!1,Number.MAX_VALUE,this.getSelectedLines($))}}class q extends O{constructor(){super({id:"editor.fold",label:c.localize(893,"Fold"),alias:"Fold",precondition:A,kbOpts:{kbExpr:n.EditorContextKeys.editorTextFocus,primary:3164,mac:{primary:2652},weight:100},metadata:{description:"Fold the content in the editor",args:[{name:"Fold editor argument",description:`Property-value pairs that can be passed through this argument: + * 'levels': Number of levels to fold. + * 'direction': If 'up', folds given number of levels up otherwise folds down. + * 'selectionLines': Array of the start lines (0-based) of the editor selections to apply the fold action to. If not set, the active selection(s) will be used. + If no levels or direction is set, folds the region at the locations or if already collapsed, the first uncollapsed parent instead. + `,constraint:x,schema:{type:"object",properties:{levels:{type:"number"},direction:{type:"string",enum:["up","down"]},selectionLines:{type:"array",items:{type:"number"}}}}}]}})}invoke(X,B,$,Y){const Z=this.getLineNumbers(Y,$),te=Y&&Y.levels,re=Y&&Y.direction;typeof te!="number"&&typeof re!="string"?(0,i.setCollapseStateUp)(B,!0,Z):re==="up"?(0,i.setCollapseStateLevelsUp)(B,!0,te||1,Z):(0,i.setCollapseStateLevelsDown)(B,!0,te||1,Z)}}class H extends O{constructor(){super({id:"editor.toggleFold",label:c.localize(894,"Toggle Fold"),alias:"Toggle Fold",precondition:A,kbOpts:{kbExpr:n.EditorContextKeys.editorTextFocus,primary:(0,E.KeyChord)(2089,2090),weight:100}})}invoke(X,B,$){const Y=this.getSelectedLines($);(0,i.toggleCollapseState)(B,1,Y)}}class z extends O{constructor(){super({id:"editor.foldRecursively",label:c.localize(895,"Fold Recursively"),alias:"Fold Recursively",precondition:A,kbOpts:{kbExpr:n.EditorContextKeys.editorTextFocus,primary:(0,E.KeyChord)(2089,2140),weight:100}})}invoke(X,B,$){const Y=this.getSelectedLines($);(0,i.setCollapseStateLevelsDown)(B,!0,Number.MAX_VALUE,Y)}}class U extends O{constructor(){super({id:"editor.toggleFoldRecursively",label:c.localize(896,"Toggle Fold Recursively"),alias:"Toggle Fold Recursively",precondition:A,kbOpts:{kbExpr:n.EditorContextKeys.editorTextFocus,primary:(0,E.KeyChord)(2089,3114),weight:100}})}invoke(X,B,$){const Y=this.getSelectedLines($);(0,i.toggleCollapseState)(B,Number.MAX_VALUE,Y)}}class j extends O{constructor(){super({id:"editor.foldAllBlockComments",label:c.localize(897,"Fold All Block Comments"),alias:"Fold All Block Comments",precondition:A,kbOpts:{kbExpr:n.EditorContextKeys.editorTextFocus,primary:(0,E.KeyChord)(2089,2138),weight:100}})}invoke(X,B,$,Y,Z){if(B.regions.hasTypes())(0,i.setCollapseStateForType)(B,o.FoldingRangeKind.Comment.value,!0);else{const te=$.getModel();if(!te)return;const re=Z.getLanguageConfiguration(te.getLanguageId()).comments;if(re&&re.blockCommentStartToken){const le=new RegExp("^\\s*"+(0,m.escapeRegExpCharacters)(re.blockCommentStartToken));(0,i.setCollapseStateForMatchingLines)(B,le,!0)}}}}class Q extends O{constructor(){super({id:"editor.foldAllMarkerRegions",label:c.localize(898,"Fold All Regions"),alias:"Fold All Regions",precondition:A,kbOpts:{kbExpr:n.EditorContextKeys.editorTextFocus,primary:(0,E.KeyChord)(2089,2077),weight:100}})}invoke(X,B,$,Y,Z){if(B.regions.hasTypes())(0,i.setCollapseStateForType)(B,o.FoldingRangeKind.Region.value,!0);else{const te=$.getModel();if(!te)return;const re=Z.getLanguageConfiguration(te.getLanguageId()).foldingRules;if(re&&re.markers&&re.markers.start){const le=new RegExp(re.markers.start);(0,i.setCollapseStateForMatchingLines)(B,le,!0)}}}}class G extends O{constructor(){super({id:"editor.unfoldAllMarkerRegions",label:c.localize(899,"Unfold All Regions"),alias:"Unfold All Regions",precondition:A,kbOpts:{kbExpr:n.EditorContextKeys.editorTextFocus,primary:(0,E.KeyChord)(2089,2078),weight:100}})}invoke(X,B,$,Y,Z){if(B.regions.hasTypes())(0,i.setCollapseStateForType)(B,o.FoldingRangeKind.Region.value,!1);else{const te=$.getModel();if(!te)return;const re=Z.getLanguageConfiguration(te.getLanguageId()).foldingRules;if(re&&re.markers&&re.markers.start){const le=new RegExp(re.markers.start);(0,i.setCollapseStateForMatchingLines)(B,le,!1)}}}}class K extends O{constructor(){super({id:"editor.foldAllExcept",label:c.localize(900,"Fold All Except Selected"),alias:"Fold All Except Selected",precondition:A,kbOpts:{kbExpr:n.EditorContextKeys.editorTextFocus,primary:(0,E.KeyChord)(2089,2136),weight:100}})}invoke(X,B,$){const Y=this.getSelectedLines($);(0,i.setCollapseStateForRest)(B,!0,Y)}}class R extends O{constructor(){super({id:"editor.unfoldAllExcept",label:c.localize(901,"Unfold All Except Selected"),alias:"Unfold All Except Selected",precondition:A,kbOpts:{kbExpr:n.EditorContextKeys.editorTextFocus,primary:(0,E.KeyChord)(2089,2134),weight:100}})}invoke(X,B,$){const Y=this.getSelectedLines($);(0,i.setCollapseStateForRest)(B,!1,Y)}}class J extends O{constructor(){super({id:"editor.foldAll",label:c.localize(902,"Fold All"),alias:"Fold All",precondition:A,kbOpts:{kbExpr:n.EditorContextKeys.editorTextFocus,primary:(0,E.KeyChord)(2089,2069),weight:100}})}invoke(X,B,$){(0,i.setCollapseStateLevelsDown)(B,!0)}}class ie extends O{constructor(){super({id:"editor.unfoldAll",label:c.localize(903,"Unfold All"),alias:"Unfold All",precondition:A,kbOpts:{kbExpr:n.EditorContextKeys.editorTextFocus,primary:(0,E.KeyChord)(2089,2088),weight:100}})}invoke(X,B,$){(0,i.setCollapseStateLevelsDown)(B,!1)}}class ue extends O{static{this.ID_PREFIX="editor.foldLevel"}static{this.ID=X=>ue.ID_PREFIX+X}getFoldingLevel(){return parseInt(this.id.substr(ue.ID_PREFIX.length))}invoke(X,B,$){(0,i.setCollapseStateAtLevel)(B,this.getFoldingLevel(),!0,this.getSelectedLines($))}}class he extends O{constructor(){super({id:"editor.gotoParentFold",label:c.localize(904,"Go to Parent Fold"),alias:"Go to Parent Fold",precondition:A,kbOpts:{kbExpr:n.EditorContextKeys.editorTextFocus,weight:100}})}invoke(X,B,$){const Y=this.getSelectedLines($);if(Y.length>0){const Z=(0,i.getParentFoldLine)(Y[0],B);Z!==null&&$.setSelection({startLineNumber:Z,startColumn:1,endLineNumber:Z,endColumn:1})}}}class pe extends O{constructor(){super({id:"editor.gotoPreviousFold",label:c.localize(905,"Go to Previous Folding Range"),alias:"Go to Previous Folding Range",precondition:A,kbOpts:{kbExpr:n.EditorContextKeys.editorTextFocus,weight:100}})}invoke(X,B,$){const Y=this.getSelectedLines($);if(Y.length>0){const Z=(0,i.getPreviousFoldLine)(Y[0],B);Z!==null&&$.setSelection({startLineNumber:Z,startColumn:1,endLineNumber:Z,endColumn:1})}}}class ae extends O{constructor(){super({id:"editor.gotoNextFold",label:c.localize(906,"Go to Next Folding Range"),alias:"Go to Next Folding Range",precondition:A,kbOpts:{kbExpr:n.EditorContextKeys.editorTextFocus,weight:100}})}invoke(X,B,$){const Y=this.getSelectedLines($);if(Y.length>0){const Z=(0,i.getNextFoldLine)(Y[0],B);Z!==null&&$.setSelection({startLineNumber:Z,startColumn:1,endLineNumber:Z,endColumn:1})}}}class ee extends O{constructor(){super({id:"editor.createFoldingRangeFromSelection",label:c.localize(907,"Create Folding Range from Selection"),alias:"Create Folding Range from Selection",precondition:A,kbOpts:{kbExpr:n.EditorContextKeys.editorTextFocus,primary:(0,E.KeyChord)(2089,2135),weight:100}})}invoke(X,B,$){const Y=[],Z=$.getSelections();if(Z){for(const te of Z){let re=te.endLineNumber;te.endColumn===1&&--re,re>te.startLineNumber&&(Y.push({startLineNumber:te.startLineNumber,endLineNumber:re,type:void 0,isCollapsed:!0,source:1}),$.setSelection({startLineNumber:te.startLineNumber,startColumn:1,endLineNumber:te.startLineNumber,endColumn:1}))}if(Y.length>0){Y.sort((re,le)=>re.startLineNumber-le.startLineNumber);const te=r.FoldingRegions.sanitizeAndMerge(B.regions,Y,$.getModel()?.getLineCount());B.updatePost(r.FoldingRegions.fromFoldRanges(te))}}}}class de extends O{constructor(){super({id:"editor.removeManualFoldingRanges",label:c.localize(908,"Remove Manual Folding Ranges"),alias:"Remove Manual Folding Ranges",precondition:A,kbOpts:{kbExpr:n.EditorContextKeys.editorTextFocus,primary:(0,E.KeyChord)(2089,2137),weight:100}})}invoke(X,B,$){const Y=$.getSelections();if(Y){const Z=[];for(const te of Y){const{startLineNumber:re,endLineNumber:le}=te;Z.push(le>=re?{startLineNumber:re,endLineNumber:le}:{endLineNumber:le,startLineNumber:re})}B.removeManualRanges(Z),X.triggerFoldingModelChanged()}}}(0,p.registerEditorContribution)(P.ID,P,0),(0,p.registerEditorAction)(W),(0,p.registerEditorAction)(V),(0,p.registerEditorAction)(q),(0,p.registerEditorAction)(z),(0,p.registerEditorAction)(U),(0,p.registerEditorAction)(J),(0,p.registerEditorAction)(ie),(0,p.registerEditorAction)(j),(0,p.registerEditorAction)(Q),(0,p.registerEditorAction)(G),(0,p.registerEditorAction)(K),(0,p.registerEditorAction)(R),(0,p.registerEditorAction)(H),(0,p.registerEditorAction)(he),(0,p.registerEditorAction)(pe),(0,p.registerEditorAction)(ae),(0,p.registerEditorAction)(ee),(0,p.registerEditorAction)(de);for(let ge=1;ge<=7;ge++)(0,p.registerInstantiatedEditorAction)(new ue({id:ue.ID(ge),label:c.localize(909,"Fold Level {0}",ge),alias:`Fold Level ${ge}`,precondition:A,kbOpts:{kbExpr:n.EditorContextKeys.editorTextFocus,primary:(0,E.KeyChord)(2089,2048|21+ge),weight:100}}));S.CommandsRegistry.registerCommand("_executeFoldingRangeProvider",async function(ge,...X){const[B]=X;if(!(B instanceof L.URI))throw(0,I.illegalArgument)();const $=ge.get(v.ILanguageFeaturesService),Y=ge.get(D.IModelService).getModel(B);if(!Y)throw(0,I.illegalArgument)();const Z=ge.get(T.IConfigurationService);if(!Z.getValue("editor.folding",{resource:B}))return[];const te=ge.get(t.ILanguageConfigurationService),re=Z.getValue("editor.foldingStrategy",{resource:B}),le={get limit(){return Z.getValue("editor.foldingMaximumRegions",{resource:B})},update:(Ie,Ae)=>{}},me=new g.IndentRangeProvider(Y,te,le);let ve=me;if(re!=="indentation"){const Ie=P.getFoldingRangeProviders($,Y);Ie.length&&(ve=new u.SyntaxRangeProvider(Y,Ie,()=>{},le,me))}const Le=await ve.compute(k.CancellationToken.None),Ee=[];try{if(Le)for(let Ie=0;Iethis.editorWorkerService.navigateValueSet(h,C,a)),this.currentRequest.then(v=>{if(!v||!v.range||!v.value||!f.validate(this.editor))return;const w=y.Range.lift(v.range);let S=v.range;const L=v.value.length-(C.endColumn-C.startColumn);S={startLineNumber:S.startLineNumber,startColumn:S.startColumn,endLineNumber:S.endLineNumber,endColumn:S.startColumn+v.value.length},L>1&&(C=new m.Selection(C.startLineNumber,C.startColumn,C.endLineNumber,C.endColumn+L-1));const D=new o.InPlaceReplaceCommand(w,C,v.value);this.editor.pushUndoStop(),this.editor.executeCommand(l,D),this.editor.pushUndoStop(),this.decorations.set([{range:S,options:t.DECORATION}]),this.decorationRemover?.cancel(),this.decorationRemover=(0,d.timeout)(350),this.decorationRemover.then(()=>this.decorations.clear()).catch(k.onUnexpectedError)}).catch(k.onUnexpectedError)):Promise.resolve(void 0)}};i=t=ke([ce(1,p.IEditorWorkerService)],i);class s extends E.EditorAction{constructor(){super({id:"editor.action.inPlaceReplace.up",label:n.localize(1103,"Replace with Previous Value"),alias:"Replace with Previous Value",precondition:_.EditorContextKeys.writable,kbOpts:{kbExpr:_.EditorContextKeys.editorTextFocus,primary:3159,weight:100}})}run(l,a){const r=i.get(a);return r?r.run(this.id,!1):Promise.resolve(void 0)}}class g extends E.EditorAction{constructor(){super({id:"editor.action.inPlaceReplace.down",label:n.localize(1104,"Replace with Next Value"),alias:"Replace with Next Value",precondition:_.EditorContextKeys.writable,kbOpts:{kbExpr:_.EditorContextKeys.editorTextFocus,primary:3161,weight:100}})}run(l,a){const r=i.get(a);return r?r.run(this.id,!0):Promise.resolve(void 0)}}(0,E.registerEditorContribution)(i.ID,i,4),(0,E.registerEditorAction)(s),(0,E.registerEditorAction)(g)}),define(ne[828],se([1,0,2,21,9,4,43,40,150,205,139,518]),function(oe,e,d,k,I,E,y,m,_,b,p){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.GhostTextWidget=e.INLINE_EDIT_DESCRIPTION=void 0,e.INLINE_EDIT_DESCRIPTION="inline-edit";let n=class extends d.Disposable{constructor(t,i,s){super(),this.editor=t,this.model=i,this.languageService=s,this.isDisposed=(0,k.observableValue)(this,!1),this.currentTextModel=(0,k.observableFromEvent)(this,this.editor.onDidChangeModel,()=>this.editor.getModel()),this.uiState=(0,k.derived)(this,g=>{if(this.isDisposed.read(g))return;const c=this.currentTextModel.read(g);if(c!==this.model.targetTextModel.read(g))return;const l=this.model.ghostText.read(g);if(!l)return;let a=this.model.range?.read(g);a&&a.startLineNumber===a.endLineNumber&&a.startColumn===a.endColumn&&(a=void 0);const r=(a?a.startLineNumber===a.endLineNumber:!0)&&l.parts.length===1&&l.parts[0].lines.length===1,u=l.parts.length===1&&l.parts[0].lines.every(T=>T.length===0),C=[],f=[];function h(T,M){if(f.length>0){const A=f[f.length-1];M&&A.decorations.push(new _.LineDecoration(A.content.length+1,A.content.length+1+T[0].length,M,0)),A.content+=T[0],T=T.slice(1)}for(const A of T)f.push({content:A,decorations:M?[new _.LineDecoration(1,A.length+1,M,0)]:[]})}const v=c.getLineContent(l.lineNumber);let w,S=0;if(!u&&(r||!a)){for(const T of l.parts){let M=T.lines;a&&!r&&(h(M,e.INLINE_EDIT_DESCRIPTION),M=[]),w===void 0?(C.push({column:T.column,text:M[0],preview:T.preview}),M=M.slice(1)):h([v.substring(S,T.column-1)],void 0),M.length>0&&(h(M,e.INLINE_EDIT_DESCRIPTION),w===void 0&&T.column<=v.length&&(w=T.column)),S=T.column-1}w!==void 0&&h([v.substring(S)],void 0)}const L=w!==void 0?new b.ColumnRange(w,v.length+1):void 0,D=r||!a?l.lineNumber:a.endLineNumber-1;return{inlineTexts:C,additionalLines:f,hiddenRange:L,lineNumber:D,additionalReservedLineCount:this.model.minReservedLineCount.read(g),targetTextModel:c,range:a,isSingleLine:r,isPureRemove:u}}),this.decorations=(0,k.derived)(this,g=>{const c=this.uiState.read(g);if(!c)return[];const l=[];if(c.hiddenRange&&l.push({range:c.hiddenRange.toRange(c.lineNumber),options:{inlineClassName:"inline-edit-hidden",description:"inline-edit-hidden"}}),c.range){const a=[];if(c.isSingleLine)a.push(c.range);else if(!c.isPureRemove){const r=c.range.endLineNumber-c.range.startLineNumber;for(let u=0;u{this.isDisposed.set(!0,void 0)})),this._register((0,b.applyObservableDecorations)(this.editor,this.decorations))}};e.GhostTextWidget=n,e.GhostTextWidget=n=ke([ce(2,y.ILanguageService)],n)}),define(ne[829],se([1,0,5,18,2,21,65,22,112,125,215,139,9,4,70,35,51,7,520]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c){"use strict";var l,a;Object.defineProperty(e,"__esModule",{value:!0}),e.InlineEditSideBySideWidget=void 0;function*r(h,v,w=1){v===void 0&&([v,h]=[h,0]);for(let S=h;SS.replace(new RegExp("^"+v),"")),shift:w}}let C=class extends I.Disposable{static{l=this}static{this._modelId=0}static _createUniqueUri(){return m.URI.from({scheme:"inline-edit-widget",path:new Date().toString()+String(l._modelId++)})}constructor(v,w,S,L,D){super(),this._editor=v,this._model=w,this._instantiationService=S,this._diffProviderFactoryService=L,this._modelService=D,this._position=(0,E.derived)(this,T=>{const M=this._model.read(T);if(!M||M.text.length===0||M.range.startLineNumber===M.range.endLineNumber&&!(M.range.startColumn===M.range.endColumn&&M.range.startColumn===1))return null;const A=this._editor.getModel();if(!A)return null;const P=Array.from(r(M.range.startLineNumber,M.range.endLineNumber+1)),N=P.map(V=>A.getLineLastNonWhitespaceColumn(V)),O=Math.max(...N),F=P[N.indexOf(O)],x=new o.Position(F,O);return{top:M.range.startLineNumber,left:x}}),this._text=(0,E.derived)(this,T=>{const M=this._model.read(T);if(!M)return{text:"",shift:0};const A=u(M.text.split(` +`));return{text:A.text.join(` +`),shift:A.shift}}),this._originalModel=(0,y.derivedDisposable)(()=>this._modelService.createModel("",null,l._createUniqueUri())).keepObserved(this._store),this._modifiedModel=(0,y.derivedDisposable)(()=>this._modelService.createModel("",null,l._createUniqueUri())).keepObserved(this._store),this._diff=(0,E.derived)(this,T=>this._diffPromise.read(T)?.promiseResult.read(T)?.data),this._diffPromise=(0,E.derived)(this,T=>{const M=this._model.read(T);if(!M)return;const A=this._editor.getModel();if(!A)return;const P=u(A.getValueInRange(M.range).split(` +`)).text.join(` +`),N=u(M.text.split(` +`)).text.join(` +`);this._originalModel.get().setValue(P),this._modifiedModel.get().setValue(N);const O=this._diffProviderFactoryService.createDiffProvider({diffAlgorithm:"advanced"});return E.ObservablePromise.fromFn(async()=>{const F=await O.computeDiff(this._originalModel.get(),this._modifiedModel.get(),{computeMoves:!1,ignoreTrimWhitespace:!1,maxComputationTimeMs:1e3},k.CancellationToken.None);if(!F.identical)return F.changes})}),this._register((0,E.autorunWithStore)((T,M)=>{if(!this._model.read(T)||this._position.get()===null)return;const P=M.add(this._instantiationService.createInstance(f,this._editor,this._position,this._text.map(N=>N.text),this._text.map(N=>N.shift),this._diff));v.addOverlayWidget(P),M.add((0,I.toDisposable)(()=>v.removeOverlayWidget(P)))}))}};e.InlineEditSideBySideWidget=C,e.InlineEditSideBySideWidget=C=l=ke([ce(2,c.IInstantiationService),ce(3,p.IDiffProviderFactoryService),ce(4,g.IModelService)],C);let f=class extends I.Disposable{static{a=this}static{this.id=0}constructor(v,w,S,L,D,T){super(),this._editor=v,this._position=w,this._text=S,this._shift=L,this._diff=D,this._instantiationService=T,this.id=`InlineEditSideBySideContentWidget${a.id++}`,this.allowEditorOverflow=!1,this._nodes=(0,d.$)("div.inlineEditSideBySide",void 0),this._scrollChanged=(0,E.observableSignalFromEvent)("editor.onDidScrollChange",this._editor.onDidScrollChange),this._previewEditor=this._register(this._instantiationService.createInstance(b.EmbeddedCodeEditorWidget,this._nodes,{glyphMargin:!1,lineNumbers:"off",minimap:{enabled:!1},guides:{indentation:!1,bracketPairs:!1,bracketPairsHorizontal:!1,highlightActiveIndentation:!1},folding:!1,selectOnLineNumbers:!1,selectionHighlight:!1,columnSelection:!1,overviewRulerBorder:!1,overviewRulerLanes:0,lineDecorationsWidth:0,lineNumbersMinChars:0,scrollbar:{vertical:"hidden",horizontal:"hidden",alwaysConsumeMouseWheel:!1,handleMouseWheel:!1},readOnly:!0,wordWrap:"off",wordWrapOverride1:"off",wordWrapOverride2:"off",wrappingIndent:"none",wrappingStrategy:void 0},{contributions:[],isSimpleWidget:!0},this._editor)),this._previewEditorObs=(0,_.observableCodeEditor)(this._previewEditor),this._editorObs=(0,_.observableCodeEditor)(this._editor),this._previewTextModel=this._register(this._instantiationService.createInstance(s.TextModel,"",this._editor.getModel()?.getLanguageId()??i.PLAINTEXT_LANGUAGE_ID,s.TextModel.DEFAULT_CREATION_OPTIONS,null)),this._setText=(0,E.derived)(M=>{const A=this._text.read(M);A&&this._previewTextModel.setValue(A)}).recomputeInitiallyAndOnChange(this._store),this._decorations=(0,E.derived)(this,M=>{this._setText.read(M);const A=this._position.read(M);if(!A)return{org:[],mod:[]};const P=this._diff.read(M);if(!P)return{org:[],mod:[]};const N=[],O=[];if(P.length===1&&P[0].innerChanges[0].modifiedRange.equalsRange(this._previewTextModel.getFullModelRange()))return{org:[],mod:[]};const F=this._shift.get(),x=W=>new t.Range(W.startLineNumber+A.top-1,W.startColumn+F,W.endLineNumber+A.top-1,W.endColumn+F);for(const W of P)if(W.original.isEmpty||N.push({range:x(W.original.toInclusiveRange()),options:n.diffLineDeleteDecorationBackgroundWithIndicator}),W.modified.isEmpty||O.push({range:W.modified.toInclusiveRange(),options:n.diffLineAddDecorationBackgroundWithIndicator}),W.modified.isEmpty||W.original.isEmpty)W.original.isEmpty||N.push({range:x(W.original.toInclusiveRange()),options:n.diffWholeLineDeleteDecoration}),W.modified.isEmpty||O.push({range:W.modified.toInclusiveRange(),options:n.diffWholeLineAddDecoration});else for(const V of W.innerChanges||[])W.original.contains(V.originalRange.startLineNumber)&&N.push({range:x(V.originalRange),options:V.originalRange.isEmpty()?n.diffDeleteDecorationEmpty:n.diffDeleteDecoration}),W.modified.contains(V.modifiedRange.startLineNumber)&&O.push({range:V.modifiedRange,options:V.modifiedRange.isEmpty()?n.diffAddDecorationEmpty:n.diffAddDecoration});return{org:N,mod:O}}),this._originalDecorations=(0,E.derived)(this,M=>this._decorations.read(M).org),this._modifiedDecorations=(0,E.derived)(this,M=>this._decorations.read(M).mod),this._previewEditor.setModel(this._previewTextModel),this._register(this._editorObs.setDecorations(this._originalDecorations)),this._register(this._previewEditorObs.setDecorations(this._modifiedDecorations)),this._register((0,E.autorun)(M=>{const A=this._previewEditorObs.contentWidth.read(M),P=this._text.read(M).split(` +`).length-1,N=this._editor.getOption(67)*P;A<=0||this._previewEditor.layout({height:N,width:A})})),this._register((0,E.autorun)(M=>{this._position.read(M),this._editor.layoutOverlayWidget(this)})),this._register((0,E.autorun)(M=>{this._scrollChanged.read(M),this._position.read(M)&&this._editor.layoutOverlayWidget(this)}))}getId(){return this.id}getDomNode(){return this._nodes}getPosition(){const v=this._position.get();if(!v)return null;const w=this._editor.getLayoutInfo(),S=this._editor.getScrolledVisiblePosition(new o.Position(v.top,1));if(!S)return null;const L=S.top-1,D=this._editor.getOffsetForColumn(v.left.lineNumber,v.left.column);return{preference:{left:w.contentLeft+D+10,top:L}}}};f=a=ke([ce(5,c.IInstantiationService)],f)}),define(ne[425],se([1,0,2,21,75,9,4,828,12,7,27,17,18,204,24,800,5,28,8,65,829,215,51]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r,u,C){"use strict";var f;Object.defineProperty(e,"__esModule",{value:!0}),e.InlineEditController=void 0;let h=class extends d.Disposable{static{f=this}static{this.ID="editor.contrib.inlineEditController"}static{this.inlineEditVisibleKey="inlineEditVisible"}static{this.inlineEditVisibleContext=new _.RawContextKey(this.inlineEditVisibleKey,!1)}static{this.cursorAtInlineEditKey="cursorAtInlineEdit"}static{this.cursorAtInlineEditContext=new _.RawContextKey(this.cursorAtInlineEditKey,!1)}static get(S){return S.getContribution(f.ID)}constructor(S,L,D,T,M,A,P,N){super(),this.editor=S,this.instantiationService=L,this.contextKeyService=D,this.languageFeaturesService=T,this._commandService=M,this._configurationService=A,this._diffProviderFactoryService=P,this._modelService=N,this._isVisibleContext=f.inlineEditVisibleContext.bindTo(this.contextKeyService),this._isCursorAtInlineEditContext=f.cursorAtInlineEditContext.bindTo(this.contextKeyService),this._currentEdit=(0,k.observableValue)(this,void 0),this._currentWidget=(0,a.derivedDisposable)(this._currentEdit,q=>{const H=this._currentEdit.read(q);if(!H)return;const z=H.range.endLineNumber,U=H.range.endColumn,j=H.text.endsWith(` +`)&&!(H.range.startLineNumber===H.range.endLineNumber&&H.range.startColumn===H.range.endColumn)?H.text.slice(0,-1):H.text,Q=new t.GhostText(z,[new t.GhostTextPart(U,j,!1)]),G=H.range.startLineNumber===H.range.endLineNumber&&Q.parts.length===1&&Q.parts[0].lines.length===1,K=H.text==="";return!G&&!K?void 0:this.instantiationService.createInstance(m.GhostTextWidget,this.editor,{ghostText:(0,k.constObservable)(Q),minReservedLineCount:(0,k.constObservable)(0),targetTextModel:(0,k.constObservable)(this.editor.getModel()??void 0),range:(0,k.constObservable)(H.range)})}),this._isAccepting=(0,k.observableValue)(this,!1),this._enabled=(0,k.observableFromEvent)(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(63).enabled),this._fontFamily=(0,k.observableFromEvent)(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(63).fontFamily);const O=(0,k.observableSignalFromEvent)("InlineEditController.modelContentChangedSignal",S.onDidChangeModelContent);this._register((0,k.autorun)(q=>{this._enabled.read(q)&&(O.read(q),!this._isAccepting.read(q)&&this.getInlineEdit(S,!0))}));const F=(0,k.observableFromEvent)(this,S.onDidChangeCursorPosition,()=>S.getPosition());this._register((0,k.autorun)(q=>{if(!this._enabled.read(q))return;const H=F.read(q);H&&this.checkCursorPosition(H)})),this._register((0,k.autorun)(q=>{const H=this._currentEdit.read(q);if(this._isCursorAtInlineEditContext.set(!1),!H){this._isVisibleContext.set(!1);return}this._isVisibleContext.set(!0);const z=S.getPosition();z&&this.checkCursorPosition(z)}));const x=(0,k.observableSignalFromEvent)("InlineEditController.editorBlurSignal",S.onDidBlurEditorWidget);this._register((0,k.autorun)(async q=>{this._enabled.read(q)&&(x.read(q),!(this._configurationService.getValue("editor.experimentalInlineEdit.keepOnBlur")||S.getOption(63).keepOnBlur)&&(this._currentRequestCts?.dispose(!0),this._currentRequestCts=void 0,await this.clear(!1)))}));const W=(0,k.observableSignalFromEvent)("InlineEditController.editorFocusSignal",S.onDidFocusEditorText);this._register((0,k.autorun)(q=>{this._enabled.read(q)&&(W.read(q),this.getInlineEdit(S,!0))}));const V=this._register((0,g.createStyleSheet2)());this._register((0,k.autorun)(q=>{const H=this._fontFamily.read(q);V.setStyle(H===""||H==="default"?"":` +.monaco-editor .inline-edit-decoration, +.monaco-editor .inline-edit-decoration-preview, +.monaco-editor .inline-edit { + font-family: ${H}; +}`)})),this._register(new s.InlineEditHintsWidget(this.editor,this._currentWidget,this.instantiationService)),this._register(new r.InlineEditSideBySideWidget(this.editor,this._currentEdit,this.instantiationService,this._diffProviderFactoryService,this._modelService))}checkCursorPosition(S){if(!this._currentEdit){this._isCursorAtInlineEditContext.set(!1);return}const L=this._currentEdit.get();if(!L){this._isCursorAtInlineEditContext.set(!1);return}this._isCursorAtInlineEditContext.set(y.Range.containsPosition(L.range,S))}validateInlineEdit(S,L){if(L.text.includes(` +`)&&L.range.startLineNumber!==L.range.endLineNumber&&L.range.startColumn!==L.range.endColumn){if(L.range.startColumn!==1)return!1;const T=L.range.endLineNumber,M=L.range.endColumn,A=S.getModel()?.getLineLength(T)??0;if(M!==A+1)return!1}return!0}async fetchInlineEdit(S,L){this._currentRequestCts&&this._currentRequestCts.dispose(!0);const D=S.getModel();if(!D)return;const T=D.getVersionId(),M=this.languageFeaturesService.inlineEditProvider.all(D);if(M.length===0)return;const A=M[0];this._currentRequestCts=new o.CancellationTokenSource;const P=this._currentRequestCts.token,N=L?p.InlineEditTriggerKind.Automatic:p.InlineEditTriggerKind.Invoke;if(L&&await v(50,P),P.isCancellationRequested||D.isDisposed()||D.getVersionId()!==T)return;const F=await A.provideInlineEdit(D,{triggerKind:N},P);if(F&&!(P.isCancellationRequested||D.isDisposed()||D.getVersionId()!==T)&&this.validateInlineEdit(S,F))return F}async getInlineEdit(S,L){this._isCursorAtInlineEditContext.set(!1),await this.clear();const D=await this.fetchInlineEdit(S,L);D&&this._currentEdit.set(D,void 0)}async trigger(){await this.getInlineEdit(this.editor,!1)}async jumpBack(){this._jumpBackPosition&&(this.editor.setPosition(this._jumpBackPosition),this.editor.revealPositionInCenterIfOutsideViewport(this._jumpBackPosition))}async accept(){this._isAccepting.set(!0,void 0);const S=this._currentEdit.get();if(!S)return;let L=S.text;S.text.startsWith(` +`)&&(L=S.text.substring(1)),this.editor.pushUndoStop(),this.editor.executeEdits("acceptCurrent",[I.EditOperation.replace(y.Range.lift(S.range),L)]),S.accepted&&await this._commandService.executeCommand(S.accepted.id,...S.accepted.arguments||[]).then(void 0,l.onUnexpectedExternalError),this.freeEdit(S),(0,k.transaction)(D=>{this._currentEdit.set(void 0,D),this._isAccepting.set(!1,D)})}jumpToCurrent(){this._jumpBackPosition=this.editor.getSelection()?.getStartPosition();const S=this._currentEdit.get();if(!S)return;const L=E.Position.lift({lineNumber:S.range.startLineNumber,column:S.range.startColumn});this.editor.setPosition(L),this.editor.revealPositionInCenterIfOutsideViewport(L)}async clear(S=!0){const L=this._currentEdit.get();L&&L?.rejected&&S&&await this._commandService.executeCommand(L.rejected.id,...L.rejected.arguments||[]).then(void 0,l.onUnexpectedExternalError),L&&this.freeEdit(L),this._currentEdit.set(void 0,void 0)}freeEdit(S){const L=this.editor.getModel();if(!L)return;const D=this.languageFeaturesService.inlineEditProvider.all(L);D.length!==0&&D[0].freeInlineEdit(S)}};e.InlineEditController=h,e.InlineEditController=h=f=ke([ce(1,b.IInstantiationService),ce(2,_.IContextKeyService),ce(3,n.ILanguageFeaturesService),ce(4,i.ICommandService),ce(5,c.IConfigurationService),ce(6,u.IDiffProviderFactoryService),ce(7,C.IModelService)],h);function v(w,S){return new Promise(L=>{let D;const T=setTimeout(()=>{D&&D.dispose(),L()},w);S&&(D=S.onCancellationRequested(()=>{clearTimeout(T),D&&D.dispose(),L()}))})}}),define(ne[830],se([1,0,15,20,618,425,29,12]),function(oe,e,d,k,I,E,y,m){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.RejectInlineEdit=e.JumpBackInlineEdit=e.JumpToInlineEdit=e.TriggerInlineEdit=e.AcceptInlineEdit=void 0;class _ extends d.EditorAction{constructor(){super({id:I.inlineEditAcceptId,label:"Accept Inline Edit",alias:"Accept Inline Edit",precondition:m.ContextKeyExpr.and(k.EditorContextKeys.writable,E.InlineEditController.inlineEditVisibleContext),kbOpts:[{weight:101,primary:2,kbExpr:m.ContextKeyExpr.and(k.EditorContextKeys.writable,E.InlineEditController.inlineEditVisibleContext,E.InlineEditController.cursorAtInlineEditContext)}],menuOpts:[{menuId:y.MenuId.InlineEditToolbar,title:"Accept",group:"primary",order:1}]})}async run(i,s){await E.InlineEditController.get(s)?.accept()}}e.AcceptInlineEdit=_;class b extends d.EditorAction{constructor(){const i=m.ContextKeyExpr.and(k.EditorContextKeys.writable,m.ContextKeyExpr.not(E.InlineEditController.inlineEditVisibleKey));super({id:"editor.action.inlineEdit.trigger",label:"Trigger Inline Edit",alias:"Trigger Inline Edit",precondition:i,kbOpts:{weight:101,primary:2646,kbExpr:i}})}async run(i,s){E.InlineEditController.get(s)?.trigger()}}e.TriggerInlineEdit=b;class p extends d.EditorAction{constructor(){const i=m.ContextKeyExpr.and(k.EditorContextKeys.writable,E.InlineEditController.inlineEditVisibleContext,m.ContextKeyExpr.not(E.InlineEditController.cursorAtInlineEditKey));super({id:I.inlineEditJumpToId,label:"Jump to Inline Edit",alias:"Jump to Inline Edit",precondition:i,kbOpts:{weight:101,primary:2646,kbExpr:i},menuOpts:[{menuId:y.MenuId.InlineEditToolbar,title:"Jump To Edit",group:"primary",order:3,when:i}]})}async run(i,s){E.InlineEditController.get(s)?.jumpToCurrent()}}e.JumpToInlineEdit=p;class n extends d.EditorAction{constructor(){const i=m.ContextKeyExpr.and(k.EditorContextKeys.writable,E.InlineEditController.cursorAtInlineEditContext);super({id:I.inlineEditJumpBackId,label:"Jump Back from Inline Edit",alias:"Jump Back from Inline Edit",precondition:i,kbOpts:{weight:110,primary:2646,kbExpr:i},menuOpts:[{menuId:y.MenuId.InlineEditToolbar,title:"Jump Back",group:"primary",order:3,when:i}]})}async run(i,s){E.InlineEditController.get(s)?.jumpBack()}}e.JumpBackInlineEdit=n;class o extends d.EditorAction{constructor(){const i=m.ContextKeyExpr.and(k.EditorContextKeys.writable,E.InlineEditController.inlineEditVisibleContext);super({id:I.inlineEditRejectId,label:"Reject Inline Edit",alias:"Reject Inline Edit",precondition:i,kbOpts:{weight:100,primary:9,kbExpr:i},menuOpts:[{menuId:y.MenuId.InlineEditToolbar,title:"Reject",group:"secondary",order:2}]})}async run(i,s){await E.InlineEditController.get(s)?.clear()}}e.RejectInlineEdit=o}),define(ne[831],se([1,0,15,830,425]),function(oe,e,d,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),(0,d.registerEditorAction)(k.AcceptInlineEdit),(0,d.registerEditorAction)(k.RejectInlineEdit),(0,d.registerEditorAction)(k.JumpToInlineEdit),(0,d.registerEditorAction)(k.JumpBackInlineEdit),(0,d.registerEditorAction)(k.TriggerInlineEdit),(0,d.registerEditorContribution)(I.InlineEditController.ID,I.InlineEditController,3)}),define(ne[290],se([1,0,5,14,26,2,11,30,4,35,7,522]),function(oe,e,d,k,I,E,y,m,_,b,p){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.InlineProgressManager=void 0;const n=b.ModelDecorationOptions.register({description:"inline-progress-widget",stickiness:1,showIfCollapsed:!0,after:{content:y.noBreakWhitespace,inlineClassName:"inline-editor-progress-decoration",inlineClassNameAffectsLetterSpacing:!0}});class o extends E.Disposable{static{this.baseId="editor.widget.inlineProgressWidget"}constructor(s,g,c,l,a){super(),this.typeId=s,this.editor=g,this.range=c,this.delegate=a,this.allowEditorOverflow=!1,this.suppressMouseDown=!0,this.create(l),this.editor.addContentWidget(this),this.editor.layoutContentWidget(this)}create(s){this.domNode=d.$(".inline-progress-widget"),this.domNode.role="button",this.domNode.title=s;const g=d.$("span.icon");this.domNode.append(g),g.classList.add(...m.ThemeIcon.asClassNameArray(I.Codicon.loading),"codicon-modifier-spin");const c=()=>{const l=this.editor.getOption(67);this.domNode.style.height=`${l}px`,this.domNode.style.width=`${Math.ceil(.8*l)}px`};c(),this._register(this.editor.onDidChangeConfiguration(l=>{(l.hasChanged(52)||l.hasChanged(67))&&c()})),this._register(d.addDisposableListener(this.domNode,d.EventType.CLICK,l=>{this.delegate.cancel()}))}getId(){return o.baseId+"."+this.typeId}getDomNode(){return this.domNode}getPosition(){return{position:{lineNumber:this.range.startLineNumber,column:this.range.startColumn},preference:[0]}}dispose(){super.dispose(),this.editor.removeContentWidget(this)}}let t=class extends E.Disposable{constructor(s,g,c){super(),this.id=s,this._editor=g,this._instantiationService=c,this._showDelay=500,this._showPromise=this._register(new E.MutableDisposable),this._currentWidget=this._register(new E.MutableDisposable),this._operationIdPool=0,this._currentDecorations=g.createDecorationsCollection()}dispose(){super.dispose(),this._currentDecorations.clear()}async showWhile(s,g,c,l,a){const r=this._operationIdPool++;this._currentOperation=r,this.clear(),this._showPromise.value=(0,k.disposableTimeout)(()=>{const u=_.Range.fromPositions(s);this._currentDecorations.set([{range:u,options:n}]).length>0&&(this._currentWidget.value=this._instantiationService.createInstance(o,this.id,this._editor,u,g,l))},a??this._showDelay);try{return await c}finally{this._currentOperation===r&&(this.clear(),this._currentOperation=void 0)}}clear(){this._showPromise.clear(),this._currentDecorations.clear(),this._currentWidget.clear()}};e.InlineProgressManager=t,e.InlineProgressManager=t=ke([ce(2,p.IInstantiationService)],t)}),define(ne[832],se([1,0,13,14,194,91,2,400,4,17,327,678,122,290,3,28,12,399,7,268,396]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r){"use strict";var u;Object.defineProperty(e,"__esModule",{value:!0}),e.DropIntoEditorController=e.dropWidgetVisibleCtx=e.changeDropTypeCommandId=e.defaultProviderConfig=void 0,e.defaultProviderConfig="editor.experimental.dropIntoEditor.defaultProvider",e.changeDropTypeCommandId="editor.changeDropType",e.dropWidgetVisibleCtx=new g.RawContextKey("dropWidgetVisible",!1,(0,i.localize)(842,"Whether the drop widget is showing"));let C=class extends y.Disposable{static{u=this}static{this.ID="editor.contrib.dropIntoEditorController"}static get(h){return h.getContribution(u.ID)}constructor(h,v,w,S,L){super(),this._configService=w,this._languageFeaturesService=S,this._treeViewsDragAndDropService=L,this.treeItemsTransfer=c.LocalSelectionTransfer.getInstance(),this._dropProgressManager=this._register(v.createInstance(t.InlineProgressManager,"dropIntoEditor",h)),this._postDropWidgetManager=this._register(v.createInstance(r.PostEditWidgetManager,"dropIntoEditor",h,e.dropWidgetVisibleCtx,{id:e.changeDropTypeCommandId,label:(0,i.localize)(843,"Show drop options...")})),this._register(h.onDropIntoEditor(D=>this.onDropIntoEditor(h,D.position,D.event)))}clearWidgets(){this._postDropWidgetManager.clear()}changeDropType(){this._postDropWidgetManager.tryShowSelector()}async onDropIntoEditor(h,v,w){if(!w.dataTransfer||!h.hasModel())return;this._currentOperation?.cancel(),h.focus(),h.setPosition(v);const S=(0,k.createCancelablePromise)(async L=>{const D=new y.DisposableStore,T=D.add(new o.EditorStateCancellationTokenSource(h,1,void 0,L));try{const M=await this.extractDataTransferData(w);if(M.size===0||T.token.isCancellationRequested)return;const A=h.getModel();if(!A)return;const P=this._languageFeaturesService.documentDropEditProvider.ordered(A).filter(O=>O.dropMimeTypes?O.dropMimeTypes.some(F=>M.matches(F)):!0),N=D.add(await this.getDropEdits(P,A,v,M,T));if(T.token.isCancellationRequested)return;if(N.edits.length){const O=this.getInitialActiveEditIndex(A,N.edits),F=h.getOption(36).showDropSelector==="afterDrop";await this._postDropWidgetManager.applyEditAndShowIfNeeded([_.Range.fromPositions(v)],{activeEditIndex:O,allEdits:N.edits},F,async x=>x,L)}}finally{D.dispose(),this._currentOperation===S&&(this._currentOperation=void 0)}});this._dropProgressManager.showWhile(v,(0,i.localize)(844,"Running drop handlers. Click to cancel"),S,{cancel:()=>S.cancel()}),this._currentOperation=S}async getDropEdits(h,v,w,S,L){const D=new y.DisposableStore,T=await(0,k.raceCancellation)(Promise.all(h.map(async A=>{try{const P=await A.provideDocumentDropEdits(v,w,S,L.token);return P&&D.add(P),P?.edits.map(N=>({...N,providerId:A.id}))}catch(P){console.error(P)}})),L.token),M=(0,d.coalesce)(T??[]).flat();return{edits:(0,a.sortEditsByYieldTo)(M),dispose:()=>D.dispose()}}getInitialActiveEditIndex(h,v){const w=this._configService.getValue(e.defaultProviderConfig,{resource:h.uri});for(const[S,L]of Object.entries(w)){const D=new E.HierarchicalKind(L),T=v.findIndex(M=>D.value===M.providerId&&M.handledMimeType&&(0,I.matchesMimeType)(S,[M.handledMimeType]));if(T>=0)return T}return 0}async extractDataTransferData(h){if(!h.dataTransfer)return new I.VSDataTransfer;const v=(0,m.toExternalVSDataTransfer)(h.dataTransfer);if(this.treeItemsTransfer.hasData(p.DraggedTreeItemsIdentifier.prototype)){const w=this.treeItemsTransfer.getData(p.DraggedTreeItemsIdentifier.prototype);if(Array.isArray(w))for(const S of w){const L=await this._treeViewsDragAndDropService.removeDragOperationTransfer(S.identifier);if(L)for(const[D,T]of L)v.replace(D,T)}}return v}};e.DropIntoEditorController=C,e.DropIntoEditorController=C=u=ke([ce(1,l.IInstantiationService),ce(2,s.IConfigurationService),ce(3,b.ILanguageFeaturesService),ce(4,n.ITreeViewsDnDService)],C)}),define(ne[833],se([1,0,13,14,18,33,8,6,2,11,22,15,34,9,4,20,35,36,3,12,17,32,79,54,523]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r,u,C,f){"use strict";var h;Object.defineProperty(e,"__esModule",{value:!0}),e.editorLinkedEditingBackground=e.LinkedEditingAction=e.LinkedEditingContribution=e.CONTEXT_ONTYPE_RENAME_INPUT_VISIBLE=void 0,e.CONTEXT_ONTYPE_RENAME_INPUT_VISIBLE=new a.RawContextKey("LinkedEditingInputVisible",!1);const v="linked-editing-decoration";let w=class extends _.Disposable{static{h=this}static{this.ID="editor.contrib.linkedEditing"}static{this.DECORATION=g.ModelDecorationOptions.register({description:"linked-editing",stickiness:0,className:v})}static get(M){return M.getContribution(h.ID)}constructor(M,A,P,N,O){super(),this.languageConfigurationService=N,this._syncRangesToken=0,this._localToDispose=this._register(new _.DisposableStore),this._editor=M,this._providers=P.linkedEditingRangeProvider,this._enabled=!1,this._visibleContextKey=e.CONTEXT_ONTYPE_RENAME_INPUT_VISIBLE.bindTo(A),this._debounceInformation=O.for(this._providers,"Linked Editing",{max:200}),this._currentDecorations=this._editor.createDecorationsCollection(),this._languageWordPattern=null,this._currentWordPattern=null,this._ignoreChangeEvent=!1,this._localToDispose=this._register(new _.DisposableStore),this._rangeUpdateTriggerPromise=null,this._rangeSyncTriggerPromise=null,this._currentRequestCts=null,this._currentRequestPosition=null,this._currentRequestModelVersion=null,this._register(this._editor.onDidChangeModel(()=>this.reinitialize(!0))),this._register(this._editor.onDidChangeConfiguration(F=>{(F.hasChanged(70)||F.hasChanged(94))&&this.reinitialize(!1)})),this._register(this._providers.onDidChange(()=>this.reinitialize(!1))),this._register(this._editor.onDidChangeModelLanguage(()=>this.reinitialize(!0))),this.reinitialize(!0)}reinitialize(M){const A=this._editor.getModel(),P=A!==null&&(this._editor.getOption(70)||this._editor.getOption(94))&&this._providers.has(A);if(P===this._enabled&&!M||(this._enabled=P,this.clearRanges(),this._localToDispose.clear(),!P||A===null))return;this._localToDispose.add(m.Event.runAndSubscribe(A.onDidChangeLanguageConfiguration,()=>{this._languageWordPattern=this.languageConfigurationService.getLanguageConfiguration(A.getLanguageId()).getWordDefinition()}));const N=new k.Delayer(this._debounceInformation.get(A)),O=()=>{this._rangeUpdateTriggerPromise=N.trigger(()=>this.updateRanges(),this._debounceDuration??this._debounceInformation.get(A))},F=new k.Delayer(0),x=W=>{this._rangeSyncTriggerPromise=F.trigger(()=>this._syncRanges(W))};this._localToDispose.add(this._editor.onDidChangeCursorPosition(()=>{O()})),this._localToDispose.add(this._editor.onDidChangeModelContent(W=>{if(!this._ignoreChangeEvent&&this._currentDecorations.length>0){const V=this._currentDecorations.getRange(0);if(V&&W.changes.every(q=>V.intersectRanges(q.range))){x(this._syncRangesToken);return}}O()})),this._localToDispose.add({dispose:()=>{N.dispose(),F.dispose()}}),this.updateRanges()}_syncRanges(M){if(!this._editor.hasModel()||M!==this._syncRangesToken||this._currentDecorations.length===0)return;const A=this._editor.getModel(),P=this._currentDecorations.getRange(0);if(!P||P.startLineNumber!==P.endLineNumber)return this.clearRanges();const N=A.getValueInRange(P);if(this._currentWordPattern){const F=N.match(this._currentWordPattern);if((F?F[0].length:0)!==N.length)return this.clearRanges()}const O=[];for(let F=1,x=this._currentDecorations.length;F1){this.clearRanges();return}const P=this._editor.getModel(),N=P.getVersionId();if(this._currentRequestPosition&&this._currentRequestModelVersion===N){if(A.equals(this._currentRequestPosition))return;if(this._currentDecorations.length>0){const F=this._currentDecorations.getRange(0);if(F&&F.containsPosition(A))return}}this.clearRanges(),this._currentRequestPosition=A,this._currentRequestModelVersion=N;const O=this._currentRequestCts=new I.CancellationTokenSource;try{const F=new f.StopWatch(!1),x=await D(this._providers,P,A,O.token);if(this._debounceInformation.update(P,F.elapsed()),O!==this._currentRequestCts||(this._currentRequestCts=null,N!==P.getVersionId()))return;let W=[];x?.ranges&&(W=x.ranges),this._currentWordPattern=x?.wordPattern||this._languageWordPattern;let V=!1;for(let H=0,z=W.length;H({range:H,options:h.DECORATION}));this._visibleContextKey.set(!0),this._currentDecorations.set(q),this._syncRangesToken++}catch(F){(0,y.isCancellationError)(F)||(0,y.onUnexpectedError)(F),(this._currentRequestCts===O||!this._currentRequestCts)&&this.clearRanges()}}};e.LinkedEditingContribution=w,e.LinkedEditingContribution=w=h=ke([ce(1,a.IContextKeyService),ce(2,r.ILanguageFeaturesService),ce(3,c.ILanguageConfigurationService),ce(4,C.ILanguageFeatureDebounceService)],w);class S extends n.EditorAction{constructor(){super({id:"editor.action.linkedEditing",label:l.localize(1136,"Start Linked Editing"),alias:"Start Linked Editing",precondition:a.ContextKeyExpr.and(s.EditorContextKeys.writable,s.EditorContextKeys.hasRenameProvider),kbOpts:{kbExpr:s.EditorContextKeys.editorTextFocus,primary:3132,weight:100}})}runCommand(M,A){const P=M.get(o.ICodeEditorService),[N,O]=Array.isArray(A)&&A||[void 0,void 0];return p.URI.isUri(N)&&t.Position.isIPosition(O)?P.openCodeEditor({resource:N},P.getActiveCodeEditor()).then(F=>{F&&(F.setPosition(O),F.invokeWithinContext(x=>(this.reportTelemetry(x,F),this.run(x,F))))},y.onUnexpectedError):super.runCommand(M,A)}run(M,A){const P=w.get(A);return P?Promise.resolve(P.updateRanges(!0)):Promise.resolve()}}e.LinkedEditingAction=S;const L=n.EditorCommand.bindToContribution(w.get);(0,n.registerEditorCommand)(new L({id:"cancelLinkedEditingInput",precondition:e.CONTEXT_ONTYPE_RENAME_INPUT_VISIBLE,handler:T=>T.clearRanges(),kbOpts:{kbExpr:s.EditorContextKeys.editorTextFocus,weight:199,primary:9,secondary:[1033]}}));function D(T,M,A,P){const N=T.ordered(M);return(0,k.first)(N.map(O=>async()=>{try{return await O.provideLinkedEditingRanges(M,A,P)}catch(F){(0,y.onUnexpectedExternalError)(F);return}}),O=>!!O&&d.isNonEmptyArray(O?.ranges))}e.editorLinkedEditingBackground=(0,u.registerColor)("editor.linkedEditingBackground",{dark:E.Color.fromHex("#f00").transparent(.3),light:E.Color.fromHex("#f00").transparent(.3),hcDark:E.Color.fromHex("#f00").transparent(.3),hcLight:E.Color.white},l.localize(1137,"Background color when the editor auto renames on type.")),(0,n.registerModelAndPositionCommand)("_executeLinkedEditingProvider",(T,M,A)=>{const{linkedEditingRangeProvider:P}=T.get(r.ILanguageFeaturesService);return D(P,M,A,I.CancellationToken.None)}),(0,n.registerEditorContribution)(w.ID,w,1),(0,n.registerEditorAction)(S)}),define(ne[834],se([1,0,14,18,8,57,2,42,16,48,54,22,15,35,79,17,209,681,3,50,59,524]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r){"use strict";var u;Object.defineProperty(e,"__esModule",{value:!0}),e.LinkDetector=void 0;let C=class extends y.Disposable{static{u=this}static{this.ID="editor.linkDetector"}static get(L){return L.getContribution(u.ID)}constructor(L,D,T,M,A){super(),this.editor=L,this.openerService=D,this.notificationService=T,this.languageFeaturesService=M,this.providers=this.languageFeaturesService.linkProvider,this.debounceInformation=A.for(this.providers,"Links",{min:1e3,max:4e3}),this.computeLinks=this._register(new d.RunOnceScheduler(()=>this.computeLinksNow(),1e3)),this.computePromise=null,this.activeLinksList=null,this.currentOccurrences={},this.activeLinkDecorationId=null;const P=this._register(new g.ClickLinkGesture(L));this._register(P.onMouseMoveOrRelevantKeyDown(([N,O])=>{this._onEditorMouseMove(N,O)})),this._register(P.onExecute(N=>{this.onEditorMouseUp(N)})),this._register(P.onCancel(N=>{this.cleanUpActiveLinkDecoration()})),this._register(L.onDidChangeConfiguration(N=>{N.hasChanged(71)&&(this.updateDecorations([]),this.stop(),this.computeLinks.schedule(0))})),this._register(L.onDidChangeModelContent(N=>{this.editor.hasModel()&&this.computeLinks.schedule(this.debounceInformation.get(this.editor.getModel()))})),this._register(L.onDidChangeModel(N=>{this.currentOccurrences={},this.activeLinkDecorationId=null,this.stop(),this.computeLinks.schedule(0)})),this._register(L.onDidChangeModelLanguage(N=>{this.stop(),this.computeLinks.schedule(0)})),this._register(this.providers.onDidChange(N=>{this.stop(),this.computeLinks.schedule(0)})),this.computeLinks.schedule(0)}async computeLinksNow(){if(!this.editor.hasModel()||!this.editor.getOption(71))return;const L=this.editor.getModel();if(!L.isTooLargeForSyncing()&&this.providers.has(L)){this.activeLinksList&&(this.activeLinksList.dispose(),this.activeLinksList=null),this.computePromise=(0,d.createCancelablePromise)(D=>(0,c.getLinks)(this.providers,L,D));try{const D=new p.StopWatch(!1);if(this.activeLinksList=await this.computePromise,this.debounceInformation.update(L,D.elapsed()),L.isDisposed())return;this.updateDecorations(this.activeLinksList.links)}catch(D){(0,I.onUnexpectedError)(D)}finally{this.computePromise=null}}}updateDecorations(L){const D=this.editor.getOption(78)==="altKey",T=[],M=Object.keys(this.currentOccurrences);for(const P of M){const N=this.currentOccurrences[P];T.push(N.decorationId)}const A=[];if(L)for(const P of L)A.push(h.decoration(P,D));this.editor.changeDecorations(P=>{const N=P.deltaDecorations(T,A);this.currentOccurrences={},this.activeLinkDecorationId=null;for(let O=0,F=N.length;O{M.activate(A,T),this.activeLinkDecorationId=M.decorationId})}else this.cleanUpActiveLinkDecoration()}cleanUpActiveLinkDecoration(){const L=this.editor.getOption(78)==="altKey";if(this.activeLinkDecorationId){const D=this.currentOccurrences[this.activeLinkDecorationId];D&&this.editor.changeDecorations(T=>{D.deactivate(T,L)}),this.activeLinkDecorationId=null}}onEditorMouseUp(L){if(!this.isEnabled(L))return;const D=this.getLinkOccurrence(L.target.position);D&&this.openLinkOccurrence(D,L.hasSideBySideModifier,!0)}openLinkOccurrence(L,D,T=!1){if(!this.openerService)return;const{link:M}=L;M.resolve(k.CancellationToken.None).then(A=>{if(typeof A=="string"&&this.editor.hasModel()){const P=this.editor.getModel().uri;if(P.scheme===m.Schemas.file&&A.startsWith(`${m.Schemas.file}:`)){const N=n.URI.parse(A);if(N.scheme===m.Schemas.file){const O=b.originalFSPath(N);let F=null;O.startsWith("/./")||O.startsWith("\\.\\")?F=`.${O.substr(1)}`:(O.startsWith("//./")||O.startsWith("\\\\.\\"))&&(F=`.${O.substr(2)}`),F&&(A=b.joinPath(P,F))}}}return this.openerService.open(A,{openToSide:D,fromUserGesture:T,allowContributedOpeners:!0,allowCommands:!0,fromWorkspace:!0})},A=>{const P=A instanceof Error?A.message:A;P==="invalid"?this.notificationService.warn(l.localize(1138,"Failed to open this link because it is not well-formed: {0}",M.url.toString())):P==="missing"?this.notificationService.warn(l.localize(1139,"Failed to open this link because its target is missing.")):(0,I.onUnexpectedError)(A)})}getLinkOccurrence(L){if(!this.editor.hasModel()||!L)return null;const D=this.editor.getModel().getDecorationsInRange({startLineNumber:L.lineNumber,startColumn:L.column,endLineNumber:L.lineNumber,endColumn:L.column},0,!0);for(const T of D){const M=this.currentOccurrences[T.id];if(M)return M}return null}isEnabled(L,D){return!!(L.target.type===6&&(L.hasTriggerModifier||D&&D.keyCodeIsTriggerKey))}stop(){this.computeLinks.cancel(),this.activeLinksList&&(this.activeLinksList?.dispose(),this.activeLinksList=null),this.computePromise&&(this.computePromise.cancel(),this.computePromise=null)}dispose(){super.dispose(),this.stop()}};e.LinkDetector=C,e.LinkDetector=C=u=ke([ce(1,r.IOpenerService),ce(2,a.INotificationService),ce(3,s.ILanguageFeaturesService),ce(4,i.ILanguageFeatureDebounceService)],C);const f={general:t.ModelDecorationOptions.register({description:"detected-link",stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:"detected-link"}),active:t.ModelDecorationOptions.register({description:"detected-link-active",stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:"detected-link-active"})};class h{static decoration(L,D){return{range:L.range,options:h._getOptions(L,D,!1)}}static _getOptions(L,D,T){const M={...T?f.active:f.general};return M.hoverMessage=v(L,D),M}constructor(L,D){this.link=L,this.decorationId=D}activate(L,D){L.changeDecorationOptions(this.decorationId,h._getOptions(this.link,D,!0))}deactivate(L,D){L.changeDecorationOptions(this.decorationId,h._getOptions(this.link,D,!1))}}function v(S,L){const D=S.url&&/^command:/i.test(S.url.toString()),T=S.tooltip?S.tooltip:D?l.localize(1140,"Execute command"):l.localize(1141,"Follow link"),M=L?_.isMacintosh?l.localize(1142,"cmd + click"):l.localize(1143,"ctrl + click"):_.isMacintosh?l.localize(1144,"option + click"):l.localize(1145,"alt + click");if(S.url){let A="";if(/^command:/i.test(S.url.toString())){const N=S.url.toString().match(/^command:([^?#]+)/);if(N){const O=N[1];A=l.localize(1146,"Execute command {0}",O)}}return new E.MarkdownString("",!0).appendLink(S.url.toString(!0).replace(/ /g,"%20"),T,A).appendMarkdown(` (${M})`)}else return new E.MarkdownString().appendText(`${T} (${M})`)}class w extends o.EditorAction{constructor(){super({id:"editor.action.openLink",label:l.localize(1147,"Open Link"),alias:"Open Link",precondition:void 0})}run(L,D){const T=C.get(D);if(!T||!D.hasModel())return;const M=D.getSelections();for(const A of M){const P=T.getLinkOccurrence(A.getEndPosition());P&&T.openLinkOccurrence(P,!1)}}}(0,o.registerEditorContribution)(C.ID,C,1),(0,o.registerEditorAction)(w)}),define(ne[835],se([1,0,14,2,15,36,35,100]),function(oe,e,d,k,I,E,y,m){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SectionHeaderDetector=void 0;let _=class extends k.Disposable{static{this.ID="editor.sectionHeaderDetector"}constructor(n,o,t){super(),this.editor=n,this.languageConfigurationService=o,this.editorWorkerService=t,this.decorations=this.editor.createDecorationsCollection(),this.options=this.createOptions(n.getOption(73)),this.computePromise=null,this.currentOccurrences={},this._register(n.onDidChangeModel(i=>{this.currentOccurrences={},this.options=this.createOptions(n.getOption(73)),this.stop(),this.computeSectionHeaders.schedule(0)})),this._register(n.onDidChangeModelLanguage(i=>{this.currentOccurrences={},this.options=this.createOptions(n.getOption(73)),this.stop(),this.computeSectionHeaders.schedule(0)})),this._register(o.onDidChange(i=>{const s=this.editor.getModel()?.getLanguageId();s&&i.affects(s)&&(this.currentOccurrences={},this.options=this.createOptions(n.getOption(73)),this.stop(),this.computeSectionHeaders.schedule(0))})),this._register(n.onDidChangeConfiguration(i=>{this.options&&!i.hasChanged(73)||(this.options=this.createOptions(n.getOption(73)),this.updateDecorations([]),this.stop(),this.computeSectionHeaders.schedule(0))})),this._register(this.editor.onDidChangeModelContent(i=>{this.computeSectionHeaders.schedule()})),this._register(n.onDidChangeModelTokens(i=>{this.computeSectionHeaders.isScheduled()||this.computeSectionHeaders.schedule(1e3)})),this.computeSectionHeaders=this._register(new d.RunOnceScheduler(()=>{this.findSectionHeaders()},250)),this.computeSectionHeaders.schedule(0)}createOptions(n){if(!n||!this.editor.hasModel())return;const o=this.editor.getModel().getLanguageId();if(!o)return;const t=this.languageConfigurationService.getLanguageConfiguration(o).comments,i=this.languageConfigurationService.getLanguageConfiguration(o).foldingRules;if(!(!t&&!i?.markers))return{foldingRules:i,findMarkSectionHeaders:n.showMarkSectionHeaders,findRegionSectionHeaders:n.showRegionSectionHeaders}}findSectionHeaders(){if(!this.editor.hasModel()||!this.options?.findMarkSectionHeaders&&!this.options?.findRegionSectionHeaders)return;const n=this.editor.getModel();if(n.isDisposed()||n.isTooLargeForSyncing())return;const o=n.getVersionId();this.editorWorkerService.findSectionHeaders(n.uri,this.options).then(t=>{n.isDisposed()||n.getVersionId()!==o||this.updateDecorations(t)})}updateDecorations(n){const o=this.editor.getModel();o&&(n=n.filter(s=>{if(!s.shouldBeInComments)return!0;const g=o.validateRange(s.range),c=o.tokenization.getLineTokens(g.startLineNumber),l=c.findTokenIndexAtOffset(g.startColumn-1),a=c.getStandardTokenType(l);return c.getLanguageId(l)===o.getLanguageId()&&a===1}));const t=Object.values(this.currentOccurrences).map(s=>s.decorationId),i=n.map(s=>b(s));this.editor.changeDecorations(s=>{const g=s.deltaDecorations(t,i);this.currentOccurrences={};for(let c=0,l=g.length;cf.dispose()),this._updateOperation.clear(),this._cancelModelPromise(),super.dispose()}_cancelModelPromise(){this._modelPromise&&(this._modelPromise.cancel(),this._modelPromise=null)}async update(f){return this._updateOperation.clear(),this._updateOperation.add({dispose:()=>{this._cancelModelPromise(),this._updateScheduler.cancel()}}),this._cancelModelPromise(),await this._updateScheduler.trigger(async()=>{for(const h of this._modelProviders){const{statusPromise:v,modelPromise:w}=h.computeStickyModel(f);this._modelPromise=w;const S=await v;if(this._modelPromise!==w)return null;switch(S){case s.CANCELED:return this._updateOperation.clear(),null;case s.VALID:return h.stickyModel}}return null}).catch(h=>((0,p.onUnexpectedError)(h),null))}};e.StickyModelProvider=g,e.StickyModelProvider=g=ke([ce(2,t.IInstantiationService),ce(3,k.ILanguageFeaturesService)],g);class c extends d.Disposable{constructor(f){super(),this._editor=f,this._stickyModel=null}get stickyModel(){return this._stickyModel}_invalid(){return this._stickyModel=null,s.INVALID}computeStickyModel(f){if(f.isCancellationRequested||!this.isProviderValid())return{statusPromise:this._invalid(),modelPromise:null};const h=(0,E.createCancelablePromise)(v=>this.createModelFromProvider(v));return{statusPromise:h.then(v=>this.isModelValid(v)?f.isCancellationRequested?s.CANCELED:(this._stickyModel=this.createStickyModel(f,v),s.VALID):this._invalid()).then(void 0,v=>((0,p.onUnexpectedError)(v),s.CANCELED)),modelPromise:h}}isModelValid(f){return!0}isProviderValid(){return!0}}let l=class extends c{constructor(f,h){super(f),this._languageFeaturesService=h}createModelFromProvider(f){return I.OutlineModel.create(this._languageFeaturesService.documentSymbolProvider,this._editor.getModel(),f)}createStickyModel(f,h){const{stickyOutlineElement:v,providerID:w}=this._stickyModelFromOutlineModel(h,this._stickyModel?.outlineProviderId),S=this._editor.getModel();return new n.StickyModel(S.uri,S.getVersionId(),v,w)}isModelValid(f){return f&&f.children.size>0}_stickyModelFromOutlineModel(f,h){let v;if(o.Iterable.first(f.children.values())instanceof I.OutlineGroup){const D=o.Iterable.find(f.children.values(),T=>T.id===h);if(D)v=D.children;else{let T="",M=-1,A;for(const[P,N]of f.children.entries()){const O=this._findSumOfRangesOfGroup(N);O>M&&(A=N,M=O,T=N.id)}h=T,v=A.children}}else v=f.children;const w=[],S=Array.from(v.values()).sort((D,T)=>{const M=new n.StickyRange(D.symbol.range.startLineNumber,D.symbol.range.endLineNumber),A=new n.StickyRange(T.symbol.range.startLineNumber,T.symbol.range.endLineNumber);return this._comparator(M,A)});for(const D of S)w.push(this._stickyModelFromOutlineElement(D,D.symbol.selectionRange.startLineNumber));return{stickyOutlineElement:new n.StickyElement(void 0,w,void 0),providerID:h}}_stickyModelFromOutlineElement(f,h){const v=[];for(const S of f.children.values())if(S.symbol.selectionRange.startLineNumber!==S.symbol.range.endLineNumber)if(S.symbol.selectionRange.startLineNumber!==h)v.push(this._stickyModelFromOutlineElement(S,S.symbol.selectionRange.startLineNumber));else for(const L of S.children.values())v.push(this._stickyModelFromOutlineElement(L,S.symbol.selectionRange.startLineNumber));v.sort((S,L)=>this._comparator(S.range,L.range));const w=new n.StickyRange(f.symbol.selectionRange.startLineNumber,f.symbol.range.endLineNumber);return new n.StickyElement(w,v,void 0)}_comparator(f,h){return f.startLineNumber!==h.startLineNumber?f.startLineNumber-h.startLineNumber:h.endLineNumber-f.endLineNumber}_findSumOfRangesOfGroup(f){let h=0;for(const v of f.children.values())h+=this._findSumOfRangesOfGroup(v);return f instanceof I.OutlineElement?h+f.symbol.range.endLineNumber-f.symbol.selectionRange.startLineNumber:h}};l=ke([ce(1,k.ILanguageFeaturesService)],l);class a extends c{constructor(f){super(f),this._foldingLimitReporter=new y.RangesLimitReporter(f)}createStickyModel(f,h){const v=this._fromFoldingRegions(h),w=this._editor.getModel();return new n.StickyModel(w.uri,w.getVersionId(),v,void 0)}isModelValid(f){return f!==null}_fromFoldingRegions(f){const h=f.length,v=[],w=new n.StickyElement(void 0,[],void 0);for(let S=0;S0&&(this.provider=this._register(new m.SyntaxRangeProvider(f.getModel(),w,h,this._foldingLimitReporter,void 0)))}isProviderValid(){return this.provider!==void 0}async createModelFromProvider(f){return this.provider?.compute(f)??null}};u=ke([ce(2,k.ILanguageFeaturesService)],u)}),define(ne[837],se([1,0,2,17,18,14,13,6,36,836]),function(oe,e,d,k,I,E,y,m,_,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.StickyLineCandidateProvider=e.StickyLineCandidate=void 0;class p{constructor(t,i,s){this.startLineNumber=t,this.endLineNumber=i,this.nestingDepth=s}}e.StickyLineCandidate=p;let n=class extends d.Disposable{constructor(t,i,s){super(),this._languageFeaturesService=i,this._languageConfigurationService=s,this._onDidChangeStickyScroll=this._register(new m.Emitter),this.onDidChangeStickyScroll=this._onDidChangeStickyScroll.event,this._model=null,this._cts=null,this._stickyModelProvider=null,this._editor=t,this._sessionStore=this._register(new d.DisposableStore),this._updateSoon=this._register(new E.RunOnceScheduler(()=>this.update(),50)),this._register(this._editor.onDidChangeConfiguration(g=>{g.hasChanged(116)&&this.readConfiguration()})),this.readConfiguration()}readConfiguration(){this._sessionStore.clear(),this._editor.getOption(116).enabled&&(this._sessionStore.add(this._editor.onDidChangeModel(()=>{this._model=null,this.updateStickyModelProvider(),this._onDidChangeStickyScroll.fire(),this.update()})),this._sessionStore.add(this._editor.onDidChangeHiddenAreas(()=>this.update())),this._sessionStore.add(this._editor.onDidChangeModelContent(()=>this._updateSoon.schedule())),this._sessionStore.add(this._languageFeaturesService.documentSymbolProvider.onDidChange(()=>this.update())),this._sessionStore.add((0,d.toDisposable)(()=>{this._stickyModelProvider?.dispose(),this._stickyModelProvider=null})),this.updateStickyModelProvider(),this.update())}getVersionId(){return this._model?.version}updateStickyModelProvider(){this._stickyModelProvider?.dispose(),this._stickyModelProvider=null;const t=this._editor;t.hasModel()&&(this._stickyModelProvider=new b.StickyModelProvider(t,()=>this._updateSoon.schedule(),this._languageConfigurationService,this._languageFeaturesService))}async update(){this._cts?.dispose(!0),this._cts=new I.CancellationTokenSource,await this.updateStickyModel(this._cts.token),this._onDidChangeStickyScroll.fire()}async updateStickyModel(t){if(!this._editor.hasModel()||!this._stickyModelProvider||this._editor.getModel().isTooLargeForTokenization()){this._model=null;return}const i=await this._stickyModelProvider.update(t);t.isCancellationRequested||(this._model=i)}updateIndex(t){return t===-1?t=0:t<0&&(t=-t-2),t}getCandidateStickyLinesIntersectingFromStickyModel(t,i,s,g,c){if(i.children.length===0)return;let l=c;const a=[];for(let C=0;CC-f)),u=this.updateIndex((0,y.binarySearch)(a,t.startLineNumber+g,(C,f)=>C-f));for(let C=r;C<=u;C++){const f=i.children[C];if(!f)return;if(f.range){const h=f.range.startLineNumber,v=f.range.endLineNumber;t.startLineNumber<=v+1&&h-1<=t.endLineNumber&&h!==l&&(l=h,s.push(new p(h,v-1,g+1)),this.getCandidateStickyLinesIntersectingFromStickyModel(t,f,s,g+1,h))}else this.getCandidateStickyLinesIntersectingFromStickyModel(t,f,s,g,c)}}getCandidateStickyLinesIntersecting(t){if(!this._model?.element)return[];let i=[];this.getCandidateStickyLinesIntersectingFromStickyModel(t,this._model.element,i,0,-1);const s=this._editor._getViewModel()?.getHiddenAreas();if(s)for(const g of s)i=i.filter(c=>!(c.startLineNumber>=g.startLineNumber&&c.endLineNumber<=g.endLineNumber+1));return i}};e.StickyLineCandidateProvider=n,e.StickyLineCandidateProvider=n=ke([ce(1,k.ILanguageFeaturesService),ce(2,_.ILanguageConfigurationService)],n)}),define(ne[838],se([1,0,5,103,13,2,30,281,125,9,116,150,136,424,531]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.StickyScrollWidget=e.StickyScrollWidgetState=void 0;class i{constructor(h,v,w,S=null){this.startLineNumbers=h,this.endLineNumbers=v,this.lastLineRelativePosition=w,this.showEndForLine=S}equals(h){return!!h&&this.lastLineRelativePosition===h.lastLineRelativePosition&&this.showEndForLine===h.showEndForLine&&(0,I.equals)(this.startLineNumbers,h.startLineNumbers)&&(0,I.equals)(this.endLineNumbers,h.endLineNumbers)}static get Empty(){return new i([],[],0)}}e.StickyScrollWidgetState=i;const s=(0,k.createTrustedTypesPolicy)("stickyScrollViewLayer",{createHTML:f=>f}),g="data-sticky-line-index",c="data-sticky-is-line",l="data-sticky-is-line-number",a="data-sticky-is-folding-icon";class r extends E.Disposable{constructor(h){super(),this._editor=h,this._foldingIconStore=new E.DisposableStore,this._rootDomNode=document.createElement("div"),this._lineNumbersDomNode=document.createElement("div"),this._linesDomNodeScrollable=document.createElement("div"),this._linesDomNode=document.createElement("div"),this._lineHeight=this._editor.getOption(67),this._renderedStickyLines=[],this._lineNumbers=[],this._lastLineRelativePosition=0,this._minContentWidthInPx=0,this._isOnGlyphMargin=!1,this._lineNumbersDomNode.className="sticky-widget-line-numbers",this._lineNumbersDomNode.setAttribute("role","none"),this._linesDomNode.className="sticky-widget-lines",this._linesDomNode.setAttribute("role","list"),this._linesDomNodeScrollable.className="sticky-widget-lines-scrollable",this._linesDomNodeScrollable.appendChild(this._linesDomNode),this._rootDomNode.className="sticky-widget",this._rootDomNode.classList.toggle("peek",h instanceof _.EmbeddedCodeEditorWidget),this._rootDomNode.appendChild(this._lineNumbersDomNode),this._rootDomNode.appendChild(this._linesDomNodeScrollable);const v=()=>{this._linesDomNode.style.left=this._editor.getOption(116).scrollWithEditor?`-${this._editor.getScrollLeft()}px`:"0px"};this._register(this._editor.onDidChangeConfiguration(w=>{w.hasChanged(116)&&v(),w.hasChanged(67)&&(this._lineHeight=this._editor.getOption(67))})),this._register(this._editor.onDidScrollChange(w=>{w.scrollLeftChanged&&v(),w.scrollWidthChanged&&this._updateWidgetWidth()})),this._register(this._editor.onDidChangeModel(()=>{v(),this._updateWidgetWidth()})),this._register(this._foldingIconStore),v(),this._register(this._editor.onDidLayoutChange(w=>{this._updateWidgetWidth()})),this._updateWidgetWidth()}get lineNumbers(){return this._lineNumbers}get lineNumberCount(){return this._lineNumbers.length}getRenderedStickyLine(h){return this._renderedStickyLines.find(v=>v.lineNumber===h)}getCurrentLines(){return this._lineNumbers}setState(h,v,w){if(w===void 0&&(!this._previousState&&!h||this._previousState&&this._previousState.equals(h)))return;const S=this._isWidgetHeightZero(h),L=S?void 0:h,D=S?0:this._findLineToRebuildWidgetFrom(h,w);this._renderRootNode(L,v,D),this._previousState=h}_isWidgetHeightZero(h){if(!h)return!0;const v=h.startLineNumbers.length*this._lineHeight+h.lastLineRelativePosition;if(v>0){this._lastLineRelativePosition=h.lastLineRelativePosition;const w=[...h.startLineNumbers];h.showEndForLine!==null&&(w[h.showEndForLine]=h.endLineNumbers[h.showEndForLine]),this._lineNumbers=w}else this._lastLineRelativePosition=0,this._lineNumbers=[];return v===0}_findLineToRebuildWidgetFrom(h,v){if(!h||!this._previousState)return 0;if(v!==void 0)return v;const w=this._previousState,S=h.startLineNumbers.findIndex(L=>!w.startLineNumbers.includes(L));return S===-1?0:S}_updateWidgetWidth(){const h=this._editor.getLayoutInfo(),v=h.contentLeft;this._lineNumbersDomNode.style.width=`${v}px`,this._linesDomNodeScrollable.style.setProperty("--vscode-editorStickyScroll-scrollableWidth",`${this._editor.getScrollWidth()-h.verticalScrollbarWidth}px`),this._rootDomNode.style.width=`${h.width-h.verticalScrollbarWidth}px`}_clearStickyLinesFromLine(h){this._foldingIconStore.clear();for(let v=h;vT.scrollWidth))+S.verticalScrollbarWidth,this._editor.layoutOverlayWidget(this)}_setFoldingHoverListeners(){this._editor.getOption(111)==="mouseover"&&(this._foldingIconStore.add(d.addDisposableListener(this._lineNumbersDomNode,d.EventType.MOUSE_ENTER,()=>{this._isOnGlyphMargin=!0,this._setFoldingIconsVisibility(!0)})),this._foldingIconStore.add(d.addDisposableListener(this._lineNumbersDomNode,d.EventType.MOUSE_LEAVE,()=>{this._isOnGlyphMargin=!1,this._useFoldingOpacityTransition(!0),this._setFoldingIconsVisibility(!1)})))}_renderChildNode(h,v,w,S){const L=this._editor._getViewModel();if(!L)return;const D=L.coordinatesConverter.convertModelPositionToViewPosition(new b.Position(v,1)).lineNumber,T=L.getViewLineRenderingData(D),M=this._editor.getOption(68);let A;try{A=n.LineDecoration.filter(T.inlineDecorations,D,T.minColumn,T.maxColumn)}catch{A=[]}const P=new o.RenderLineInput(!0,!0,T.content,T.continuesWithWrappedLine,T.isBasicASCII,T.containsRTL,0,T.tokens,A,T.tabSize,T.startVisibleColumn,1,1,1,500,"none",!0,!0,null),N=new p.StringBuilder(2e3),O=(0,o.renderViewLine)(P,N);let F;s?F=s.createHTML(N.build()):F=N.build();const x=document.createElement("span");x.setAttribute(g,String(h)),x.setAttribute(c,""),x.setAttribute("role","listitem"),x.tabIndex=0,x.className="sticky-line-content",x.classList.add(`stickyLine${v}`),x.style.lineHeight=`${this._lineHeight}px`,x.innerHTML=F;const W=document.createElement("span");W.setAttribute(g,String(h)),W.setAttribute(l,""),W.className="sticky-line-number",W.style.lineHeight=`${this._lineHeight}px`;const V=S.contentLeft;W.style.width=`${V}px`;const q=document.createElement("span");M.renderType===1||M.renderType===3&&v%10===0?q.innerText=v.toString():M.renderType===2&&(q.innerText=Math.abs(v-this._editor.getPosition().lineNumber).toString()),q.className="sticky-line-number-inner",q.style.lineHeight=`${this._lineHeight}px`,q.style.width=`${S.lineNumbersWidth}px`,q.style.paddingLeft=`${S.lineNumbersLeft}px`,W.appendChild(q);const H=this._renderFoldingIconForLine(w,v);H&&W.appendChild(H.domNode),this._editor.applyFontInfo(x),this._editor.applyFontInfo(q),W.style.lineHeight=`${this._lineHeight}px`,x.style.lineHeight=`${this._lineHeight}px`,W.style.height=`${this._lineHeight}px`,x.style.height=`${this._lineHeight}px`;const z=new u(h,v,x,W,H,O.characterMapping,x.scrollWidth);return this._updateTopAndZIndexOfStickyLine(z)}_updateTopAndZIndexOfStickyLine(h){const v=h.index,w=h.lineDomNode,S=h.lineNumberDomNode,L=v===this._lineNumbers.length-1,D="0",T="1";w.style.zIndex=L?D:T,S.style.zIndex=L?D:T;const M=`${v*this._lineHeight+this._lastLineRelativePosition+(h.foldingIcon?.isCollapsed?1:0)}px`,A=`${v*this._lineHeight}px`;return w.style.top=L?M:A,S.style.top=L?M:A,h}_renderFoldingIconForLine(h,v){const w=this._editor.getOption(111);if(!h||w==="never")return;const S=h.regions,L=S.findRange(v),D=S.getStartLineNumber(L);if(!(v===D))return;const M=S.isCollapsed(L),A=new C(M,D,S.getEndLineNumber(L),this._lineHeight);return A.setVisible(this._isOnGlyphMargin?!0:M||w==="always"),A.domNode.setAttribute(a,""),A}getId(){return"editor.contrib.stickyScrollWidget"}getDomNode(){return this._rootDomNode}getPosition(){return{preference:2,stackOridinal:10}}getMinContentWidthInPx(){return this._minContentWidthInPx}focusLineWithIndex(h){0<=h&&h0)return null;const v=this._getRenderedStickyLineFromChildDomNode(h);if(!v)return null;const w=(0,m.getColumnOfNodeOffset)(v.characterMapping,h,0);return new b.Position(v.lineNumber,w)}getLineNumberFromChildDomNode(h){return this._getRenderedStickyLineFromChildDomNode(h)?.lineNumber??null}_getRenderedStickyLineFromChildDomNode(h){const v=this.getLineIndexFromChildDomNode(h);return v===null||v<0||v>=this._renderedStickyLines.length?null:this._renderedStickyLines[v]}getLineIndexFromChildDomNode(h){const v=this._getAttributeValue(h,g);return v?parseInt(v,10):null}isInStickyLine(h){return this._getAttributeValue(h,c)!==void 0}isInFoldingIconDomNode(h){return this._getAttributeValue(h,a)!==void 0}_getAttributeValue(h,v){for(;h&&h!==this._rootDomNode;){const w=h.getAttribute(v);if(w!==null)return w;h=h.parentElement}}}e.StickyScrollWidget=r;class u{constructor(h,v,w,S,L,D,T){this.index=h,this.lineNumber=v,this.lineDomNode=w,this.lineNumberDomNode=S,this.foldingIcon=L,this.characterMapping=D,this.scrollWidth=T}}class C{constructor(h,v,w,S){this.isCollapsed=h,this.foldingStartLine=v,this.foldingEndLine=w,this.dimension=S,this.domNode=document.createElement("div"),this.domNode.style.width=`${S}px`,this.domNode.style.height=`${S}px`,this.domNode.className=y.ThemeIcon.asClassName(h?t.foldingCollapsedIcon:t.foldingExpandedIcon)}setVisible(h){this.domNode.style.cursor=h?"pointer":"default",this.domNode.style.opacity=h?"1":"0"}}}),define(ne[839],se([1,0,5,115,14,8,6,2,141,11,125,798,3,12,7,101,32,97,25,255,155,402,793,110,46,195,532,280]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r,u,C,f,h){"use strict";var v;Object.defineProperty(e,"__esModule",{value:!0}),e.SuggestContentWidget=e.SuggestWidget=e.editorSuggestWidgetSelectedBackground=void 0,(0,g.registerColor)("editorSuggestWidget.background",g.editorWidgetBackground,o.localize(1328,"Background color of the suggest widget.")),(0,g.registerColor)("editorSuggestWidget.border",g.editorWidgetBorder,o.localize(1329,"Border color of the suggest widget."));const w=(0,g.registerColor)("editorSuggestWidget.foreground",g.editorForeground,o.localize(1330,"Foreground color of the suggest widget."));(0,g.registerColor)("editorSuggestWidget.selectedForeground",g.quickInputListFocusForeground,o.localize(1331,"Foreground color of the selected entry in the suggest widget.")),(0,g.registerColor)("editorSuggestWidget.selectedIconForeground",g.quickInputListFocusIconForeground,o.localize(1332,"Icon foreground color of the selected entry in the suggest widget.")),e.editorSuggestWidgetSelectedBackground=(0,g.registerColor)("editorSuggestWidget.selectedBackground",g.quickInputListFocusBackground,o.localize(1333,"Background color of the selected entry in the suggest widget.")),(0,g.registerColor)("editorSuggestWidget.highlightForeground",g.listHighlightForeground,o.localize(1334,"Color of the match highlights in the suggest widget.")),(0,g.registerColor)("editorSuggestWidget.focusHighlightForeground",g.listFocusHighlightForeground,o.localize(1335,"Color of the match highlights in the suggest widget when an item is focused.")),(0,g.registerColor)("editorSuggestWidgetStatus.foreground",(0,g.transparent)(w,.5),o.localize(1336,"Foreground color of the suggest widget status."));class S{constructor(M,A){this._service=M,this._key=`suggestWidget.size/${A.getEditorType()}/${A instanceof p.EmbeddedCodeEditorWidget}`}restore(){const M=this._service.get(this._key,0)??"";try{const A=JSON.parse(M);if(d.Dimension.is(A))return d.Dimension.lift(A)}catch{}}store(M){this._service.store(this._key,JSON.stringify(M),0,1)}reset(){this._service.remove(this._key,0)}}let L=class{static{v=this}static{this.LOADING_MESSAGE=o.localize(1337,"Loading...")}static{this.NO_SUGGESTIONS_MESSAGE=o.localize(1338,"No suggestions.")}constructor(M,A,P,N,O){this.editor=M,this._storageService=A,this._state=0,this._isAuto=!1,this._pendingLayout=new m.MutableDisposable,this._pendingShowDetails=new m.MutableDisposable,this._ignoreFocusEvents=!1,this._forceRenderingAbove=!1,this._explainMode=!1,this._showTimeout=new I.TimeoutTimer,this._disposables=new m.DisposableStore,this._onDidSelect=new y.PauseableEmitter,this._onDidFocus=new y.PauseableEmitter,this._onDidHide=new y.Emitter,this._onDidShow=new y.Emitter,this.onDidSelect=this._onDidSelect.event,this.onDidFocus=this._onDidFocus.event,this.onDidHide=this._onDidHide.event,this.onDidShow=this._onDidShow.event,this._onDetailsKeydown=new y.Emitter,this.onDetailsKeyDown=this._onDetailsKeydown.event,this.element=new a.ResizableHTMLElement,this.element.domNode.classList.add("editor-widget","suggest-widget"),this._contentWidget=new D(this,M),this._persistedSize=new S(A,M);class F{constructor(U,j,Q=!1,G=!1){this.persistedSize=U,this.currentSize=j,this.persistHeight=Q,this.persistWidth=G}}let x;this._disposables.add(this.element.onDidWillResize(()=>{this._contentWidget.lockPreference(),x=new F(this._persistedSize.restore(),this.element.size)})),this._disposables.add(this.element.onDidResize(z=>{if(this._resize(z.dimension.width,z.dimension.height),x&&(x.persistHeight=x.persistHeight||!!z.north||!!z.south,x.persistWidth=x.persistWidth||!!z.east||!!z.west),!!z.done){if(x){const{itemHeight:U,defaultSize:j}=this.getLayoutInfo(),Q=Math.round(U/2);let{width:G,height:K}=this.element.size;(!x.persistHeight||Math.abs(x.currentSize.height-K)<=Q)&&(K=x.persistedSize?.height??j.height),(!x.persistWidth||Math.abs(x.currentSize.width-G)<=Q)&&(G=x.persistedSize?.width??j.width),this._persistedSize.store(new d.Dimension(G,K))}this._contentWidget.unlockPreference(),x=void 0}})),this._messageElement=d.append(this.element.domNode,d.$(".message")),this._listElement=d.append(this.element.domNode,d.$(".tree"));const W=this._disposables.add(O.createInstance(u.SuggestDetailsWidget,this.editor));W.onDidClose(this.toggleDetails,this,this._disposables),this._details=new u.SuggestDetailsOverlay(W,this.editor);const V=()=>this.element.domNode.classList.toggle("no-icons",!this.editor.getOption(119).showIcons);V();const q=O.createInstance(C.ItemRenderer,this.editor);this._disposables.add(q),this._disposables.add(q.onDidToggleDetails(()=>this.toggleDetails())),this._list=new k.List("SuggestWidget",this._listElement,{getHeight:z=>this.getLayoutInfo().itemHeight,getTemplateId:z=>"suggestion"},[q],{alwaysConsumeMouseWheel:!0,useShadows:!1,mouseSupport:!1,multipleSelectionSupport:!1,accessibilityProvider:{getRole:()=>"option",getWidgetAriaLabel:()=>o.localize(1339,"Suggest"),getWidgetRole:()=>"listbox",getAriaLabel:z=>{let U=z.textLabel;if(typeof z.completion.label!="string"){const{detail:K,description:R}=z.completion.label;K&&R?U=o.localize(1340,"{0} {1}, {2}",U,K,R):K?U=o.localize(1341,"{0} {1}",U,K):R&&(U=o.localize(1342,"{0}, {1}",U,R))}if(!z.isResolved||!this._isDetailsVisible())return U;const{documentation:j,detail:Q}=z.completion,G=b.format("{0}{1}",Q||"",j?typeof j=="string"?j:j.value:"");return o.localize(1343,"{0}, docs: {1}",U,G)}}}),this._list.style((0,f.getListStyles)({listInactiveFocusBackground:e.editorSuggestWidgetSelectedBackground,listInactiveFocusOutline:g.activeContrastBorder})),this._status=O.createInstance(n.SuggestWidgetStatus,this.element.domNode,r.suggestWidgetStatusbarMenu);const H=()=>this.element.domNode.classList.toggle("with-status-bar",this.editor.getOption(119).showStatusBar);H(),this._disposables.add(N.onDidColorThemeChange(z=>this._onThemeChange(z))),this._onThemeChange(N.getColorTheme()),this._disposables.add(this._list.onMouseDown(z=>this._onListMouseDownOrTap(z))),this._disposables.add(this._list.onTap(z=>this._onListMouseDownOrTap(z))),this._disposables.add(this._list.onDidChangeSelection(z=>this._onListSelection(z))),this._disposables.add(this._list.onDidChangeFocus(z=>this._onListFocus(z))),this._disposables.add(this.editor.onDidChangeCursorSelection(()=>this._onCursorSelectionChanged())),this._disposables.add(this.editor.onDidChangeConfiguration(z=>{z.hasChanged(119)&&(H(),V()),this._completionModel&&(z.hasChanged(50)||z.hasChanged(120)||z.hasChanged(121))&&this._list.splice(0,this._list.length,this._completionModel.items)})),this._ctxSuggestWidgetVisible=r.Context.Visible.bindTo(P),this._ctxSuggestWidgetDetailsVisible=r.Context.DetailsVisible.bindTo(P),this._ctxSuggestWidgetMultipleSuggestions=r.Context.MultipleSuggestions.bindTo(P),this._ctxSuggestWidgetHasFocusedSuggestion=r.Context.HasFocusedSuggestion.bindTo(P),this._disposables.add(d.addStandardDisposableListener(this._details.widget.domNode,"keydown",z=>{this._onDetailsKeydown.fire(z)})),this._disposables.add(this.editor.onMouseDown(z=>this._onEditorMouseDown(z)))}dispose(){this._details.widget.dispose(),this._details.dispose(),this._list.dispose(),this._status.dispose(),this._disposables.dispose(),this._loadingTimeout?.dispose(),this._pendingLayout.dispose(),this._pendingShowDetails.dispose(),this._showTimeout.dispose(),this._contentWidget.dispose(),this.element.dispose()}_onEditorMouseDown(M){this._details.widget.domNode.contains(M.target.element)?this._details.widget.domNode.focus():this.element.domNode.contains(M.target.element)&&this.editor.focus()}_onCursorSelectionChanged(){this._state!==0&&this._contentWidget.layout()}_onListMouseDownOrTap(M){typeof M.element>"u"||typeof M.index>"u"||(M.browserEvent.preventDefault(),M.browserEvent.stopPropagation(),this._select(M.element,M.index))}_onListSelection(M){M.elements.length&&this._select(M.elements[0],M.indexes[0])}_select(M,A){const P=this._completionModel;P&&(this._onDidSelect.fire({item:M,index:A,model:P}),this.editor.focus())}_onThemeChange(M){this._details.widget.borderWidth=(0,c.isHighContrast)(M.type)?2:1}_onListFocus(M){if(this._ignoreFocusEvents)return;if(!M.elements.length){this._currentSuggestionDetails&&(this._currentSuggestionDetails.cancel(),this._currentSuggestionDetails=void 0,this._focusedItem=void 0),this.editor.setAriaOptions({activeDescendant:void 0}),this._ctxSuggestWidgetHasFocusedSuggestion.set(!1);return}if(!this._completionModel)return;this._ctxSuggestWidgetHasFocusedSuggestion.set(!0);const A=M.elements[0],P=M.indexes[0];A!==this._focusedItem&&(this._currentSuggestionDetails?.cancel(),this._currentSuggestionDetails=void 0,this._focusedItem=A,this._list.reveal(P),this._currentSuggestionDetails=(0,I.createCancelablePromise)(async N=>{const O=(0,I.disposableTimeout)(()=>{this._isDetailsVisible()&&this.showDetails(!0)},250),F=N.onCancellationRequested(()=>O.dispose());try{return await A.resolve(N)}finally{O.dispose(),F.dispose()}}),this._currentSuggestionDetails.then(()=>{P>=this._list.length||A!==this._list.element(P)||(this._ignoreFocusEvents=!0,this._list.splice(P,1,[A]),this._list.setFocus([P]),this._ignoreFocusEvents=!1,this._isDetailsVisible()?this.showDetails(!1):this.element.domNode.classList.remove("docs-side"),this.editor.setAriaOptions({activeDescendant:(0,C.getAriaId)(P)}))}).catch(E.onUnexpectedError)),this._onDidFocus.fire({item:A,index:P,model:this._completionModel})}_setState(M){if(this._state!==M)switch(this._state=M,this.element.domNode.classList.toggle("frozen",M===4),this.element.domNode.classList.remove("message"),M){case 0:d.hide(this._messageElement,this._listElement,this._status.element),this._details.hide(!0),this._status.hide(),this._contentWidget.hide(),this._ctxSuggestWidgetVisible.reset(),this._ctxSuggestWidgetMultipleSuggestions.reset(),this._ctxSuggestWidgetHasFocusedSuggestion.reset(),this._showTimeout.cancel(),this.element.domNode.classList.remove("visible"),this._list.splice(0,this._list.length),this._focusedItem=void 0,this._cappedHeight=void 0,this._explainMode=!1;break;case 1:this.element.domNode.classList.add("message"),this._messageElement.textContent=v.LOADING_MESSAGE,d.hide(this._listElement,this._status.element),d.show(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0,(0,h.status)(v.LOADING_MESSAGE);break;case 2:this.element.domNode.classList.add("message"),this._messageElement.textContent=v.NO_SUGGESTIONS_MESSAGE,d.hide(this._listElement,this._status.element),d.show(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0,(0,h.status)(v.NO_SUGGESTIONS_MESSAGE);break;case 3:d.hide(this._messageElement),d.show(this._listElement,this._status.element),this._show();break;case 4:d.hide(this._messageElement),d.show(this._listElement,this._status.element),this._show();break;case 5:d.hide(this._messageElement),d.show(this._listElement,this._status.element),this._details.show(),this._show();break}}_show(){this._status.show(),this._contentWidget.show(),this._layout(this._persistedSize.restore()),this._ctxSuggestWidgetVisible.set(!0),this._showTimeout.cancelAndSet(()=>{this.element.domNode.classList.add("visible"),this._onDidShow.fire(this)},100)}showTriggered(M,A){this._state===0&&(this._contentWidget.setPosition(this.editor.getPosition()),this._isAuto=!!M,this._isAuto||(this._loadingTimeout=(0,I.disposableTimeout)(()=>this._setState(1),A)))}showSuggestions(M,A,P,N,O){if(this._contentWidget.setPosition(this.editor.getPosition()),this._loadingTimeout?.dispose(),this._currentSuggestionDetails?.cancel(),this._currentSuggestionDetails=void 0,this._completionModel!==M&&(this._completionModel=M),P&&this._state!==2&&this._state!==0){this._setState(4);return}const F=this._completionModel.items.length,x=F===0;if(this._ctxSuggestWidgetMultipleSuggestions.set(F>1),x){this._setState(N?0:2),this._completionModel=void 0;return}this._focusedItem=void 0,this._onDidFocus.pause(),this._onDidSelect.pause();try{this._list.splice(0,this._list.length,this._completionModel.items),this._setState(P?4:3),this._list.reveal(A,0),this._list.setFocus(O?[]:[A])}finally{this._onDidFocus.resume(),this._onDidSelect.resume()}this._pendingLayout.value=d.runAtThisOrScheduleAtNextAnimationFrame(d.getWindow(this.element.domNode),()=>{this._pendingLayout.clear(),this._layout(this.element.size),this._details.widget.domNode.classList.remove("focused")})}focusSelected(){this._list.length>0&&this._list.setFocus([0])}selectNextPage(){switch(this._state){case 0:return!1;case 5:return this._details.widget.pageDown(),!0;case 1:return!this._isAuto;default:return this._list.focusNextPage(),!0}}selectNext(){switch(this._state){case 0:return!1;case 1:return!this._isAuto;default:return this._list.focusNext(1,!0),!0}}selectLast(){switch(this._state){case 0:return!1;case 5:return this._details.widget.scrollBottom(),!0;case 1:return!this._isAuto;default:return this._list.focusLast(),!0}}selectPreviousPage(){switch(this._state){case 0:return!1;case 5:return this._details.widget.pageUp(),!0;case 1:return!this._isAuto;default:return this._list.focusPreviousPage(),!0}}selectPrevious(){switch(this._state){case 0:return!1;case 1:return!this._isAuto;default:return this._list.focusPrevious(1,!0),!1}}selectFirst(){switch(this._state){case 0:return!1;case 5:return this._details.widget.scrollTop(),!0;case 1:return!this._isAuto;default:return this._list.focusFirst(),!0}}getFocusedItem(){if(this._state!==0&&this._state!==2&&this._state!==1&&this._completionModel&&this._list.getFocus().length>0)return{item:this._list.getFocusedElements()[0],index:this._list.getFocus()[0],model:this._completionModel}}toggleDetailsFocus(){this._state===5?(this._setState(3),this._details.widget.domNode.classList.remove("focused")):this._state===3&&this._isDetailsVisible()&&(this._setState(5),this._details.widget.domNode.classList.add("focused"))}toggleDetails(){this._isDetailsVisible()?(this._pendingShowDetails.clear(),this._ctxSuggestWidgetDetailsVisible.set(!1),this._setDetailsVisible(!1),this._details.hide(),this.element.domNode.classList.remove("shows-details")):((0,u.canExpandCompletionItem)(this._list.getFocusedElements()[0])||this._explainMode)&&(this._state===3||this._state===5||this._state===4)&&(this._ctxSuggestWidgetDetailsVisible.set(!0),this._setDetailsVisible(!0),this.showDetails(!1))}showDetails(M){this._pendingShowDetails.value=d.runAtThisOrScheduleAtNextAnimationFrame(d.getWindow(this.element.domNode),()=>{this._pendingShowDetails.clear(),this._details.show(),M?this._details.widget.renderLoading():this._details.widget.renderItem(this._list.getFocusedElements()[0],this._explainMode),this._details.widget.isEmpty?this._details.hide():(this._positionDetails(),this.element.domNode.classList.add("shows-details")),this.editor.focus()})}toggleExplainMode(){this._list.getFocusedElements()[0]&&(this._explainMode=!this._explainMode,this._isDetailsVisible()?this.showDetails(!1):this.toggleDetails())}resetPersistedSize(){this._persistedSize.reset()}hideWidget(){this._pendingLayout.clear(),this._pendingShowDetails.clear(),this._loadingTimeout?.dispose(),this._setState(0),this._onDidHide.fire(this),this.element.clearSashHoverState();const M=this._persistedSize.restore(),A=Math.ceil(this.getLayoutInfo().itemHeight*4.3);M&&M.heightF&&(O=F);const x=this._completionModel?this._completionModel.stats.pLabelLen*P.typicalHalfwidthCharacterWidth:O,W=P.statusBarHeight+this._list.contentHeight+P.borderHeight,V=P.itemHeight+P.statusBarHeight,q=d.getDomNodePagePosition(this.editor.getDomNode()),H=this.editor.getScrolledVisiblePosition(this.editor.getPosition()),z=q.top+H.top+H.height,U=Math.min(A.height-z-P.verticalPadding,W),j=q.top+H.top-P.verticalPadding,Q=Math.min(j,W);let G=Math.min(Math.max(Q,U)+P.borderHeight,W);N===this._cappedHeight?.capped&&(N=this._cappedHeight.wanted),NG&&(N=G),N>U||this._forceRenderingAbove&&j>150?(this._contentWidget.setPreference(1),this.element.enableSashes(!0,!0,!1,!1),G=Q):(this._contentWidget.setPreference(2),this.element.enableSashes(!1,!0,!0,!1),G=U),this.element.preferredSize=new d.Dimension(x,P.defaultSize.height),this.element.maxSize=new d.Dimension(F,G),this.element.minSize=new d.Dimension(220,V),this._cappedHeight=N===W?{wanted:this._cappedHeight?.wanted??M.height,capped:N}:void 0}this._resize(O,N)}_resize(M,A){const{width:P,height:N}=this.element.maxSize;M=Math.min(P,M),A=Math.min(N,A);const{statusBarHeight:O}=this.getLayoutInfo();this._list.layout(A-O,M),this._listElement.style.height=`${A-O}px`,this.element.layout(A,M),this._contentWidget.layout(),this._positionDetails()}_positionDetails(){this._isDetailsVisible()&&this._details.placeAtAnchor(this.element.domNode,this._contentWidget.getPosition()?.preference[0]===2)}getLayoutInfo(){const M=this.editor.getOption(50),A=(0,_.clamp)(this.editor.getOption(121)||M.lineHeight,8,1e3),P=!this.editor.getOption(119).showStatusBar||this._state===2||this._state===1?0:A,N=this._details.widget.borderWidth,O=2*N;return{itemHeight:A,statusBarHeight:P,borderWidth:N,borderHeight:O,typicalHalfwidthCharacterWidth:M.typicalHalfwidthCharacterWidth,verticalPadding:22,horizontalPadding:14,defaultSize:new d.Dimension(430,P+12*A+O)}}_isDetailsVisible(){return this._storageService.getBoolean("expandSuggestionDocs",0,!1)}_setDetailsVisible(M){this._storageService.store("expandSuggestionDocs",M,0,0)}forceRenderingAbove(){this._forceRenderingAbove||(this._forceRenderingAbove=!0,this._layout(this._persistedSize.restore()))}stopForceRenderingAbove(){this._forceRenderingAbove=!1}};e.SuggestWidget=L,e.SuggestWidget=L=v=ke([ce(1,s.IStorageService),ce(2,t.IContextKeyService),ce(3,l.IThemeService),ce(4,i.IInstantiationService)],L);class D{constructor(M,A){this._widget=M,this._editor=A,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._preferenceLocked=!1,this._added=!1,this._hidden=!1}dispose(){this._added&&(this._added=!1,this._editor.removeContentWidget(this))}getId(){return"editor.widget.suggestWidget"}getDomNode(){return this._widget.element.domNode}show(){this._hidden=!1,this._added||(this._added=!0,this._editor.addContentWidget(this))}hide(){this._hidden||(this._hidden=!0,this.layout())}layout(){this._editor.layoutContentWidget(this)}getPosition(){return this._hidden||!this._position||!this._preference?null:{position:this._position,preference:[this._preference]}}beforeRender(){const{height:M,width:A}=this._widget.element.size,{borderWidth:P,horizontalPadding:N}=this._widget.getLayoutInfo();return new d.Dimension(A+2*P+N,M+2*P)}afterRender(M){this._widget._afterRender(M)}setPreference(M){this._preferenceLocked||(this._preference=M)}lockPreference(){this._preferenceLocked=!0}unlockPreference(){this._preferenceLocked=!1}setPosition(M){this._position=M}}e.SuggestContentWidget=D}),define(ne[426],se([1,0,40,35,27,3,32,25,536]),function(oe,e,d,k,I,E,y,m){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getHighlightDecorationOptions=l,e.getSelectionHighlightDecorationOptions=a;const _=(0,y.registerColor)("editor.wordHighlightBackground",{dark:"#575757B8",light:"#57575740",hcDark:null,hcLight:null},E.localize(1415,"Background color of a symbol during read-access, like reading a variable. The color must not be opaque so as not to hide underlying decorations."),!0);(0,y.registerColor)("editor.wordHighlightStrongBackground",{dark:"#004972B8",light:"#0e639c40",hcDark:null,hcLight:null},E.localize(1416,"Background color of a symbol during write-access, like writing to a variable. The color must not be opaque so as not to hide underlying decorations."),!0),(0,y.registerColor)("editor.wordHighlightTextBackground",_,E.localize(1417,"Background color of a textual occurrence for a symbol. The color must not be opaque so as not to hide underlying decorations."),!0);const b=(0,y.registerColor)("editor.wordHighlightBorder",{light:null,dark:null,hcDark:y.activeContrastBorder,hcLight:y.activeContrastBorder},E.localize(1418,"Border color of a symbol during read-access, like reading a variable."));(0,y.registerColor)("editor.wordHighlightStrongBorder",{light:null,dark:null,hcDark:y.activeContrastBorder,hcLight:y.activeContrastBorder},E.localize(1419,"Border color of a symbol during write-access, like writing to a variable.")),(0,y.registerColor)("editor.wordHighlightTextBorder",b,E.localize(1420,"Border color of a textual occurrence for a symbol."));const p=(0,y.registerColor)("editorOverviewRuler.wordHighlightForeground","#A0A0A0CC",E.localize(1421,"Overview ruler marker color for symbol highlights. The color must not be opaque so as not to hide underlying decorations."),!0),n=(0,y.registerColor)("editorOverviewRuler.wordHighlightStrongForeground","#C0A0C0CC",E.localize(1422,"Overview ruler marker color for write-access symbol highlights. The color must not be opaque so as not to hide underlying decorations."),!0),o=(0,y.registerColor)("editorOverviewRuler.wordHighlightTextForeground",y.overviewRulerSelectionHighlightForeground,E.localize(1423,"Overview ruler marker color of a textual occurrence for a symbol. The color must not be opaque so as not to hide underlying decorations."),!0),t=k.ModelDecorationOptions.register({description:"word-highlight-strong",stickiness:1,className:"wordHighlightStrong",overviewRuler:{color:(0,m.themeColorFromId)(n),position:d.OverviewRulerLane.Center},minimap:{color:(0,m.themeColorFromId)(y.minimapSelectionOccurrenceHighlight),position:1}}),i=k.ModelDecorationOptions.register({description:"word-highlight-text",stickiness:1,className:"wordHighlightText",overviewRuler:{color:(0,m.themeColorFromId)(o),position:d.OverviewRulerLane.Center},minimap:{color:(0,m.themeColorFromId)(y.minimapSelectionOccurrenceHighlight),position:1}}),s=k.ModelDecorationOptions.register({description:"selection-highlight-overview",stickiness:1,className:"selectionHighlight",overviewRuler:{color:(0,m.themeColorFromId)(y.overviewRulerSelectionHighlightForeground),position:d.OverviewRulerLane.Center},minimap:{color:(0,m.themeColorFromId)(y.minimapSelectionOccurrenceHighlight),position:1}}),g=k.ModelDecorationOptions.register({description:"selection-highlight",stickiness:1,className:"selectionHighlight"}),c=k.ModelDecorationOptions.register({description:"word-highlight",stickiness:1,className:"wordHighlight",overviewRuler:{color:(0,m.themeColorFromId)(p),position:d.OverviewRulerLane.Center},minimap:{color:(0,m.themeColorFromId)(y.minimapSelectionOccurrenceHighlight),position:1}});function l(r){return r===I.DocumentHighlightKind.Write?t:r===I.DocumentHighlightKind.Text?i:c}function a(r){return r?g:s}(0,m.registerThemingParticipant)((r,u)=>{const C=r.getColor(y.editorSelectionHighlight);C&&u.addRule(`.monaco-editor .selectionHighlight { background-color: ${C.transparent(.5)}; }`)})}),define(ne[840],se([1,0,46,14,72,2,15,235,4,23,20,423,3,29,12,17,426,7]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c){"use strict";var l;Object.defineProperty(e,"__esModule",{value:!0}),e.FocusPreviousCursor=e.FocusNextCursor=e.SelectionHighlighter=e.CompatChangeAll=e.SelectHighlightsAction=e.MoveSelectionToPreviousFindMatchAction=e.MoveSelectionToNextFindMatchAction=e.AddSelectionToPreviousFindMatchAction=e.AddSelectionToNextFindMatchAction=e.MultiCursorSelectionControllerAction=e.MultiCursorSelectionController=e.MultiCursorSession=e.MultiCursorSessionResult=e.InsertCursorBelow=e.InsertCursorAbove=void 0;function a(H,z){const U=z.filter(j=>!H.find(Q=>Q.equals(j)));if(U.length>=1){const j=U.map(G=>`line ${G.viewState.position.lineNumber} column ${G.viewState.position.column}`).join(", "),Q=U.length===1?o.localize(1149,"Cursor added: {0}",j):o.localize(1150,"Cursors added: {0}",j);(0,d.status)(Q)}}class r extends y.EditorAction{constructor(){super({id:"editor.action.insertCursorAbove",label:o.localize(1151,"Add Cursor Above"),alias:"Add Cursor Above",precondition:void 0,kbOpts:{kbExpr:p.EditorContextKeys.editorTextFocus,primary:2576,linux:{primary:1552,secondary:[3088]},weight:100},menuOpts:{menuId:t.MenuId.MenubarSelectionMenu,group:"3_multi",title:o.localize(1152,"&&Add Cursor Above"),order:2}})}run(z,U,j){if(!U.hasModel())return;let Q=!0;j&&j.logicalLine===!1&&(Q=!1);const G=U._getViewModel();if(G.cursorConfig.readOnly)return;G.model.pushStackElement();const K=G.getCursorStates();G.setCursorStates(j.source,3,m.CursorMoveCommands.addCursorUp(G,K,Q)),G.revealTopMostCursor(j.source),a(K,G.getCursorStates())}}e.InsertCursorAbove=r;class u extends y.EditorAction{constructor(){super({id:"editor.action.insertCursorBelow",label:o.localize(1153,"Add Cursor Below"),alias:"Add Cursor Below",precondition:void 0,kbOpts:{kbExpr:p.EditorContextKeys.editorTextFocus,primary:2578,linux:{primary:1554,secondary:[3090]},weight:100},menuOpts:{menuId:t.MenuId.MenubarSelectionMenu,group:"3_multi",title:o.localize(1154,"A&&dd Cursor Below"),order:3}})}run(z,U,j){if(!U.hasModel())return;let Q=!0;j&&j.logicalLine===!1&&(Q=!1);const G=U._getViewModel();if(G.cursorConfig.readOnly)return;G.model.pushStackElement();const K=G.getCursorStates();G.setCursorStates(j.source,3,m.CursorMoveCommands.addCursorDown(G,K,Q)),G.revealBottomMostCursor(j.source),a(K,G.getCursorStates())}}e.InsertCursorBelow=u;class C extends y.EditorAction{constructor(){super({id:"editor.action.insertCursorAtEndOfEachLineSelected",label:o.localize(1155,"Add Cursors to Line Ends"),alias:"Add Cursors to Line Ends",precondition:void 0,kbOpts:{kbExpr:p.EditorContextKeys.editorTextFocus,primary:1575,weight:100},menuOpts:{menuId:t.MenuId.MenubarSelectionMenu,group:"3_multi",title:o.localize(1156,"Add C&&ursors to Line Ends"),order:4}})}getCursorsForSelection(z,U,j){if(!z.isEmpty()){for(let Q=z.startLineNumber;Q1&&j.push(new b.Selection(z.endLineNumber,z.endColumn,z.endLineNumber,z.endColumn))}}run(z,U){if(!U.hasModel())return;const j=U.getModel(),Q=U.getSelections(),G=U._getViewModel(),K=G.getCursorStates(),R=[];Q.forEach(J=>this.getCursorsForSelection(J,j,R)),R.length>0&&U.setSelections(R),a(K,G.getCursorStates())}}class f extends y.EditorAction{constructor(){super({id:"editor.action.addCursorsToBottom",label:o.localize(1157,"Add Cursors To Bottom"),alias:"Add Cursors To Bottom",precondition:void 0})}run(z,U){if(!U.hasModel())return;const j=U.getSelections(),Q=U.getModel().getLineCount(),G=[];for(let J=j[0].startLineNumber;J<=Q;J++)G.push(new b.Selection(J,j[0].startColumn,J,j[0].endColumn));const K=U._getViewModel(),R=K.getCursorStates();G.length>0&&U.setSelections(G),a(R,K.getCursorStates())}}class h extends y.EditorAction{constructor(){super({id:"editor.action.addCursorsToTop",label:o.localize(1158,"Add Cursors To Top"),alias:"Add Cursors To Top",precondition:void 0})}run(z,U){if(!U.hasModel())return;const j=U.getSelections(),Q=[];for(let R=j[0].startLineNumber;R>=1;R--)Q.push(new b.Selection(R,j[0].startColumn,R,j[0].endColumn));const G=U._getViewModel(),K=G.getCursorStates();Q.length>0&&U.setSelections(Q),a(K,G.getCursorStates())}}class v{constructor(z,U,j){this.selections=z,this.revealRange=U,this.revealScrollType=j}}e.MultiCursorSessionResult=v;class w{static create(z,U){if(!z.hasModel())return null;const j=U.getState();if(!z.hasTextFocus()&&j.isRevealed&&j.searchString.length>0)return new w(z,U,!1,j.searchString,j.wholeWord,j.matchCase,null);let Q=!1,G,K;const R=z.getSelections();R.length===1&&R[0].isEmpty()?(Q=!0,G=!0,K=!0):(G=j.wholeWord,K=j.matchCase);const J=z.getSelection();let ie,ue=null;if(J.isEmpty()){const he=z.getConfiguredWordAtPosition(J.getStartPosition());if(!he)return null;ie=he.word,ue=new b.Selection(J.startLineNumber,he.startColumn,J.startLineNumber,he.endColumn)}else ie=z.getModel().getValueInRange(J).replace(/\r\n/g,` +`);return new w(z,U,Q,ie,G,K,ue)}constructor(z,U,j,Q,G,K,R){this._editor=z,this.findController=U,this.isDisconnectedFromFindController=j,this.searchText=Q,this.wholeWord=G,this.matchCase=K,this.currentMatch=R}addSelectionToNextFindMatch(){if(!this._editor.hasModel())return null;const z=this._getNextMatch();if(!z)return null;const U=this._editor.getSelections();return new v(U.concat(z),z,0)}moveSelectionToNextFindMatch(){if(!this._editor.hasModel())return null;const z=this._getNextMatch();if(!z)return null;const U=this._editor.getSelections();return new v(U.slice(0,U.length-1).concat(z),z,0)}_getNextMatch(){if(!this._editor.hasModel())return null;if(this.currentMatch){const Q=this.currentMatch;return this.currentMatch=null,Q}this.findController.highlightFindOptions();const z=this._editor.getSelections(),U=z[z.length-1],j=this._editor.getModel().findNextMatch(this.searchText,U.getEndPosition(),!1,this.matchCase,this.wholeWord?this._editor.getOption(132):null,!1);return j?new b.Selection(j.range.startLineNumber,j.range.startColumn,j.range.endLineNumber,j.range.endColumn):null}addSelectionToPreviousFindMatch(){if(!this._editor.hasModel())return null;const z=this._getPreviousMatch();if(!z)return null;const U=this._editor.getSelections();return new v(U.concat(z),z,0)}moveSelectionToPreviousFindMatch(){if(!this._editor.hasModel())return null;const z=this._getPreviousMatch();if(!z)return null;const U=this._editor.getSelections();return new v(U.slice(0,U.length-1).concat(z),z,0)}_getPreviousMatch(){if(!this._editor.hasModel())return null;if(this.currentMatch){const Q=this.currentMatch;return this.currentMatch=null,Q}this.findController.highlightFindOptions();const z=this._editor.getSelections(),U=z[z.length-1],j=this._editor.getModel().findPreviousMatch(this.searchText,U.getStartPosition(),!1,this.matchCase,this.wholeWord?this._editor.getOption(132):null,!1);return j?new b.Selection(j.range.startLineNumber,j.range.startColumn,j.range.endLineNumber,j.range.endColumn):null}selectAll(z){if(!this._editor.hasModel())return[];this.findController.highlightFindOptions();const U=this._editor.getModel();return z?U.findMatches(this.searchText,z,!1,this.matchCase,this.wholeWord?this._editor.getOption(132):null,!1,1073741824):U.findMatches(this.searchText,!0,!1,this.matchCase,this.wholeWord?this._editor.getOption(132):null,!1,1073741824)}}e.MultiCursorSession=w;class S extends E.Disposable{static{this.ID="editor.contrib.multiCursorController"}static get(z){return z.getContribution(S.ID)}constructor(z){super(),this._sessionDispose=this._register(new E.DisposableStore),this._editor=z,this._ignoreSelectionChange=!1,this._session=null}dispose(){this._endSession(),super.dispose()}_beginSessionIfNeeded(z){if(!this._session){const U=w.create(this._editor,z);if(!U)return;this._session=U;const j={searchString:this._session.searchText};this._session.isDisconnectedFromFindController&&(j.wholeWordOverride=1,j.matchCaseOverride=1,j.isRegexOverride=2),z.getState().change(j,!1),this._sessionDispose.add(this._editor.onDidChangeCursorSelection(Q=>{this._ignoreSelectionChange||this._endSession()})),this._sessionDispose.add(this._editor.onDidBlurEditorText(()=>{this._endSession()})),this._sessionDispose.add(z.getState().onFindReplaceStateChange(Q=>{(Q.matchCase||Q.wholeWord)&&this._endSession()}))}}_endSession(){if(this._sessionDispose.clear(),this._session&&this._session.isDisconnectedFromFindController){const z={wholeWordOverride:0,matchCaseOverride:0,isRegexOverride:0};this._session.findController.getState().change(z,!1)}this._session=null}_setSelections(z){this._ignoreSelectionChange=!0,this._editor.setSelections(z),this._ignoreSelectionChange=!1}_expandEmptyToWord(z,U){if(!U.isEmpty())return U;const j=this._editor.getConfiguredWordAtPosition(U.getStartPosition());return j?new b.Selection(U.startLineNumber,j.startColumn,U.startLineNumber,j.endColumn):U}_applySessionResult(z){z&&(this._setSelections(z.selections),z.revealRange&&this._editor.revealRangeInCenterIfOutsideViewport(z.revealRange,z.revealScrollType))}getSession(z){return this._session}addSelectionToNextFindMatch(z){if(this._editor.hasModel()){if(!this._session){const U=this._editor.getSelections();if(U.length>1){const Q=z.getState().matchCase;if(!x(this._editor.getModel(),U,Q)){const K=this._editor.getModel(),R=[];for(let J=0,ie=U.length;J0&&j.isRegex){const Q=this._editor.getModel();j.searchScope?U=Q.findMatches(j.searchString,j.searchScope,j.isRegex,j.matchCase,j.wholeWord?this._editor.getOption(132):null,!1,1073741824):U=Q.findMatches(j.searchString,!0,j.isRegex,j.matchCase,j.wholeWord?this._editor.getOption(132):null,!1,1073741824)}else{if(this._beginSessionIfNeeded(z),!this._session)return;U=this._session.selectAll(j.searchScope)}if(U.length>0){const Q=this._editor.getSelection();for(let G=0,K=U.length;Gnew b.Selection(G.range.startLineNumber,G.range.startColumn,G.range.endLineNumber,G.range.endColumn)))}}}e.MultiCursorSelectionController=S;class L extends y.EditorAction{run(z,U){const j=S.get(U);if(!j)return;const Q=U._getViewModel();if(Q){const G=Q.getCursorStates(),K=n.CommonFindController.get(U);if(K)this._run(j,K);else{const R=z.get(c.IInstantiationService).createInstance(n.CommonFindController,U);this._run(j,R),R.dispose()}a(G,Q.getCursorStates())}}}e.MultiCursorSelectionControllerAction=L;class D extends L{constructor(){super({id:"editor.action.addSelectionToNextFindMatch",label:o.localize(1159,"Add Selection To Next Find Match"),alias:"Add Selection To Next Find Match",precondition:void 0,kbOpts:{kbExpr:p.EditorContextKeys.focus,primary:2082,weight:100},menuOpts:{menuId:t.MenuId.MenubarSelectionMenu,group:"3_multi",title:o.localize(1160,"Add &&Next Occurrence"),order:5}})}_run(z,U){z.addSelectionToNextFindMatch(U)}}e.AddSelectionToNextFindMatchAction=D;class T extends L{constructor(){super({id:"editor.action.addSelectionToPreviousFindMatch",label:o.localize(1161,"Add Selection To Previous Find Match"),alias:"Add Selection To Previous Find Match",precondition:void 0,menuOpts:{menuId:t.MenuId.MenubarSelectionMenu,group:"3_multi",title:o.localize(1162,"Add P&&revious Occurrence"),order:6}})}_run(z,U){z.addSelectionToPreviousFindMatch(U)}}e.AddSelectionToPreviousFindMatchAction=T;class M extends L{constructor(){super({id:"editor.action.moveSelectionToNextFindMatch",label:o.localize(1163,"Move Last Selection To Next Find Match"),alias:"Move Last Selection To Next Find Match",precondition:void 0,kbOpts:{kbExpr:p.EditorContextKeys.focus,primary:(0,I.KeyChord)(2089,2082),weight:100}})}_run(z,U){z.moveSelectionToNextFindMatch(U)}}e.MoveSelectionToNextFindMatchAction=M;class A extends L{constructor(){super({id:"editor.action.moveSelectionToPreviousFindMatch",label:o.localize(1164,"Move Last Selection To Previous Find Match"),alias:"Move Last Selection To Previous Find Match",precondition:void 0})}_run(z,U){z.moveSelectionToPreviousFindMatch(U)}}e.MoveSelectionToPreviousFindMatchAction=A;class P extends L{constructor(){super({id:"editor.action.selectHighlights",label:o.localize(1165,"Select All Occurrences of Find Match"),alias:"Select All Occurrences of Find Match",precondition:void 0,kbOpts:{kbExpr:p.EditorContextKeys.focus,primary:3114,weight:100},menuOpts:{menuId:t.MenuId.MenubarSelectionMenu,group:"3_multi",title:o.localize(1166,"Select All &&Occurrences"),order:7}})}_run(z,U){z.selectAll(U)}}e.SelectHighlightsAction=P;class N extends L{constructor(){super({id:"editor.action.changeAll",label:o.localize(1167,"Change All Occurrences"),alias:"Change All Occurrences",precondition:i.ContextKeyExpr.and(p.EditorContextKeys.writable,p.EditorContextKeys.editorTextFocus),kbOpts:{kbExpr:p.EditorContextKeys.editorTextFocus,primary:2108,weight:100},contextMenuOpts:{group:"1_modification",order:1.2}})}_run(z,U){z.selectAll(U)}}e.CompatChangeAll=N;class O{constructor(z,U,j,Q,G){this._model=z,this._searchText=U,this._matchCase=j,this._wordSeparators=Q,this._modelVersionId=this._model.getVersionId(),this._cachedFindMatches=null,G&&this._model===G._model&&this._searchText===G._searchText&&this._matchCase===G._matchCase&&this._wordSeparators===G._wordSeparators&&this._modelVersionId===G._modelVersionId&&(this._cachedFindMatches=G._cachedFindMatches)}findMatches(){return this._cachedFindMatches===null&&(this._cachedFindMatches=this._model.findMatches(this._searchText,!0,!1,this._matchCase,this._wordSeparators,!1).map(z=>z.range),this._cachedFindMatches.sort(_.Range.compareRangesUsingStarts)),this._cachedFindMatches}}let F=class extends E.Disposable{static{l=this}static{this.ID="editor.contrib.selectionHighlighter"}constructor(z,U){super(),this._languageFeaturesService=U,this.editor=z,this._isEnabled=z.getOption(109),this._decorations=z.createDecorationsCollection(),this.updateSoon=this._register(new k.RunOnceScheduler(()=>this._update(),300)),this.state=null,this._register(z.onDidChangeConfiguration(Q=>{this._isEnabled=z.getOption(109)})),this._register(z.onDidChangeCursorSelection(Q=>{this._isEnabled&&(Q.selection.isEmpty()?Q.reason===3?(this.state&&this._setState(null),this.updateSoon.schedule()):this._setState(null):this._update())})),this._register(z.onDidChangeModel(Q=>{this._setState(null)})),this._register(z.onDidChangeModelContent(Q=>{this._isEnabled&&this.updateSoon.schedule()}));const j=n.CommonFindController.get(z);j&&this._register(j.getState().onFindReplaceStateChange(Q=>{this._update()})),this.updateSoon.schedule()}_update(){this._setState(l._createState(this.state,this._isEnabled,this.editor))}static _createState(z,U,j){if(!U||!j.hasModel())return null;const Q=j.getSelection();if(Q.startLineNumber!==Q.endLineNumber)return null;const G=S.get(j);if(!G)return null;const K=n.CommonFindController.get(j);if(!K)return null;let R=G.getSession(K);if(!R){const ue=j.getSelections();if(ue.length>1){const pe=K.getState().matchCase;if(!x(j.getModel(),ue,pe))return null}R=w.create(j,K)}if(!R||R.currentMatch||/^[ \t]+$/.test(R.searchText)||R.searchText.length>200)return null;const J=K.getState(),ie=J.matchCase;if(J.isRevealed){let ue=J.searchString;ie||(ue=ue.toLowerCase());let he=R.searchText;if(ie||(he=he.toLowerCase()),ue===he&&R.matchCase===J.matchCase&&R.wholeWord===J.wholeWord&&!J.isRegex)return null}return new O(j.getModel(),R.searchText,R.matchCase,R.wholeWord?j.getOption(132):null,z)}_setState(z){if(this.state=z,!this.state){this._decorations.clear();return}if(!this.editor.hasModel())return;const U=this.editor.getModel();if(U.isTooLargeForTokenization())return;const j=this.state.findMatches(),Q=this.editor.getSelections();Q.sort(_.Range.compareRangesUsingStarts);const G=[];for(let ie=0,ue=0,he=j.length,pe=Q.length;ie=pe)G.push(ae),ie++;else{const ee=_.Range.compareRangesUsingStarts(ae,Q[ue]);ee<0?((Q[ue].isEmpty()||!_.Range.areIntersecting(ae,Q[ue]))&&G.push(ae),ie++):(ee>0||ie++,ue++)}}const K=this.editor.getOption(81)!=="off",R=this._languageFeaturesService.documentHighlightProvider.has(U)&&K,J=G.map(ie=>({range:ie,options:(0,g.getSelectionHighlightDecorationOptions)(R)}));this._decorations.set(J)}dispose(){this._setState(null),super.dispose()}};e.SelectionHighlighter=F,e.SelectionHighlighter=F=l=ke([ce(1,s.ILanguageFeaturesService)],F);function x(H,z,U){const j=W(H,z[0],!U);for(let Q=1,G=z.length;Q()=>Promise.resolve(j.provideDocumentHighlights(q,H,z)).then(void 0,y.onUnexpectedExternalError)),j=>j!=null).then(j=>{if(j){const Q=new l.ResourceMap;return Q.set(q.uri,j),Q}return new l.ResourceMap})}function S(V,q,H,z,U,j){const Q=V.ordered(q);return(0,I.first)(Q.map(G=>()=>{const K=j.filter(R=>(0,t.shouldSynchronizeModel)(R)).filter(R=>(0,a.score)(G.selector,R.uri,R.getLanguageId(),!0,void 0,void 0)>0);return Promise.resolve(G.provideMultiDocumentHighlights(q,H,K,U)).then(void 0,y.onUnexpectedExternalError)}),G=>G!=null)}class L{constructor(q,H,z){this._model=q,this._selection=H,this._wordSeparators=z,this._wordRange=this._getCurrentWordRange(q,H),this._result=null}get result(){return this._result||(this._result=(0,I.createCancelablePromise)(q=>this._compute(this._model,this._selection,this._wordSeparators,q))),this._result}_getCurrentWordRange(q,H){const z=q.getWordAtPosition(H.getPosition());return z?new n.Range(H.startLineNumber,z.startColumn,H.startLineNumber,z.endColumn):null}isValid(q,H,z){const U=H.startLineNumber,j=H.startColumn,Q=H.endColumn,G=this._getCurrentWordRange(q,H);let K=!!(this._wordRange&&this._wordRange.equalsRange(G));for(let R=0,J=z.length;!K&&R=Q&&(K=!0)}return K}cancel(){this.result.cancel()}}class D extends L{constructor(q,H,z,U){super(q,H,z),this._providers=U}_compute(q,H,z,U){return w(this._providers,q,H.getPosition(),U).then(j=>j||new l.ResourceMap)}}class T extends L{constructor(q,H,z,U,j){super(q,H,z),this._providers=U,this._otherModels=j}_compute(q,H,z,U){return S(this._providers,q,H.getPosition(),z,U,this._otherModels).then(j=>j||new l.ResourceMap)}}function M(V,q,H,z,U){return new D(q,H,U,V)}function A(V,q,H,z,U,j){return new T(q,H,U,V,j)}(0,b.registerModelAndPositionCommand)("_executeDocumentHighlights",async(V,q,H)=>{const z=V.get(i.ILanguageFeaturesService);return(await w(z.documentHighlightProvider,q,H,E.CancellationToken.None))?.get(q.uri)});let P=class{static{f=this}static{this.storedDecorationIDs=new l.ResourceMap}static{this.query=null}constructor(q,H,z,U,j){this.toUnhook=new m.DisposableStore,this.workerRequestTokenId=0,this.workerRequestCompleted=!1,this.workerRequestValue=new l.ResourceMap,this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=-1,this.runDelayer=this.toUnhook.add(new I.Delayer(50)),this.editor=q,this.providers=H,this.multiDocumentProviders=z,this.codeEditorService=j,this._hasWordHighlights=v.bindTo(U),this._ignorePositionChangeEvent=!1,this.occurrencesHighlight=this.editor.getOption(81),this.model=this.editor.getModel(),this.toUnhook.add(q.onDidChangeCursorPosition(Q=>{this._ignorePositionChangeEvent||this.occurrencesHighlight!=="off"&&this.runDelayer.trigger(()=>{this._onPositionChanged(Q)})})),this.toUnhook.add(q.onDidFocusEditorText(Q=>{this.occurrencesHighlight!=="off"&&(this.workerRequest||this.runDelayer.trigger(()=>{this._run()}))})),this.toUnhook.add(q.onDidChangeModelContent(Q=>{(0,c.matchesScheme)(this.model.uri,"output")||this._stopAll()})),this.toUnhook.add(q.onDidChangeModel(Q=>{!Q.newModelUrl&&Q.oldModelUrl?this._stopSingular():f.query&&this._run()})),this.toUnhook.add(q.onDidChangeConfiguration(Q=>{const G=this.editor.getOption(81);if(this.occurrencesHighlight!==G)switch(this.occurrencesHighlight=G,G){case"off":this._stopAll();break;case"singleFile":this._stopAll(f.query?.modelInfo?.model);break;case"multiFile":f.query&&this._run(!0);break;default:console.warn("Unknown occurrencesHighlight setting value:",G);break}})),this.decorations=this.editor.createDecorationsCollection(),this.workerRequestTokenId=0,this.workerRequest=null,this.workerRequestCompleted=!1,this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=-1,f.query&&this._run()}hasDecorations(){return this.decorations.length>0}restore(){this.occurrencesHighlight!=="off"&&(this.runDelayer.cancel(),this._run())}_getSortedHighlights(){return this.decorations.getRanges().sort(n.Range.compareRangesUsingStarts)}moveNext(){const q=this._getSortedHighlights(),z=(q.findIndex(j=>j.containsPosition(this.editor.getPosition()))+1)%q.length,U=q[z];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(U.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(U);const j=this._getWord();if(j){const Q=this.editor.getModel().getLineContent(U.startLineNumber);(0,k.alert)(`${Q}, ${z+1} of ${q.length} for '${j.word}'`)}}finally{this._ignorePositionChangeEvent=!1}}moveBack(){const q=this._getSortedHighlights(),z=(q.findIndex(j=>j.containsPosition(this.editor.getPosition()))-1+q.length)%q.length,U=q[z];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(U.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(U);const j=this._getWord();if(j){const Q=this.editor.getModel().getLineContent(U.startLineNumber);(0,k.alert)(`${Q}, ${z+1} of ${q.length} for '${j.word}'`)}}finally{this._ignorePositionChangeEvent=!1}}_removeSingleDecorations(){if(!this.editor.hasModel())return;const q=f.storedDecorationIDs.get(this.editor.getModel().uri);q&&(this.editor.removeDecorations(q),f.storedDecorationIDs.delete(this.editor.getModel().uri),this.decorations.length>0&&(this.decorations.clear(),this._hasWordHighlights.set(!1)))}_removeAllDecorations(q){const H=this.codeEditorService.listCodeEditors(),z=[];for(const U of H){if(!U.hasModel()||(0,r.isEqual)(U.getModel().uri,q?.uri))continue;const j=f.storedDecorationIDs.get(U.getModel().uri);if(!j)continue;U.removeDecorations(j),z.push(U.getModel().uri);const Q=N.get(U);Q?.wordHighlighter&&Q.wordHighlighter.decorations.length>0&&(Q.wordHighlighter.decorations.clear(),Q.wordHighlighter.workerRequest=null,Q.wordHighlighter._hasWordHighlights.set(!1))}for(const U of z)f.storedDecorationIDs.delete(U)}_stopSingular(){this._removeSingleDecorations(),this.editor.hasTextFocus()&&(this.editor.getModel()?.uri.scheme!==c.Schemas.vscodeNotebookCell&&f.query?.modelInfo?.model.uri.scheme!==c.Schemas.vscodeNotebookCell?(f.query=null,this._run()):f.query?.modelInfo&&(f.query.modelInfo=null)),this.renderDecorationsTimer!==-1&&(clearTimeout(this.renderDecorationsTimer),this.renderDecorationsTimer=-1),this.workerRequest!==null&&(this.workerRequest.cancel(),this.workerRequest=null),this.workerRequestCompleted||(this.workerRequestTokenId++,this.workerRequestCompleted=!0)}_stopAll(q){this._removeAllDecorations(q),this.renderDecorationsTimer!==-1&&(clearTimeout(this.renderDecorationsTimer),this.renderDecorationsTimer=-1),this.workerRequest!==null&&(this.workerRequest.cancel(),this.workerRequest=null),this.workerRequestCompleted||(this.workerRequestTokenId++,this.workerRequestCompleted=!0)}_onPositionChanged(q){if(this.occurrencesHighlight==="off"){this._stopAll();return}if(q.reason!==3&&this.editor.getModel()?.uri.scheme!==c.Schemas.vscodeNotebookCell){this._stopAll();return}this._run()}_getWord(){const q=this.editor.getSelection(),H=q.startLineNumber,z=q.startColumn;return this.model.isDisposed()?null:this.model.getWordAtPosition({lineNumber:H,column:z})}getOtherModelsToHighlight(q){if(!q)return[];if(q.uri.scheme===c.Schemas.vscodeNotebookCell){const j=[],Q=this.codeEditorService.listCodeEditors();for(const G of Q){const K=G.getModel();K&&K!==q&&K.uri.scheme===c.Schemas.vscodeNotebookCell&&j.push(K)}return j}const z=[],U=this.codeEditorService.listCodeEditors();for(const j of U){if(!(0,_.isDiffEditor)(j))continue;const Q=j.getModel();Q&&q===Q.modified&&z.push(Q.modified)}if(z.length)return z;if(this.occurrencesHighlight==="singleFile")return[];for(const j of U){const Q=j.getModel();Q&&Q!==q&&z.push(Q)}return z}_run(q){let H;if(this.editor.hasTextFocus()){const U=this.editor.getSelection();if(!U||U.startLineNumber!==U.endLineNumber){f.query=null,this._stopAll();return}const j=U.startColumn,Q=U.endColumn,G=this._getWord();if(!G||G.startColumn>j||G.endColumn{U===this.workerRequestTokenId&&(this.workerRequestCompleted=!0,this.workerRequestValue=Q||[],this._beginRenderDecorations())},y.onUnexpectedError)}}computeWithModel(q,H,z,U){return U.length?A(this.multiDocumentProviders,q,H,z,this.editor.getOption(132),U):M(this.providers,q,H,z,this.editor.getOption(132))}_beginRenderDecorations(){const q=new Date().getTime(),H=this.lastCursorPositionChangeTime+250;q>=H?(this.renderDecorationsTimer=-1,this.renderDecorations()):this.renderDecorationsTimer=setTimeout(()=>{this.renderDecorations()},H-q)}renderDecorations(){this.renderDecorationsTimer=-1;const q=this.codeEditorService.listCodeEditors();for(const H of q){const z=N.get(H);if(!z)continue;const U=[],j=H.getModel()?.uri;if(j&&this.workerRequestValue.has(j)){const Q=f.storedDecorationIDs.get(j),G=this.workerRequestValue.get(j);if(G)for(const R of G)R.range&&U.push({range:R.range,options:(0,s.getHighlightDecorationOptions)(R.kind)});let K=[];H.changeDecorations(R=>{K=R.deltaDecorations(Q??[],U)}),f.storedDecorationIDs=f.storedDecorationIDs.set(j,K),U.length>0&&(z.wordHighlighter?.decorations.set(U),z.wordHighlighter?._hasWordHighlights.set(!0))}}}dispose(){this._stopSingular(),this.toUnhook.dispose()}};P=f=ke([ce(4,p.ICodeEditorService)],P);let N=class extends m.Disposable{static{h=this}static{this.ID="editor.contrib.wordHighlighter"}static get(q){return q.getContribution(h.ID)}constructor(q,H,z,U){super(),this._wordHighlighter=null;const j=()=>{q.hasModel()&&!q.getModel().isTooLargeForTokenization()&&(this._wordHighlighter=new P(q,z.documentHighlightProvider,z.multiDocumentHighlightProvider,H,U))};this._register(q.onDidChangeModel(Q=>{this._wordHighlighter&&(this._wordHighlighter.dispose(),this._wordHighlighter=null),j()})),j()}get wordHighlighter(){return this._wordHighlighter}saveViewState(){return!!(this._wordHighlighter&&this._wordHighlighter.hasDecorations())}moveNext(){this._wordHighlighter?.moveNext()}moveBack(){this._wordHighlighter?.moveBack()}restoreViewState(q){this._wordHighlighter&&q&&this._wordHighlighter.restore()}dispose(){this._wordHighlighter&&(this._wordHighlighter.dispose(),this._wordHighlighter=null),super.dispose()}};e.WordHighlighterContribution=N,e.WordHighlighterContribution=N=h=ke([ce(1,g.IContextKeyService),ce(2,i.ILanguageFeaturesService),ce(3,p.ICodeEditorService)],N);class O extends b.EditorAction{constructor(q,H){super(H),this._isNext=q}run(q,H){const z=N.get(H);z&&(this._isNext?z.moveNext():z.moveBack())}}class F extends O{constructor(){super(!0,{id:"editor.action.wordHighlight.next",label:d.localize(1424,"Go to Next Symbol Highlight"),alias:"Go to Next Symbol Highlight",precondition:v,kbOpts:{kbExpr:o.EditorContextKeys.editorTextFocus,primary:65,weight:100}})}}class x extends O{constructor(){super(!1,{id:"editor.action.wordHighlight.prev",label:d.localize(1425,"Go to Previous Symbol Highlight"),alias:"Go to Previous Symbol Highlight",precondition:v,kbOpts:{kbExpr:o.EditorContextKeys.editorTextFocus,primary:1089,weight:100}})}}class W extends b.EditorAction{constructor(){super({id:"editor.action.wordHighlight.trigger",label:d.localize(1426,"Trigger Symbol Highlight"),alias:"Trigger Symbol Highlight",precondition:void 0,kbOpts:{kbExpr:o.EditorContextKeys.editorTextFocus,primary:0,weight:100}})}run(q,H,z){const U=N.get(H);U&&U.restoreViewState(!0)}}(0,b.registerEditorContribution)(N.ID,N,0),(0,b.registerEditorAction)(F),(0,b.registerEditorAction)(x),(0,b.registerEditorAction)(W),(0,C.registerEditorFeature)(u.TextualMultiDocumentHighlightFeature)}),define(ne[842],se([1,0,5,173,33,187,2,60,4,35,537]),function(oe,e,d,k,I,E,y,m,_,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ZoneWidget=e.OverlayWidgetDelegate=void 0;const p=new I.Color(new I.RGBA(0,122,204)),n={showArrow:!0,showFrame:!0,className:"",frameColor:p,arrowColor:p,keepEditorSelection:!1},o="vs.editor.contrib.zoneWidget";class t{constructor(l,a,r,u,C,f,h,v){this.id="",this.domNode=l,this.afterLineNumber=a,this.afterColumn=r,this.heightInLines=u,this.showInHiddenAreas=h,this.ordinal=v,this._onDomNodeTop=C,this._onComputedHeight=f}onDomNodeTop(l){this._onDomNodeTop(l)}onComputedHeight(l){this._onComputedHeight(l)}}class i{constructor(l,a){this._id=l,this._domNode=a}getId(){return this._id}getDomNode(){return this._domNode}getPosition(){return null}}e.OverlayWidgetDelegate=i;class s{static{this._IdGenerator=new E.IdGenerator(".arrow-decoration-")}constructor(l){this._editor=l,this._ruleName=s._IdGenerator.nextId(),this._decorations=this._editor.createDecorationsCollection(),this._color=null,this._height=-1}dispose(){this.hide(),d.removeCSSRulesContainingSelector(this._ruleName)}set color(l){this._color!==l&&(this._color=l,this._updateStyle())}set height(l){this._height!==l&&(this._height=l,this._updateStyle())}_updateStyle(){d.removeCSSRulesContainingSelector(this._ruleName),d.createCSSRule(`.monaco-editor ${this._ruleName}`,`border-style: solid; border-color: transparent; border-bottom-color: ${this._color}; border-width: ${this._height}px; bottom: -${this._height}px !important; margin-left: -${this._height}px; `)}show(l){l.column===1&&(l={lineNumber:l.lineNumber,column:2}),this._decorations.set([{range:_.Range.fromPositions(l),options:{description:"zone-widget-arrow",className:this._ruleName,stickiness:1}}])}hide(){this._decorations.clear()}}class g{constructor(l,a={}){this._arrow=null,this._overlayWidget=null,this._resizeSash=null,this._viewZone=null,this._disposables=new y.DisposableStore,this.container=null,this._isShowing=!1,this.editor=l,this._positionMarkerId=this.editor.createDecorationsCollection(),this.options=m.deepClone(a),m.mixin(this.options,n,!1),this.domNode=document.createElement("div"),this.options.isAccessible||(this.domNode.setAttribute("aria-hidden","true"),this.domNode.setAttribute("role","presentation")),this._disposables.add(this.editor.onDidLayoutChange(r=>{const u=this._getWidth(r);this.domNode.style.width=u+"px",this.domNode.style.left=this._getLeft(r)+"px",this._onWidth(u)}))}dispose(){this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null),this._viewZone&&this.editor.changeViewZones(l=>{this._viewZone&&l.removeZone(this._viewZone.id),this._viewZone=null}),this._positionMarkerId.clear(),this._disposables.dispose()}create(){this.domNode.classList.add("zone-widget"),this.options.className&&this.domNode.classList.add(this.options.className),this.container=document.createElement("div"),this.container.classList.add("zone-widget-container"),this.domNode.appendChild(this.container),this.options.showArrow&&(this._arrow=new s(this.editor),this._disposables.add(this._arrow)),this._fillContainer(this.container),this._initSash(),this._applyStyles()}style(l){l.frameColor&&(this.options.frameColor=l.frameColor),l.arrowColor&&(this.options.arrowColor=l.arrowColor),this._applyStyles()}_applyStyles(){if(this.container&&this.options.frameColor){const l=this.options.frameColor.toString();this.container.style.borderTopColor=l,this.container.style.borderBottomColor=l}if(this._arrow&&this.options.arrowColor){const l=this.options.arrowColor.toString();this._arrow.color=l}}_getWidth(l){return l.width-l.minimap.minimapWidth-l.verticalScrollbarWidth}_getLeft(l){return l.minimap.minimapWidth>0&&l.minimap.minimapLeft===0?l.minimap.minimapWidth:0}_onViewZoneTop(l){this.domNode.style.top=l+"px"}_onViewZoneHeight(l){if(this.domNode.style.height=`${l}px`,this.container){const a=l-this._decoratingElementsHeight();this.container.style.height=`${a}px`;const r=this.editor.getLayoutInfo();this._doLayout(a,this._getWidth(r))}this._resizeSash?.layout()}get position(){const l=this._positionMarkerId.getRange(0);if(l)return l.getStartPosition()}show(l,a){const r=_.Range.isIRange(l)?_.Range.lift(l):_.Range.fromPositions(l);this._isShowing=!0,this._showImpl(r,a),this._isShowing=!1,this._positionMarkerId.set([{range:r,options:b.ModelDecorationOptions.EMPTY}])}hide(){this._viewZone&&(this.editor.changeViewZones(l=>{this._viewZone&&l.removeZone(this._viewZone.id)}),this._viewZone=null),this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null),this._arrow?.hide(),this._positionMarkerId.clear()}_decoratingElementsHeight(){const l=this.editor.getOption(67);let a=0;if(this.options.showArrow){const r=Math.round(l/3);a+=2*r}if(this.options.showFrame){const r=Math.round(l/9);a+=2*r}return a}_showImpl(l,a){const r=l.getStartPosition(),u=this.editor.getLayoutInfo(),C=this._getWidth(u);this.domNode.style.width=`${C}px`,this.domNode.style.left=this._getLeft(u)+"px";const f=document.createElement("div");f.style.overflow="hidden";const h=this.editor.getOption(67);if(!this.options.allowUnlimitedHeight){const D=Math.max(12,this.editor.getLayoutInfo().height/h*.8);a=Math.min(a,D)}let v=0,w=0;if(this._arrow&&this.options.showArrow&&(v=Math.round(h/3),this._arrow.height=v,this._arrow.show(r)),this.options.showFrame&&(w=Math.round(h/9)),this.editor.changeViewZones(D=>{this._viewZone&&D.removeZone(this._viewZone.id),this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null),this.domNode.style.top="-1000px",this._viewZone=new t(f,r.lineNumber,r.column,a,T=>this._onViewZoneTop(T),T=>this._onViewZoneHeight(T),this.options.showInHiddenAreas,this.options.ordinal),this._viewZone.id=D.addZone(this._viewZone),this._overlayWidget=new i(o+this._viewZone.id,this.domNode),this.editor.addOverlayWidget(this._overlayWidget)}),this.container&&this.options.showFrame){const D=this.options.frameWidth?this.options.frameWidth:w;this.container.style.borderTopWidth=D+"px",this.container.style.borderBottomWidth=D+"px"}const S=a*h-this._decoratingElementsHeight();this.container&&(this.container.style.top=v+"px",this.container.style.height=S+"px",this.container.style.overflow="hidden"),this._doLayout(S,C),this.options.keepEditorSelection||this.editor.setSelection(l);const L=this.editor.getModel();if(L){const D=L.validateRange(new _.Range(l.startLineNumber,1,l.endLineNumber+1,1));this.revealRange(D,D.startLineNumber===L.getLineCount())}}revealRange(l,a){a?this.editor.revealLineNearTop(l.endLineNumber,0):this.editor.revealRange(l,0)}setCssClass(l,a){this.container&&(a&&this.container.classList.remove(a),this.container.classList.add(l))}_onWidth(l){}_doLayout(l,a){}_relayout(l){this._viewZone&&this._viewZone.heightInLines!==l&&this.editor.changeViewZones(a=>{this._viewZone&&(this._viewZone.heightInLines=l,a.layoutZone(this._viewZone.id))})}_initSash(){if(this._resizeSash)return;this._resizeSash=this._disposables.add(new k.Sash(this.domNode,this,{orientation:1})),this.options.isResizeable||(this._resizeSash.state=0);let l;this._disposables.add(this._resizeSash.onDidStart(a=>{this._viewZone&&(l={startY:a.startY,heightInLines:this._viewZone.heightInLines})})),this._disposables.add(this._resizeSash.onDidEnd(()=>{l=void 0})),this._disposables.add(this._resizeSash.onDidChange(a=>{if(l){const r=(a.currentY-l.startY)/this.editor.getOption(67),u=r<0?Math.ceil(r):Math.floor(r),C=l.heightInLines+u;C>5&&C<35&&this._relayout(C)}}))}getHorizontalSashLeft(){return 0}getHorizontalSashTop(){return(this.domNode.style.height===null?0:parseInt(this.domNode.style.height))-this._decoratingElementsHeight()/2}getHorizontalSashWidth(){const l=this.editor.getLayoutInfo();return l.width-l.minimap.minimapWidth}}e.ZoneWidget=g}),define(ne[158],se([1,0,5,87,41,26,30,33,6,60,15,34,125,842,3,124,12,49,7,32,527]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.peekViewEditorMatchHighlightBorder=e.peekViewEditorMatchHighlight=e.peekViewResultsMatchHighlight=e.peekViewEditorStickyScrollBackground=e.peekViewEditorGutterBackground=e.peekViewEditorBackground=e.peekViewResultsSelectionForeground=e.peekViewResultsSelectionBackground=e.peekViewResultsFileForeground=e.peekViewResultsMatchForeground=e.peekViewResultsBackground=e.peekViewBorder=e.peekViewTitleInfoForeground=e.peekViewTitleForeground=e.peekViewTitleBackground=e.PeekViewWidget=e.PeekContext=e.IPeekViewService=void 0,e.getOuterEditor=C,e.IPeekViewService=(0,l.createDecorator)("IPeekViewService"),(0,c.registerSingleton)(e.IPeekViewService,class{constructor(){this._widgets=new Map}addExclusiveWidget(v,w){const S=this._widgets.get(v);S&&(S.listener.dispose(),S.widget.dispose());const L=()=>{const D=this._widgets.get(v);D&&D.widget===w&&(D.listener.dispose(),this._widgets.delete(v))};this._widgets.set(v,{widget:w,listener:w.onDidClose(L)})}},1);var r;(function(v){v.inPeekEditor=new g.RawContextKey("inReferenceSearchEditor",!0,i.localize(1177,"Whether the current code editor is embedded inside peek")),v.notInPeekEditor=v.inPeekEditor.toNegated()})(r||(e.PeekContext=r={}));let u=class{static{this.ID="editor.contrib.referenceController"}constructor(w,S){w instanceof o.EmbeddedCodeEditorWidget&&r.inPeekEditor.bindTo(S)}dispose(){}};u=ke([ce(1,g.IContextKeyService)],u),(0,p.registerEditorContribution)(u.ID,u,0);function C(v){const w=v.get(n.ICodeEditorService).getFocusedCodeEditor();return w instanceof o.EmbeddedCodeEditorWidget?w.getParentEditor():w}const f={headerBackgroundColor:m.Color.white,primaryHeadingColor:m.Color.fromHex("#333333"),secondaryHeadingColor:m.Color.fromHex("#6c6c6cb3")};let h=class extends t.ZoneWidget{constructor(w,S,L){super(w,S),this.instantiationService=L,this._onDidClose=new _.Emitter,this.onDidClose=this._onDidClose.event,b.mixin(this.options,f,!1)}dispose(){this.disposed||(this.disposed=!0,super.dispose(),this._onDidClose.fire(this))}style(w){const S=this.options;w.headerBackgroundColor&&(S.headerBackgroundColor=w.headerBackgroundColor),w.primaryHeadingColor&&(S.primaryHeadingColor=w.primaryHeadingColor),w.secondaryHeadingColor&&(S.secondaryHeadingColor=w.secondaryHeadingColor),super.style(w)}_applyStyles(){super._applyStyles();const w=this.options;this._headElement&&w.headerBackgroundColor&&(this._headElement.style.backgroundColor=w.headerBackgroundColor.toString()),this._primaryHeading&&w.primaryHeadingColor&&(this._primaryHeading.style.color=w.primaryHeadingColor.toString()),this._secondaryHeading&&w.secondaryHeadingColor&&(this._secondaryHeading.style.color=w.secondaryHeadingColor.toString()),this._bodyElement&&w.frameColor&&(this._bodyElement.style.borderColor=w.frameColor.toString())}_fillContainer(w){this.setCssClass("peekview-widget"),this._headElement=d.$(".head"),this._bodyElement=d.$(".body"),this._fillHead(this._headElement),this._fillBody(this._bodyElement),w.appendChild(this._headElement),w.appendChild(this._bodyElement)}_fillHead(w,S){this._titleElement=d.$(".peekview-title"),this.options.supportOnTitleClick&&(this._titleElement.classList.add("clickable"),d.addStandardDisposableListener(this._titleElement,"click",T=>this._onTitleClick(T))),d.append(this._headElement,this._titleElement),this._fillTitleIcon(this._titleElement),this._primaryHeading=d.$("span.filename"),this._secondaryHeading=d.$("span.dirname"),this._metaHeading=d.$("span.meta"),d.append(this._titleElement,this._primaryHeading,this._secondaryHeading,this._metaHeading);const L=d.$(".peekview-actions");d.append(this._headElement,L);const D=this._getActionBarOptions();this._actionbarWidget=new k.ActionBar(L,D),this._disposables.add(this._actionbarWidget),S||this._actionbarWidget.push(new I.Action("peekview.close",i.localize(1178,"Close"),y.ThemeIcon.asClassName(E.Codicon.close),!0,()=>(this.dispose(),Promise.resolve())),{label:!1,icon:!0})}_fillTitleIcon(w){}_getActionBarOptions(){return{actionViewItemProvider:s.createActionViewItem.bind(void 0,this.instantiationService),orientation:0}}_onTitleClick(w){}setTitle(w,S){this._primaryHeading&&this._secondaryHeading&&(this._primaryHeading.innerText=w,this._primaryHeading.setAttribute("title",w),S?this._secondaryHeading.innerText=S:d.clearNode(this._secondaryHeading))}setMetaTitle(w){this._metaHeading&&(w?(this._metaHeading.innerText=w,d.show(this._metaHeading)):d.hide(this._metaHeading))}_doLayout(w,S){if(!this._isShowing&&w<0){this.dispose();return}const L=Math.ceil(this.editor.getOption(67)*1.2),D=Math.round(w-(L+2));this._doLayoutHead(L,S),this._doLayoutBody(D,S)}_doLayoutHead(w,S){this._headElement&&(this._headElement.style.height=`${w}px`,this._headElement.style.lineHeight=this._headElement.style.height)}_doLayoutBody(w,S){this._bodyElement&&(this._bodyElement.style.height=`${w}px`)}};e.PeekViewWidget=h,e.PeekViewWidget=h=ke([ce(2,l.IInstantiationService)],h),e.peekViewTitleBackground=(0,a.registerColor)("peekViewTitle.background",{dark:"#252526",light:"#F3F3F3",hcDark:m.Color.black,hcLight:m.Color.white},i.localize(1179,"Background color of the peek view title area.")),e.peekViewTitleForeground=(0,a.registerColor)("peekViewTitleLabel.foreground",{dark:m.Color.white,light:m.Color.black,hcDark:m.Color.white,hcLight:a.editorForeground},i.localize(1180,"Color of the peek view title.")),e.peekViewTitleInfoForeground=(0,a.registerColor)("peekViewTitleDescription.foreground",{dark:"#ccccccb3",light:"#616161",hcDark:"#FFFFFF99",hcLight:"#292929"},i.localize(1181,"Color of the peek view title info.")),e.peekViewBorder=(0,a.registerColor)("peekView.border",{dark:a.editorInfoForeground,light:a.editorInfoForeground,hcDark:a.contrastBorder,hcLight:a.contrastBorder},i.localize(1182,"Color of the peek view borders and arrow.")),e.peekViewResultsBackground=(0,a.registerColor)("peekViewResult.background",{dark:"#252526",light:"#F3F3F3",hcDark:m.Color.black,hcLight:m.Color.white},i.localize(1183,"Background color of the peek view result list.")),e.peekViewResultsMatchForeground=(0,a.registerColor)("peekViewResult.lineForeground",{dark:"#bbbbbb",light:"#646465",hcDark:m.Color.white,hcLight:a.editorForeground},i.localize(1184,"Foreground color for line nodes in the peek view result list.")),e.peekViewResultsFileForeground=(0,a.registerColor)("peekViewResult.fileForeground",{dark:m.Color.white,light:"#1E1E1E",hcDark:m.Color.white,hcLight:a.editorForeground},i.localize(1185,"Foreground color for file nodes in the peek view result list.")),e.peekViewResultsSelectionBackground=(0,a.registerColor)("peekViewResult.selectionBackground",{dark:"#3399ff33",light:"#3399ff33",hcDark:null,hcLight:null},i.localize(1186,"Background color of the selected entry in the peek view result list.")),e.peekViewResultsSelectionForeground=(0,a.registerColor)("peekViewResult.selectionForeground",{dark:m.Color.white,light:"#6C6C6C",hcDark:m.Color.white,hcLight:a.editorForeground},i.localize(1187,"Foreground color of the selected entry in the peek view result list.")),e.peekViewEditorBackground=(0,a.registerColor)("peekViewEditor.background",{dark:"#001F33",light:"#F2F8FC",hcDark:m.Color.black,hcLight:m.Color.white},i.localize(1188,"Background color of the peek view editor.")),e.peekViewEditorGutterBackground=(0,a.registerColor)("peekViewEditorGutter.background",e.peekViewEditorBackground,i.localize(1189,"Background color of the gutter in the peek view editor.")),e.peekViewEditorStickyScrollBackground=(0,a.registerColor)("peekViewEditorStickyScroll.background",e.peekViewEditorBackground,i.localize(1190,"Background color of sticky scroll in the peek view editor.")),e.peekViewResultsMatchHighlight=(0,a.registerColor)("peekViewResult.matchHighlightBackground",{dark:"#ea5c004d",light:"#ea5c004d",hcDark:null,hcLight:null},i.localize(1191,"Match highlight color in the peek view result list.")),e.peekViewEditorMatchHighlight=(0,a.registerColor)("peekViewEditor.matchHighlightBackground",{dark:"#ff8f0099",light:"#f5d802de",hcDark:null,hcLight:null},i.localize(1192,"Match highlight color in the peek view editor.")),e.peekViewEditorMatchHighlightBorder=(0,a.registerColor)("peekViewEditor.matchHighlightBorder",{dark:null,light:null,hcDark:a.activeContrastBorder,hcLight:a.activeContrastBorder},i.localize(1193,"Match highlight border in the peek view editor."))}),define(ne[843],se([1,0,5,86,13,33,6,2,48,11,4,158,3,124,29,12,7,181,108,59,723,32,25,512]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r,u,C){"use strict";var f;Object.defineProperty(e,"__esModule",{value:!0}),e.MarkerNavigationWidget=void 0;class h{constructor(x,W,V,q,H){this._openerService=q,this._labelService=H,this._lines=0,this._longestLineLength=0,this._relatedDiagnostics=new WeakMap,this._disposables=new m.DisposableStore,this._editor=W;const z=document.createElement("div");z.className="descriptioncontainer",this._messageBlock=document.createElement("div"),this._messageBlock.classList.add("message"),this._messageBlock.setAttribute("aria-live","assertive"),this._messageBlock.setAttribute("role","alert"),z.appendChild(this._messageBlock),this._relatedBlock=document.createElement("div"),z.appendChild(this._relatedBlock),this._disposables.add(d.addStandardDisposableListener(this._relatedBlock,"click",U=>{U.preventDefault();const j=this._relatedDiagnostics.get(U.target);j&&V(j)})),this._scrollable=new k.ScrollableElement(z,{horizontal:1,vertical:1,useShadows:!1,horizontalScrollbarSize:6,verticalScrollbarSize:6}),x.appendChild(this._scrollable.getDomNode()),this._disposables.add(this._scrollable.onScroll(U=>{z.style.left=`-${U.scrollLeft}px`,z.style.top=`-${U.scrollTop}px`})),this._disposables.add(this._scrollable)}dispose(){(0,m.dispose)(this._disposables)}update(x){const{source:W,message:V,relatedInformation:q,code:H}=x;let z=(W?.length||0)+2;H&&(typeof H=="string"?z+=H.length:z+=H.value.length);const U=(0,b.splitLines)(V);this._lines=U.length,this._longestLineLength=0;for(const R of U)this._longestLineLength=Math.max(R.length+z,this._longestLineLength);d.clearNode(this._messageBlock),this._messageBlock.setAttribute("aria-label",this.getAriaLabel(x)),this._editor.applyFontInfo(this._messageBlock);let j=this._messageBlock;for(const R of U)j=document.createElement("div"),j.innerText=R,R===""&&(j.style.height=this._messageBlock.style.lineHeight),this._messageBlock.appendChild(j);if(W||H){const R=document.createElement("span");if(R.classList.add("details"),j.appendChild(R),W){const J=document.createElement("span");J.innerText=W,J.classList.add("source"),R.appendChild(J)}if(H)if(typeof H=="string"){const J=document.createElement("span");J.innerText=`(${H})`,J.classList.add("code"),R.appendChild(J)}else{this._codeLink=d.$("a.code-link"),this._codeLink.setAttribute("href",`${H.target.toString()}`),this._codeLink.onclick=ie=>{this._openerService.open(H.target,{allowCommands:!0}),ie.preventDefault(),ie.stopPropagation()};const J=d.append(this._codeLink,d.$("span"));J.innerText=H.value,R.appendChild(this._codeLink)}}if(d.clearNode(this._relatedBlock),this._editor.applyFontInfo(this._relatedBlock),(0,I.isNonEmptyArray)(q)){const R=this._relatedBlock.appendChild(document.createElement("div"));R.style.paddingTop=`${Math.floor(this._editor.getOption(67)*.66)}px`,this._lines+=1;for(const J of q){const ie=document.createElement("div"),ue=document.createElement("a");ue.classList.add("filename"),ue.innerText=`${this._labelService.getUriBasenameLabel(J.resource)}(${J.startLineNumber}, ${J.startColumn}): `,ue.title=this._labelService.getUriLabel(J.resource),this._relatedDiagnostics.set(ue,J);const he=document.createElement("span");he.innerText=J.message,ie.appendChild(ue),ie.appendChild(he),this._lines+=1,R.appendChild(ie)}}const Q=this._editor.getOption(50),G=Math.ceil(Q.typicalFullwidthCharacterWidth*this._longestLineLength*.75),K=Q.lineHeight*this._lines;this._scrollable.setScrollDimensions({scrollWidth:G,scrollHeight:K})}layout(x,W){this._scrollable.getDomNode().style.height=`${x}px`,this._scrollable.getDomNode().style.width=`${W}px`,this._scrollable.setScrollDimensions({width:W,height:x})}getHeightInLines(){return Math.min(17,this._lines)}getAriaLabel(x){let W="";switch(x.severity){case l.MarkerSeverity.Error:W=o.localize(932,"Error");break;case l.MarkerSeverity.Warning:W=o.localize(933,"Warning");break;case l.MarkerSeverity.Info:W=o.localize(934,"Info");break;case l.MarkerSeverity.Hint:W=o.localize(935,"Hint");break}let V=o.localize(936,"{0} at {1}. ",W,x.startLineNumber+":"+x.startColumn);const q=this._editor.getModel();return q&&x.startLineNumber<=q.getLineCount()&&x.startLineNumber>=1&&(V=`${q.getLineContent(x.startLineNumber)}, ${V}`),V}}let v=class extends n.PeekViewWidget{static{f=this}static{this.TitleMenu=new i.MenuId("gotoErrorTitleMenu")}constructor(x,W,V,q,H,z,U){super(x,{showArrow:!0,showFrame:!0,isAccessible:!0,frameWidth:1},H),this._themeService=W,this._openerService=V,this._menuService=q,this._contextKeyService=z,this._labelService=U,this._callOnDispose=new m.DisposableStore,this._onDidSelectRelatedInformation=new y.Emitter,this.onDidSelectRelatedInformation=this._onDidSelectRelatedInformation.event,this._severity=l.MarkerSeverity.Warning,this._backgroundColor=E.Color.white,this._applyTheme(W.getColorTheme()),this._callOnDispose.add(W.onDidColorThemeChange(this._applyTheme.bind(this))),this.create()}_applyTheme(x){this._backgroundColor=x.getColor(O);let W=D,V=T;this._severity===l.MarkerSeverity.Warning?(W=M,V=A):this._severity===l.MarkerSeverity.Info&&(W=P,V=N);const q=x.getColor(W),H=x.getColor(V);this.style({arrowColor:q,frameColor:q,headerBackgroundColor:H,primaryHeadingColor:x.getColor(n.peekViewTitleForeground),secondaryHeadingColor:x.getColor(n.peekViewTitleInfoForeground)})}_applyStyles(){this._parentContainer&&(this._parentContainer.style.backgroundColor=this._backgroundColor?this._backgroundColor.toString():""),super._applyStyles()}dispose(){this._callOnDispose.dispose(),super.dispose()}_fillHead(x){super._fillHead(x),this._disposables.add(this._actionbarWidget.actionRunner.onWillRun(q=>this.editor.focus()));const W=[],V=this._menuService.getMenuActions(f.TitleMenu,this._contextKeyService);(0,t.createAndFillInActionBarActions)(V,W),this._actionbarWidget.push(W,{label:!1,icon:!0,index:0})}_fillTitleIcon(x){this._icon=d.append(x,d.$(""))}_fillBody(x){this._parentContainer=x,x.classList.add("marker-widget"),this._parentContainer.tabIndex=0,this._parentContainer.setAttribute("role","tooltip"),this._container=document.createElement("div"),x.appendChild(this._container),this._message=new h(this._container,this.editor,W=>this._onDidSelectRelatedInformation.fire(W),this._openerService,this._labelService),this._disposables.add(this._message)}show(){throw new Error("call showAtMarker")}showAtMarker(x,W,V){this._container.classList.remove("stale"),this._message.update(x),this._severity=x.severity,this._applyTheme(this._themeService.getColorTheme());const q=p.Range.lift(x),H=this.editor.getPosition(),z=H&&q.containsPosition(H)?H:q.getStartPosition();super.show(z,this.computeRequiredHeight());const U=this.editor.getModel();if(U){const j=V>1?o.localize(937,"{0} of {1} problems",W,V):o.localize(938,"{0} of {1} problem",W,V);this.setTitle((0,_.basename)(U.uri),j)}this._icon.className=`codicon ${r.SeverityIcon.className(l.MarkerSeverity.toSeverity(this._severity))}`,this.editor.revealPositionNearTop(z,0),this.editor.focus()}updateMarker(x){this._container.classList.remove("stale"),this._message.update(x)}showStale(){this._container.classList.add("stale"),this._relayout()}_doLayoutBody(x,W){super._doLayoutBody(x,W),this._heightInPixel=x,this._message.layout(x,W),this._container.style.height=`${x}px`}_onWidth(x){this._message.layout(this._heightInPixel,x)}_relayout(){super._relayout(this.computeRequiredHeight())}computeRequiredHeight(){return 3+this._message.getHeightInLines()}};e.MarkerNavigationWidget=v,e.MarkerNavigationWidget=v=f=ke([ce(1,C.IThemeService),ce(2,a.IOpenerService),ce(3,i.IMenuService),ce(4,g.IInstantiationService),ce(5,s.IContextKeyService),ce(6,c.ILabelService)],v);const w=(0,u.oneOf)(u.editorErrorForeground,u.editorErrorBorder),S=(0,u.oneOf)(u.editorWarningForeground,u.editorWarningBorder),L=(0,u.oneOf)(u.editorInfoForeground,u.editorInfoBorder),D=(0,u.registerColor)("editorMarkerNavigationError.background",{dark:w,light:w,hcDark:u.contrastBorder,hcLight:u.contrastBorder},o.localize(939,"Editor marker navigation widget error color.")),T=(0,u.registerColor)("editorMarkerNavigationError.headerBackground",{dark:(0,u.transparent)(D,.1),light:(0,u.transparent)(D,.1),hcDark:null,hcLight:null},o.localize(940,"Editor marker navigation widget error heading background.")),M=(0,u.registerColor)("editorMarkerNavigationWarning.background",{dark:S,light:S,hcDark:u.contrastBorder,hcLight:u.contrastBorder},o.localize(941,"Editor marker navigation widget warning color.")),A=(0,u.registerColor)("editorMarkerNavigationWarning.headerBackground",{dark:(0,u.transparent)(M,.1),light:(0,u.transparent)(M,.1),hcDark:"#0C141F",hcLight:(0,u.transparent)(M,.2)},o.localize(942,"Editor marker navigation widget warning heading background.")),P=(0,u.registerColor)("editorMarkerNavigationInfo.background",{dark:L,light:L,hcDark:u.contrastBorder,hcLight:u.contrastBorder},o.localize(943,"Editor marker navigation widget info color.")),N=(0,u.registerColor)("editorMarkerNavigationInfo.headerBackground",{dark:(0,u.transparent)(P,.1),light:(0,u.transparent)(P,.1),hcDark:null,hcLight:null},o.localize(944,"Editor marker navigation widget info heading background.")),O=(0,u.registerColor)("editorMarkerNavigation.background",u.editorBackground,o.localize(945,"Editor marker navigation widget background."))}),define(ne[427],se([1,0,26,2,15,34,9,4,20,698,3,29,12,7,71,843]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s){"use strict";var g;Object.defineProperty(e,"__esModule",{value:!0}),e.NextMarkerAction=e.MarkerController=void 0;let c=class{static{g=this}static{this.ID="editor.contrib.markerController"}static get(w){return w.getContribution(g.ID)}constructor(w,S,L,D,T){this._markerNavigationService=S,this._contextKeyService=L,this._editorService=D,this._instantiationService=T,this._sessionDispoables=new k.DisposableStore,this._editor=w,this._widgetVisible=f.bindTo(this._contextKeyService)}dispose(){this._cleanUp(),this._sessionDispoables.dispose()}_cleanUp(){this._widgetVisible.reset(),this._sessionDispoables.clear(),this._widget=void 0,this._model=void 0}_getOrCreateModel(w){if(this._model&&this._model.matches(w))return this._model;let S=!1;return this._model&&(S=!0,this._cleanUp()),this._model=this._markerNavigationService.getMarkerList(w),S&&this._model.move(!0,this._editor.getModel(),this._editor.getPosition()),this._widget=this._instantiationService.createInstance(s.MarkerNavigationWidget,this._editor),this._widget.onDidClose(()=>this.close(),this,this._sessionDispoables),this._widgetVisible.set(!0),this._sessionDispoables.add(this._model),this._sessionDispoables.add(this._widget),this._sessionDispoables.add(this._editor.onDidChangeCursorPosition(L=>{(!this._model?.selected||!m.Range.containsPosition(this._model?.selected.marker,L.position))&&this._model?.resetIndex()})),this._sessionDispoables.add(this._model.onDidChange(()=>{if(!this._widget||!this._widget.position||!this._model)return;const L=this._model.find(this._editor.getModel().uri,this._widget.position);L?this._widget.updateMarker(L.marker):this._widget.showStale()})),this._sessionDispoables.add(this._widget.onDidSelectRelatedInformation(L=>{this._editorService.openCodeEditor({resource:L.resource,options:{pinned:!0,revealIfOpened:!0,selection:m.Range.lift(L).collapseToStart()}},this._editor),this.close(!1)})),this._sessionDispoables.add(this._editor.onDidChangeModel(()=>this._cleanUp())),this._model}close(w=!0){this._cleanUp(),w&&this._editor.focus()}showAtMarker(w){if(this._editor.hasModel()){const S=this._getOrCreateModel(this._editor.getModel().uri);S.resetIndex(),S.move(!0,this._editor.getModel(),new y.Position(w.startLineNumber,w.startColumn)),S.selected&&this._widget.showAtMarker(S.selected.marker,S.selected.index,S.selected.total)}}async nagivate(w,S){if(this._editor.hasModel()){const L=this._getOrCreateModel(S?void 0:this._editor.getModel().uri);if(L.move(w,this._editor.getModel(),this._editor.getPosition()),!L.selected)return;if(L.selected.marker.resource.toString()!==this._editor.getModel().uri.toString()){this._cleanUp();const D=await this._editorService.openCodeEditor({resource:L.selected.marker.resource,options:{pinned:!1,revealIfOpened:!0,selectionRevealType:2,selection:L.selected.marker}},this._editor);D&&(g.get(D)?.close(),g.get(D)?.nagivate(w,S))}else this._widget.showAtMarker(L.selected.marker,L.selected.index,L.selected.total)}}};e.MarkerController=c,e.MarkerController=c=g=ke([ce(1,b.IMarkerNavigationService),ce(2,o.IContextKeyService),ce(3,E.ICodeEditorService),ce(4,t.IInstantiationService)],c);class l extends I.EditorAction{constructor(w,S,L){super(L),this._next=w,this._multiFile=S}async run(w,S){S.hasModel()&&c.get(S)?.nagivate(this._next,this._multiFile)}}class a extends l{static{this.ID="editor.action.marker.next"}static{this.LABEL=p.localize(924,"Go to Next Problem (Error, Warning, Info)")}constructor(){super(!0,!1,{id:a.ID,label:a.LABEL,alias:"Go to Next Problem (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:_.EditorContextKeys.focus,primary:578,weight:100},menuOpts:{menuId:s.MarkerNavigationWidget.TitleMenu,title:a.LABEL,icon:(0,i.registerIcon)("marker-navigation-next",d.Codicon.arrowDown,p.localize(925,"Icon for goto next marker.")),group:"navigation",order:1}})}}e.NextMarkerAction=a;class r extends l{static{this.ID="editor.action.marker.prev"}static{this.LABEL=p.localize(926,"Go to Previous Problem (Error, Warning, Info)")}constructor(){super(!1,!1,{id:r.ID,label:r.LABEL,alias:"Go to Previous Problem (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:_.EditorContextKeys.focus,primary:1602,weight:100},menuOpts:{menuId:s.MarkerNavigationWidget.TitleMenu,title:r.LABEL,icon:(0,i.registerIcon)("marker-navigation-previous",d.Codicon.arrowUp,p.localize(927,"Icon for goto previous marker.")),group:"navigation",order:2}})}}class u extends l{constructor(){super(!0,!0,{id:"editor.action.marker.nextInFiles",label:p.localize(928,"Go to Next Problem in Files (Error, Warning, Info)"),alias:"Go to Next Problem in Files (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:_.EditorContextKeys.focus,primary:66,weight:100},menuOpts:{menuId:n.MenuId.MenubarGoMenu,title:p.localize(929,"Next &&Problem"),group:"6_problem_nav",order:1}})}}class C extends l{constructor(){super(!1,!0,{id:"editor.action.marker.prevInFiles",label:p.localize(930,"Go to Previous Problem in Files (Error, Warning, Info)"),alias:"Go to Previous Problem in Files (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:_.EditorContextKeys.focus,primary:1090,weight:100},menuOpts:{menuId:n.MenuId.MenubarGoMenu,title:p.localize(931,"Previous &&Problem"),group:"6_problem_nav",order:2}})}}(0,I.registerEditorContribution)(c.ID,c,4),(0,I.registerEditorAction)(a),(0,I.registerEditorAction)(r),(0,I.registerEditorAction)(u),(0,I.registerEditorAction)(C);const f=new o.RawContextKey("markersNavigationVisible",!1),h=I.EditorCommand.bindToContribution(c.get);(0,I.registerEditorCommand)(new h({id:"closeMarkersNavigation",precondition:f,handler:v=>v.close(),kbOpts:{weight:150,kbExpr:_.EditorContextKeys.focus,primary:9,secondary:[1033]}}))}),define(ne[844],se([1,0,5,357,33,6,2,42,48,125,4,35,70,78,758,158,3,7,31,181,216,25,178,514]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r,u,C){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ReferenceWidget=e.LayoutData=void 0;class f{static{this.DecorationOptions=n.ModelDecorationOptions.register({description:"reference-decoration",stickiness:1,className:"reference-decoration"})}constructor(L,D){this._editor=L,this._model=D,this._decorations=new Map,this._decorationIgnoreSet=new Set,this._callOnDispose=new y.DisposableStore,this._callOnModelChange=new y.DisposableStore,this._callOnDispose.add(this._editor.onDidChangeModel(()=>this._onModelChanged())),this._onModelChanged()}dispose(){this._callOnModelChange.dispose(),this._callOnDispose.dispose(),this.removeDecorations()}_onModelChanged(){this._callOnModelChange.clear();const L=this._editor.getModel();if(L){for(const D of this._model.references)if(D.uri.toString()===L.uri.toString()){this._addDecorations(D.parent);return}}}_addDecorations(L){if(!this._editor.hasModel())return;this._callOnModelChange.add(this._editor.getModel().onDidChangeDecorations(()=>this._onDecorationChanged()));const D=[],T=[];for(let M=0,A=L.children.length;M{const A=M.deltaDecorations([],D);for(let P=0;P{A.equals(9)&&(this._keybindingService.dispatchEvent(A,A.target),A.stopPropagation())},!0)),this._tree=this._instantiationService.createInstance(v,"ReferencesWidget",this._treeContainer,new i.Delegate,[this._instantiationService.createInstance(i.FileReferencesRenderer),this._instantiationService.createInstance(i.OneReferenceRenderer)],this._instantiationService.createInstance(i.DataSource),T),this._splitView.addView({onDidChange:E.Event.None,element:this._previewContainer,minimumSize:200,maximumSize:Number.MAX_VALUE,layout:A=>{this._preview.layout({height:this._dim.height,width:A})}},k.Sizing.Distribute),this._splitView.addView({onDidChange:E.Event.None,element:this._treeContainer,minimumSize:100,maximumSize:Number.MAX_VALUE,layout:A=>{this._treeContainer.style.height=`${this._dim.height}px`,this._treeContainer.style.width=`${A}px`,this._tree.layout(this._dim.height,A)}},k.Sizing.Distribute),this._disposables.add(this._splitView.onDidSashChange(()=>{this._dim.width&&(this.layoutData.ratio=this._splitView.getViewSize(0)/this._dim.width)},void 0));const M=(A,P)=>{A instanceof C.OneReference&&(P==="show"&&this._revealReference(A,!1),this._onDidSelectReference.fire({element:A,kind:P,source:"tree"}))};this._disposables.add(this._tree.onDidOpen(A=>{A.sideBySide?M(A.element,"side"):A.editorOptions.pinned?M(A.element,"goto"):M(A.element,"show")})),d.hide(this._treeContainer)}_onWidth(L){this._dim&&this._doLayoutBody(this._dim.height,L)}_doLayoutBody(L,D){super._doLayoutBody(L,D),this._dim=new d.Dimension(D,L),this.layoutData.heightInLines=this._viewZone?this._viewZone.heightInLines:this.layoutData.heightInLines,this._splitView.layout(D),this._splitView.resizeView(0,D*this.layoutData.ratio)}setSelection(L){return this._revealReference(L,!0).then(()=>{this._model&&(this._tree.setSelection([L]),this._tree.setFocus([L]))})}setModel(L){return this._disposeOnNewModel.clear(),this._model=L,this._model?this._onNewModel():Promise.resolve()}_onNewModel(){return this._model?this._model.isEmpty?(this.setTitle(""),this._messageContainer.innerText=g.localize(993,"No results"),d.show(this._messageContainer),Promise.resolve(void 0)):(d.hide(this._messageContainer),this._decorationsManager=new f(this._preview,this._model),this._disposeOnNewModel.add(this._decorationsManager),this._disposeOnNewModel.add(this._model.onDidChangeReferenceRange(L=>this._tree.rerender(L))),this._disposeOnNewModel.add(this._preview.onMouseDown(L=>{const{event:D,target:T}=L;if(D.detail!==2)return;const M=this._getFocusedReference();M&&this._onDidSelectReference.fire({element:{uri:M.uri,range:T.range},kind:D.ctrlKey||D.metaKey||D.altKey?"side":"open",source:"editor"})})),this.container.classList.add("results-loaded"),d.show(this._treeContainer),d.show(this._previewContainer),this._splitView.layout(this._dim.width),this.focusOnReferenceTree(),this._tree.setInput(this._model.groups.length===1?this._model.groups[0]:this._model)):Promise.resolve(void 0)}_getFocusedReference(){const[L]=this._tree.getFocus();if(L instanceof C.OneReference)return L;if(L instanceof C.FileReferences&&L.children.length>0)return L.children[0]}async revealReference(L){await this._revealReference(L,!1),this._onDidSelectReference.fire({element:L,kind:"goto",source:"tree"})}async _revealReference(L,D){if(this._revealedReference===L)return;this._revealedReference=L,L.uri.scheme!==m.Schemas.inMemory?this.setTitle((0,_.basenameOrAuthority)(L.uri),this._uriLabel.getUriLabel((0,_.dirname)(L.uri))):this.setTitle(g.localize(994,"References"));const T=this._textModelResolverService.createModelReference(L.uri);this._tree.getInput()===L.parent?this._tree.reveal(L):(D&&this._tree.reveal(L.parent),await this._tree.expand(L.parent),this._tree.reveal(L));const M=await T;if(!this._model){M.dispose();return}(0,y.dispose)(this._previewModelReference);const A=M.object;if(A){const P=this._preview.getModel()===A.textEditorModel?0:1,N=p.Range.lift(L.range).collapseToStart();this._previewModelReference=M,this._preview.setModel(A.textEditorModel),this._preview.setSelection(N),this._preview.revealRangeInCenter(N,P)}else this._preview.setModel(this._previewNotAvailableMessage),M.dispose()}};e.ReferenceWidget=w,e.ReferenceWidget=w=ke([ce(3,u.IThemeService),ce(4,t.ITextModelService),ce(5,c.IInstantiationService),ce(6,s.IPeekViewService),ce(7,a.ILabelService),ce(8,l.IKeybindingService)],w)}),define(ne[428],se([1,0,14,8,72,2,34,9,4,158,3,24,28,12,7,121,216,50,101,178,844,20,179]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r,u,C){"use strict";var f;Object.defineProperty(e,"__esModule",{value:!0}),e.ReferencesController=e.ctxReferenceSearchVisible=void 0,e.ctxReferenceSearchVisible=new t.RawContextKey("referenceSearchVisible",!1,p.localize(986,"Whether reference peek is visible, like 'Peek References' or 'Peek Definition'"));let h=class{static{f=this}static{this.ID="editor.contrib.referencesController"}static get(S){return S.getContribution(f.ID)}constructor(S,L,D,T,M,A,P,N){this._defaultTreeKeyboardSupport=S,this._editor=L,this._editorService=T,this._notificationService=M,this._instantiationService=A,this._storageService=P,this._configurationService=N,this._disposables=new E.DisposableStore,this._requestIdPool=0,this._ignoreModelChangeEvent=!1,this._referenceSearchVisible=e.ctxReferenceSearchVisible.bindTo(D)}dispose(){this._referenceSearchVisible.reset(),this._disposables.dispose(),this._widget?.dispose(),this._model?.dispose(),this._widget=void 0,this._model=void 0}toggleWidget(S,L,D){let T;if(this._widget&&(T=this._widget.position),this.closeWidget(),T&&S.containsPosition(T))return;this._peekMode=D,this._referenceSearchVisible.set(!0),this._disposables.add(this._editor.onDidChangeModelLanguage(()=>{this.closeWidget()})),this._disposables.add(this._editor.onDidChangeModel(()=>{this._ignoreModelChangeEvent||this.closeWidget()}));const M="peekViewLayout",A=r.LayoutData.fromJSON(this._storageService.get(M,0,"{}"));this._widget=this._instantiationService.createInstance(r.ReferenceWidget,this._editor,this._defaultTreeKeyboardSupport,A),this._widget.setTitle(p.localize(987,"Loading...")),this._widget.show(S),this._disposables.add(this._widget.onDidClose(()=>{L.cancel(),this._widget?(this._storageService.store(M,JSON.stringify(this._widget.layoutData),0,1),this._widget.isClosing||this.closeWidget(),this._widget=void 0):this.closeWidget()})),this._disposables.add(this._widget.onDidSelectReference(N=>{const{element:O,kind:F}=N;if(O)switch(F){case"open":(N.source!=="editor"||!this._configurationService.getValue("editor.stablePeek"))&&this.openReference(O,!1,!1);break;case"side":this.openReference(O,!0,!1);break;case"goto":D?this._gotoReference(O,!0):this.openReference(O,!1,!0);break}}));const P=++this._requestIdPool;L.then(N=>{if(P!==this._requestIdPool||!this._widget){N.dispose();return}return this._model?.dispose(),this._model=N,this._widget.setModel(this._model).then(()=>{if(this._widget&&this._model&&this._editor.hasModel()){this._model.isEmpty?this._widget.setMetaTitle(""):this._widget.setMetaTitle(p.localize(988,"{0} ({1})",this._model.title,this._model.references.length));const O=this._editor.getModel().uri,F=new m.Position(S.startLineNumber,S.startColumn),x=this._model.nearestReference(O,F);if(x)return this._widget.setSelection(x).then(()=>{this._widget&&this._editor.getOption(87)==="editor"&&this._widget.focusOnPreviewEditor()})}})},N=>{this._notificationService.error(N)})}changeFocusBetweenPreviewAndReferences(){this._widget&&(this._widget.isPreviewEditorFocused()?this._widget.focusOnReferenceTree():this._widget.focusOnPreviewEditor())}async goToNextOrPreviousReference(S){if(!this._editor.hasModel()||!this._model||!this._widget)return;const L=this._widget.position;if(!L)return;const D=this._model.nearestReference(this._editor.getModel().uri,L);if(!D)return;const T=this._model.nextOrPreviousReference(D,S),M=this._editor.hasTextFocus(),A=this._widget.isPreviewEditorFocused();await this._widget.setSelection(T),await this._gotoReference(T,!1),M?this._editor.focus():this._widget&&A&&this._widget.focusOnPreviewEditor()}async revealReference(S){!this._editor.hasModel()||!this._model||!this._widget||await this._widget.revealReference(S)}closeWidget(S=!0){this._widget?.dispose(),this._model?.dispose(),this._referenceSearchVisible.reset(),this._disposables.clear(),this._widget=void 0,this._model=void 0,S&&this._editor.focus(),this._requestIdPool+=1}_gotoReference(S,L){this._widget?.hide(),this._ignoreModelChangeEvent=!0;const D=_.Range.lift(S.range).collapseToStart();return this._editorService.openCodeEditor({resource:S.uri,options:{selection:D,selectionSource:"code.jump",pinned:L}},this._editor).then(T=>{if(this._ignoreModelChangeEvent=!1,!T||!this._widget){this.closeWidget();return}if(this._editor===T)this._widget.show(D),this._widget.focusOnReferenceTree();else{const M=f.get(T),A=this._model.clone();this.closeWidget(),T.focus(),M?.toggleWidget(D,(0,d.createCancelablePromise)(P=>Promise.resolve(A)),this._peekMode??!1)}},T=>{this._ignoreModelChangeEvent=!1,(0,k.onUnexpectedError)(T)})}openReference(S,L,D){L||this.closeWidget();const{uri:T,range:M}=S;this._editorService.openCodeEditor({resource:T,options:{selection:M,selectionSource:"code.jump",pinned:D}},this._editor,L)}};e.ReferencesController=h,e.ReferencesController=h=f=ke([ce(2,t.IContextKeyService),ce(3,y.ICodeEditorService),ce(4,c.INotificationService),ce(5,i.IInstantiationService),ce(6,l.IStorageService),ce(7,o.IConfigurationService)],h);function v(w,S){const L=(0,b.getOuterEditor)(w);if(!L)return;const D=h.get(L);D&&S(D)}s.KeybindingsRegistry.registerCommandAndKeybindingRule({id:"togglePeekWidgetFocus",weight:100,primary:(0,I.KeyChord)(2089,60),when:t.ContextKeyExpr.or(e.ctxReferenceSearchVisible,b.PeekContext.inPeekEditor),handler(w){v(w,S=>{S.changeFocusBetweenPreviewAndReferences()})}}),s.KeybindingsRegistry.registerCommandAndKeybindingRule({id:"goToNextReference",weight:90,primary:62,secondary:[70],when:t.ContextKeyExpr.or(e.ctxReferenceSearchVisible,b.PeekContext.inPeekEditor),handler(w){v(w,S=>{S.goToNextOrPreviousReference(!0)})}}),s.KeybindingsRegistry.registerCommandAndKeybindingRule({id:"goToPreviousReference",weight:90,primary:1086,secondary:[1094],when:t.ContextKeyExpr.or(e.ctxReferenceSearchVisible,b.PeekContext.inPeekEditor),handler(w){v(w,S=>{S.goToNextOrPreviousReference(!1)})}}),n.CommandsRegistry.registerCommandAlias("goToNextReferenceFromEmbeddedEditor","goToNextReference"),n.CommandsRegistry.registerCommandAlias("goToPreviousReferenceFromEmbeddedEditor","goToPreviousReference"),n.CommandsRegistry.registerCommandAlias("closeReferenceSearchEditor","closeReferenceSearch"),n.CommandsRegistry.registerCommand("closeReferenceSearch",w=>v(w,S=>S.closeWidget())),s.KeybindingsRegistry.registerKeybindingRule({id:"closeReferenceSearch",weight:-1,primary:9,secondary:[1033],when:t.ContextKeyExpr.and(b.PeekContext.inPeekEditor,t.ContextKeyExpr.not("config.editor.stablePeek"))}),s.KeybindingsRegistry.registerKeybindingRule({id:"closeReferenceSearch",weight:250,primary:9,secondary:[1033],when:t.ContextKeyExpr.and(e.ctxReferenceSearchVisible,t.ContextKeyExpr.not("config.editor.stablePeek"),t.ContextKeyExpr.or(u.EditorContextKeys.editorTextFocus,C.InputFocusedContext.negate()))}),s.KeybindingsRegistry.registerCommandAndKeybindingRule({id:"revealReference",weight:200,primary:3,mac:{primary:3,secondary:[2066]},when:t.ContextKeyExpr.and(e.ctxReferenceSearchVisible,g.WorkbenchListFocusContextKey,g.WorkbenchTreeElementCanCollapse.negate(),g.WorkbenchTreeElementCanExpand.negate()),handler(w){const L=w.get(g.IListService).lastFocusedList?.getFocus();Array.isArray(L)&&L[0]instanceof a.OneReference&&v(w,D=>D.revealReference(L[0]))}}),s.KeybindingsRegistry.registerCommandAndKeybindingRule({id:"openReferenceToSide",weight:100,primary:2051,mac:{primary:259},when:t.ContextKeyExpr.and(e.ctxReferenceSearchVisible,g.WorkbenchListFocusContextKey,g.WorkbenchTreeElementCanCollapse.negate(),g.WorkbenchTreeElementCanExpand.negate()),handler(w){const L=w.get(g.IListService).lastFocusedList?.getFocus();Array.isArray(L)&&L[0]instanceof a.OneReference&&v(w,D=>D.openReference(L[0],!0,!0))}}),n.CommandsRegistry.registerCommand("openReference",w=>{const L=w.get(g.IListService).lastFocusedList?.getFocus();Array.isArray(L)&&L[0]instanceof a.OneReference&&v(w,D=>D.openReference(L[0],!1,!0))})}),define(ne[291],se([1,0,46,14,72,19,22,122,168,15,34,125,9,4,20,27,428,178,736,184,158,3,29,24,12,7,50,96,277,17,53,179]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r,u,C,f,h,v,w,S,L,D,T,M){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DefinitionAction=e.SymbolNavigationAction=e.SymbolNavigationAnchor=void 0,C.MenuRegistry.appendMenuItem(C.MenuId.EditorContext,{submenu:C.MenuId.EditorContextPeek,title:u.localize(946,"Peek"),group:"navigation",order:100});class A{static is(H){return!H||typeof H!="object"?!1:!!(H instanceof A||o.Position.isIPosition(H.position)&&H.model)}constructor(H,z){this.model=H,this.position=z}}e.SymbolNavigationAnchor=A;class P extends b.EditorAction2{static{this._allSymbolNavigationCommands=new Map}static{this._activeAlternativeCommands=new Set}static all(){return P._allSymbolNavigationCommands.values()}static _patchConfig(H){const z={...H,f1:!0};if(z.menu)for(const U of T.Iterable.wrap(z.menu))(U.id===C.MenuId.EditorContext||U.id===C.MenuId.EditorContextPeek)&&(U.when=h.ContextKeyExpr.and(H.precondition,U.when));return z}constructor(H,z){super(P._patchConfig(z)),this.configuration=H,P._allSymbolNavigationCommands.set(z.id,this)}runEditorCommand(H,z,U,j){if(!z.hasModel())return Promise.resolve(void 0);const Q=H.get(w.INotificationService),G=H.get(p.ICodeEditorService),K=H.get(S.IEditorProgressService),R=H.get(l.ISymbolNavigationService),J=H.get(D.ILanguageFeaturesService),ie=H.get(v.IInstantiationService),ue=z.getModel(),he=z.getPosition(),pe=A.is(U)?U:new A(ue,he),ae=new m.EditorStateCancellationTokenSource(z,5),ee=(0,k.raceCancellation)(this._getLocationModel(J,pe.model,pe.position,ae.token),ae.token).then(async de=>{if(!de||ae.token.isCancellationRequested)return;(0,d.alert)(de.ariaMessage);let ge;if(de.referenceAt(ue.uri,he)){const B=this._getAlternativeCommand(z);!P._activeAlternativeCommands.has(B)&&P._allSymbolNavigationCommands.has(B)&&(ge=P._allSymbolNavigationCommands.get(B))}const X=de.references.length;if(X===0){if(!this.configuration.muteMessage){const B=ue.getWordAtPosition(he);a.MessageController.get(z)?.showMessage(this._getNoResultFoundMessage(B),he)}}else if(X===1&&ge)P._activeAlternativeCommands.add(this.desc.id),ie.invokeFunction(B=>ge.runEditorCommand(B,z,U,j).finally(()=>{P._activeAlternativeCommands.delete(this.desc.id)}));else return this._onResult(G,R,z,de,j)},de=>{Q.error(de)}).finally(()=>{ae.dispose()});return K.showWhile(ee,250),ee}async _onResult(H,z,U,j,Q){const G=this._getGoToPreference(U);if(!(U instanceof n.EmbeddedCodeEditorWidget)&&(this.configuration.openInPeek||G==="peek"&&j.references.length>1))this._openInPeek(U,j,Q);else{const K=j.firstReference(),R=j.references.length>1&&G==="gotoAndPeek",J=await this._openReference(U,H,K,this.configuration.openToSide,!R);R&&J?this._openInPeek(J,j,Q):j.dispose(),G==="goto"&&z.put(K)}}async _openReference(H,z,U,j,Q){let G;if((0,s.isLocationLink)(U)&&(G=U.targetSelectionRange),G||(G=U.range),!G)return;const K=await z.openCodeEditor({resource:U.uri,options:{selection:t.Range.collapseToStart(G),selectionRevealType:3,selectionSource:"code.jump"}},H,j);if(K){if(Q){const R=K.getModel(),J=K.createDecorationsCollection([{range:G,options:{description:"symbol-navigate-action-highlight",className:"symbolHighlight"}}]);setTimeout(()=>{K.getModel()===R&&J.clear()},350)}return K}}_openInPeek(H,z,U){const j=g.ReferencesController.get(H);j&&H.hasModel()?j.toggleWidget(U??H.getSelection(),(0,k.createCancelablePromise)(Q=>Promise.resolve(z)),this.configuration.openInPeek):z.dispose()}}e.SymbolNavigationAction=P;class N extends P{async _getLocationModel(H,z,U,j){return new c.ReferencesModel(await(0,L.getDefinitionsAtPosition)(H.definitionProvider,z,U,!1,j),u.localize(947,"Definitions"))}_getNoResultFoundMessage(H){return H&&H.word?u.localize(948,"No definition found for '{0}'",H.word):u.localize(949,"No definition found")}_getAlternativeCommand(H){return H.getOption(58).alternativeDefinitionCommand}_getGoToPreference(H){return H.getOption(58).multipleDefinitions}}e.DefinitionAction=N,(0,C.registerAction2)(class Ut extends N{static{this.id="editor.action.revealDefinition"}constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:Ut.id,title:{...u.localize2(973,"Go to Definition"),mnemonicTitle:u.localize(950,"Go to &&Definition")},precondition:i.EditorContextKeys.hasDefinitionProvider,keybinding:[{when:i.EditorContextKeys.editorTextFocus,primary:70,weight:100},{when:h.ContextKeyExpr.and(i.EditorContextKeys.editorTextFocus,M.IsWebContext),primary:2118,weight:100}],menu:[{id:C.MenuId.EditorContext,group:"navigation",order:1.1},{id:C.MenuId.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:2}]}),f.CommandsRegistry.registerCommandAlias("editor.action.goToDeclaration",Ut.id)}}),(0,C.registerAction2)(class jt extends N{static{this.id="editor.action.revealDefinitionAside"}constructor(){super({openToSide:!0,openInPeek:!1,muteMessage:!1},{id:jt.id,title:u.localize2(974,"Open Definition to the Side"),precondition:h.ContextKeyExpr.and(i.EditorContextKeys.hasDefinitionProvider,i.EditorContextKeys.isInEmbeddedEditor.toNegated()),keybinding:[{when:i.EditorContextKeys.editorTextFocus,primary:(0,I.KeyChord)(2089,70),weight:100},{when:h.ContextKeyExpr.and(i.EditorContextKeys.editorTextFocus,M.IsWebContext),primary:(0,I.KeyChord)(2089,2118),weight:100}]}),f.CommandsRegistry.registerCommandAlias("editor.action.openDeclarationToTheSide",jt.id)}}),(0,C.registerAction2)(class $t extends N{static{this.id="editor.action.peekDefinition"}constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:$t.id,title:u.localize2(975,"Peek Definition"),precondition:h.ContextKeyExpr.and(i.EditorContextKeys.hasDefinitionProvider,r.PeekContext.notInPeekEditor,i.EditorContextKeys.isInEmbeddedEditor.toNegated()),keybinding:{when:i.EditorContextKeys.editorTextFocus,primary:582,linux:{primary:3140},weight:100},menu:{id:C.MenuId.EditorContextPeek,group:"peek",order:2}}),f.CommandsRegistry.registerCommandAlias("editor.action.previewDeclaration",$t.id)}});class O extends P{async _getLocationModel(H,z,U,j){return new c.ReferencesModel(await(0,L.getDeclarationsAtPosition)(H.declarationProvider,z,U,!1,j),u.localize(951,"Declarations"))}_getNoResultFoundMessage(H){return H&&H.word?u.localize(952,"No declaration found for '{0}'",H.word):u.localize(953,"No declaration found")}_getAlternativeCommand(H){return H.getOption(58).alternativeDeclarationCommand}_getGoToPreference(H){return H.getOption(58).multipleDeclarations}}(0,C.registerAction2)(class ai extends O{static{this.id="editor.action.revealDeclaration"}constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:ai.id,title:{...u.localize2(976,"Go to Declaration"),mnemonicTitle:u.localize(954,"Go to &&Declaration")},precondition:h.ContextKeyExpr.and(i.EditorContextKeys.hasDeclarationProvider,i.EditorContextKeys.isInEmbeddedEditor.toNegated()),menu:[{id:C.MenuId.EditorContext,group:"navigation",order:1.3},{id:C.MenuId.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:3}]})}_getNoResultFoundMessage(H){return H&&H.word?u.localize(955,"No declaration found for '{0}'",H.word):u.localize(956,"No declaration found")}}),(0,C.registerAction2)(class extends O{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.peekDeclaration",title:u.localize2(977,"Peek Declaration"),precondition:h.ContextKeyExpr.and(i.EditorContextKeys.hasDeclarationProvider,r.PeekContext.notInPeekEditor,i.EditorContextKeys.isInEmbeddedEditor.toNegated()),menu:{id:C.MenuId.EditorContextPeek,group:"peek",order:3}})}});class F extends P{async _getLocationModel(H,z,U,j){return new c.ReferencesModel(await(0,L.getTypeDefinitionsAtPosition)(H.typeDefinitionProvider,z,U,!1,j),u.localize(957,"Type Definitions"))}_getNoResultFoundMessage(H){return H&&H.word?u.localize(958,"No type definition found for '{0}'",H.word):u.localize(959,"No type definition found")}_getAlternativeCommand(H){return H.getOption(58).alternativeTypeDefinitionCommand}_getGoToPreference(H){return H.getOption(58).multipleTypeDefinitions}}(0,C.registerAction2)(class li extends F{static{this.ID="editor.action.goToTypeDefinition"}constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:li.ID,title:{...u.localize2(978,"Go to Type Definition"),mnemonicTitle:u.localize(960,"Go to &&Type Definition")},precondition:i.EditorContextKeys.hasTypeDefinitionProvider,keybinding:{when:i.EditorContextKeys.editorTextFocus,primary:0,weight:100},menu:[{id:C.MenuId.EditorContext,group:"navigation",order:1.4},{id:C.MenuId.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:3}]})}}),(0,C.registerAction2)(class di extends F{static{this.ID="editor.action.peekTypeDefinition"}constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:di.ID,title:u.localize2(979,"Peek Type Definition"),precondition:h.ContextKeyExpr.and(i.EditorContextKeys.hasTypeDefinitionProvider,r.PeekContext.notInPeekEditor,i.EditorContextKeys.isInEmbeddedEditor.toNegated()),menu:{id:C.MenuId.EditorContextPeek,group:"peek",order:4}})}});class x extends P{async _getLocationModel(H,z,U,j){return new c.ReferencesModel(await(0,L.getImplementationsAtPosition)(H.implementationProvider,z,U,!1,j),u.localize(961,"Implementations"))}_getNoResultFoundMessage(H){return H&&H.word?u.localize(962,"No implementation found for '{0}'",H.word):u.localize(963,"No implementation found")}_getAlternativeCommand(H){return H.getOption(58).alternativeImplementationCommand}_getGoToPreference(H){return H.getOption(58).multipleImplementations}}(0,C.registerAction2)(class ci extends x{static{this.ID="editor.action.goToImplementation"}constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:ci.ID,title:{...u.localize2(980,"Go to Implementations"),mnemonicTitle:u.localize(964,"Go to &&Implementations")},precondition:i.EditorContextKeys.hasImplementationProvider,keybinding:{when:i.EditorContextKeys.editorTextFocus,primary:2118,weight:100},menu:[{id:C.MenuId.EditorContext,group:"navigation",order:1.45},{id:C.MenuId.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:4}]})}}),(0,C.registerAction2)(class ui extends x{static{this.ID="editor.action.peekImplementation"}constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:ui.ID,title:u.localize2(981,"Peek Implementations"),precondition:h.ContextKeyExpr.and(i.EditorContextKeys.hasImplementationProvider,r.PeekContext.notInPeekEditor,i.EditorContextKeys.isInEmbeddedEditor.toNegated()),keybinding:{when:i.EditorContextKeys.editorTextFocus,primary:3142,weight:100},menu:{id:C.MenuId.EditorContextPeek,group:"peek",order:5}})}});class W extends P{_getNoResultFoundMessage(H){return H?u.localize(965,"No references found for '{0}'",H.word):u.localize(966,"No references found")}_getAlternativeCommand(H){return H.getOption(58).alternativeReferenceCommand}_getGoToPreference(H){return H.getOption(58).multipleReferences}}(0,C.registerAction2)(class extends W{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:"editor.action.goToReferences",title:{...u.localize2(982,"Go to References"),mnemonicTitle:u.localize(967,"Go to &&References")},precondition:h.ContextKeyExpr.and(i.EditorContextKeys.hasReferenceProvider,r.PeekContext.notInPeekEditor,i.EditorContextKeys.isInEmbeddedEditor.toNegated()),keybinding:{when:i.EditorContextKeys.editorTextFocus,primary:1094,weight:100},menu:[{id:C.MenuId.EditorContext,group:"navigation",order:1.45},{id:C.MenuId.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:5}]})}async _getLocationModel(H,z,U,j){return new c.ReferencesModel(await(0,L.getReferencesAtPosition)(H.referenceProvider,z,U,!0,!1,j),u.localize(968,"References"))}}),(0,C.registerAction2)(class extends W{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.referenceSearch.trigger",title:u.localize2(983,"Peek References"),precondition:h.ContextKeyExpr.and(i.EditorContextKeys.hasReferenceProvider,r.PeekContext.notInPeekEditor,i.EditorContextKeys.isInEmbeddedEditor.toNegated()),menu:{id:C.MenuId.EditorContextPeek,group:"peek",order:6}})}async _getLocationModel(H,z,U,j){return new c.ReferencesModel(await(0,L.getReferencesAtPosition)(H.referenceProvider,z,U,!1,!1,j),u.localize(969,"References"))}});class V extends P{constructor(H,z,U){super(H,{id:"editor.action.goToLocation",title:u.localize2(984,"Go to Any Symbol"),precondition:h.ContextKeyExpr.and(r.PeekContext.notInPeekEditor,i.EditorContextKeys.isInEmbeddedEditor.toNegated())}),this._references=z,this._gotoMultipleBehaviour=U}async _getLocationModel(H,z,U,j){return new c.ReferencesModel(this._references,u.localize(970,"Locations"))}_getNoResultFoundMessage(H){return H&&u.localize(971,"No results for '{0}'",H.word)||""}_getGoToPreference(H){return this._gotoMultipleBehaviour??H.getOption(58).multipleReferences}_getAlternativeCommand(){return""}}f.CommandsRegistry.registerCommand({id:"editor.action.goToLocations",metadata:{description:"Go to locations from a position in a file",args:[{name:"uri",description:"The text document in which to start",constraint:y.URI},{name:"position",description:"The position at which to start",constraint:o.Position.isIPosition},{name:"locations",description:"An array of locations.",constraint:Array},{name:"multiple",description:"Define what to do when having multiple results, either `peek`, `gotoAndPeek`, or `goto`"},{name:"noResultsMessage",description:"Human readable message that shows when locations is empty."}]},handler:async(q,H,z,U,j,Q,G)=>{(0,E.assertType)(y.URI.isUri(H)),(0,E.assertType)(o.Position.isIPosition(z)),(0,E.assertType)(Array.isArray(U)),(0,E.assertType)(typeof j>"u"||typeof j=="string"),(0,E.assertType)(typeof G>"u"||typeof G=="boolean");const K=q.get(p.ICodeEditorService),R=await K.openCodeEditor({resource:H},K.getFocusedCodeEditor());if((0,_.isCodeEditor)(R))return R.setPosition(z),R.revealPositionInCenterIfOutsideViewport(z,0),R.invokeWithinContext(J=>{const ie=new class extends V{_getNoResultFoundMessage(ue){return Q||super._getNoResultFoundMessage(ue)}}({muteMessage:!Q,openInPeek:!!G,openToSide:!1},U,j);J.get(v.IInstantiationService).invokeFunction(ie.run.bind(ie),R)})}}),f.CommandsRegistry.registerCommand({id:"editor.action.peekLocations",metadata:{description:"Peek locations from a position in a file",args:[{name:"uri",description:"The text document in which to start",constraint:y.URI},{name:"position",description:"The position at which to start",constraint:o.Position.isIPosition},{name:"locations",description:"An array of locations.",constraint:Array},{name:"multiple",description:"Define what to do when having multiple results, either `peek`, `gotoAndPeek`, or `goto`"}]},handler:async(q,H,z,U,j)=>{q.get(f.ICommandService).executeCommand("editor.action.goToLocations",H,z,U,j,void 0,!0)}}),f.CommandsRegistry.registerCommand({id:"editor.action.findReferences",handler:(q,H,z)=>{(0,E.assertType)(y.URI.isUri(H)),(0,E.assertType)(o.Position.isIPosition(z));const U=q.get(D.ILanguageFeaturesService),j=q.get(p.ICodeEditorService);return j.openCodeEditor({resource:H},j.getFocusedCodeEditor()).then(Q=>{if(!(0,_.isCodeEditor)(Q)||!Q.hasModel())return;const G=g.ReferencesController.get(Q);if(!G)return;const K=(0,k.createCancelablePromise)(J=>(0,L.getReferencesAtPosition)(U.referenceProvider,Q.getModel(),o.Position.lift(z),!1,!1,J).then(ie=>new c.ReferencesModel(ie,u.localize(972,"References")))),R=new t.Range(z.lineNumber,z.column,z.lineNumber,z.column);return Promise.resolve(G.toggleWidget(R,K,!1))})}}),f.CommandsRegistry.registerCommandAlias("editor.action.showReferences","editor.action.peekLocations")}),define(ne[429],se([1,0,14,8,57,2,122,15,4,43,78,209,158,3,12,291,277,17,35,513]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l){"use strict";var a;Object.defineProperty(e,"__esModule",{value:!0}),e.GotoDefinitionAtPositionEditorContribution=void 0;let r=class{static{a=this}static{this.ID="editor.contrib.gotodefinitionatposition"}static{this.MAX_SOURCE_PREVIEW_LINES=8}constructor(C,f,h,v){this.textModelResolverService=f,this.languageService=h,this.languageFeaturesService=v,this.toUnhook=new E.DisposableStore,this.toUnhookForKeyboard=new E.DisposableStore,this.currentWordAtPosition=null,this.previousPromise=null,this.editor=C,this.linkDecorations=this.editor.createDecorationsCollection();const w=new n.ClickLinkGesture(C);this.toUnhook.add(w),this.toUnhook.add(w.onMouseMoveOrRelevantKeyDown(([S,L])=>{this.startFindDefinitionFromMouse(S,L??void 0)})),this.toUnhook.add(w.onExecute(S=>{this.isEnabled(S)&&this.gotoDefinition(S.target.position,S.hasSideBySideModifier).catch(L=>{(0,k.onUnexpectedError)(L)}).finally(()=>{this.removeLinkDecorations()})})),this.toUnhook.add(w.onCancel(()=>{this.removeLinkDecorations(),this.currentWordAtPosition=null}))}static get(C){return C.getContribution(a.ID)}async startFindDefinitionFromCursor(C){await this.startFindDefinition(C),this.toUnhookForKeyboard.add(this.editor.onDidChangeCursorPosition(()=>{this.currentWordAtPosition=null,this.removeLinkDecorations(),this.toUnhookForKeyboard.clear()})),this.toUnhookForKeyboard.add(this.editor.onKeyDown(f=>{f&&(this.currentWordAtPosition=null,this.removeLinkDecorations(),this.toUnhookForKeyboard.clear())}))}startFindDefinitionFromMouse(C,f){if(C.target.type===9&&this.linkDecorations.length>0)return;if(!this.editor.hasModel()||!this.isEnabled(C,f)){this.currentWordAtPosition=null,this.removeLinkDecorations();return}const h=C.target.position;this.startFindDefinition(h)}async startFindDefinition(C){this.toUnhookForKeyboard.clear();const f=C?this.editor.getModel()?.getWordAtPosition(C):null;if(!f){this.currentWordAtPosition=null,this.removeLinkDecorations();return}if(this.currentWordAtPosition&&this.currentWordAtPosition.startColumn===f.startColumn&&this.currentWordAtPosition.endColumn===f.endColumn&&this.currentWordAtPosition.word===f.word)return;this.currentWordAtPosition=f;const h=new y.EditorState(this.editor,15);this.previousPromise&&(this.previousPromise.cancel(),this.previousPromise=null),this.previousPromise=(0,d.createCancelablePromise)(S=>this.findDefinition(C,S));let v;try{v=await this.previousPromise}catch(S){(0,k.onUnexpectedError)(S);return}if(!v||!v.length||!h.validate(this.editor)){this.removeLinkDecorations();return}const w=v[0].originSelectionRange?_.Range.lift(v[0].originSelectionRange):new _.Range(C.lineNumber,f.startColumn,C.lineNumber,f.endColumn);if(v.length>1){let S=w;for(const{originSelectionRange:L}of v)L&&(S=_.Range.plusRange(S,L));this.addDecoration(S,new I.MarkdownString().appendText(t.localize(985,"Click to show {0} definitions.",v.length)))}else{const S=v[0];if(!S.uri)return;this.textModelResolverService.createModelReference(S.uri).then(L=>{if(!L.object||!L.object.textEditorModel){L.dispose();return}const{object:{textEditorModel:D}}=L,{startLineNumber:T}=S.range;if(T<1||T>D.getLineCount()){L.dispose();return}const M=this.getPreviewValue(D,T,S),A=this.languageService.guessLanguageIdByFilepathOrFirstLine(D.uri);this.addDecoration(w,M?new I.MarkdownString().appendCodeblock(A||"",M):void 0),L.dispose()})}}getPreviewValue(C,f,h){let v=h.range;return v.endLineNumber-v.startLineNumber>=a.MAX_SOURCE_PREVIEW_LINES&&(v=this.getPreviewRangeBasedOnIndentation(C,f)),this.stripIndentationFromPreviewRange(C,f,v)}stripIndentationFromPreviewRange(C,f,h){let w=C.getLineFirstNonWhitespaceColumn(f);for(let L=f+1;L{const v=!f&&this.editor.getOption(89)&&!this.isInPeekEditor(h);return new s.DefinitionAction({openToSide:f,openInPeek:v,muteMessage:!0},{title:{value:"",original:""},id:"",precondition:void 0}).run(h)})}isInPeekEditor(C){const f=C.get(i.IContextKeyService);return o.PeekContext.inPeekEditor.getValue(f)}dispose(){this.toUnhook.dispose(),this.toUnhookForKeyboard.dispose()}};e.GotoDefinitionAtPositionEditorContribution=r,e.GotoDefinitionAtPositionEditorContribution=r=a=ke([ce(1,p.ITextModelService),ce(2,b.ILanguageService),ce(3,c.ILanguageFeaturesService)],r),(0,m.registerEditorContribution)(r.ID,r,2)}),define(ne[845],se([1,0,5,13,14,8,2,48,4,17,266,157,287,134,427,84,3,108,59,96]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.MarkerHoverParticipant=e.MarkerHover=void 0;const r=d.$;class u{constructor(v,w,S){this.owner=v,this.range=w,this.marker=S}isValidForHoverAnchor(v){return v.type===1&&this.range.startColumn<=v.range.startColumn&&this.range.endColumn>=v.range.endColumn}}e.MarkerHover=u;const C={type:1,filter:{include:t.CodeActionKind.QuickFix},triggerAction:t.CodeActionTriggerSource.QuickFixHover};let f=class{constructor(v,w,S,L){this._editor=v,this._markerDecorationsService=w,this._openerService=S,this._languageFeaturesService=L,this.hoverOrdinal=1,this.recentMarkerCodeActionsInfo=void 0}computeSync(v,w){if(!this._editor.hasModel()||v.type!==1&&!v.supportsMarkerHover)return[];const S=this._editor.getModel(),L=v.range.startLineNumber,D=S.getLineMaxColumn(L),T=[];for(const M of w){const A=M.range.startLineNumber===L?M.range.startColumn:1,P=M.range.endLineNumber===L?M.range.endColumn:D,N=this._markerDecorationsService.getMarker(S.uri,M);if(!N)continue;const O=new _.Range(v.range.startLineNumber,A,v.range.startLineNumber,P);T.push(new u(this,O,N))}return T}renderHoverParts(v,w){if(!w.length)return new s.RenderedHoverParts([]);const S=new y.DisposableStore,L=[];w.forEach(T=>{const M=this._renderMarkerHover(T);v.fragment.appendChild(M.hoverElement),L.push(M)});const D=w.length===1?w[0]:w.sort((T,M)=>c.MarkerSeverity.compare(T.marker.severity,M.marker.severity))[0];return this.renderMarkerStatusbar(v,D,S),new s.RenderedHoverParts(L)}_renderMarkerHover(v){const w=new y.DisposableStore,S=r("div.hover-row"),L=d.append(S,r("div.marker.hover-contents")),{source:D,message:T,code:M,relatedInformation:A}=v.marker;this._editor.applyFontInfo(L);const P=d.append(L,r("span"));if(P.style.whiteSpace="pre-wrap",P.innerText=T,D||M)if(M&&typeof M!="string"){const O=r("span");if(D){const V=d.append(O,r("span"));V.innerText=D}const F=d.append(O,r("a.code-link"));F.setAttribute("href",M.target.toString()),w.add(d.addDisposableListener(F,"click",V=>{this._openerService.open(M.target,{allowCommands:!0}),V.preventDefault(),V.stopPropagation()}));const x=d.append(F,r("span"));x.innerText=M.value;const W=d.append(L,O);W.style.opacity="0.6",W.style.paddingLeft="6px"}else{const O=d.append(L,r("span"));O.style.opacity="0.6",O.style.paddingLeft="6px",O.innerText=D&&M?`${D}(${M})`:D||`(${M})`}if((0,k.isNonEmptyArray)(A))for(const{message:O,resource:F,startLineNumber:x,startColumn:W}of A){const V=d.append(L,r("div"));V.style.marginTop="8px";const q=d.append(V,r("a"));q.innerText=`${(0,m.basename)(F)}(${x}, ${W}): `,q.style.cursor="pointer",w.add(d.addDisposableListener(q,"click",z=>{if(z.stopPropagation(),z.preventDefault(),this._openerService){const U={selection:{startLineNumber:x,startColumn:W}};this._openerService.open(F,{fromUserGesture:!0,editorOptions:U}).catch(E.onUnexpectedError)}}));const H=d.append(V,r("span"));H.innerText=O,this._editor.applyFontInfo(H)}return{hoverPart:v,hoverElement:S,dispose:()=>w.dispose()}}renderMarkerStatusbar(v,w,S){if(w.marker.severity===c.MarkerSeverity.Error||w.marker.severity===c.MarkerSeverity.Warning||w.marker.severity===c.MarkerSeverity.Info){const L=i.MarkerController.get(this._editor);L&&v.statusBar.addAction({label:g.localize(1040,"View Problem"),commandId:i.NextMarkerAction.ID,run:()=>{v.hide(),L.showAtMarker(w.marker),this._editor.focus()}})}if(!this._editor.getOption(92)){const L=v.statusBar.append(r("div"));this.recentMarkerCodeActionsInfo&&(c.IMarkerData.makeKey(this.recentMarkerCodeActionsInfo.marker)===c.IMarkerData.makeKey(w.marker)?this.recentMarkerCodeActionsInfo.hasCodeActions||(L.textContent=g.localize(1041,"No quick fixes available")):this.recentMarkerCodeActionsInfo=void 0);const D=this.recentMarkerCodeActionsInfo&&!this.recentMarkerCodeActionsInfo.hasCodeActions?y.Disposable.None:(0,I.disposableTimeout)(()=>L.textContent=g.localize(1042,"Checking for quick fixes..."),200,S);L.textContent||(L.textContent="\xA0");const T=this.getCodeActions(w.marker);S.add((0,y.toDisposable)(()=>T.cancel())),T.then(M=>{if(D.dispose(),this.recentMarkerCodeActionsInfo={marker:w.marker,hasCodeActions:M.validActions.length>0},!this.recentMarkerCodeActionsInfo.hasCodeActions){M.dispose(),L.textContent=g.localize(1043,"No quick fixes available");return}L.style.display="none";let A=!1;S.add((0,y.toDisposable)(()=>{A||M.dispose()})),v.statusBar.addAction({label:g.localize(1044,"Quick Fix..."),commandId:n.quickFixCommandId,run:P=>{A=!0;const N=o.CodeActionController.get(this._editor),O=d.getDomNodePagePosition(P);v.hide(),N?.showCodeActions(C,M,{x:O.left,y:O.top,width:O.width,height:O.height})}})},E.onUnexpectedError)}}getCodeActions(v){return(0,I.createCancelablePromise)(w=>(0,n.getCodeActions)(this._languageFeaturesService.codeActionProvider,this._editor.getModel(),new _.Range(v.startLineNumber,v.startColumn,v.endLineNumber,v.endColumn),C,a.Progress.None,w))}};e.MarkerHoverParticipant=f,e.MarkerHoverParticipant=f=ke([ce(1,p.IMarkerDecorationsService),ce(2,l.IOpenerService),ce(3,b.ILanguageFeaturesService)],f)}),define(ne[430],se([1,0,5,41,18,193,4,78,291,158,29,24,12,58,7,50]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.showGoToContextMenu=g,e.goToDefinitionWithLocation=c;async function g(l,a,r,u){const C=l.get(m.ITextModelService),f=l.get(t.IContextMenuService),h=l.get(n.ICommandService),v=l.get(i.IInstantiationService),w=l.get(s.INotificationService);if(await u.item.resolve(I.CancellationToken.None),!u.part.location)return;const S=u.part.location,L=[],D=new Set(p.MenuRegistry.getMenuItems(p.MenuId.EditorContext).map(M=>(0,p.isIMenuItem)(M)?M.command.id:(0,E.generateUuid)()));for(const M of _.SymbolNavigationAction.all())D.has(M.desc.id)&&L.push(new k.Action(M.desc.id,p.MenuItemAction.label(M.desc,{renderShortTitle:!0}),void 0,!0,async()=>{const A=await C.createModelReference(S.uri);try{const P=new _.SymbolNavigationAnchor(A.object.textEditorModel,y.Range.getStartPosition(S.range)),N=u.item.anchor.range;await v.invokeFunction(M.runEditorCommand.bind(M),a,P,N)}finally{A.dispose()}}));if(u.part.command){const{command:M}=u.part;L.push(new k.Separator),L.push(new k.Action(M.id,M.title,void 0,!0,async()=>{try{await h.executeCommand(M.id,...M.arguments??[])}catch(A){w.notify({severity:s.Severity.Error,source:u.item.provider.displayName,message:A})}}))}const T=a.getOption(128);f.showContextMenu({domForShadowRoot:T?a.getDomNode()??void 0:void 0,getAnchor:()=>{const M=d.getDomNodePagePosition(r);return{x:M.left,y:M.top+M.height+8}},getActions:()=>L,onHide:()=>{a.focus()},autoSelectFirstItem:!0})}async function c(l,a,r,u){const f=await l.get(m.ITextModelService).createModelReference(u.uri);await r.invokeWithinContext(async h=>{const v=a.hasSideBySideModifier,w=h.get(o.IContextKeyService),S=b.PeekContext.inPeekEditor.getValue(w),L=!v&&r.getOption(89)&&!S;return new _.DefinitionAction({openToSide:v,openInPeek:L,muteMessage:!0},{title:{value:"",original:""},id:"",precondition:void 0}).run(h,new _.SymbolNavigationAnchor(f.object.textEditorModel,y.Range.getStartPosition(u.range)),y.Range.lift(u.range))}),f.dispose()}}),define(ne[431],se([1,0,5,13,14,18,8,2,45,19,22,185,143,37,75,4,27,40,35,79,17,78,209,377,430,24,49,7,50,32,25]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r,u,C,f,h,v,w,S,L,D,T){"use strict";var M;Object.defineProperty(e,"__esModule",{value:!0}),e.InlayHintsController=e.RenderedInlayHintLabelPart=void 0;class A{constructor(){this._entries=new _.LRUCache(50)}get(V){const q=A._key(V);return this._entries.get(q)}set(V,q){const H=A._key(V);this._entries.set(H,q)}static _key(V){return`${V.uri.toString()}/${V.getVersionId()}`}}const P=(0,S.createDecorator)("IInlayHintsCache");(0,w.registerSingleton)(P,A,1);class N{constructor(V,q){this.item=V,this.index=q}get part(){const V=this.item.hint.label;return typeof V=="string"?{label:V}:V[this.index]}}e.RenderedInlayHintLabelPart=N;class O{constructor(V,q){this.part=V,this.hasTriggerModifier=q}}let F=class{static{M=this}static{this.ID="editor.contrib.InlayHints"}static{this._MAX_DECORATORS=1500}static{this._MAX_LABEL_LEN=43}static get(V){return V.getContribution(M.ID)??void 0}constructor(V,q,H,z,U,j,Q){this._editor=V,this._languageFeaturesService=q,this._inlayHintsCache=z,this._commandService=U,this._notificationService=j,this._instaService=Q,this._disposables=new m.DisposableStore,this._sessionDisposables=new m.DisposableStore,this._decorationsMetadata=new Map,this._ruleFactory=new n.DynamicCssRules(this._editor),this._activeRenderMode=0,this._debounceInfo=H.for(q.inlayHintsProvider,"InlayHint",{min:25}),this._disposables.add(q.inlayHintsProvider.onDidChange(()=>this._update())),this._disposables.add(V.onDidChangeModel(()=>this._update())),this._disposables.add(V.onDidChangeModelLanguage(()=>this._update())),this._disposables.add(V.onDidChangeConfiguration(G=>{G.hasChanged(142)&&this._update()})),this._update()}dispose(){this._sessionDisposables.dispose(),this._removeAllDecorations(),this._disposables.dispose()}_update(){this._sessionDisposables.clear(),this._removeAllDecorations();const V=this._editor.getOption(142);if(V.enabled==="off")return;const q=this._editor.getModel();if(!q||!this._languageFeaturesService.inlayHintsProvider.has(q))return;if(V.enabled==="on")this._activeRenderMode=0;else{let Q,G;V.enabled==="onUnlessPressed"?(Q=0,G=1):(Q=1,G=0),this._activeRenderMode=Q,this._sessionDisposables.add(d.ModifierKeyEmitter.getInstance().event(K=>{if(!this._editor.hasModel())return;const R=K.altKey&&K.ctrlKey&&!(K.shiftKey||K.metaKey)?G:Q;if(R!==this._activeRenderMode){this._activeRenderMode=R;const J=this._editor.getModel(),ie=this._copyInlayHintsWithCurrentAnchor(J);this._updateHintsDecorators([J.getFullModelRange()],ie),j.schedule(0)}}))}const H=this._inlayHintsCache.get(q);H&&this._updateHintsDecorators([q.getFullModelRange()],H),this._sessionDisposables.add((0,m.toDisposable)(()=>{q.isDisposed()||this._cacheHintsForFastRestore(q)}));let z;const U=new Set,j=new I.RunOnceScheduler(async()=>{const Q=Date.now();z?.dispose(!0),z=new E.CancellationTokenSource;const G=q.onWillDispose(()=>z?.cancel());try{const K=z.token,R=await f.InlayHintsFragments.create(this._languageFeaturesService.inlayHintsProvider,q,this._getHintsRanges(),K);if(j.delay=this._debounceInfo.update(q,Date.now()-Q),K.isCancellationRequested){R.dispose();return}for(const J of R.provider)typeof J.onDidChangeInlayHints=="function"&&!U.has(J)&&(U.add(J),this._sessionDisposables.add(J.onDidChangeInlayHints(()=>{j.isScheduled()||j.schedule()})));this._sessionDisposables.add(R),this._updateHintsDecorators(R.ranges,R.items),this._cacheHintsForFastRestore(q)}catch(K){(0,y.onUnexpectedError)(K)}finally{z.dispose(),G.dispose()}},this._debounceInfo.get(q));this._sessionDisposables.add(j),this._sessionDisposables.add((0,m.toDisposable)(()=>z?.dispose(!0))),j.schedule(0),this._sessionDisposables.add(this._editor.onDidScrollChange(Q=>{(Q.scrollTopChanged||!j.isScheduled())&&j.schedule()})),this._sessionDisposables.add(this._editor.onDidChangeModelContent(Q=>{z?.cancel();const G=Math.max(j.delay,1250);j.schedule(G)})),this._sessionDisposables.add(this._installDblClickGesture(()=>j.schedule(0))),this._sessionDisposables.add(this._installLinkGesture()),this._sessionDisposables.add(this._installContextMenu())}_installLinkGesture(){const V=new m.DisposableStore,q=V.add(new C.ClickLinkGesture(this._editor)),H=new m.DisposableStore;return V.add(H),V.add(q.onMouseMoveOrRelevantKeyDown(z=>{const[U]=z,j=this._getInlayHintLabelPart(U),Q=this._editor.getModel();if(!j||!Q){H.clear();return}const G=new E.CancellationTokenSource;H.add((0,m.toDisposable)(()=>G.dispose(!0))),j.item.resolve(G.token),this._activeInlayHintPart=j.part.command||j.part.location?new O(j,U.hasTriggerModifier):void 0;const K=Q.validatePosition(j.item.hint.position).lineNumber,R=new s.Range(K,1,K,Q.getLineMaxColumn(K)),J=this._getInlineHintsForRange(R);this._updateHintsDecorators([R],J),H.add((0,m.toDisposable)(()=>{this._activeInlayHintPart=void 0,this._updateHintsDecorators([R],J)}))})),V.add(q.onCancel(()=>H.clear())),V.add(q.onExecute(async z=>{const U=this._getInlayHintLabelPart(z);if(U){const j=U.part;j.location?this._instaService.invokeFunction(h.goToDefinitionWithLocation,z,this._editor,j.location):g.Command.is(j.command)&&await this._invokeCommand(j.command,U.item)}})),V}_getInlineHintsForRange(V){const q=new Set;for(const H of this._decorationsMetadata.values())V.containsRange(H.item.anchor.range)&&q.add(H.item);return Array.from(q)}_installDblClickGesture(V){return this._editor.onMouseUp(async q=>{if(q.event.detail!==2)return;const H=this._getInlayHintLabelPart(q);if(H&&(q.event.preventDefault(),await H.item.resolve(E.CancellationToken.None),(0,k.isNonEmptyArray)(H.item.hint.textEdits))){const z=H.item.hint.textEdits.map(U=>i.EditOperation.replace(s.Range.lift(U.range),U.text));this._editor.executeEdits("inlayHint.default",z),V()}})}_installContextMenu(){return this._editor.onContextMenu(async V=>{if(!(0,d.isHTMLElement)(V.event.target))return;const q=this._getInlayHintLabelPart(V);q&&await this._instaService.invokeFunction(h.showGoToContextMenu,this._editor,V.event.target,q)})}_getInlayHintLabelPart(V){if(V.target.type!==6)return;const q=V.target.detail.injectedText?.options;if(q instanceof l.ModelDecorationInjectedTextOptions&&q?.attachedData instanceof N)return q.attachedData}async _invokeCommand(V,q){try{await this._commandService.executeCommand(V.id,...V.arguments??[])}catch(H){this._notificationService.notify({severity:L.Severity.Error,source:q.provider.displayName,message:H})}}_cacheHintsForFastRestore(V){const q=this._copyInlayHintsWithCurrentAnchor(V);this._inlayHintsCache.set(V,q)}_copyInlayHintsWithCurrentAnchor(V){const q=new Map;for(const[H,z]of this._decorationsMetadata){if(q.has(z.item))continue;const U=V.getDecorationRange(H);if(U){const j=new f.InlayHintAnchor(U,z.item.anchor.direction),Q=z.item.with({anchor:j});q.set(z.item,Q)}}return Array.from(q.values())}_getHintsRanges(){const q=this._editor.getModel(),H=this._editor.getVisibleRangesPlusViewportAboveBelow(),z=[];for(const U of H.sort(s.Range.compareRangesUsingStarts)){const j=q.validateRange(new s.Range(U.startLineNumber-30,U.startColumn,U.endLineNumber+30,U.endColumn));z.length===0||!s.Range.areIntersectingOrTouching(z[z.length-1],j)?z.push(j):z[z.length-1]=s.Range.plusRange(z[z.length-1],j)}return z}_updateHintsDecorators(V,q){const H=[],z=(he,pe,ae,ee,de)=>{const ge={content:ae,inlineClassNameAffectsLetterSpacing:!0,inlineClassName:pe.className,cursorStops:ee,attachedData:de};H.push({item:he,classNameRef:pe,decoration:{range:he.anchor.range,options:{description:"InlayHint",showIfCollapsed:he.anchor.range.isEmpty(),collapseOnReplaceEdit:!he.anchor.range.isEmpty(),stickiness:0,[he.anchor.direction]:this._activeRenderMode===0?ge:void 0}}})},U=(he,pe)=>{const ae=this._ruleFactory.createClassNameRef({width:`${j/3|0}px`,display:"inline-block"});z(he,ae,"\u200A",pe?c.InjectedTextCursorStops.Right:c.InjectedTextCursorStops.None)},{fontSize:j,fontFamily:Q,padding:G,isUniform:K}=this._getLayoutInfo(),R="--code-editorInlayHintsFontFamily";this._editor.getContainerDomNode().style.setProperty(R,Q);let J={line:0,totalLen:0};for(const he of q){if(J.line!==he.anchor.range.startLineNumber&&(J={line:he.anchor.range.startLineNumber,totalLen:0}),J.totalLen>M._MAX_LABEL_LEN)continue;he.hint.paddingLeft&&U(he,!1);const pe=typeof he.hint.label=="string"?[{label:he.hint.label}]:he.hint.label;for(let ae=0;ae0&&(B=B.slice(0,-Y)+"\u2026",$=!0),z(he,this._ruleFactory.createClassNameRef(X),x(B),ge&&!he.hint.paddingRight?c.InjectedTextCursorStops.Right:c.InjectedTextCursorStops.None,new N(he,ae)),$)break}if(he.hint.paddingRight&&U(he,!0),H.length>M._MAX_DECORATORS)break}const ie=[];for(const[he,pe]of this._decorationsMetadata){const ae=this._editor.getModel()?.getDecorationRange(he);ae&&V.some(ee=>ee.containsRange(ae))&&(ie.push(he),pe.classNameRef.dispose(),this._decorationsMetadata.delete(he))}const ue=o.StableEditorScrollState.capture(this._editor);this._editor.changeDecorations(he=>{const pe=he.deltaDecorations(ie,H.map(ae=>ae.decoration));for(let ae=0;aeH)&&(U=H);const j=V.fontFamily||z;return{fontSize:U,fontFamily:j,padding:q,isUniform:!q&&j===z&&U===H}}_removeAllDecorations(){this._editor.removeDecorations(Array.from(this._decorationsMetadata.keys()));for(const V of this._decorationsMetadata.values())V.classNameRef.dispose();this._decorationsMetadata.clear()}};e.InlayHintsController=F,e.InlayHintsController=F=M=ke([ce(1,r.ILanguageFeaturesService),ce(2,a.ILanguageFeatureDebounceService),ce(3,P),ce(4,v.ICommandService),ce(5,L.INotificationService),ce(6,S.IInstantiationService)],F);function x(W){return W.replace(/[ \t]/g,"\xA0")}v.CommandsRegistry.registerCommand("_executeInlayHintProvider",async(W,...V)=>{const[q,H]=V;(0,b.assertType)(p.URI.isUri(q)),(0,b.assertType)(s.Range.isIRange(H));const{inlayHintsProvider:z}=W.get(r.ILanguageFeaturesService),U=await W.get(u.ITextModelService).createModelReference(q);try{const j=await f.InlayHintsFragments.create(z,U.object.textEditorModel,[s.Range.lift(H)],E.CancellationToken.None),Q=j.items.map(G=>G.hint);return setTimeout(()=>j.dispose(),0),Q}finally{U.dispose()}})}),define(ne[432],se([1,0,14,57,9,35,84,43,78,410,217,431,28,59,17,3,16,377,13,31,118,24]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r,u){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.InlayHintsHover=void 0;class C extends y.HoverForeignElementAnchor{constructor(v,w,S,L){super(10,w,v.item.anchor.range,S,L,!0),this.part=v}}let f=class extends p.MarkdownHoverParticipant{constructor(v,w,S,L,D,T,M,A,P){super(v,w,S,T,A,L,D,P),this._resolverService=M,this.hoverOrdinal=6}suggestHoverAnchor(v){if(!n.InlayHintsController.get(this._editor)||v.target.type!==6)return null;const S=v.target.detail.injectedText?.options;return S instanceof E.ModelDecorationInjectedTextOptions&&S.attachedData instanceof n.RenderedInlayHintLabelPart?new C(S.attachedData,this,v.event.posx,v.event.posy):null}computeSync(){return[]}computeAsync(v,w,S){return v instanceof C?new d.AsyncIterableObject(async L=>{const{part:D}=v;if(await D.item.resolve(S),S.isCancellationRequested)return;let T;typeof D.item.hint.tooltip=="string"?T=new k.MarkdownString().appendText(D.item.hint.tooltip):D.item.hint.tooltip&&(T=D.item.hint.tooltip),T&&L.emitOne(new p.MarkdownHover(this,v.range,[T],!1,0)),(0,l.isNonEmptyArray)(D.item.hint.textEdits)&&L.emitOne(new p.MarkdownHover(this,v.range,[new k.MarkdownString().appendText((0,s.localize)(1065,"Double-click to insert"))],!1,10001));let M;if(typeof D.part.tooltip=="string"?M=new k.MarkdownString().appendText(D.part.tooltip):D.part.tooltip&&(M=D.part.tooltip),M&&L.emitOne(new p.MarkdownHover(this,v.range,[M],!1,1)),D.part.location||D.part.command){let P;const O=this._editor.getOption(78)==="altKey"?g.isMacintosh?(0,s.localize)(1066,"cmd + click"):(0,s.localize)(1067,"ctrl + click"):g.isMacintosh?(0,s.localize)(1068,"option + click"):(0,s.localize)(1069,"alt + click");D.part.location&&D.part.command?P=new k.MarkdownString().appendText((0,s.localize)(1070,"Go to Definition ({0}), right click for more",O)):D.part.location?P=new k.MarkdownString().appendText((0,s.localize)(1071,"Go to Definition ({0})",O)):D.part.command&&(P=new k.MarkdownString(`[${(0,s.localize)(1072,"Execute Command")}](${(0,c.asCommandLink)(D.part.command)} "${D.part.command.title}") (${O})`,{isTrusted:!0})),P&&L.emitOne(new p.MarkdownHover(this,v.range,[P],!1,1e4))}const A=await this._resolveInlayHintLabelPartHover(D,S);for await(const P of A)L.emitOne(P)}):d.AsyncIterableObject.EMPTY}async _resolveInlayHintLabelPartHover(v,w){if(!v.part.location)return d.AsyncIterableObject.EMPTY;const{uri:S,range:L}=v.part.location,D=await this._resolverService.createModelReference(S);try{const T=D.object.textEditorModel;return this._languageFeaturesService.hoverProvider.has(T)?(0,b.getHoverProviderResultsAsAsyncIterable)(this._languageFeaturesService.hoverProvider,T,new I.Position(L.startLineNumber,L.startColumn),w).filter(M=>!(0,k.isEmptyMarkdownString)(M.hover.contents)).map(M=>new p.MarkdownHover(this,v.item.anchor.range,M.hover.contents,!1,2+M.ordinal)):d.AsyncIterableObject.EMPTY}finally{D.dispose()}}};e.InlayHintsHover=f,e.InlayHintsHover=f=ke([ce(1,m.ILanguageService),ce(2,t.IOpenerService),ce(3,a.IKeybindingService),ce(4,r.IHoverService),ce(5,o.IConfigurationService),ce(6,_.ITextModelService),ce(7,i.ILanguageFeaturesService),ce(8,u.ICommandService)],f)}),define(ne[846],se([1,0,84,2,391,35,9,4,5,217,288,432,8]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.RenderedContentHover=void 0;class t extends k.Disposable{constructor(c,l,a,r,u,C){super();const f=l.anchor,h=l.hoverParts;this._renderedHoverParts=this._register(new s(c,a,h,C,u));const{showAtPosition:v,showAtSecondaryPosition:w}=t.computeHoverPositions(c,f.range,h);this.shouldAppearBeforeContent=h.some(S=>S.isBeforeContent),this.showAtPosition=v,this.showAtSecondaryPosition=w,this.initialMousePosX=f.initialMousePosX,this.initialMousePosY=f.initialMousePosY,this.shouldFocus=r.shouldFocus,this.source=r.source}get domNode(){return this._renderedHoverParts.domNode}get domNodeHasChildren(){return this._renderedHoverParts.domNodeHasChildren}get focusedHoverPartIndex(){return this._renderedHoverParts.focusedHoverPartIndex}async updateHoverVerbosityLevel(c,l,a){this._renderedHoverParts.updateHoverVerbosityLevel(c,l,a)}isColorPickerVisible(){return this._renderedHoverParts.isColorPickerVisible()}static computeHoverPositions(c,l,a){let r=1;if(c.hasModel()){const w=c._getViewModel(),S=w.coordinatesConverter,L=S.convertModelRangeToViewRange(l),D=w.getLineMinColumn(L.startLineNumber),T=new y.Position(L.startLineNumber,D);r=S.convertViewPositionToModelPosition(T).column}const u=l.startLineNumber;let C=l.startColumn,f;for(const w of a){const S=w.range,L=S.startLineNumber===u,D=S.endLineNumber===u;if(L&&D){const M=S.startColumn,A=Math.min(C,M);C=Math.max(A,r)}w.forceShowAtRange&&(f=S)}let h,v;if(f){const w=f.getStartPosition();h=w,v=w}else h=l.getStartPosition(),v=new y.Position(u,C);return{showAtPosition:h,showAtSecondaryPosition:v}}}e.RenderedContentHover=t;class i{constructor(c,l){this._statusBar=l,c.appendChild(this._statusBar.hoverElement)}get hoverElement(){return this._statusBar.hoverElement}get actions(){return this._statusBar.actions}dispose(){this._statusBar.dispose()}}class s extends k.Disposable{static{this._DECORATION_OPTIONS=E.ModelDecorationOptions.register({description:"content-hover-highlight",className:"hoverHighlight"})}constructor(c,l,a,r,u){super(),this._renderedParts=[],this._focusedHoverPartIndex=-1,this._context=u,this._fragment=document.createDocumentFragment(),this._register(this._renderParts(l,a,u,r)),this._register(this._registerListenersOnRenderedParts()),this._register(this._createEditorDecorations(c,a)),this._updateMarkdownAndColorParticipantInfo(l)}_createEditorDecorations(c,l){if(l.length===0)return k.Disposable.None;let a=l[0].range;for(const u of l){const C=u.range;a=m.Range.plusRange(a,C)}const r=c.createDecorationsCollection();return r.set([{range:a,options:s._DECORATION_OPTIONS}]),(0,k.toDisposable)(()=>{r.clear()})}_renderParts(c,l,a,r){const u=new I.EditorHoverStatusBar(r),C={fragment:this._fragment,statusBar:u,...a},f=new k.DisposableStore;for(const v of c){const w=this._renderHoverPartsForParticipant(l,v,C);f.add(w);for(const S of w.renderedHoverParts)this._renderedParts.push({type:"hoverPart",participant:v,hoverPart:S.hoverPart,hoverElement:S.hoverElement})}const h=this._renderStatusBar(this._fragment,u);return h&&(f.add(h),this._renderedParts.push({type:"statusBar",hoverElement:h.hoverElement,actions:h.actions})),(0,k.toDisposable)(()=>{f.dispose()})}_renderHoverPartsForParticipant(c,l,a){const r=c.filter(C=>C.owner===l);return r.length>0?l.renderHoverParts(a,r):new d.RenderedHoverParts([])}_renderStatusBar(c,l){if(l.hasContent)return new i(c,l)}_registerListenersOnRenderedParts(){const c=new k.DisposableStore;return this._renderedParts.forEach((l,a)=>{const r=l.hoverElement;r.tabIndex=0,c.add(_.addDisposableListener(r,_.EventType.FOCUS_IN,u=>{u.stopPropagation(),this._focusedHoverPartIndex=a})),c.add(_.addDisposableListener(r,_.EventType.FOCUS_OUT,u=>{u.stopPropagation(),this._focusedHoverPartIndex=-1}))}),c}_updateMarkdownAndColorParticipantInfo(c){const l=c.find(a=>a instanceof b.MarkdownHoverParticipant&&!(a instanceof n.InlayHintsHover));l&&(this._markdownHoverParticipant=l),this._colorHoverParticipant=c.find(a=>a instanceof p.ColorHoverParticipant)}async updateHoverVerbosityLevel(c,l,a){if(!this._markdownHoverParticipant)return;const r=this._normalizedIndexToMarkdownHoverIndexRange(this._markdownHoverParticipant,l);if(r===void 0)return;const u=await this._markdownHoverParticipant.updateMarkdownHoverVerbosityLevel(c,r,a);u&&(this._renderedParts[l]={type:"hoverPart",participant:this._markdownHoverParticipant,hoverPart:u.hoverPart,hoverElement:u.hoverElement},this._context.onContentsChanged())}isColorPickerVisible(){return this._colorHoverParticipant?.isColorPickerVisible()??!1}_normalizedIndexToMarkdownHoverIndexRange(c,l){const a=this._renderedParts[l];if(!a||a.type!=="hoverPart"||!(a.participant===c))return;const u=this._renderedParts.findIndex(C=>C.type==="hoverPart"&&C.participant===c);if(u===-1)throw new o.BugIndicatingError;return l-u}get domNode(){return this._fragment}get domNodeHasChildren(){return this._fragment.hasChildNodes()}get focusedHoverPartIndex(){return this._focusedHoverPartIndex}}}),define(ne[847],se([1,0,5,2,27,376,84,7,31,690,668,614,6,846,210]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ContentHoverWidgetWrapper=void 0;let s=class extends k.Disposable{constructor(c,l,a){super(),this._editor=c,this._instantiationService=l,this._keybindingService=a,this._currentResult=null,this._onContentsChanged=this._register(new o.Emitter),this.onContentsChanged=this._onContentsChanged.event,this._contentHoverWidget=this._register(this._instantiationService.createInstance(b.ContentHoverWidget,this._editor)),this._participants=this._initializeHoverParticipants(),this._computer=new p.ContentHoverComputer(this._editor,this._participants),this._hoverOperation=this._register(new E.HoverOperation(this._editor,this._computer)),this._registerListeners()}_initializeHoverParticipants(){const c=[];for(const l of y.HoverParticipantRegistry.getAll()){const a=this._instantiationService.createInstance(l,this._editor);c.push(a)}return c.sort((l,a)=>l.hoverOrdinal-a.hoverOrdinal),this._register(this._contentHoverWidget.onDidResize(()=>{this._participants.forEach(l=>l.handleResize?.())})),c}_registerListeners(){this._register(this._hoverOperation.onResult(l=>{if(!this._computer.anchor)return;const a=l.hasLoadingMessage?this._addLoadingMessage(l.value):l.value;this._withResult(new n.HoverResult(this._computer.anchor,a,l.isComplete))}));const c=this._contentHoverWidget.getDomNode();this._register(d.addStandardDisposableListener(c,"keydown",l=>{l.equals(9)&&this.hide()})),this._register(d.addStandardDisposableListener(c,"mouseleave",l=>{this._onMouseLeave(l)})),this._register(I.TokenizationRegistry.onDidChange(()=>{this._contentHoverWidget.position&&this._currentResult&&this._setCurrentResult(this._currentResult)}))}_startShowingOrUpdateHover(c,l,a,r,u){if(!(this._contentHoverWidget.position&&this._currentResult))return c?(this._startHoverOperationIfNecessary(c,l,a,r,!1),!0):!1;const f=this._editor.getOption(60).sticky,h=u&&this._contentHoverWidget.isMouseGettingCloser(u.event.posx,u.event.posy);return f&&h?(c&&this._startHoverOperationIfNecessary(c,l,a,r,!0),!0):c?this._currentResult.anchor.equals(c)?!0:c.canAdoptVisibleHover(this._currentResult.anchor,this._contentHoverWidget.position)?(this._setCurrentResult(this._currentResult.filter(c)),this._startHoverOperationIfNecessary(c,l,a,r,!1),!0):(this._setCurrentResult(null),this._startHoverOperationIfNecessary(c,l,a,r,!1),!0):(this._setCurrentResult(null),!1)}_startHoverOperationIfNecessary(c,l,a,r,u){this._computer.anchor&&this._computer.anchor.equals(c)||(this._hoverOperation.cancel(),this._computer.anchor=c,this._computer.shouldFocus=r,this._computer.source=a,this._computer.insistOnKeepingHoverVisible=u,this._hoverOperation.start(l))}_setCurrentResult(c){let l=c;if(this._currentResult===l)return;l&&l.hoverParts.length===0&&(l=null),this._currentResult=l,this._currentResult?this._showHover(this._currentResult):this._hideHover()}_addLoadingMessage(c){if(!this._computer.anchor)return c;for(const l of this._participants){if(!l.createLoadingMessage)continue;const a=l.createLoadingMessage(this._computer.anchor);if(a)return c.slice(0).concat([a])}return c}_withResult(c){if(this._contentHoverWidget.position&&this._currentResult&&this._currentResult.isComplete||this._setCurrentResult(c),!c.isComplete)return;const r=c.hoverParts.length===0,u=this._computer.insistOnKeepingHoverVisible;r&&u||this._setCurrentResult(c)}_showHover(c){const l=this._getHoverContext();this._renderedContentHover=new t.RenderedContentHover(this._editor,c,this._participants,this._computer,l,this._keybindingService),this._renderedContentHover.domNodeHasChildren?this._contentHoverWidget.show(this._renderedContentHover):this._renderedContentHover.dispose()}_hideHover(){this._contentHoverWidget.hide()}_getHoverContext(){return{hide:()=>{this.hide()},onContentsChanged:()=>{this._onContentsChanged.fire(),this._contentHoverWidget.onContentsChanged()},setMinimumDimensions:r=>{this._contentHoverWidget.setMinimumDimensions(r)}}}showsOrWillShow(c){if(this._contentHoverWidget.isResizing)return!0;const a=this._findHoverAnchorCandidates(c);if(!(a.length>0))return this._startShowingOrUpdateHover(null,0,0,!1,c);const u=a[0];return this._startShowingOrUpdateHover(u,0,0,!1,c)}_findHoverAnchorCandidates(c){const l=[];for(const r of this._participants){if(!r.suggestHoverAnchor)continue;const u=r.suggestHoverAnchor(c);u&&l.push(u)}const a=c.target;switch(a.type){case 6:{l.push(new y.HoverRangeAnchor(0,a.range,c.event.posx,c.event.posy));break}case 7:{const r=this._editor.getOption(50).typicalHalfwidthCharacterWidth/2;if(!(!a.detail.isAfterLines&&typeof a.detail.horizontalDistanceToText=="number"&&a.detail.horizontalDistanceToTextu.priority-r.priority),l}_onMouseLeave(c){const l=this._editor.getDomNode();(!l||!(0,i.isMousePositionWithinElement)(l,c.x,c.y))&&this.hide()}startShowingAtRange(c,l,a,r){this._startShowingOrUpdateHover(new y.HoverRangeAnchor(0,c,void 0,void 0),l,a,r,null)}async updateHoverVerbosityLevel(c,l,a){this._renderedContentHover?.updateHoverVerbosityLevel(c,l,a)}focusedHoverPartIndex(){return this._renderedContentHover?.focusedHoverPartIndex??-1}containsNode(c){return c?this._contentHoverWidget.getDomNode().contains(c):!1}focus(){this._contentHoverWidget.focus()}scrollUp(){this._contentHoverWidget.scrollUp()}scrollDown(){this._contentHoverWidget.scrollDown()}scrollLeft(){this._contentHoverWidget.scrollLeft()}scrollRight(){this._contentHoverWidget.scrollRight()}pageUp(){this._contentHoverWidget.pageUp()}pageDown(){this._contentHoverWidget.pageDown()}goToTop(){this._contentHoverWidget.goToTop()}goToBottom(){this._contentHoverWidget.goToBottom()}hide(){this._computer.anchor=null,this._hoverOperation.cancel(),this._setCurrentResult(null)}getDomNode(){return this._contentHoverWidget.getDomNode()}get isColorPickerVisible(){return this._renderedContentHover?.isColorPickerVisible()??!1}get isVisibleFromKeyboard(){return this._contentHoverWidget.isVisibleFromKeyboard}get isVisible(){return this._contentHoverWidget.isVisible}get isFocused(){return this._contentHoverWidget.isFocused}get isResizing(){return this._contentHoverWidget.isResizing}get widget(){return this._contentHoverWidget}};e.ContentHoverWidgetWrapper=s,e.ContentHoverWidgetWrapper=s=ke([ce(1,m.IInstantiationService),ce(2,_.IKeybindingService)],s)}),define(ne[292],se([1,0,264,2,7,283,31,14,210,847,6,196]),function(oe,e,d,k,I,E,y,m,_,b,p){"use strict";var n;Object.defineProperty(e,"__esModule",{value:!0}),e.ContentHoverController=void 0;const o=!1;let t=class extends k.Disposable{static{n=this}static{this.ID="editor.contrib.contentHover"}constructor(s,g,c){super(),this._editor=s,this._instantiationService=g,this._keybindingService=c,this._onHoverContentsChanged=this._register(new p.Emitter),this.shouldKeepOpenOnEditorMouseMoveOrLeave=!1,this._listenersStore=new k.DisposableStore,this._hoverState={mouseDown:!1,activatedByDecoratorClick:!1},this._reactToEditorMouseMoveRunner=this._register(new m.RunOnceScheduler(()=>this._reactToEditorMouseMove(this._mouseMoveEvent),0)),this._hookListeners(),this._register(this._editor.onDidChangeConfiguration(l=>{l.hasChanged(60)&&(this._unhookListeners(),this._hookListeners())}))}static get(s){return s.getContribution(n.ID)}_hookListeners(){const s=this._editor.getOption(60);this._hoverSettings={enabled:s.enabled,sticky:s.sticky,hidingDelay:s.hidingDelay},s.enabled?(this._listenersStore.add(this._editor.onMouseDown(g=>this._onEditorMouseDown(g))),this._listenersStore.add(this._editor.onMouseUp(()=>this._onEditorMouseUp())),this._listenersStore.add(this._editor.onMouseMove(g=>this._onEditorMouseMove(g))),this._listenersStore.add(this._editor.onKeyDown(g=>this._onKeyDown(g)))):(this._listenersStore.add(this._editor.onMouseMove(g=>this._onEditorMouseMove(g))),this._listenersStore.add(this._editor.onKeyDown(g=>this._onKeyDown(g)))),this._listenersStore.add(this._editor.onMouseLeave(g=>this._onEditorMouseLeave(g))),this._listenersStore.add(this._editor.onDidChangeModel(()=>{this._cancelScheduler(),this._hideWidgets()})),this._listenersStore.add(this._editor.onDidChangeModelContent(()=>this._cancelScheduler())),this._listenersStore.add(this._editor.onDidScrollChange(g=>this._onEditorScrollChanged(g)))}_unhookListeners(){this._listenersStore.clear()}_cancelScheduler(){this._mouseMoveEvent=void 0,this._reactToEditorMouseMoveRunner.cancel()}_onEditorScrollChanged(s){(s.scrollTopChanged||s.scrollLeftChanged)&&this._hideWidgets()}_onEditorMouseDown(s){this._hoverState.mouseDown=!0,!this._shouldNotHideCurrentHoverWidget(s)&&this._hideWidgets()}_shouldNotHideCurrentHoverWidget(s){return this._isMouseOnContentHoverWidget(s)||this._isContentWidgetResizing()}_isMouseOnContentHoverWidget(s){const g=this._contentWidget?.getDomNode();return g?(0,_.isMousePositionWithinElement)(g,s.event.posx,s.event.posy):!1}_onEditorMouseUp(){this._hoverState.mouseDown=!1}_onEditorMouseLeave(s){this.shouldKeepOpenOnEditorMouseMoveOrLeave||(this._cancelScheduler(),this._shouldNotHideCurrentHoverWidget(s))||o||this._hideWidgets()}_shouldNotRecomputeCurrentHoverWidget(s){const g=this._hoverSettings.sticky,c=(r,u)=>{const C=this._isMouseOnContentHoverWidget(r);return u&&C},l=r=>{const u=this._isMouseOnContentHoverWidget(r),C=this._contentWidget?.isColorPickerVisible??!1;return u&&C},a=(r,u)=>(u&&this._contentWidget?.containsNode(r.event.browserEvent.view?.document.activeElement)&&!r.event.browserEvent.view?.getSelection()?.isCollapsed)??!1;return c(s,g)||l(s)||a(s,g)}_onEditorMouseMove(s){if(this.shouldKeepOpenOnEditorMouseMoveOrLeave||(this._mouseMoveEvent=s,this._contentWidget?.isFocused||this._contentWidget?.isResizing))return;const g=this._hoverSettings.sticky;if(g&&this._contentWidget?.isVisibleFromKeyboard)return;if(this._shouldNotRecomputeCurrentHoverWidget(s)){this._reactToEditorMouseMoveRunner.cancel();return}const l=this._hoverSettings.hidingDelay;if(this._contentWidget?.isVisible&&g&&l>0){this._reactToEditorMouseMoveRunner.isScheduled()||this._reactToEditorMouseMoveRunner.schedule(l);return}this._reactToEditorMouseMove(s)}_reactToEditorMouseMove(s){if(!s)return;const c=s.target.element?.classList.contains("colorpicker-color-decoration"),l=this._editor.getOption(149),a=this._hoverSettings.enabled,r=this._hoverState.activatedByDecoratorClick;if(c&&(l==="click"&&!r||l==="hover"&&!a&&!o||l==="clickAndHover"&&!a&&!r)||!c&&!a&&!r){this._hideWidgets();return}this._tryShowHoverWidget(s)||o||this._hideWidgets()}_tryShowHoverWidget(s){return this._getOrCreateContentWidget().showsOrWillShow(s)}_onKeyDown(s){if(!this._editor.hasModel())return;const g=this._keybindingService.softDispatch(s,this._editor.getDomNode()),c=g.kind===1||g.kind===2&&(g.commandId===d.SHOW_OR_FOCUS_HOVER_ACTION_ID||g.commandId===d.INCREASE_HOVER_VERBOSITY_ACTION_ID||g.commandId===d.DECREASE_HOVER_VERBOSITY_ACTION_ID)&&this._contentWidget?.isVisible;s.keyCode===5||s.keyCode===6||s.keyCode===57||s.keyCode===4||c||this._hideWidgets()}_hideWidgets(){o||this._hoverState.mouseDown&&this._contentWidget?.isColorPickerVisible||E.InlineSuggestionHintsContentWidget.dropDownVisible||(this._hoverState.activatedByDecoratorClick=!1,this._contentWidget?.hide())}_getOrCreateContentWidget(){return this._contentWidget||(this._contentWidget=this._instantiationService.createInstance(b.ContentHoverWidgetWrapper,this._editor),this._listenersStore.add(this._contentWidget.onContentsChanged(()=>this._onHoverContentsChanged.fire()))),this._contentWidget}showContentHover(s,g,c,l,a=!1){this._hoverState.activatedByDecoratorClick=a,this._getOrCreateContentWidget().startShowingAtRange(s,g,c,l)}_isContentWidgetResizing(){return this._contentWidget?.widget.isResizing||!1}focusedHoverPartIndex(){return this._getOrCreateContentWidget().focusedHoverPartIndex()}updateHoverVerbosityLevel(s,g,c){this._getOrCreateContentWidget().updateHoverVerbosityLevel(s,g,c)}focus(){this._contentWidget?.focus()}scrollUp(){this._contentWidget?.scrollUp()}scrollDown(){this._contentWidget?.scrollDown()}scrollLeft(){this._contentWidget?.scrollLeft()}scrollRight(){this._contentWidget?.scrollRight()}pageUp(){this._contentWidget?.pageUp()}pageDown(){this._contentWidget?.pageDown()}goToTop(){this._contentWidget?.goToTop()}goToBottom(){this._contentWidget?.goToBottom()}get isColorPickerVisible(){return this._contentWidget?.isColorPickerVisible}get isHoverVisible(){return this._contentWidget?.isVisible}dispose(){super.dispose(),this._unhookListeners(),this._listenersStore.dispose(),this._contentWidget?.dispose()}};e.ContentHoverController=t,e.ContentHoverController=t=n=ke([ce(1,I.IInstantiationService),ce(2,y.IKeybindingService)],t)}),define(ne[848],se([1,0,2,15,4,422,288,292,84]),function(oe,e,d,k,I,E,y,m,_){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ColorContribution=void 0;class b extends d.Disposable{static{this.ID="editor.contrib.colorContribution"}constructor(n){super(),this._editor=n,this._register(n.onMouseDown(o=>this.onMouseDown(o)))}dispose(){super.dispose()}onMouseDown(n){const o=this._editor.getOption(149);if(o!=="click"&&o!=="clickAndHover")return;const t=n.target;if(t.type!==6||!t.detail.injectedText||t.detail.injectedText.options.attachedData!==E.ColorDecorationInjectedTextMarker||!t.range)return;const i=this._editor.getContribution(m.ContentHoverController.ID);if(i&&!i.isColorPickerVisible){const s=new I.Range(t.range.startLineNumber,t.range.startColumn+1,t.range.endLineNumber,t.range.endColumn+1);i.showContentHover(s,1,0,!1,!0)}}}e.ColorContribution=b,(0,k.registerEditorContribution)(b.ID,b,2),_.HoverParticipantRegistry.register(y.ColorHoverParticipant)}),define(ne[849],se([1,0,264,72,15,4,20,429,292,27,3,196]),function(oe,e,d,k,I,E,y,m,_,b,p){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DecreaseHoverVerbosityLevel=e.IncreaseHoverVerbosityLevel=e.GoToBottomHoverAction=e.GoToTopHoverAction=e.PageDownHoverAction=e.PageUpHoverAction=e.ScrollRightHoverAction=e.ScrollLeftHoverAction=e.ScrollDownHoverAction=e.ScrollUpHoverAction=e.ShowDefinitionPreviewHoverAction=e.ShowOrFocusHoverAction=void 0;var n;(function(h){h.NoAutoFocus="noAutoFocus",h.FocusIfVisible="focusIfVisible",h.AutoFocusImmediately="autoFocusImmediately"})(n||(n={}));class o extends I.EditorAction{constructor(){super({id:d.SHOW_OR_FOCUS_HOVER_ACTION_ID,label:p.localize(1008,"Show or Focus Hover"),metadata:{description:p.localize2(1021,"Show or focus the editor hover which shows documentation, references, and other content for a symbol at the current cursor position."),args:[{name:"args",schema:{type:"object",properties:{focus:{description:"Controls if and when the hover should take focus upon being triggered by this action.",enum:[n.NoAutoFocus,n.FocusIfVisible,n.AutoFocusImmediately],enumDescriptions:[p.localize(1009,"The hover will not automatically take focus."),p.localize(1010,"The hover will take focus only if it is already visible."),p.localize(1011,"The hover will automatically take focus when it appears.")],default:n.FocusIfVisible}}}}]},alias:"Show or Focus Hover",precondition:void 0,kbOpts:{kbExpr:y.EditorContextKeys.editorTextFocus,primary:(0,k.KeyChord)(2089,2087),weight:100}})}run(v,w,S){if(!w.hasModel())return;const L=_.ContentHoverController.get(w);if(!L)return;const D=S?.focus;let T=n.FocusIfVisible;Object.values(n).includes(D)?T=D:typeof D=="boolean"&&D&&(T=n.AutoFocusImmediately);const M=P=>{const N=w.getPosition(),O=new E.Range(N.lineNumber,N.column,N.lineNumber,N.column);L.showContentHover(O,1,1,P)},A=w.getOption(2)===2;L.isHoverVisible?T!==n.NoAutoFocus?L.focus():M(A):M(A||T===n.AutoFocusImmediately)}}e.ShowOrFocusHoverAction=o;class t extends I.EditorAction{constructor(){super({id:d.SHOW_DEFINITION_PREVIEW_HOVER_ACTION_ID,label:p.localize(1012,"Show Definition Preview Hover"),alias:"Show Definition Preview Hover",precondition:void 0,metadata:{description:p.localize2(1022,"Show the definition preview hover in the editor.")}})}run(v,w){const S=_.ContentHoverController.get(w);if(!S)return;const L=w.getPosition();if(!L)return;const D=new E.Range(L.lineNumber,L.column,L.lineNumber,L.column),T=m.GotoDefinitionAtPositionEditorContribution.get(w);if(!T)return;T.startFindDefinitionFromCursor(L).then(()=>{S.showContentHover(D,1,1,!0)})}}e.ShowDefinitionPreviewHoverAction=t;class i extends I.EditorAction{constructor(){super({id:d.SCROLL_UP_HOVER_ACTION_ID,label:p.localize(1013,"Scroll Up Hover"),alias:"Scroll Up Hover",precondition:y.EditorContextKeys.hoverFocused,kbOpts:{kbExpr:y.EditorContextKeys.hoverFocused,primary:16,weight:100},metadata:{description:p.localize2(1023,"Scroll up the editor hover.")}})}run(v,w){const S=_.ContentHoverController.get(w);S&&S.scrollUp()}}e.ScrollUpHoverAction=i;class s extends I.EditorAction{constructor(){super({id:d.SCROLL_DOWN_HOVER_ACTION_ID,label:p.localize(1014,"Scroll Down Hover"),alias:"Scroll Down Hover",precondition:y.EditorContextKeys.hoverFocused,kbOpts:{kbExpr:y.EditorContextKeys.hoverFocused,primary:18,weight:100},metadata:{description:p.localize2(1024,"Scroll down the editor hover.")}})}run(v,w){const S=_.ContentHoverController.get(w);S&&S.scrollDown()}}e.ScrollDownHoverAction=s;class g extends I.EditorAction{constructor(){super({id:d.SCROLL_LEFT_HOVER_ACTION_ID,label:p.localize(1015,"Scroll Left Hover"),alias:"Scroll Left Hover",precondition:y.EditorContextKeys.hoverFocused,kbOpts:{kbExpr:y.EditorContextKeys.hoverFocused,primary:15,weight:100},metadata:{description:p.localize2(1025,"Scroll left the editor hover.")}})}run(v,w){const S=_.ContentHoverController.get(w);S&&S.scrollLeft()}}e.ScrollLeftHoverAction=g;class c extends I.EditorAction{constructor(){super({id:d.SCROLL_RIGHT_HOVER_ACTION_ID,label:p.localize(1016,"Scroll Right Hover"),alias:"Scroll Right Hover",precondition:y.EditorContextKeys.hoverFocused,kbOpts:{kbExpr:y.EditorContextKeys.hoverFocused,primary:17,weight:100},metadata:{description:p.localize2(1026,"Scroll right the editor hover.")}})}run(v,w){const S=_.ContentHoverController.get(w);S&&S.scrollRight()}}e.ScrollRightHoverAction=c;class l extends I.EditorAction{constructor(){super({id:d.PAGE_UP_HOVER_ACTION_ID,label:p.localize(1017,"Page Up Hover"),alias:"Page Up Hover",precondition:y.EditorContextKeys.hoverFocused,kbOpts:{kbExpr:y.EditorContextKeys.hoverFocused,primary:11,secondary:[528],weight:100},metadata:{description:p.localize2(1027,"Page up the editor hover.")}})}run(v,w){const S=_.ContentHoverController.get(w);S&&S.pageUp()}}e.PageUpHoverAction=l;class a extends I.EditorAction{constructor(){super({id:d.PAGE_DOWN_HOVER_ACTION_ID,label:p.localize(1018,"Page Down Hover"),alias:"Page Down Hover",precondition:y.EditorContextKeys.hoverFocused,kbOpts:{kbExpr:y.EditorContextKeys.hoverFocused,primary:12,secondary:[530],weight:100},metadata:{description:p.localize2(1028,"Page down the editor hover.")}})}run(v,w){const S=_.ContentHoverController.get(w);S&&S.pageDown()}}e.PageDownHoverAction=a;class r extends I.EditorAction{constructor(){super({id:d.GO_TO_TOP_HOVER_ACTION_ID,label:p.localize(1019,"Go To Top Hover"),alias:"Go To Bottom Hover",precondition:y.EditorContextKeys.hoverFocused,kbOpts:{kbExpr:y.EditorContextKeys.hoverFocused,primary:14,secondary:[2064],weight:100},metadata:{description:p.localize2(1029,"Go to the top of the editor hover.")}})}run(v,w){const S=_.ContentHoverController.get(w);S&&S.goToTop()}}e.GoToTopHoverAction=r;class u extends I.EditorAction{constructor(){super({id:d.GO_TO_BOTTOM_HOVER_ACTION_ID,label:p.localize(1020,"Go To Bottom Hover"),alias:"Go To Bottom Hover",precondition:y.EditorContextKeys.hoverFocused,kbOpts:{kbExpr:y.EditorContextKeys.hoverFocused,primary:13,secondary:[2066],weight:100},metadata:{description:p.localize2(1030,"Go to the bottom of the editor hover.")}})}run(v,w){const S=_.ContentHoverController.get(w);S&&S.goToBottom()}}e.GoToBottomHoverAction=u;class C extends I.EditorAction{constructor(){super({id:d.INCREASE_HOVER_VERBOSITY_ACTION_ID,label:d.INCREASE_HOVER_VERBOSITY_ACTION_LABEL,alias:"Increase Hover Verbosity Level",precondition:y.EditorContextKeys.hoverVisible})}run(v,w,S){const L=_.ContentHoverController.get(w);if(!L)return;const D=S?.index!==void 0?S.index:L.focusedHoverPartIndex();L.updateHoverVerbosityLevel(b.HoverVerbosityAction.Increase,D,S?.focus)}}e.IncreaseHoverVerbosityLevel=C;class f extends I.EditorAction{constructor(){super({id:d.DECREASE_HOVER_VERBOSITY_ACTION_ID,label:d.DECREASE_HOVER_VERBOSITY_ACTION_LABEL,alias:"Decrease Hover Verbosity Level",precondition:y.EditorContextKeys.hoverVisible})}run(v,w,S){const L=_.ContentHoverController.get(w);if(!L)return;const D=S?.index!==void 0?S.index:L.focusedHoverPartIndex();_.ContentHoverController.get(w)?.updateHoverVerbosityLevel(b.HoverVerbosityAction.Decrease,D,S?.focus)}}e.DecreaseHoverVerbosityLevel=f}),define(ne[850],se([1,0,849,15,32,25,84,217,845,292,713,380,615,196]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),(0,k.registerEditorContribution)(b.ContentHoverController.ID,b.ContentHoverController,2),(0,k.registerEditorContribution)(p.MarginHoverController.ID,p.MarginHoverController,2),(0,k.registerEditorAction)(d.ShowOrFocusHoverAction),(0,k.registerEditorAction)(d.ShowDefinitionPreviewHoverAction),(0,k.registerEditorAction)(d.ScrollUpHoverAction),(0,k.registerEditorAction)(d.ScrollDownHoverAction),(0,k.registerEditorAction)(d.ScrollLeftHoverAction),(0,k.registerEditorAction)(d.ScrollRightHoverAction),(0,k.registerEditorAction)(d.PageUpHoverAction),(0,k.registerEditorAction)(d.PageDownHoverAction),(0,k.registerEditorAction)(d.GoToTopHoverAction),(0,k.registerEditorAction)(d.GoToBottomHoverAction),(0,k.registerEditorAction)(d.IncreaseHoverVerbosityLevel),(0,k.registerEditorAction)(d.DecreaseHoverVerbosityLevel),y.HoverParticipantRegistry.register(m.MarkdownHoverParticipant),y.HoverParticipantRegistry.register(_.MarkerHoverParticipant),(0,E.registerThemingParticipant)((t,i)=>{const s=t.getColor(I.editorHoverBorder);s&&(i.addRule(`.monaco-editor .monaco-hover .hover-row:not(:first-child):not(:empty) { border-top: 1px solid ${s.transparent(.5)}; }`),i.addRule(`.monaco-editor .monaco-hover hr { border-top: 1px solid ${s.transparent(.5)}; }`),i.addRule(`.monaco-editor .monaco-hover hr { border-bottom: 0px solid ${s.transparent(.5)}; }`))}),n.AccessibleViewRegistry.register(new o.HoverAccessibleView),n.AccessibleViewRegistry.register(new o.HoverAccessibilityHelp),n.AccessibleViewRegistry.register(new o.ExtHoverAccessibleView)}),define(ne[851],se([1,0,15,84,431,432]),function(oe,e,d,k,I,E){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),(0,d.registerEditorContribution)(I.InlayHintsController.ID,I.InlayHintsController,1),k.HoverParticipantRegistry.register(E.InlayHintsHover)}),define(ne[433],se([1,0,2,17,838,837,7,58,29,12,20,209,4,277,430,9,18,36,79,5,341,77,289,334]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r,u,C,f){"use strict";var h;Object.defineProperty(e,"__esModule",{value:!0}),e.StickyScrollController=void 0;let v=class extends d.Disposable{static{h=this}static{this.ID="store.contrib.stickyScrollController"}constructor(S,L,D,T,M,A,P){super(),this._editor=S,this._contextMenuService=L,this._languageFeaturesService=D,this._instaService=T,this._contextKeyService=P,this._sessionStore=new d.DisposableStore,this._maxStickyLines=Number.MAX_SAFE_INTEGER,this._candidateDefinitionsLength=-1,this._focusedStickyElementIndex=-1,this._enabled=!1,this._focused=!1,this._positionRevealed=!1,this._onMouseDown=!1,this._endLineNumbers=[],this._stickyScrollWidget=new I.StickyScrollWidget(this._editor),this._stickyLineCandidateProvider=new E.StickyLineCandidateProvider(this._editor,D,M),this._register(this._stickyScrollWidget),this._register(this._stickyLineCandidateProvider),this._widgetState=I.StickyScrollWidgetState.Empty,this._onDidResize(),this._readConfiguration();const N=this._stickyScrollWidget.getDomNode();this._register(this._editor.onDidChangeConfiguration(F=>{this._readConfigurationChange(F)})),this._register(a.addDisposableListener(N,a.EventType.CONTEXT_MENU,async F=>{this._onContextMenu(a.getWindow(N),F)})),this._stickyScrollFocusedContextKey=p.EditorContextKeys.stickyScrollFocused.bindTo(this._contextKeyService),this._stickyScrollVisibleContextKey=p.EditorContextKeys.stickyScrollVisible.bindTo(this._contextKeyService);const O=this._register(a.trackFocus(N));this._register(O.onDidBlur(F=>{this._positionRevealed===!1&&N.clientHeight===0?(this._focusedStickyElementIndex=-1,this.focus()):this._disposeFocusStickyScrollStore()})),this._register(O.onDidFocus(F=>{this.focus()})),this._registerMouseListeners(),this._register(a.addDisposableListener(N,a.EventType.MOUSE_DOWN,F=>{this._onMouseDown=!0}))}static get(S){return S.getContribution(h.ID)}_disposeFocusStickyScrollStore(){this._stickyScrollFocusedContextKey.set(!1),this._focusDisposableStore?.dispose(),this._focused=!1,this._positionRevealed=!1,this._onMouseDown=!1}focus(){if(this._onMouseDown){this._onMouseDown=!1,this._editor.focus();return}this._stickyScrollFocusedContextKey.get()!==!0&&(this._focused=!0,this._focusDisposableStore=new d.DisposableStore,this._stickyScrollFocusedContextKey.set(!0),this._focusedStickyElementIndex=this._stickyScrollWidget.lineNumbers.length-1,this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex))}focusNext(){this._focusedStickyElementIndex0&&this._focusNav(!1)}selectEditor(){this._editor.focus()}_focusNav(S){this._focusedStickyElementIndex=S?this._focusedStickyElementIndex+1:this._focusedStickyElementIndex-1,this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex)}goToFocused(){const S=this._stickyScrollWidget.lineNumbers;this._disposeFocusStickyScrollStore(),this._revealPosition({lineNumber:S[this._focusedStickyElementIndex],column:1})}_revealPosition(S){this._reveaInEditor(S,()=>this._editor.revealPosition(S))}_revealLineInCenterIfOutsideViewport(S){this._reveaInEditor(S,()=>this._editor.revealLineInCenterIfOutsideViewport(S.lineNumber,0))}_reveaInEditor(S,L){this._focused&&this._disposeFocusStickyScrollStore(),this._positionRevealed=!0,L(),this._editor.setSelection(o.Range.fromPositions(S)),this._editor.focus()}_registerMouseListeners(){const S=this._register(new d.DisposableStore),L=this._register(new n.ClickLinkGesture(this._editor,{extractLineNumberFromMouseEvent:M=>{const A=this._stickyScrollWidget.getEditorPositionFromNode(M.target.element);return A?A.lineNumber:0}})),D=M=>{if(!this._editor.hasModel()||M.target.type!==12||M.target.detail!==this._stickyScrollWidget.getId())return null;const A=M.target.element;if(!A||A.innerText!==A.innerHTML)return null;const P=this._stickyScrollWidget.getEditorPositionFromNode(A);return P?{range:new o.Range(P.lineNumber,P.column,P.lineNumber,P.column+A.innerText.length),textElement:A}:null},T=this._stickyScrollWidget.getDomNode();this._register(a.addStandardDisposableListener(T,a.EventType.CLICK,M=>{if(M.ctrlKey||M.altKey||M.metaKey||!M.leftButton)return;if(M.shiftKey){const O=this._stickyScrollWidget.getLineIndexFromChildDomNode(M.target);if(O===null)return;const F=new s.Position(this._endLineNumbers[O],1);this._revealLineInCenterIfOutsideViewport(F);return}if(this._stickyScrollWidget.isInFoldingIconDomNode(M.target)){const O=this._stickyScrollWidget.getLineNumberFromChildDomNode(M.target);this._toggleFoldingRegionForLine(O);return}if(!this._stickyScrollWidget.isInStickyLine(M.target))return;let N=this._stickyScrollWidget.getEditorPositionFromNode(M.target);if(!N){const O=this._stickyScrollWidget.getLineNumberFromChildDomNode(M.target);if(O===null)return;N=new s.Position(O,1)}this._revealPosition(N)})),this._register(a.addStandardDisposableListener(T,a.EventType.MOUSE_MOVE,M=>{if(M.shiftKey){const A=this._stickyScrollWidget.getLineIndexFromChildDomNode(M.target);if(A===null||this._showEndForLine!==null&&this._showEndForLine===A)return;this._showEndForLine=A,this._renderStickyScroll();return}this._showEndForLine!==void 0&&(this._showEndForLine=void 0,this._renderStickyScroll())})),this._register(a.addDisposableListener(T,a.EventType.MOUSE_LEAVE,M=>{this._showEndForLine!==void 0&&(this._showEndForLine=void 0,this._renderStickyScroll())})),this._register(L.onMouseMoveOrRelevantKeyDown(([M,A])=>{const P=D(M);if(!P||!M.hasTriggerModifier||!this._editor.hasModel()){S.clear();return}const{range:N,textElement:O}=P;if(!N.equalsRange(this._stickyRangeProjectedOnEditor))this._stickyRangeProjectedOnEditor=N,S.clear();else if(O.style.textDecoration==="underline")return;const F=new g.CancellationTokenSource;S.add((0,d.toDisposable)(()=>F.dispose(!0)));let x;(0,t.getDefinitionsAtPosition)(this._languageFeaturesService.definitionProvider,this._editor.getModel(),new s.Position(N.startLineNumber,N.startColumn+1),!1,F.token).then(W=>{if(!F.token.isCancellationRequested)if(W.length!==0){this._candidateDefinitionsLength=W.length;const V=O;x!==V?(S.clear(),x=V,x.style.textDecoration="underline",S.add((0,d.toDisposable)(()=>{x.style.textDecoration="none"}))):x||(x=V,x.style.textDecoration="underline",S.add((0,d.toDisposable)(()=>{x.style.textDecoration="none"})))}else S.clear()})})),this._register(L.onCancel(()=>{S.clear()})),this._register(L.onExecute(async M=>{if(M.target.type!==12||M.target.detail!==this._stickyScrollWidget.getId())return;const A=this._stickyScrollWidget.getEditorPositionFromNode(M.target.element);A&&(!this._editor.hasModel()||!this._stickyRangeProjectedOnEditor||(this._candidateDefinitionsLength>1&&(this._focused&&this._disposeFocusStickyScrollStore(),this._revealPosition({lineNumber:A.lineNumber,column:1})),this._instaService.invokeFunction(i.goToDefinitionWithLocation,M,this._editor,{uri:this._editor.getModel().uri,range:this._stickyRangeProjectedOnEditor})))}))}_onContextMenu(S,L){const D=new u.StandardMouseEvent(S,L);this._contextMenuService.showContextMenu({menuId:_.MenuId.StickyScrollContext,getAnchor:()=>D})}_toggleFoldingRegionForLine(S){if(!this._foldingModel||S===null)return;const L=this._stickyScrollWidget.getRenderedStickyLine(S),D=L?.foldingIcon;if(!D)return;(0,f.toggleCollapseState)(this._foldingModel,Number.MAX_VALUE,[S]),D.isCollapsed=!D.isCollapsed;const T=(D.isCollapsed?this._editor.getTopForLineNumber(D.foldingEndLine):this._editor.getTopForLineNumber(D.foldingStartLine))-this._editor.getOption(67)*L.index+1;this._editor.setScrollTop(T),this._renderStickyScroll(S)}_readConfiguration(){const S=this._editor.getOption(116);if(S.enabled===!1){this._editor.removeOverlayWidget(this._stickyScrollWidget),this._sessionStore.clear(),this._enabled=!1;return}else S.enabled&&!this._enabled&&(this._editor.addOverlayWidget(this._stickyScrollWidget),this._sessionStore.add(this._editor.onDidScrollChange(D=>{D.scrollTopChanged&&(this._showEndForLine=void 0,this._renderStickyScroll())})),this._sessionStore.add(this._editor.onDidLayoutChange(()=>this._onDidResize())),this._sessionStore.add(this._editor.onDidChangeModelTokens(D=>this._onTokensChange(D))),this._sessionStore.add(this._stickyLineCandidateProvider.onDidChangeStickyScroll(()=>{this._showEndForLine=void 0,this._renderStickyScroll()})),this._enabled=!0);this._editor.getOption(68).renderType===2&&this._sessionStore.add(this._editor.onDidChangeCursorPosition(()=>{this._showEndForLine=void 0,this._renderStickyScroll(0)}))}_readConfigurationChange(S){(S.hasChanged(116)||S.hasChanged(73)||S.hasChanged(67)||S.hasChanged(111)||S.hasChanged(68))&&this._readConfiguration(),S.hasChanged(68)&&this._renderStickyScroll(0)}_needsUpdate(S){const L=this._stickyScrollWidget.getCurrentLines();for(const D of L)for(const T of S.ranges)if(D>=T.fromLineNumber&&D<=T.toLineNumber)return!0;return!1}_onTokensChange(S){this._needsUpdate(S)&&this._renderStickyScroll(0)}_onDidResize(){const L=this._editor.getLayoutInfo().height/this._editor.getOption(67);this._maxStickyLines=Math.round(L*.25)}async _renderStickyScroll(S){const L=this._editor.getModel();if(!L||L.isTooLargeForTokenization()){this._resetState();return}const D=this._updateAndGetMinRebuildFromLine(S),T=this._stickyLineCandidateProvider.getVersionId();if(T===void 0||T===L.getVersionId())if(!this._focused)await this._updateState(D);else if(this._focusedStickyElementIndex===-1)await this._updateState(D),this._focusedStickyElementIndex=this._stickyScrollWidget.lineNumberCount-1,this._focusedStickyElementIndex!==-1&&this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex);else{const A=this._stickyScrollWidget.lineNumbers[this._focusedStickyElementIndex];await this._updateState(D),this._stickyScrollWidget.lineNumberCount===0?this._focusedStickyElementIndex=-1:(this._stickyScrollWidget.lineNumbers.includes(A)||(this._focusedStickyElementIndex=this._stickyScrollWidget.lineNumberCount-1),this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex))}}_updateAndGetMinRebuildFromLine(S){if(S!==void 0){const L=this._minRebuildFromLine!==void 0?this._minRebuildFromLine:1/0;this._minRebuildFromLine=Math.min(S,L)}return this._minRebuildFromLine}async _updateState(S){this._minRebuildFromLine=void 0,this._foldingModel=await C.FoldingController.get(this._editor)?.getFoldingModel()??void 0,this._widgetState=this.findScrollWidgetState();const L=this._widgetState.startLineNumbers.length>0;this._stickyScrollVisibleContextKey.set(L),this._stickyScrollWidget.setState(this._widgetState,this._foldingModel,S)}async _resetState(){this._minRebuildFromLine=void 0,this._foldingModel=void 0,this._widgetState=I.StickyScrollWidgetState.Empty,this._stickyScrollVisibleContextKey.set(!1),this._stickyScrollWidget.setState(void 0,void 0)}findScrollWidgetState(){const S=this._editor.getOption(67),L=Math.min(this._maxStickyLines,this._editor.getOption(116).maxLineCount),D=this._editor.getScrollTop();let T=0;const M=[],A=[],P=this._editor.getVisibleRanges();if(P.length!==0){const N=new r.StickyRange(P[0].startLineNumber,P[P.length-1].endLineNumber),O=this._stickyLineCandidateProvider.getCandidateStickyLinesIntersecting(N);for(const F of O){const x=F.startLineNumber,W=F.endLineNumber,V=F.nestingDepth;if(W-x>0){const q=(V-1)*S,H=V*S,z=this._editor.getBottomForLineNumber(x)-D,U=this._editor.getTopForLineNumber(W)-D,j=this._editor.getBottomForLineNumber(W)-D;if(q>U&&q<=j){M.push(x),A.push(W+1),T=j-H;break}else H>z&&H<=j&&(M.push(x),A.push(W+1));if(M.length===L)break}}}return this._endLineNumbers=A,new I.StickyScrollWidgetState(M,A,T,this._showEndForLine)}dispose(){super.dispose(),this._sessionStore.dispose()}};e.StickyScrollController=v,e.StickyScrollController=v=h=ke([ce(1,m.IContextMenuService),ce(2,k.ILanguageFeaturesService),ce(3,y.IInstantiationService),ce(4,c.ILanguageConfigurationService),ce(5,l.ILanguageFeatureDebounceService),ce(6,b.IContextKeyService)],v)}),define(ne[852],se([1,0,15,3,671,29,28,12,20,433]),function(oe,e,d,k,I,E,y,m,_,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SelectEditor=e.GoToStickyScrollLine=e.SelectPreviousStickyScrollLine=e.SelectNextStickyScrollLine=e.FocusStickyScroll=e.ToggleStickyScroll=void 0;class p extends E.Action2{constructor(){super({id:"editor.action.toggleStickyScroll",title:{...(0,k.localize2)(1303,"Toggle Editor Sticky Scroll"),mnemonicTitle:(0,k.localize)(1299,"&&Toggle Editor Sticky Scroll")},metadata:{description:(0,k.localize2)(1304,"Toggle/enable the editor sticky scroll which shows the nested scopes at the top of the viewport")},category:I.Categories.View,toggled:{condition:m.ContextKeyExpr.equals("config.editor.stickyScroll.enabled",!0),title:(0,k.localize)(1300,"Sticky Scroll"),mnemonicTitle:(0,k.localize)(1301,"&&Sticky Scroll")},menu:[{id:E.MenuId.CommandPalette},{id:E.MenuId.MenubarAppearanceMenu,group:"4_editor",order:3},{id:E.MenuId.StickyScrollContext}]})}async run(l){const a=l.get(y.IConfigurationService),r=!a.getValue("editor.stickyScroll.enabled");return a.updateValue("editor.stickyScroll.enabled",r)}}e.ToggleStickyScroll=p;const n=100;class o extends d.EditorAction2{constructor(){super({id:"editor.action.focusStickyScroll",title:{...(0,k.localize2)(1305,"Focus on the editor sticky scroll"),mnemonicTitle:(0,k.localize)(1302,"&&Focus Sticky Scroll")},precondition:m.ContextKeyExpr.and(m.ContextKeyExpr.has("config.editor.stickyScroll.enabled"),_.EditorContextKeys.stickyScrollVisible),menu:[{id:E.MenuId.CommandPalette}]})}runEditorCommand(l,a){b.StickyScrollController.get(a)?.focus()}}e.FocusStickyScroll=o;class t extends d.EditorAction2{constructor(){super({id:"editor.action.selectNextStickyScrollLine",title:(0,k.localize2)(1306,"Select the next editor sticky scroll line"),precondition:_.EditorContextKeys.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:n,primary:18}})}runEditorCommand(l,a){b.StickyScrollController.get(a)?.focusNext()}}e.SelectNextStickyScrollLine=t;class i extends d.EditorAction2{constructor(){super({id:"editor.action.selectPreviousStickyScrollLine",title:(0,k.localize2)(1307,"Select the previous sticky scroll line"),precondition:_.EditorContextKeys.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:n,primary:16}})}runEditorCommand(l,a){b.StickyScrollController.get(a)?.focusPrevious()}}e.SelectPreviousStickyScrollLine=i;class s extends d.EditorAction2{constructor(){super({id:"editor.action.goToFocusedStickyScrollLine",title:(0,k.localize2)(1308,"Go to the focused sticky scroll line"),precondition:_.EditorContextKeys.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:n,primary:3}})}runEditorCommand(l,a){b.StickyScrollController.get(a)?.goToFocused()}}e.GoToStickyScrollLine=s;class g extends d.EditorAction2{constructor(){super({id:"editor.action.selectEditor",title:(0,k.localize2)(1309,"Select Editor"),precondition:_.EditorContextKeys.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:n,primary:9}})}runEditorCommand(l,a){b.StickyScrollController.get(a)?.selectEditor()}}e.SelectEditor=g}),define(ne[853],se([1,0,15,852,433,29]),function(oe,e,d,k,I,E){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),(0,d.registerEditorContribution)(I.StickyScrollController.ID,I.StickyScrollController,1),(0,E.registerAction2)(k.ToggleStickyScroll),(0,E.registerAction2)(k.FocusStickyScroll),(0,E.registerAction2)(k.SelectPreviousStickyScrollLine),(0,E.registerAction2)(k.SelectNextStickyScrollLine),(0,E.registerAction2)(k.GoToStickyScrollLine),(0,E.registerAction2)(k.SelectEditor)}),define(ne[854],se([1,0,15,34,428,28,12,7,50,101]),function(oe,e,d,k,I,E,y,m,_,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.StandaloneReferencesController=void 0;let p=class extends I.ReferencesController{constructor(o,t,i,s,g,c,l){super(!0,o,t,i,s,g,c,l)}};e.StandaloneReferencesController=p,e.StandaloneReferencesController=p=ke([ce(1,y.IContextKeyService),ce(2,k.ICodeEditorService),ce(3,_.INotificationService),ce(4,m.IInstantiationService),ce(5,b.IStorageService),ce(6,E.IConfigurationService)],p),(0,d.registerEditorContribution)(I.ReferencesController.ID,p,4)}),define(ne[855],se([1,0,8,2,42,111,3,180,49,50,284]),function(oe,e,d,k,I,E,y,m,_,b,p){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.UndoRedoService=void 0;const n=!1;function o(f){return f.scheme===I.Schemas.file?f.fsPath:f.path}let t=0;class i{constructor(h,v,w,S,L,D,T){this.id=++t,this.type=0,this.actual=h,this.label=h.label,this.confirmBeforeUndo=h.confirmBeforeUndo||!1,this.resourceLabel=v,this.strResource=w,this.resourceLabels=[this.resourceLabel],this.strResources=[this.strResource],this.groupId=S,this.groupOrder=L,this.sourceId=D,this.sourceOrder=T,this.isValid=!0}setValid(h){this.isValid=h}toString(){return`[id:${this.id}] [group:${this.groupId}] [${this.isValid?" VALID":"INVALID"}] ${this.actual.constructor.name} - ${this.actual}`}}class s{constructor(h,v){this.resourceLabel=h,this.reason=v}}class g{constructor(){this.elements=new Map}createMessage(){const h=[],v=[];for(const[,S]of this.elements)(S.reason===0?h:v).push(S.resourceLabel);const w=[];return h.length>0&&w.push(y.localize(1843,"The following files have been closed and modified on disk: {0}.",h.join(", "))),v.length>0&&w.push(y.localize(1844,"The following files have been modified in an incompatible way: {0}.",v.join(", "))),w.join(` +`)}get size(){return this.elements.size}has(h){return this.elements.has(h)}set(h,v){this.elements.set(h,v)}delete(h){return this.elements.delete(h)}}class c{constructor(h,v,w,S,L,D,T){this.id=++t,this.type=1,this.actual=h,this.label=h.label,this.confirmBeforeUndo=h.confirmBeforeUndo||!1,this.resourceLabels=v,this.strResources=w,this.groupId=S,this.groupOrder=L,this.sourceId=D,this.sourceOrder=T,this.removedResources=null,this.invalidatedResources=null}canSplit(){return typeof this.actual.split=="function"}removeResource(h,v,w){this.removedResources||(this.removedResources=new g),this.removedResources.has(v)||this.removedResources.set(v,new s(h,w))}setValid(h,v,w){w?this.invalidatedResources&&(this.invalidatedResources.delete(v),this.invalidatedResources.size===0&&(this.invalidatedResources=null)):(this.invalidatedResources||(this.invalidatedResources=new g),this.invalidatedResources.has(v)||this.invalidatedResources.set(v,new s(h,0)))}toString(){return`[id:${this.id}] [group:${this.groupId}] [${this.invalidatedResources?"INVALID":" VALID"}] ${this.actual.constructor.name} - ${this.actual}`}}class l{constructor(h,v){this.resourceLabel=h,this.strResource=v,this._past=[],this._future=[],this.locked=!1,this.versionId=1}dispose(){for(const h of this._past)h.type===1&&h.removeResource(this.resourceLabel,this.strResource,0);for(const h of this._future)h.type===1&&h.removeResource(this.resourceLabel,this.strResource,0);this.versionId++}toString(){const h=[];h.push(`* ${this.strResource}:`);for(let v=0;v=0;v--)h.push(` * [REDO] ${this._future[v]}`);return h.join(` +`)}flushAllElements(){this._past=[],this._future=[],this.versionId++}_setElementValidFlag(h,v){h.type===1?h.setValid(this.resourceLabel,this.strResource,v):h.setValid(v)}setElementsValidFlag(h,v){for(const w of this._past)v(w.actual)&&this._setElementValidFlag(w,h);for(const w of this._future)v(w.actual)&&this._setElementValidFlag(w,h)}pushElement(h){for(const v of this._future)v.type===1&&v.removeResource(this.resourceLabel,this.strResource,1);this._future=[],this._past.push(h),this.versionId++}createSnapshot(h){const v=[];for(let w=0,S=this._past.length;w=0;w--)v.push(this._future[w].id);return new p.ResourceEditStackSnapshot(h,v)}restoreSnapshot(h){const v=h.elements.length;let w=!0,S=0,L=-1;for(let T=0,M=this._past.length;T=v||A.id!==h.elements[S])&&(w=!1,L=0),!w&&A.type===1&&A.removeResource(this.resourceLabel,this.strResource,0)}let D=-1;for(let T=this._future.length-1;T>=0;T--,S++){const M=this._future[T];w&&(S>=v||M.id!==h.elements[S])&&(w=!1,D=T),!w&&M.type===1&&M.removeResource(this.resourceLabel,this.strResource,0)}L!==-1&&(this._past=this._past.slice(0,L)),D!==-1&&(this._future=this._future.slice(D+1)),this.versionId++}getElements(){const h=[],v=[];for(const w of this._past)h.push(w.actual);for(const w of this._future)v.push(w.actual);return{past:h,future:v}}getClosestPastElement(){return this._past.length===0?null:this._past[this._past.length-1]}getSecondClosestPastElement(){return this._past.length<2?null:this._past[this._past.length-2]}getClosestFutureElement(){return this._future.length===0?null:this._future[this._future.length-1]}hasPastElements(){return this._past.length>0}hasFutureElements(){return this._future.length>0}splitPastWorkspaceElement(h,v){for(let w=this._past.length-1;w>=0;w--)if(this._past[w]===h){v.has(this.strResource)?this._past[w]=v.get(this.strResource):this._past.splice(w,1);break}this.versionId++}splitFutureWorkspaceElement(h,v){for(let w=this._future.length-1;w>=0;w--)if(this._future[w]===h){v.has(this.strResource)?this._future[w]=v.get(this.strResource):this._future.splice(w,1);break}this.versionId++}moveBackward(h){this._past.pop(),this._future.push(h),this.versionId++}moveForward(h){this._future.pop(),this._past.push(h),this.versionId++}}class a{constructor(h){this.editStacks=h,this._versionIds=[];for(let v=0,w=this.editStacks.length;vv.sourceOrder)&&(v=D,w=S)}return[v,w]}canUndo(h){if(h instanceof p.UndoRedoSource){const[,w]=this._findClosestUndoElementWithSource(h.id);return!!w}const v=this.getUriComparisonKey(h);return this._editStacks.has(v)?this._editStacks.get(v).hasPastElements():!1}_onError(h,v){(0,d.onUnexpectedError)(h);for(const w of v.strResources)this.removeElements(w);this._notificationService.error(h)}_acquireLocks(h){for(const v of h.editStacks)if(v.locked)throw new Error("Cannot acquire edit stack lock");for(const v of h.editStacks)v.locked=!0;return()=>{for(const v of h.editStacks)v.locked=!1}}_safeInvokeWithLocks(h,v,w,S,L){const D=this._acquireLocks(w);let T;try{T=v()}catch(M){return D(),S.dispose(),this._onError(M,h)}return T?T.then(()=>(D(),S.dispose(),L()),M=>(D(),S.dispose(),this._onError(M,h))):(D(),S.dispose(),L())}async _invokeWorkspacePrepare(h){if(typeof h.actual.prepareUndoRedo>"u")return k.Disposable.None;const v=h.actual.prepareUndoRedo();return typeof v>"u"?k.Disposable.None:v}_invokeResourcePrepare(h,v){if(h.actual.type!==1||typeof h.actual.prepareUndoRedo>"u")return v(k.Disposable.None);const w=h.actual.prepareUndoRedo();return w?(0,k.isDisposable)(w)?v(w):w.then(S=>v(S)):v(k.Disposable.None)}_getAffectedEditStacks(h){const v=[];for(const w of h.strResources)v.push(this._editStacks.get(w)||r);return new a(v)}_tryToSplitAndUndo(h,v,w,S){if(v.canSplit())return this._splitPastWorkspaceElement(v,w),this._notificationService.warn(S),new C(this._undo(h,0,!0));for(const L of v.strResources)this.removeElements(L);return this._notificationService.warn(S),new C}_checkWorkspaceUndo(h,v,w,S){if(v.removedResources)return this._tryToSplitAndUndo(h,v,v.removedResources,y.localize(1845,"Could not undo '{0}' across all files. {1}",v.label,v.removedResources.createMessage()));if(S&&v.invalidatedResources)return this._tryToSplitAndUndo(h,v,v.invalidatedResources,y.localize(1846,"Could not undo '{0}' across all files. {1}",v.label,v.invalidatedResources.createMessage()));const L=[];for(const T of w.editStacks)T.getClosestPastElement()!==v&&L.push(T.resourceLabel);if(L.length>0)return this._tryToSplitAndUndo(h,v,null,y.localize(1847,"Could not undo '{0}' across all files because changes were made to {1}",v.label,L.join(", ")));const D=[];for(const T of w.editStacks)T.locked&&D.push(T.resourceLabel);return D.length>0?this._tryToSplitAndUndo(h,v,null,y.localize(1848,"Could not undo '{0}' across all files because there is already an undo or redo operation running on {1}",v.label,D.join(", "))):w.isValid()?null:this._tryToSplitAndUndo(h,v,null,y.localize(1849,"Could not undo '{0}' across all files because an undo or redo operation occurred in the meantime",v.label))}_workspaceUndo(h,v,w){const S=this._getAffectedEditStacks(v),L=this._checkWorkspaceUndo(h,v,S,!1);return L?L.returnValue:this._confirmAndExecuteWorkspaceUndo(h,v,S,w)}_isPartOfUndoGroup(h){if(!h.groupId)return!1;for(const[,v]of this._editStacks){const w=v.getClosestPastElement();if(w){if(w===h){const S=v.getSecondClosestPastElement();if(S&&S.groupId===h.groupId)return!0}if(w.groupId===h.groupId)return!0}}return!1}async _confirmAndExecuteWorkspaceUndo(h,v,w,S){if(v.canSplit()&&!this._isPartOfUndoGroup(v)){let T;(function(P){P[P.All=0]="All",P[P.This=1]="This",P[P.Cancel=2]="Cancel"})(T||(T={}));const{result:M}=await this._dialogService.prompt({type:E.default.Info,message:y.localize(1850,"Would you like to undo '{0}' across all files?",v.label),buttons:[{label:y.localize(1851,"&&Undo in {0} Files",w.editStacks.length),run:()=>T.All},{label:y.localize(1852,"Undo this &&File"),run:()=>T.This}],cancelButton:{run:()=>T.Cancel}});if(M===T.Cancel)return;if(M===T.This)return this._splitPastWorkspaceElement(v,null),this._undo(h,0,!0);const A=this._checkWorkspaceUndo(h,v,w,!1);if(A)return A.returnValue;S=!0}let L;try{L=await this._invokeWorkspacePrepare(v)}catch(T){return this._onError(T,v)}const D=this._checkWorkspaceUndo(h,v,w,!0);if(D)return L.dispose(),D.returnValue;for(const T of w.editStacks)T.moveBackward(v);return this._safeInvokeWithLocks(v,()=>v.actual.undo(),w,L,()=>this._continueUndoInGroup(v.groupId,S))}_resourceUndo(h,v,w){if(!v.isValid){h.flushAllElements();return}if(h.locked){const S=y.localize(1853,"Could not undo '{0}' because there is already an undo or redo operation running.",v.label);this._notificationService.warn(S);return}return this._invokeResourcePrepare(v,S=>(h.moveBackward(v),this._safeInvokeWithLocks(v,()=>v.actual.undo(),new a([h]),S,()=>this._continueUndoInGroup(v.groupId,w))))}_findClosestUndoElementInGroup(h){if(!h)return[null,null];let v=null,w=null;for(const[S,L]of this._editStacks){const D=L.getClosestPastElement();D&&D.groupId===h&&(!v||D.groupOrder>v.groupOrder)&&(v=D,w=S)}return[v,w]}_continueUndoInGroup(h,v){if(!h)return;const[,w]=this._findClosestUndoElementInGroup(h);if(w)return this._undo(w,0,v)}undo(h){if(h instanceof p.UndoRedoSource){const[,v]=this._findClosestUndoElementWithSource(h.id);return v?this._undo(v,h.id,!1):void 0}return typeof h=="string"?this._undo(h,0,!1):this._undo(this.getUriComparisonKey(h),0,!1)}_undo(h,v=0,w){if(!this._editStacks.has(h))return;const S=this._editStacks.get(h),L=S.getClosestPastElement();if(!L)return;if(L.groupId){const[T,M]=this._findClosestUndoElementInGroup(L.groupId);if(L!==T&&M)return this._undo(M,v,w)}if((L.sourceId!==v||L.confirmBeforeUndo)&&!w)return this._confirmAndContinueUndo(h,v,L);try{return L.type===1?this._workspaceUndo(h,L,w):this._resourceUndo(S,L,w)}finally{n&&this._print("undo")}}async _confirmAndContinueUndo(h,v,w){if((await this._dialogService.confirm({message:y.localize(1854,"Would you like to undo '{0}'?",w.label),primaryButton:y.localize(1855,"&&Yes"),cancelButton:y.localize(1856,"No")})).confirmed)return this._undo(h,v,!0)}_findClosestRedoElementWithSource(h){if(!h)return[null,null];let v=null,w=null;for(const[S,L]of this._editStacks){const D=L.getClosestFutureElement();D&&D.sourceId===h&&(!v||D.sourceOrder0)return this._tryToSplitAndRedo(h,v,null,y.localize(1859,"Could not redo '{0}' across all files because changes were made to {1}",v.label,L.join(", ")));const D=[];for(const T of w.editStacks)T.locked&&D.push(T.resourceLabel);return D.length>0?this._tryToSplitAndRedo(h,v,null,y.localize(1860,"Could not redo '{0}' across all files because there is already an undo or redo operation running on {1}",v.label,D.join(", "))):w.isValid()?null:this._tryToSplitAndRedo(h,v,null,y.localize(1861,"Could not redo '{0}' across all files because an undo or redo operation occurred in the meantime",v.label))}_workspaceRedo(h,v){const w=this._getAffectedEditStacks(v),S=this._checkWorkspaceRedo(h,v,w,!1);return S?S.returnValue:this._executeWorkspaceRedo(h,v,w)}async _executeWorkspaceRedo(h,v,w){let S;try{S=await this._invokeWorkspacePrepare(v)}catch(D){return this._onError(D,v)}const L=this._checkWorkspaceRedo(h,v,w,!0);if(L)return S.dispose(),L.returnValue;for(const D of w.editStacks)D.moveForward(v);return this._safeInvokeWithLocks(v,()=>v.actual.redo(),w,S,()=>this._continueRedoInGroup(v.groupId))}_resourceRedo(h,v){if(!v.isValid){h.flushAllElements();return}if(h.locked){const w=y.localize(1862,"Could not redo '{0}' because there is already an undo or redo operation running.",v.label);this._notificationService.warn(w);return}return this._invokeResourcePrepare(v,w=>(h.moveForward(v),this._safeInvokeWithLocks(v,()=>v.actual.redo(),new a([h]),w,()=>this._continueRedoInGroup(v.groupId))))}_findClosestRedoElementInGroup(h){if(!h)return[null,null];let v=null,w=null;for(const[S,L]of this._editStacks){const D=L.getClosestFutureElement();D&&D.groupId===h&&(!v||D.groupOrder"u")return typeof i=="string"?{id:(0,k.basename)(i)}:s?e.EXTENSION_DEVELOPMENT_EMPTY_WINDOW_WORKSPACE:e.UNKNOWN_EMPTY_WINDOW_WORKSPACE;const g=i;return g.configuration?{id:g.id,configPath:g.configuration}:g.folders.length===1?{id:g.id,uri:g.folders[0].uri}:{id:g.id}}function p(i){const s=i;return typeof s?.id=="string"&&E.URI.isUri(s.configPath)}class n{constructor(s,g,c,l,a){this._id=s,this._transient=c,this._configuration=l,this._ignorePathCasing=a,this._foldersMap=I.TernarySearchTree.forUris(this._ignorePathCasing,()=>!0),this.folders=g}get folders(){return this._folders}set folders(s){this._folders=s,this.updateFoldersMap()}get id(){return this._id}get transient(){return this._transient}get configuration(){return this._configuration}set configuration(s){this._configuration=s}getFolder(s){return s&&this._foldersMap.findSubstr(s)||null}updateFoldersMap(){this._foldersMap=I.TernarySearchTree.forUris(this._ignorePathCasing,()=>!0);for(const s of this.folders)this._foldersMap.set(s.uri,s)}toJSON(){return{id:this.id,folders:this.folders,transient:this.transient,configuration:this.configuration}}}e.Workspace=n;class o{constructor(s,g){this.raw=g,this.uri=s.uri,this.index=s.index,this.name=s.name}toJSON(){return{uri:this.uri,name:this.name,index:this.index}}}e.WorkspaceFolder=o,e.WORKSPACE_EXTENSION="code-workspace",e.WORKSPACE_FILTER=[{name:(0,d.localize)(1863,"Code Workspace"),extensions:[e.WORKSPACE_EXTENSION]}],e.STANDALONE_EDITOR_WORKSPACE_ID="4064f6ec-cb38-4ad0-af64-ee6467e63c82";function t(i){return i.id===e.STANDALONE_EDITOR_WORKSPACE_ID}}),define(ne[434],se([1,0,5,151,41,2,16,15,20,3,29,12,58,31,28,186]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s){"use strict";var g;Object.defineProperty(e,"__esModule",{value:!0}),e.ContextMenuController=void 0;let c=class{static{g=this}static{this.ID="editor.contrib.contextmenu"}static get(r){return r.getContribution(g.ID)}constructor(r,u,C,f,h,v,w,S){this._contextMenuService=u,this._contextViewService=C,this._contextKeyService=f,this._keybindingService=h,this._menuService=v,this._configurationService=w,this._workspaceContextService=S,this._toDispose=new E.DisposableStore,this._contextMenuIsBeingShownCount=0,this._editor=r,this._toDispose.add(this._editor.onContextMenu(L=>this._onContextMenu(L))),this._toDispose.add(this._editor.onMouseWheel(L=>{if(this._contextMenuIsBeingShownCount>0){const D=this._contextViewService.getContextViewElement(),T=L.srcElement;T.shadowRoot&&d.getShadowRoot(D)===T.shadowRoot||this._contextViewService.hideContextView()}})),this._toDispose.add(this._editor.onKeyDown(L=>{this._editor.getOption(24)&&L.keyCode===58&&(L.preventDefault(),L.stopPropagation(),this.showContextMenu())}))}_onContextMenu(r){if(!this._editor.hasModel())return;if(!this._editor.getOption(24)){this._editor.focus(),r.target.position&&!this._editor.getSelection().containsPosition(r.target.position)&&this._editor.setPosition(r.target.position);return}if(r.target.type===12||r.target.type===6&&r.target.detail.injectedText)return;if(r.event.preventDefault(),r.event.stopPropagation(),r.target.type===11)return this._showScrollbarContextMenu(r.event);if(r.target.type!==6&&r.target.type!==7&&r.target.type!==1)return;if(this._editor.focus(),r.target.position){let C=!1;for(const f of this._editor.getSelections())if(f.containsPosition(r.target.position)){C=!0;break}C||this._editor.setPosition(r.target.position)}let u=null;r.target.type!==1&&(u=r.event),this.showContextMenu(u)}showContextMenu(r){if(!this._editor.getOption(24)||!this._editor.hasModel())return;const u=this._getMenuActions(this._editor.getModel(),this._editor.contextMenuId);u.length>0&&this._doShowContextMenu(u,r)}_getMenuActions(r,u){const C=[],f=this._menuService.getMenuActions(u,this._contextKeyService,{arg:r.uri});for(const h of f){const[,v]=h;let w=0;for(const S of v)if(S instanceof p.SubmenuItemAction){const L=this._getMenuActions(r,S.item.submenu);L.length>0&&(C.push(new I.SubmenuAction(S.id,S.label,L)),w++)}else C.push(S),w++;w&&C.push(new I.Separator)}return C.length&&C.pop(),C}_doShowContextMenu(r,u=null){if(!this._editor.hasModel())return;const C=this._editor.getOption(60);this._editor.updateOptions({hover:{enabled:!1}});let f=u;if(!f){this._editor.revealPosition(this._editor.getPosition(),1),this._editor.render();const v=this._editor.getScrolledVisiblePosition(this._editor.getPosition()),w=d.getDomNodePagePosition(this._editor.getDomNode()),S=w.left+v.left,L=w.top+v.top+v.height;f={x:S,y:L}}const h=this._editor.getOption(128)&&!y.isIOS;this._contextMenuIsBeingShownCount++,this._contextMenuService.showContextMenu({domForShadowRoot:h?this._editor.getOverflowWidgetsDomNode()??this._editor.getDomNode():void 0,getAnchor:()=>f,getActions:()=>r,getActionViewItem:v=>{const w=this._keybindingFor(v);if(w)return new k.ActionViewItem(v,v,{label:!0,keybinding:w.getLabel(),isMenu:!0});const S=v;return typeof S.getActionViewItem=="function"?S.getActionViewItem():new k.ActionViewItem(v,v,{icon:!0,label:!0,isMenu:!0})},getKeyBinding:v=>this._keybindingFor(v),onHide:v=>{this._contextMenuIsBeingShownCount--,this._editor.updateOptions({hover:C})}})}_showScrollbarContextMenu(r){if(!this._editor.hasModel()||(0,s.isStandaloneEditorWorkspace)(this._workspaceContextService.getWorkspace()))return;const u=this._editor.getOption(73);let C=0;const f=L=>({id:`menu-action-${++C}`,label:L.label,tooltip:"",class:void 0,enabled:typeof L.enabled>"u"?!0:L.enabled,checked:L.checked,run:L.run}),h=(L,D)=>new I.SubmenuAction(`menu-action-${++C}`,L,D,void 0),v=(L,D,T,M,A)=>{if(!D)return f({label:L,enabled:D,run:()=>{}});const P=O=>()=>{this._configurationService.updateValue(T,O)},N=[];for(const O of A)N.push(f({label:O.label,checked:M===O.value,run:P(O.value)}));return h(L,N)},w=[];w.push(f({label:b.localize(811,"Minimap"),checked:u.enabled,run:()=>{this._configurationService.updateValue("editor.minimap.enabled",!u.enabled)}})),w.push(new I.Separator),w.push(f({label:b.localize(812,"Render Characters"),enabled:u.enabled,checked:u.renderCharacters,run:()=>{this._configurationService.updateValue("editor.minimap.renderCharacters",!u.renderCharacters)}})),w.push(v(b.localize(813,"Vertical size"),u.enabled,"editor.minimap.size",u.size,[{label:b.localize(814,"Proportional"),value:"proportional"},{label:b.localize(815,"Fill"),value:"fill"},{label:b.localize(816,"Fit"),value:"fit"}])),w.push(v(b.localize(817,"Slider"),u.enabled,"editor.minimap.showSlider",u.showSlider,[{label:b.localize(818,"Mouse Over"),value:"mouseover"},{label:b.localize(819,"Always"),value:"always"}]));const S=this._editor.getOption(128)&&!y.isIOS;this._contextMenuIsBeingShownCount++,this._contextMenuService.showContextMenu({domForShadowRoot:S?this._editor.getDomNode():void 0,getAnchor:()=>r,getActions:()=>w,onHide:L=>{this._contextMenuIsBeingShownCount--,this._editor.focus()}})}_keybindingFor(r){return this._keybindingService.lookupKeybinding(r.id)}dispose(){this._contextMenuIsBeingShownCount>0&&this._contextViewService.hideContextView(),this._toDispose.dispose()}};e.ContextMenuController=c,e.ContextMenuController=c=g=ke([ce(1,o.IContextMenuService),ce(2,o.IContextViewService),ce(3,n.IContextKeyService),ce(4,t.IKeybindingService),ce(5,p.IMenuService),ce(6,i.IConfigurationService),ce(7,s.IWorkspaceContextService)],c);class l extends m.EditorAction{constructor(){super({id:"editor.action.showContextMenu",label:b.localize(820,"Show Editor Context Menu"),alias:"Show Editor Context Menu",precondition:void 0,kbOpts:{kbExpr:_.EditorContextKeys.textInputFocus,primary:1092,weight:100}})}run(r,u){c.get(u)?.showContextMenu()}}(0,m.registerEditorContribution)(c.ID,c,2),(0,m.registerEditorAction)(l)}),define(ne[293],se([1,0,13,194,91,2,128,42,48,22,27,17,3,186]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DefaultPasteProvidersFeature=e.DefaultDropProvidersFeature=e.DefaultTextPasteOrDropEditProvider=void 0;class i{async provideDocumentPasteEdits(f,h,v,w,S){const L=await this.getEdit(v,S);if(L)return{edits:[{insertText:L.insertText,title:L.title,kind:L.kind,handledMimeType:L.handledMimeType,yieldTo:L.yieldTo}],dispose(){}}}async provideDocumentDropEdits(f,h,v,w){const S=await this.getEdit(v,w);if(S)return{edits:[{insertText:S.insertText,title:S.title,kind:S.kind,handledMimeType:S.handledMimeType,yieldTo:S.yieldTo}],dispose(){}}}}class s extends i{constructor(){super(...arguments),this.kind=s.kind,this.dropMimeTypes=[y.Mimes.text],this.pasteMimeTypes=[y.Mimes.text]}static{this.id="text"}static{this.kind=new I.HierarchicalKind("text.plain")}async getEdit(f,h){const v=f.get(y.Mimes.text);if(!v||f.has(y.Mimes.uriList))return;const w=await v.asString();return{handledMimeType:y.Mimes.text,title:(0,o.localize)(833,"Insert Plain Text"),insertText:w,kind:this.kind}}}e.DefaultTextPasteOrDropEditProvider=s;class g extends i{constructor(){super(...arguments),this.kind=new I.HierarchicalKind("uri.absolute"),this.dropMimeTypes=[y.Mimes.uriList],this.pasteMimeTypes=[y.Mimes.uriList]}async getEdit(f,h){const v=await a(f);if(!v.length||h.isCancellationRequested)return;let w=0;const S=v.map(({uri:D,originalText:T})=>D.scheme===m.Schemas.file?D.fsPath:(w++,T)).join(" ");let L;return w>0?L=v.length>1?(0,o.localize)(834,"Insert Uris"):(0,o.localize)(835,"Insert Uri"):L=v.length>1?(0,o.localize)(836,"Insert Paths"):(0,o.localize)(837,"Insert Path"),{handledMimeType:y.Mimes.uriList,insertText:S,title:L,kind:this.kind}}}let c=class extends i{constructor(f){super(),this._workspaceContextService=f,this.kind=new I.HierarchicalKind("uri.relative"),this.dropMimeTypes=[y.Mimes.uriList],this.pasteMimeTypes=[y.Mimes.uriList]}async getEdit(f,h){const v=await a(f);if(!v.length||h.isCancellationRequested)return;const w=(0,d.coalesce)(v.map(({uri:S})=>{const L=this._workspaceContextService.getWorkspaceFolder(S);return L?(0,_.relativePath)(L.uri,S):void 0}));if(w.length)return{handledMimeType:y.Mimes.uriList,insertText:w.join(" "),title:v.length>1?(0,o.localize)(838,"Insert Relative Paths"):(0,o.localize)(839,"Insert Relative Path"),kind:this.kind}}};c=ke([ce(0,t.IWorkspaceContextService)],c);class l{constructor(){this.kind=new I.HierarchicalKind("html"),this.pasteMimeTypes=["text/html"],this._yieldTo=[{mimeType:y.Mimes.text}]}async provideDocumentPasteEdits(f,h,v,w,S){if(w.triggerKind!==p.DocumentPasteTriggerKind.PasteAs&&!w.only?.contains(this.kind))return;const D=await v.get("text/html")?.asString();if(!(!D||S.isCancellationRequested))return{dispose(){},edits:[{insertText:D,yieldTo:this._yieldTo,title:(0,o.localize)(840,"Insert HTML"),kind:this.kind}]}}}async function a(C){const f=C.get(y.Mimes.uriList);if(!f)return[];const h=await f.asString(),v=[];for(const w of k.UriList.parse(h))try{v.push({uri:b.URI.parse(w),originalText:w})}catch{}return v}let r=class extends E.Disposable{constructor(f,h){super(),this._register(f.documentDropEditProvider.register("*",new s)),this._register(f.documentDropEditProvider.register("*",new g)),this._register(f.documentDropEditProvider.register("*",new c(h)))}};e.DefaultDropProvidersFeature=r,e.DefaultDropProvidersFeature=r=ke([ce(0,n.ILanguageFeaturesService),ce(1,t.IWorkspaceContextService)],r);let u=class extends E.Disposable{constructor(f,h){super(),this._register(f.documentPasteEditProvider.register("*",new s)),this._register(f.documentPasteEditProvider.register("*",new g)),this._register(f.documentPasteEditProvider.register("*",new c(h))),this._register(f.documentPasteEditProvider.register("*",new l))}};e.DefaultPasteProvidersFeature=u,e.DefaultPasteProvidersFeature=u=ke([ce(0,n.ILanguageFeaturesService),ce(1,t.IWorkspaceContextService)],u)}),define(ne[435],se([1,0,5,13,14,18,194,91,2,128,16,193,212,400,152,4,27,17,293,268,122,290,184,3,117,12,7,96,66,396,8]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r,u,C,f,h,v,w,S,L,D,T){"use strict";var M;Object.defineProperty(e,"__esModule",{value:!0}),e.CopyPasteController=e.pasteWidgetVisibleCtx=e.changePasteTypeCommandId=void 0,e.changePasteTypeCommandId="editor.changePasteType",e.pasteWidgetVisibleCtx=new v.RawContextKey("pasteWidgetVisible",!1,(0,f.localize)(826,"Whether the paste widget is showing"));const A="application/vnd.code.copyMetadata";let P=class extends _.Disposable{static{M=this}static{this.ID="editor.contrib.copyPasteActionController"}static get(O){return O.getContribution(M.ID)}constructor(O,F,x,W,V,q,H){super(),this._bulkEditService=x,this._clipboardService=W,this._languageFeaturesService=V,this._quickInputService=q,this._progressService=H,this._editor=O;const z=O.getContainerDomNode();this._register((0,d.addDisposableListener)(z,"copy",U=>this.handleCopy(U))),this._register((0,d.addDisposableListener)(z,"cut",U=>this.handleCopy(U))),this._register((0,d.addDisposableListener)(z,"paste",U=>this.handlePaste(U),!0)),this._pasteProgressManager=this._register(new u.InlineProgressManager("pasteIntoEditor",O,F)),this._postPasteWidgetManager=this._register(F.createInstance(D.PostEditWidgetManager,"pasteIntoEditor",O,e.pasteWidgetVisibleCtx,{id:e.changePasteTypeCommandId,label:(0,f.localize)(827,"Show paste options...")}))}changePasteType(){this._postPasteWidgetManager.tryShowSelector()}pasteAs(O){this._editor.focus();try{this._pasteAsActionContext={preferred:O},(0,d.getActiveDocument)().execCommand("paste")}finally{this._pasteAsActionContext=void 0}}clearWidgets(){this._postPasteWidgetManager.clear()}isPasteAsEnabled(){return this._editor.getOption(85).enabled}async finishedPaste(){await this._currentPasteOperation}handleCopy(O){if(!this._editor.hasTextFocus()||(this._clipboardService.clearInternalState?.(),!O.clipboardData||!this.isPasteAsEnabled()))return;const F=this._editor.getModel(),x=this._editor.getSelections();if(!F||!x?.length)return;const W=this._editor.getOption(37);let V=x;const q=x.length===1&&x[0].isEmpty();if(q){if(!W)return;V=[new s.Range(V[0].startLineNumber,1,V[0].startLineNumber,1+F.getLineLength(V[0].startLineNumber))]}const H=this._editor._getViewModel()?.getPlainTextToCopy(x,W,p.isWindows),U={multicursorText:Array.isArray(H)?H:null,pasteOnNewLine:q,mode:null},j=this._languageFeaturesService.documentPasteEditProvider.ordered(F).filter(J=>!!J.prepareDocumentPaste);if(!j.length){this.setCopyMetadata(O.clipboardData,{defaultPastePayload:U});return}const Q=(0,t.toVSDataTransfer)(O.clipboardData),G=j.flatMap(J=>J.copyMimeTypes??[]),K=(0,n.generateUuid)();this.setCopyMetadata(O.clipboardData,{id:K,providerCopyMimeTypes:G,defaultPastePayload:U});const R=(0,I.createCancelablePromise)(async J=>{const ie=(0,k.coalesce)(await Promise.all(j.map(async ue=>{try{return await ue.prepareDocumentPaste(F,V,Q,J)}catch(he){console.error(he);return}})));ie.reverse();for(const ue of ie)for(const[he,pe]of ue)Q.replace(he,pe);return Q});M._currentCopyOperation?.dataTransferPromise.cancel(),M._currentCopyOperation={handle:K,dataTransferPromise:R}}async handlePaste(O){if(!O.clipboardData||!this._editor.hasTextFocus())return;C.MessageController.get(this._editor)?.closeMessage(),this._currentPasteOperation?.cancel(),this._currentPasteOperation=void 0;const F=this._editor.getModel(),x=this._editor.getSelections();if(!x?.length||!F||this._editor.getOption(92)||!this.isPasteAsEnabled()&&!this._pasteAsActionContext)return;const W=this.fetchCopyMetadata(O),V=(0,t.toExternalVSDataTransfer)(O.clipboardData);V.delete(A);const q=[...O.clipboardData.types,...W?.providerCopyMimeTypes??[],b.Mimes.uriList],H=this._languageFeaturesService.documentPasteEditProvider.ordered(F).filter(z=>{const U=this._pasteAsActionContext?.preferred;return U&&z.providedPasteEditKinds&&!this.providerMatchesPreference(z,U)?!1:z.pasteMimeTypes?.some(j=>(0,y.matchesMimeType)(j,q))});if(!H.length){this._pasteAsActionContext?.preferred&&this.showPasteAsNoEditMessage(x,this._pasteAsActionContext.preferred);return}O.preventDefault(),O.stopImmediatePropagation(),this._pasteAsActionContext?this.showPasteAsPick(this._pasteAsActionContext.preferred,H,x,V,W):this.doPasteInline(H,x,V,W,O)}showPasteAsNoEditMessage(O,F){C.MessageController.get(this._editor)?.showMessage((0,f.localize)(828,"No paste edits for '{0}' found",F instanceof m.HierarchicalKind?F.value:F.providerId),O[0].getStartPosition())}doPasteInline(O,F,x,W,V){const q=this._editor;if(!q.hasModel())return;const H=new r.EditorStateCancellationTokenSource(q,3,void 0),z=(0,I.createCancelablePromise)(async U=>{const j=this._editor;if(!j.hasModel())return;const Q=j.getModel(),G=new _.DisposableStore,K=G.add(new E.CancellationTokenSource(U));G.add(H.token.onCancellationRequested(()=>K.cancel()));const R=K.token;try{if(await this.mergeInDataFromCopy(x,W,R),R.isCancellationRequested)return;const J=O.filter(he=>this.isSupportedPasteProvider(he,x));if(!J.length||J.length===1&&J[0]instanceof l.DefaultTextPasteOrDropEditProvider)return this.applyDefaultPasteHandler(x,W,R,V);const ie={triggerKind:g.DocumentPasteTriggerKind.Automatic},ue=await this.getPasteEdits(J,x,Q,F,ie,R);if(G.add(ue),R.isCancellationRequested)return;if(ue.edits.length===1&&ue.edits[0].provider instanceof l.DefaultTextPasteOrDropEditProvider)return this.applyDefaultPasteHandler(x,W,R,V);if(ue.edits.length){const he=j.getOption(85).showPasteSelector==="afterPaste";return this._postPasteWidgetManager.applyEditAndShowIfNeeded(F,{activeEditIndex:0,allEdits:ue.edits},he,(pe,ae)=>new Promise((ee,de)=>{(async()=>{try{const ge=pe.provider.resolveDocumentPasteEdit?.(pe,ae),X=new I.DeferredPromise,B=ge&&await this._pasteProgressManager.showWhile(F[0].getEndPosition(),(0,f.localize)(829,"Resolving paste edit. Click to cancel"),Promise.race([X.p,ge]),{cancel:()=>(X.cancel(),de(new T.CancellationError))},0);return B&&(pe.additionalEdit=B.additionalEdit),ee(pe)}catch(ge){return de(ge)}})()}),R)}await this.applyDefaultPasteHandler(x,W,R,V)}finally{G.dispose(),this._currentPasteOperation===z&&(this._currentPasteOperation=void 0)}});this._pasteProgressManager.showWhile(F[0].getEndPosition(),(0,f.localize)(830,"Running paste handlers. Click to cancel and do basic paste"),z,{cancel:async()=>{try{if(z.cancel(),H.token.isCancellationRequested)return;await this.applyDefaultPasteHandler(x,W,H.token,V)}finally{H.dispose()}}}).then(()=>{H.dispose()}),this._currentPasteOperation=z}showPasteAsPick(O,F,x,W,V){const q=(0,I.createCancelablePromise)(async H=>{const z=this._editor;if(!z.hasModel())return;const U=z.getModel(),j=new _.DisposableStore,Q=j.add(new r.EditorStateCancellationTokenSource(z,3,void 0,H));try{if(await this.mergeInDataFromCopy(W,V,Q.token),Q.token.isCancellationRequested)return;let G=F.filter(ue=>this.isSupportedPasteProvider(ue,W,O));O&&(G=G.filter(ue=>this.providerMatchesPreference(ue,O)));const K={triggerKind:g.DocumentPasteTriggerKind.PasteAs,only:O&&O instanceof m.HierarchicalKind?O:void 0};let R=j.add(await this.getPasteEdits(G,W,U,x,K,Q.token));if(Q.token.isCancellationRequested)return;if(O&&(R={edits:R.edits.filter(ue=>O instanceof m.HierarchicalKind?O.contains(ue.kind):O.providerId===ue.provider.id),dispose:R.dispose}),!R.edits.length){K.only&&this.showPasteAsNoEditMessage(x,K.only);return}let J;if(O?J=R.edits.at(0):J=(await this._quickInputService.pick(R.edits.map(he=>({label:he.title,description:he.kind?.value,edit:he})),{placeHolder:(0,f.localize)(831,"Select Paste Action")}))?.edit,!J)return;const ie=(0,a.createCombinedWorkspaceEdit)(U.uri,x,J);await this._bulkEditService.apply(ie,{editor:this._editor})}finally{j.dispose(),this._currentPasteOperation===q&&(this._currentPasteOperation=void 0)}});this._progressService.withProgress({location:10,title:(0,f.localize)(832,"Running paste handlers")},()=>q)}setCopyMetadata(O,F){O.setData(A,JSON.stringify(F))}fetchCopyMetadata(O){if(!O.clipboardData)return;const F=O.clipboardData.getData(A);if(F)try{return JSON.parse(F)}catch{return}const[x,W]=o.ClipboardEventUtils.getTextData(O.clipboardData);if(W)return{defaultPastePayload:{mode:W.mode,multicursorText:W.multicursorText??null,pasteOnNewLine:!!W.isFromEmptySelection}}}async mergeInDataFromCopy(O,F,x){if(F?.id&&M._currentCopyOperation?.handle===F.id){const W=await M._currentCopyOperation.dataTransferPromise;if(x.isCancellationRequested)return;for(const[V,q]of W)O.replace(V,q)}if(!O.has(b.Mimes.uriList)){const W=await this._clipboardService.readResources();if(x.isCancellationRequested)return;W.length&&O.append(b.Mimes.uriList,(0,y.createStringDataTransferItem)(y.UriList.create(W)))}}async getPasteEdits(O,F,x,W,V,q){const H=new _.DisposableStore,z=await(0,I.raceCancellation)(Promise.all(O.map(async j=>{try{const Q=await j.provideDocumentPasteEdits?.(x,W,F,V,q);return Q&&H.add(Q),Q?.edits?.map(G=>({...G,provider:j}))}catch(Q){(0,T.isCancellationError)(Q)||console.error(Q);return}})),q),U=(0,k.coalesce)(z??[]).flat().filter(j=>!V.only||V.only.contains(j.kind));return{edits:(0,a.sortEditsByYieldTo)(U),dispose:()=>H.dispose()}}async applyDefaultPasteHandler(O,F,x,W){const q=await(O.get(b.Mimes.text)??O.get("text"))?.asString()??"";if(x.isCancellationRequested)return;const H={clipboardEvent:W,text:q,pasteOnNewLine:F?.defaultPastePayload.pasteOnNewLine??!1,multicursorText:F?.defaultPastePayload.multicursorText??null,mode:null};this._editor.trigger("keyboard","paste",H)}isSupportedPasteProvider(O,F,x){return O.pasteMimeTypes?.some(W=>F.matches(W))?!x||this.providerMatchesPreference(O,x):!1}providerMatchesPreference(O,F){return F instanceof m.HierarchicalKind?O.providedPasteEditKinds?O.providedPasteEditKinds.some(x=>F.contains(x)):!0:O.id===F.providerId}};e.CopyPasteController=P,e.CopyPasteController=P=M=ke([ce(1,w.IInstantiationService),ce(2,i.IBulkEditService),ce(3,h.IClipboardService),ce(4,c.ILanguageFeaturesService),ce(5,L.IQuickInputService),ce(6,S.IProgressService)],P)}),define(ne[856],se([1,0,64,5,16,212,15,34,20,435,3,29,117,12]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.PasteAction=e.CopyAction=e.CutAction=void 0;const i="9_cutcopypaste",s=I.isNative||document.queryCommandSupported("cut"),g=I.isNative||document.queryCommandSupported("copy"),c=typeof navigator.clipboard>"u"||d.isFirefox?document.queryCommandSupported("paste"):!0;function l(u){return u.register(),u}e.CutAction=s?l(new y.MultiCommand({id:"editor.action.clipboardCutAction",precondition:void 0,kbOpts:I.isNative?{primary:2102,win:{primary:2102,secondary:[1044]},weight:100}:void 0,menuOpts:[{menuId:n.MenuId.MenubarEditMenu,group:"2_ccp",title:p.localize(725,"Cu&&t"),order:1},{menuId:n.MenuId.EditorContext,group:i,title:p.localize(726,"Cut"),when:_.EditorContextKeys.writable,order:1},{menuId:n.MenuId.CommandPalette,group:"",title:p.localize(727,"Cut"),order:1},{menuId:n.MenuId.SimpleEditorContext,group:i,title:p.localize(728,"Cut"),when:_.EditorContextKeys.writable,order:1}]})):void 0,e.CopyAction=g?l(new y.MultiCommand({id:"editor.action.clipboardCopyAction",precondition:void 0,kbOpts:I.isNative?{primary:2081,win:{primary:2081,secondary:[2067]},weight:100}:void 0,menuOpts:[{menuId:n.MenuId.MenubarEditMenu,group:"2_ccp",title:p.localize(729,"&&Copy"),order:2},{menuId:n.MenuId.EditorContext,group:i,title:p.localize(730,"Copy"),order:2},{menuId:n.MenuId.CommandPalette,group:"",title:p.localize(731,"Copy"),order:1},{menuId:n.MenuId.SimpleEditorContext,group:i,title:p.localize(732,"Copy"),order:2}]})):void 0,n.MenuRegistry.appendMenuItem(n.MenuId.MenubarEditMenu,{submenu:n.MenuId.MenubarCopy,title:p.localize2(738,"Copy As"),group:"2_ccp",order:3}),n.MenuRegistry.appendMenuItem(n.MenuId.EditorContext,{submenu:n.MenuId.EditorContextCopy,title:p.localize2(739,"Copy As"),group:i,order:3}),n.MenuRegistry.appendMenuItem(n.MenuId.EditorContext,{submenu:n.MenuId.EditorContextShare,title:p.localize2(740,"Share"),group:"11_share",order:-1,when:t.ContextKeyExpr.and(t.ContextKeyExpr.notEquals("resourceScheme","output"),_.EditorContextKeys.editorTextFocus)}),n.MenuRegistry.appendMenuItem(n.MenuId.ExplorerContext,{submenu:n.MenuId.ExplorerContextShare,title:p.localize2(741,"Share"),group:"11_share",order:-1}),e.PasteAction=c?l(new y.MultiCommand({id:"editor.action.clipboardPasteAction",precondition:void 0,kbOpts:I.isNative?{primary:2100,win:{primary:2100,secondary:[1043]},linux:{primary:2100,secondary:[1043]},weight:100}:void 0,menuOpts:[{menuId:n.MenuId.MenubarEditMenu,group:"2_ccp",title:p.localize(733,"&&Paste"),order:4},{menuId:n.MenuId.EditorContext,group:i,title:p.localize(734,"Paste"),when:_.EditorContextKeys.writable,order:4},{menuId:n.MenuId.CommandPalette,group:"",title:p.localize(735,"Paste"),order:1},{menuId:n.MenuId.SimpleEditorContext,group:i,title:p.localize(736,"Paste"),when:_.EditorContextKeys.writable,order:4}]})):void 0;class a extends y.EditorAction{constructor(){super({id:"editor.action.clipboardCopyWithSyntaxHighlightingAction",label:p.localize(737,"Copy With Syntax Highlighting"),alias:"Copy With Syntax Highlighting",precondition:void 0,kbOpts:{kbExpr:_.EditorContextKeys.textInputFocus,primary:0,weight:100}})}run(C,f){!f.hasModel()||!f.getOption(37)&&f.getSelection().isEmpty()||(E.CopyOptions.forceCopyWithSyntaxHighlighting=!0,f.focus(),f.getContainerDomNode().ownerDocument.execCommand("copy"),E.CopyOptions.forceCopyWithSyntaxHighlighting=!1)}}function r(u,C){u&&(u.addImplementation(1e4,"code-editor",(f,h)=>{const v=f.get(m.ICodeEditorService).getFocusedCodeEditor();if(v&&v.hasTextFocus()){const w=v.getOption(37),S=v.getSelection();return S&&S.isEmpty()&&!w||v.getContainerDomNode().ownerDocument.execCommand(C),!0}return!1}),u.addImplementation(0,"generic-dom",(f,h)=>((0,k.getActiveDocument)().execCommand(C),!0)))}r(e.CutAction,"cut"),r(e.CopyAction,"copy"),e.PasteAction&&(e.PasteAction.addImplementation(1e4,"code-editor",(u,C)=>{const f=u.get(m.ICodeEditorService),h=u.get(o.IClipboardService),v=f.getFocusedCodeEditor();return v&&v.hasTextFocus()?v.getContainerDomNode().ownerDocument.execCommand("paste")?b.CopyPasteController.get(v)?.finishedPaste()??Promise.resolve():I.isWeb?(async()=>{const S=await h.readText();if(S!==""){const L=E.InMemoryClipboardMetadataManager.INSTANCE.get(S);let D=!1,T=null,M=null;L&&(D=v.getOption(37)&&!!L.isFromEmptySelection,T=typeof L.multicursorText<"u"?L.multicursorText:null,M=L.mode),v.trigger("keyboard","paste",{text:S,pasteOnNewLine:D,multicursorText:T,mode:M})}})():!0:!1}),e.PasteAction.addImplementation(0,"generic-dom",(u,C)=>((0,k.getActiveDocument)().execCommand("paste"),!0))),g&&(0,y.registerEditorAction)(a)}),define(ne[857],se([1,0,91,15,20,130,435,293,3]),function(oe,e,d,k,I,E,y,m,_){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),(0,k.registerEditorContribution)(y.CopyPasteController.ID,y.CopyPasteController,0),(0,E.registerEditorFeature)(m.DefaultPasteProvidersFeature),(0,k.registerEditorCommand)(new class extends k.EditorCommand{constructor(){super({id:y.changePasteTypeCommandId,precondition:y.pasteWidgetVisibleCtx,kbOpts:{weight:100,primary:2137}})}runEditorCommand(b,p){return y.CopyPasteController.get(p)?.changePasteType()}}),(0,k.registerEditorCommand)(new class extends k.EditorCommand{constructor(){super({id:"editor.hidePasteWidget",precondition:y.pasteWidgetVisibleCtx,kbOpts:{weight:100,primary:9}})}runEditorCommand(b,p){y.CopyPasteController.get(p)?.clearWidgets()}}),(0,k.registerEditorAction)(class hi extends k.EditorAction{static{this.argsSchema={type:"object",properties:{kind:{type:"string",description:_.localize(823,"The kind of the paste edit to try applying. If not provided or there are multiple edits for this kind, the editor will show a picker.")}}}}constructor(){super({id:"editor.action.pasteAs",label:_.localize(824,"Paste As..."),alias:"Paste As...",precondition:I.EditorContextKeys.writable,metadata:{description:"Paste as",args:[{name:"args",schema:hi.argsSchema}]}})}run(p,n,o){let t=typeof o?.kind=="string"?o.kind:void 0;return!t&&o&&(t=typeof o.id=="string"?o.id:void 0),y.CopyPasteController.get(n)?.pasteAs(t?new d.HierarchicalKind(t):void 0)}}),(0,k.registerEditorAction)(class extends k.EditorAction{constructor(){super({id:"editor.action.pasteAsText",label:_.localize(825,"Paste as Text"),alias:"Paste as Text",precondition:I.EditorContextKeys.writable})}run(b,p){return y.CopyPasteController.get(p)?.pasteAs({providerId:m.DefaultTextPasteOrDropEditProvider.id})}})}),define(ne[858],se([1,0,15,274,130,293,3,109,38,832]),function(oe,e,d,k,I,E,y,m,_,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),(0,d.registerEditorContribution)(b.DropIntoEditorController.ID,b.DropIntoEditorController,2),(0,I.registerEditorFeature)(E.DefaultDropProvidersFeature),(0,d.registerEditorCommand)(new class extends d.EditorCommand{constructor(){super({id:b.changeDropTypeCommandId,precondition:b.dropWidgetVisibleCtx,kbOpts:{weight:100,primary:2137}})}runEditorCommand(p,n,o){b.DropIntoEditorController.get(n)?.changeDropType()}}),(0,d.registerEditorCommand)(new class extends d.EditorCommand{constructor(){super({id:"editor.hideDropWidget",precondition:b.dropWidgetVisibleCtx,kbOpts:{weight:100,primary:9}})}runEditorCommand(p,n,o){b.DropIntoEditorController.get(n)?.clearWidgets()}}),_.Registry.as(m.Extensions.Configuration).registerConfiguration({...k.editorConfigurationBaseNode,properties:{[b.defaultProviderConfig]:{type:"object",scope:5,description:y.localize(841,"Configures the default drop provider to use for content of a given mime type."),default:{},additionalProperties:{type:"string"}}}})}),define(ne[859],se([1,0,629,99,48,11,193,36,135,3,186]),function(oe,e,d,k,I,E,y,m,_,b,p){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.RandomBasedVariableResolver=e.WorkspaceBasedVariableResolver=e.TimeBasedVariableResolver=e.CommentBasedVariableResolver=e.ClipboardBasedVariableResolver=e.ModelBasedVariableResolver=e.SelectionBasedVariableResolver=e.CompositeSnippetVariableResolver=e.KnownSnippetVariableNames=void 0,e.KnownSnippetVariableNames=Object.freeze({CURRENT_YEAR:!0,CURRENT_YEAR_SHORT:!0,CURRENT_MONTH:!0,CURRENT_DATE:!0,CURRENT_HOUR:!0,CURRENT_MINUTE:!0,CURRENT_SECOND:!0,CURRENT_DAY_NAME:!0,CURRENT_DAY_NAME_SHORT:!0,CURRENT_MONTH_NAME:!0,CURRENT_MONTH_NAME_SHORT:!0,CURRENT_SECONDS_UNIX:!0,CURRENT_TIMEZONE_OFFSET:!0,SELECTION:!0,CLIPBOARD:!0,TM_SELECTED_TEXT:!0,TM_CURRENT_LINE:!0,TM_CURRENT_WORD:!0,TM_LINE_INDEX:!0,TM_LINE_NUMBER:!0,TM_FILENAME:!0,TM_FILENAME_BASE:!0,TM_DIRECTORY:!0,TM_FILEPATH:!0,CURSOR_INDEX:!0,CURSOR_NUMBER:!0,RELATIVE_FILEPATH:!0,BLOCK_COMMENT_START:!0,BLOCK_COMMENT_END:!0,LINE_COMMENT:!0,WORKSPACE_NAME:!0,WORKSPACE_FOLDER:!0,RANDOM:!0,RANDOM_HEX:!0,UUID:!0});class n{constructor(r){this._delegates=r}resolve(r){for(const u of this._delegates){const C=u.resolve(r);if(C!==void 0)return C}}}e.CompositeSnippetVariableResolver=n;class o{constructor(r,u,C,f){this._model=r,this._selection=u,this._selectionIdx=C,this._overtypingCapturer=f}resolve(r){const{name:u}=r;if(u==="SELECTION"||u==="TM_SELECTED_TEXT"){let C=this._model.getValueInRange(this._selection)||void 0,f=this._selection.startLineNumber!==this._selection.endLineNumber;if(!C&&this._overtypingCapturer){const h=this._overtypingCapturer.getLastOvertypedInfo(this._selectionIdx);h&&(C=h.value,f=h.multiline)}if(C&&f&&r.snippet){const h=this._model.getLineContent(this._selection.startLineNumber),v=(0,E.getLeadingWhitespace)(h,0,this._selection.startColumn-1);let w=v;r.snippet.walk(L=>L===r?!1:(L instanceof _.Text&&(w=(0,E.getLeadingWhitespace)((0,E.splitLines)(L.value).pop())),!0));const S=(0,E.commonPrefixLength)(w,v);C=C.replace(/(\r\n|\r|\n)(.*)/g,(L,D,T)=>`${D}${w.substr(S)}${T}`)}return C}else{if(u==="TM_CURRENT_LINE")return this._model.getLineContent(this._selection.positionLineNumber);if(u==="TM_CURRENT_WORD"){const C=this._model.getWordAtPosition({lineNumber:this._selection.positionLineNumber,column:this._selection.positionColumn});return C&&C.word||void 0}else{if(u==="TM_LINE_INDEX")return String(this._selection.positionLineNumber-1);if(u==="TM_LINE_NUMBER")return String(this._selection.positionLineNumber);if(u==="CURSOR_INDEX")return String(this._selectionIdx);if(u==="CURSOR_NUMBER")return String(this._selectionIdx+1)}}}}e.SelectionBasedVariableResolver=o;class t{constructor(r,u){this._labelService=r,this._model=u}resolve(r){const{name:u}=r;if(u==="TM_FILENAME")return k.basename(this._model.uri.fsPath);if(u==="TM_FILENAME_BASE"){const C=k.basename(this._model.uri.fsPath),f=C.lastIndexOf(".");return f<=0?C:C.slice(0,f)}else{if(u==="TM_DIRECTORY")return k.dirname(this._model.uri.fsPath)==="."?"":this._labelService.getUriLabel((0,I.dirname)(this._model.uri));if(u==="TM_FILEPATH")return this._labelService.getUriLabel(this._model.uri);if(u==="RELATIVE_FILEPATH")return this._labelService.getUriLabel(this._model.uri,{relative:!0,noPrefix:!0})}}}e.ModelBasedVariableResolver=t;class i{constructor(r,u,C,f){this._readClipboardText=r,this._selectionIdx=u,this._selectionCount=C,this._spread=f}resolve(r){if(r.name!=="CLIPBOARD")return;const u=this._readClipboardText();if(u){if(this._spread){const C=u.split(/\r\n|\n|\r/).filter(f=>!(0,E.isFalsyOrWhitespace)(f));if(C.length===this._selectionCount)return C[this._selectionIdx]}return u}}}e.ClipboardBasedVariableResolver=i;let s=class{constructor(r,u,C){this._model=r,this._selection=u,this._languageConfigurationService=C}resolve(r){const{name:u}=r,C=this._model.getLanguageIdAtPosition(this._selection.selectionStartLineNumber,this._selection.selectionStartColumn),f=this._languageConfigurationService.getLanguageConfiguration(C).comments;if(f){if(u==="LINE_COMMENT")return f.lineCommentToken||void 0;if(u==="BLOCK_COMMENT_START")return f.blockCommentStartToken||void 0;if(u==="BLOCK_COMMENT_END")return f.blockCommentEndToken||void 0}}};e.CommentBasedVariableResolver=s,e.CommentBasedVariableResolver=s=ke([ce(2,m.ILanguageConfigurationService)],s);class g{constructor(){this._date=new Date}static{this.dayNames=[b.localize(1261,"Sunday"),b.localize(1262,"Monday"),b.localize(1263,"Tuesday"),b.localize(1264,"Wednesday"),b.localize(1265,"Thursday"),b.localize(1266,"Friday"),b.localize(1267,"Saturday")]}static{this.dayNamesShort=[b.localize(1268,"Sun"),b.localize(1269,"Mon"),b.localize(1270,"Tue"),b.localize(1271,"Wed"),b.localize(1272,"Thu"),b.localize(1273,"Fri"),b.localize(1274,"Sat")]}static{this.monthNames=[b.localize(1275,"January"),b.localize(1276,"February"),b.localize(1277,"March"),b.localize(1278,"April"),b.localize(1279,"May"),b.localize(1280,"June"),b.localize(1281,"July"),b.localize(1282,"August"),b.localize(1283,"September"),b.localize(1284,"October"),b.localize(1285,"November"),b.localize(1286,"December")]}static{this.monthNamesShort=[b.localize(1287,"Jan"),b.localize(1288,"Feb"),b.localize(1289,"Mar"),b.localize(1290,"Apr"),b.localize(1291,"May"),b.localize(1292,"Jun"),b.localize(1293,"Jul"),b.localize(1294,"Aug"),b.localize(1295,"Sep"),b.localize(1296,"Oct"),b.localize(1297,"Nov"),b.localize(1298,"Dec")]}resolve(r){const{name:u}=r;if(u==="CURRENT_YEAR")return String(this._date.getFullYear());if(u==="CURRENT_YEAR_SHORT")return String(this._date.getFullYear()).slice(-2);if(u==="CURRENT_MONTH")return String(this._date.getMonth().valueOf()+1).padStart(2,"0");if(u==="CURRENT_DATE")return String(this._date.getDate().valueOf()).padStart(2,"0");if(u==="CURRENT_HOUR")return String(this._date.getHours().valueOf()).padStart(2,"0");if(u==="CURRENT_MINUTE")return String(this._date.getMinutes().valueOf()).padStart(2,"0");if(u==="CURRENT_SECOND")return String(this._date.getSeconds().valueOf()).padStart(2,"0");if(u==="CURRENT_DAY_NAME")return g.dayNames[this._date.getDay()];if(u==="CURRENT_DAY_NAME_SHORT")return g.dayNamesShort[this._date.getDay()];if(u==="CURRENT_MONTH_NAME")return g.monthNames[this._date.getMonth()];if(u==="CURRENT_MONTH_NAME_SHORT")return g.monthNamesShort[this._date.getMonth()];if(u==="CURRENT_SECONDS_UNIX")return String(Math.floor(this._date.getTime()/1e3));if(u==="CURRENT_TIMEZONE_OFFSET"){const C=this._date.getTimezoneOffset(),f=C>0?"-":"+",h=Math.trunc(Math.abs(C/60)),v=h<10?"0"+h:h,w=Math.abs(C)-h*60,S=w<10?"0"+w:w;return f+v+":"+S}}}e.TimeBasedVariableResolver=g;class c{constructor(r){this._workspaceService=r}resolve(r){if(!this._workspaceService)return;const u=(0,p.toWorkspaceIdentifier)(this._workspaceService.getWorkspace());if(!(0,p.isEmptyWorkspaceIdentifier)(u)){if(r.name==="WORKSPACE_NAME")return this._resolveWorkspaceName(u);if(r.name==="WORKSPACE_FOLDER")return this._resoveWorkspacePath(u)}}_resolveWorkspaceName(r){if((0,p.isSingleFolderWorkspaceIdentifier)(r))return k.basename(r.uri.path);let u=k.basename(r.configPath.path);return u.endsWith(p.WORKSPACE_EXTENSION)&&(u=u.substr(0,u.length-p.WORKSPACE_EXTENSION.length-1)),u}_resoveWorkspacePath(r){if((0,p.isSingleFolderWorkspaceIdentifier)(r))return(0,d.normalizeDriveLetter)(r.uri.fsPath);const u=k.basename(r.configPath.path);let C=r.configPath.fsPath;return C.endsWith(u)&&(C=C.substr(0,C.length-u.length-1)),C?(0,d.normalizeDriveLetter)(C):"/"}}e.WorkspaceBasedVariableResolver=c;class l{resolve(r){const{name:u}=r;if(u==="RANDOM")return Math.random().toString().slice(-6);if(u==="RANDOM_HEX")return Math.random().toString(16).slice(-6);if(u==="UUID")return(0,y.generateUuid)()}}e.RandomBasedVariableResolver=l}),define(ne[436],se([1,0,13,2,11,75,4,23,36,35,181,186,135,859,530]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t){"use strict";var i;Object.defineProperty(e,"__esModule",{value:!0}),e.SnippetSession=e.OneSnippet=void 0;class s{static{this._decor={active:b.ModelDecorationOptions.register({description:"snippet-placeholder-1",stickiness:0,className:"snippet-placeholder"}),inactive:b.ModelDecorationOptions.register({description:"snippet-placeholder-2",stickiness:1,className:"snippet-placeholder"}),activeFinal:b.ModelDecorationOptions.register({description:"snippet-placeholder-3",stickiness:1,className:"finish-snippet-placeholder"}),inactiveFinal:b.ModelDecorationOptions.register({description:"snippet-placeholder-4",stickiness:1,className:"finish-snippet-placeholder"})}}constructor(a,r,u){this._editor=a,this._snippet=r,this._snippetLineLeadingWhitespace=u,this._offset=-1,this._nestingLevel=1,this._placeholderGroups=(0,d.groupBy)(r.placeholders,o.Placeholder.compareByIndex),this._placeholderGroupsIdx=-1}initialize(a){this._offset=a.newPosition}dispose(){this._placeholderDecorations&&this._editor.removeDecorations([...this._placeholderDecorations.values()]),this._placeholderGroups.length=0}_initDecorations(){if(this._offset===-1)throw new Error("Snippet not initialized!");if(this._placeholderDecorations)return;this._placeholderDecorations=new Map;const a=this._editor.getModel();this._editor.changeDecorations(r=>{for(const u of this._snippet.placeholders){const C=this._snippet.offset(u),f=this._snippet.fullLen(u),h=y.Range.fromPositions(a.getPositionAt(this._offset+C),a.getPositionAt(this._offset+C+f)),v=u.isFinalTabstop?s._decor.inactiveFinal:s._decor.inactive,w=r.addDecoration(h,v);this._placeholderDecorations.set(u,w)}})}move(a){if(!this._editor.hasModel())return[];if(this._initDecorations(),this._placeholderGroupsIdx>=0){const C=[];for(const f of this._placeholderGroups[this._placeholderGroupsIdx])if(f.transform){const h=this._placeholderDecorations.get(f),v=this._editor.getModel().getDecorationRange(h),w=this._editor.getModel().getValueInRange(v),S=f.transform.resolve(w).split(/\r\n|\r|\n/);for(let L=1;L0&&this._editor.executeEdits("snippet.placeholderTransform",C)}let r=!1;a===!0&&this._placeholderGroupsIdx0&&(this._placeholderGroupsIdx-=1,r=!0);const u=this._editor.getModel().changeDecorations(C=>{const f=new Set,h=[];for(const v of this._placeholderGroups[this._placeholderGroupsIdx]){const w=this._placeholderDecorations.get(v),S=this._editor.getModel().getDecorationRange(w);h.push(new m.Selection(S.startLineNumber,S.startColumn,S.endLineNumber,S.endColumn)),r=r&&this._hasPlaceholderBeenCollapsed(v),C.changeDecorationOptions(w,v.isFinalTabstop?s._decor.activeFinal:s._decor.active),f.add(v);for(const L of this._snippet.enclosingPlaceholders(v)){const D=this._placeholderDecorations.get(L);C.changeDecorationOptions(D,L.isFinalTabstop?s._decor.activeFinal:s._decor.active),f.add(L)}}for(const[v,w]of this._placeholderDecorations)f.has(v)||C.changeDecorationOptions(w,v.isFinalTabstop?s._decor.inactiveFinal:s._decor.inactive);return h});return r?this.move(a):u??[]}_hasPlaceholderBeenCollapsed(a){let r=a;for(;r;){if(r instanceof o.Placeholder){const u=this._placeholderDecorations.get(r);if(this._editor.getModel().getDecorationRange(u).isEmpty()&&r.toString().length>0)return!0}r=r.parent}return!1}get isAtFirstPlaceholder(){return this._placeholderGroupsIdx<=0||this._placeholderGroups.length===0}get isAtLastPlaceholder(){return this._placeholderGroupsIdx===this._placeholderGroups.length-1}get hasPlaceholder(){return this._snippet.placeholders.length>0}get isTrivialSnippet(){if(this._snippet.placeholders.length===0)return!0;if(this._snippet.placeholders.length===1){const[a]=this._snippet.placeholders;if(a.isFinalTabstop&&this._snippet.rightMostDescendant===a)return!0}return!1}computePossibleSelections(){const a=new Map;for(const r of this._placeholderGroups){let u;for(const C of r){if(C.isFinalTabstop)break;u||(u=[],a.set(C.index,u));const f=this._placeholderDecorations.get(C),h=this._editor.getModel().getDecorationRange(f);if(!h){a.delete(C.index);break}u.push(h)}}return a}get activeChoice(){if(!this._placeholderDecorations)return;const a=this._placeholderGroups[this._placeholderGroupsIdx][0];if(!a?.choice)return;const r=this._placeholderDecorations.get(a);if(!r)return;const u=this._editor.getModel().getDecorationRange(r);if(u)return{range:u,choice:a.choice}}get hasChoice(){let a=!1;return this._snippet.walk(r=>(a=r instanceof o.Choice,!a)),a}merge(a){const r=this._editor.getModel();this._nestingLevel*=10,this._editor.changeDecorations(u=>{for(const C of this._placeholderGroups[this._placeholderGroupsIdx]){const f=a.shift();console.assert(f._offset!==-1),console.assert(!f._placeholderDecorations);const h=f._snippet.placeholderInfo.last.index;for(const w of f._snippet.placeholderInfo.all)w.isFinalTabstop?w.index=C.index+(h+1)/this._nestingLevel:w.index=C.index+w.index/this._nestingLevel;this._snippet.replace(C,f._snippet.children);const v=this._placeholderDecorations.get(C);u.removeDecoration(v),this._placeholderDecorations.delete(C);for(const w of f._snippet.placeholders){const S=f._snippet.offset(w),L=f._snippet.fullLen(w),D=y.Range.fromPositions(r.getPositionAt(f._offset+S),r.getPositionAt(f._offset+S+L)),T=u.addDecoration(D,s._decor.inactive);this._placeholderDecorations.set(w,T)}}this._placeholderGroups=(0,d.groupBy)(this._snippet.placeholders,o.Placeholder.compareByIndex)})}}e.OneSnippet=s;const g={overwriteBefore:0,overwriteAfter:0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0};let c=i=class{static adjustWhitespace(a,r,u,C,f){const h=a.getLineContent(r.lineNumber),v=(0,I.getLeadingWhitespace)(h,0,r.column-1);let w;return C.walk(S=>{if(!(S instanceof o.Text)||S.parent instanceof o.Choice||f&&!f.has(S))return!0;const L=S.value.split(/\r\n|\r|\n/);if(u){const T=C.offset(S);if(T===0)L[0]=a.normalizeIndentation(L[0]);else{w=w??C.toString();const M=w.charCodeAt(T-1);(M===10||M===13)&&(L[0]=a.normalizeIndentation(v+L[0]))}for(let M=1;MW.get(n.IWorkspaceContextService)),A=a.invokeWithinContext(W=>new t.ModelBasedVariableResolver(W.get(p.ILabelService),T)),P=()=>v,N=T.getValueInRange(i.adjustSelection(T,a.getSelection(),u,0)),O=T.getValueInRange(i.adjustSelection(T,a.getSelection(),0,C)),F=T.getLineFirstNonWhitespaceColumn(a.getSelection().positionLineNumber),x=a.getSelections().map((W,V)=>({selection:W,idx:V})).sort((W,V)=>y.Range.compareRangesUsingStarts(W.selection,V.selection));for(const{selection:W,idx:V}of x){let q=i.adjustSelection(T,W,u,0),H=i.adjustSelection(T,W,0,C);N!==T.getValueInRange(q)&&(q=W),O!==T.getValueInRange(H)&&(H=W);const z=W.setStartPosition(q.startLineNumber,q.startColumn).setEndPosition(H.endLineNumber,H.endColumn),U=new o.SnippetParser().parse(r,!0,f),j=z.getStartPosition(),Q=i.adjustWhitespace(T,j,h||V>0&&F!==T.getLineFirstNonWhitespaceColumn(W.positionLineNumber),U);U.resolveVariables(new t.CompositeSnippetVariableResolver([A,new t.ClipboardBasedVariableResolver(P,V,x.length,a.getOption(79)==="spread"),new t.SelectionBasedVariableResolver(T,W,V,w),new t.CommentBasedVariableResolver(T,W,S),new t.TimeBasedVariableResolver,new t.WorkspaceBasedVariableResolver(M),new t.RandomBasedVariableResolver])),L[V]=E.EditOperation.replace(z,U.toString()),L[V].identifier={major:V,minor:0},L[V]._isTracked=!0,D[V]=new s(a,U,Q)}return{edits:L,snippets:D}}static createEditsAndSnippetsFromEdits(a,r,u,C,f,h,v){if(!a.hasModel()||r.length===0)return{edits:[],snippets:[]};const w=[],S=a.getModel(),L=new o.SnippetParser,D=new o.TextmateSnippet,T=new t.CompositeSnippetVariableResolver([a.invokeWithinContext(A=>new t.ModelBasedVariableResolver(A.get(p.ILabelService),S)),new t.ClipboardBasedVariableResolver(()=>f,0,a.getSelections().length,a.getOption(79)==="spread"),new t.SelectionBasedVariableResolver(S,a.getSelection(),0,h),new t.CommentBasedVariableResolver(S,a.getSelection(),v),new t.TimeBasedVariableResolver,new t.WorkspaceBasedVariableResolver(a.invokeWithinContext(A=>A.get(n.IWorkspaceContextService))),new t.RandomBasedVariableResolver]);r=r.sort((A,P)=>y.Range.compareRangesUsingStarts(A.range,P.range));let M=0;for(let A=0;A0){const V=r[A-1].range,q=y.Range.fromPositions(V.getEndPosition(),P.getStartPosition()),H=new o.Text(S.getValueInRange(q));D.appendChild(H),M+=H.value.length}const O=L.parseFragment(N,D);i.adjustWhitespace(S,P.getStartPosition(),!0,D,new Set(O)),D.resolveVariables(T);const F=D.toString(),x=F.slice(M);M=F.length;const W=E.EditOperation.replace(P,x);W.identifier={major:A,minor:0},W._isTracked=!0,w.push(W)}return L.ensureFinalTabstop(D,u,!0),{edits:w,snippets:[new s(a,D,"")]}}constructor(a,r,u=g,C){this._editor=a,this._template=r,this._options=u,this._languageConfigurationService=C,this._templateMerges=[],this._snippets=[]}dispose(){(0,k.dispose)(this._snippets)}_logInfo(){return`template="${this._template}", merged_templates="${this._templateMerges.join(" -> ")}"`}insert(){if(!this._editor.hasModel())return;const{edits:a,snippets:r}=typeof this._template=="string"?i.createEditsAndSnippetsFromSelections(this._editor,this._template,this._options.overwriteBefore,this._options.overwriteAfter,!1,this._options.adjustWhitespace,this._options.clipboardText,this._options.overtypingCapturer,this._languageConfigurationService):i.createEditsAndSnippetsFromEdits(this._editor,this._template,!1,this._options.adjustWhitespace,this._options.clipboardText,this._options.overtypingCapturer,this._languageConfigurationService);this._snippets=r,this._editor.executeEdits("snippet",a,u=>{const C=u.filter(f=>!!f.identifier);for(let f=0;fm.Selection.fromPositions(f.range.getEndPosition()))}),this._editor.revealRange(this._editor.getSelections()[0])}merge(a,r=g){if(!this._editor.hasModel())return;this._templateMerges.push([this._snippets[0]._nestingLevel,this._snippets[0]._placeholderGroupsIdx,a]);const{edits:u,snippets:C}=i.createEditsAndSnippetsFromSelections(this._editor,a,r.overwriteBefore,r.overwriteAfter,!0,r.adjustWhitespace,r.clipboardText,r.overtypingCapturer,this._languageConfigurationService);this._editor.executeEdits("snippet",u,f=>{const h=f.filter(w=>!!w.identifier);for(let w=0;wm.Selection.fromPositions(w.range.getEndPosition()))})}next(){const a=this._move(!0);this._editor.setSelections(a),this._editor.revealPositionInCenterIfOutsideViewport(a[0].getPosition())}prev(){const a=this._move(!1);this._editor.setSelections(a),this._editor.revealPositionInCenterIfOutsideViewport(a[0].getPosition())}_move(a){const r=[];for(const u of this._snippets){const C=u.move(a);r.push(...C)}return r}get isAtFirstPlaceholder(){return this._snippets[0].isAtFirstPlaceholder}get isAtLastPlaceholder(){return this._snippets[0].isAtLastPlaceholder}get hasPlaceholder(){return this._snippets[0].hasPlaceholder}get hasChoice(){return this._snippets[0].hasChoice}get activeChoice(){return this._snippets[0].activeChoice}isSelectionWithinPlaceholders(){if(!this.hasPlaceholder)return!1;const a=this._editor.getSelections();if(a.length{f.push(...C.get(h))})}a.sort(y.Range.compareRangesUsingStarts);for(const[u,C]of r){if(C.length!==a.length){r.delete(u);continue}C.sort(y.Range.compareRangesUsingStarts);for(let f=0;f0}};e.SnippetSession=c,e.SnippetSession=c=i=ke([ce(3,_.ILanguageConfigurationService)],c)}),define(ne[221],se([1,0,2,19,15,9,20,36,17,155,3,12,62,436]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t){"use strict";var i;Object.defineProperty(e,"__esModule",{value:!0}),e.SnippetController2=void 0;const s={overwriteBefore:0,overwriteAfter:0,undoStopBefore:!0,undoStopAfter:!0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0};let g=class{static{i=this}static{this.ID="snippetController2"}static get(a){return a.getContribution(i.ID)}static{this.InSnippetMode=new n.RawContextKey("inSnippetMode",!1,(0,p.localize)(1257,"Whether the editor in current in snippet mode"))}static{this.HasNextTabstop=new n.RawContextKey("hasNextTabstop",!1,(0,p.localize)(1258,"Whether there is a next tab stop when in snippet mode"))}static{this.HasPrevTabstop=new n.RawContextKey("hasPrevTabstop",!1,(0,p.localize)(1259,"Whether there is a previous tab stop when in snippet mode"))}constructor(a,r,u,C,f){this._editor=a,this._logService=r,this._languageFeaturesService=u,this._languageConfigurationService=f,this._snippetListener=new d.DisposableStore,this._modelVersionId=-1,this._inSnippet=i.InSnippetMode.bindTo(C),this._hasNextTabstop=i.HasNextTabstop.bindTo(C),this._hasPrevTabstop=i.HasPrevTabstop.bindTo(C)}dispose(){this._inSnippet.reset(),this._hasPrevTabstop.reset(),this._hasNextTabstop.reset(),this._session?.dispose(),this._snippetListener.dispose()}insert(a,r){try{this._doInsert(a,typeof r>"u"?s:{...s,...r})}catch(u){this.cancel(),this._logService.error(u),this._logService.error("snippet_error"),this._logService.error("insert_template=",a),this._logService.error("existing_template=",this._session?this._session._logInfo():"")}}_doInsert(a,r){if(this._editor.hasModel()){if(this._snippetListener.clear(),r.undoStopBefore&&this._editor.getModel().pushStackElement(),this._session&&typeof a!="string"&&this.cancel(),this._session?((0,k.assertType)(typeof a=="string"),this._session.merge(a,r)):(this._modelVersionId=this._editor.getModel().getAlternativeVersionId(),this._session=new t.SnippetSession(this._editor,a,r,this._languageConfigurationService),this._session.insert()),r.undoStopAfter&&this._editor.getModel().pushStackElement(),this._session?.hasChoice){const u={_debugDisplayName:"snippetChoiceCompletions",provideCompletionItems:(S,L)=>{if(!this._session||S!==this._editor.getModel()||!E.Position.equals(this._editor.getPosition(),L))return;const{activeChoice:D}=this._session;if(!D||D.choice.options.length===0)return;const T=S.getValueInRange(D.range),M=!!D.choice.options.find(P=>P.value===T),A=[];for(let P=0;P{f?.dispose(),h=!1},w=()=>{h||(f=this._languageFeaturesService.completionProvider.register({language:C.getLanguageId(),pattern:C.uri.fsPath,scheme:C.uri.scheme,exclusive:!0},u),this._snippetListener.add(f),h=!0)};this._choiceCompletions={provider:u,enable:w,disable:v}}this._updateState(),this._snippetListener.add(this._editor.onDidChangeModelContent(u=>u.isFlush&&this.cancel())),this._snippetListener.add(this._editor.onDidChangeModel(()=>this.cancel())),this._snippetListener.add(this._editor.onDidChangeCursorSelection(()=>this._updateState()))}}_updateState(){if(!(!this._session||!this._editor.hasModel())){if(this._modelVersionId===this._editor.getModel().getAlternativeVersionId())return this.cancel();if(!this._session.hasPlaceholder)return this.cancel();if(this._session.isAtLastPlaceholder||!this._session.isSelectionWithinPlaceholders())return this._editor.getModel().pushStackElement(),this.cancel();this._inSnippet.set(!0),this._hasPrevTabstop.set(!this._session.isAtFirstPlaceholder),this._hasNextTabstop.set(!this._session.isAtLastPlaceholder),this._handleChoice()}}_handleChoice(){if(!this._session||!this._editor.hasModel()){this._currentChoice=void 0;return}const{activeChoice:a}=this._session;if(!a||!this._choiceCompletions){this._choiceCompletions?.disable(),this._currentChoice=void 0;return}this._currentChoice!==a.choice&&(this._currentChoice=a.choice,this._choiceCompletions.enable(),queueMicrotask(()=>{(0,b.showSimpleSuggestions)(this._editor,this._choiceCompletions.provider)}))}finish(){for(;this._inSnippet.get();)this.next()}cancel(a=!1){this._inSnippet.reset(),this._hasPrevTabstop.reset(),this._hasNextTabstop.reset(),this._snippetListener.clear(),this._currentChoice=void 0,this._session?.dispose(),this._session=void 0,this._modelVersionId=-1,a&&this._editor.setSelections([this._editor.getSelection()])}prev(){this._session?.prev(),this._updateState()}next(){this._session?.next(),this._updateState()}isInSnippet(){return!!this._inSnippet.get()}};e.SnippetController2=g,e.SnippetController2=g=i=ke([ce(1,o.ILogService),ce(2,_.ILanguageFeaturesService),ce(3,n.IContextKeyService),ce(4,m.ILanguageConfigurationService)],g),(0,I.registerEditorContribution)(g.ID,g,4);const c=I.EditorCommand.bindToContribution(g.get);(0,I.registerEditorCommand)(new c({id:"jumpToNextSnippetPlaceholder",precondition:n.ContextKeyExpr.and(g.InSnippetMode,g.HasNextTabstop),handler:l=>l.next(),kbOpts:{weight:130,kbExpr:y.EditorContextKeys.textInputFocus,primary:2}})),(0,I.registerEditorCommand)(new c({id:"jumpToPrevSnippetPlaceholder",precondition:n.ContextKeyExpr.and(g.InSnippetMode,g.HasPrevTabstop),handler:l=>l.prev(),kbOpts:{weight:130,kbExpr:y.EditorContextKeys.textInputFocus,primary:1026}})),(0,I.registerEditorCommand)(new c({id:"leaveSnippet",precondition:g.InSnippetMode,handler:l=>l.cancel(!0),kbOpts:{weight:130,kbExpr:y.EditorContextKeys.textInputFocus,primary:9,secondary:[1033]}})),(0,I.registerEditorCommand)(new c({id:"acceptSnippet",precondition:g.InSnippetMode,handler:l=>l.finish()}))}),define(ne[860],se([1,0,13,67,102,8,2,21,11,19,75,9,4,23,104,113,27,36,204,715,246,205,221,24,7]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r,u,C,f,h){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.VersionIdChangeReason=e.InlineCompletionsModel=void 0,e.getSecondaryEdits=S;let v=class extends y.Disposable{get isAcceptingPartially(){return this._isAcceptingPartially}constructor(M,A,P,N,O,F,x,W,V,q,H,z){super(),this.textModel=M,this.selectedSuggestItem=A,this._textModelVersionId=P,this._positions=N,this._debounceValue=O,this._suggestPreviewEnabled=F,this._suggestPreviewMode=x,this._inlineSuggestMode=W,this._enabled=V,this._instantiationService=q,this._commandService=H,this._languageConfigurationService=z,this._source=this._register(this._instantiationService.createInstance(a.InlineCompletionsSource,this.textModel,this._textModelVersionId,this._debounceValue)),this._isActive=(0,m.observableValue)(this,!1),this._forceUpdateExplicitlySignal=(0,m.observableSignal)(this),this._selectedInlineCompletionId=(0,m.observableValue)(this,void 0),this._primaryPosition=(0,m.derived)(this,j=>this._positions.read(j)[0]??new n.Position(1,1)),this._isAcceptingPartially=!1,this._preserveCurrentCompletionReasons=new Set([w.Redo,w.Undo,w.AcceptWord]),this._fetchInlineCompletionsPromise=(0,m.derivedHandleChanges)({owner:this,createEmptyChangeSummary:()=>({preserveCurrentCompletion:!1,inlineCompletionTriggerKind:g.InlineCompletionTriggerKind.Automatic}),handleChange:(j,Q)=>(j.didChange(this._textModelVersionId)&&this._preserveCurrentCompletionReasons.has(this._getReason(j.change))?Q.preserveCurrentCompletion=!0:j.didChange(this._forceUpdateExplicitlySignal)&&(Q.inlineCompletionTriggerKind=g.InlineCompletionTriggerKind.Explicit),!0)},(j,Q)=>{if(this._forceUpdateExplicitlySignal.read(j),!(this._enabled.read(j)&&this.selectedSuggestItem.read(j)||this._isActive.read(j))){this._source.cancelUpdate();return}this._textModelVersionId.read(j);const K=this._source.suggestWidgetInlineCompletions.get(),R=this.selectedSuggestItem.read(j);if(K&&!R){const pe=this._source.inlineCompletions.get();(0,m.transaction)(ae=>{(!pe||K.request.versionId>pe.request.versionId)&&this._source.inlineCompletions.set(K.clone(),ae),this._source.clearSuggestWidgetInlineCompletions(ae)})}const J=this._primaryPosition.read(j),ie={triggerKind:Q.inlineCompletionTriggerKind,selectedSuggestionInfo:R?.toSelectedSuggestionInfo()},ue=this.selectedInlineCompletion.get(),he=Q.preserveCurrentCompletion||ue?.forwardStable?ue:void 0;return this._source.fetch(J,ie,he)}),this._filteredInlineCompletionItems=(0,m.derivedOpts)({owner:this,equalsFn:(0,I.itemsEquals)()},j=>{const Q=this._source.inlineCompletions.read(j);if(!Q)return[];const G=this._primaryPosition.read(j);return Q.inlineCompletions.filter(R=>R.isVisible(this.textModel,G,j))}),this.selectedInlineCompletionIndex=(0,m.derived)(this,j=>{const Q=this._selectedInlineCompletionId.read(j),G=this._filteredInlineCompletionItems.read(j),K=this._selectedInlineCompletionId===void 0?-1:G.findIndex(R=>R.semanticId===Q);return K===-1?(this._selectedInlineCompletionId.set(void 0,void 0),0):K}),this.selectedInlineCompletion=(0,m.derived)(this,j=>{const Q=this._filteredInlineCompletionItems.read(j),G=this.selectedInlineCompletionIndex.read(j);return Q[G]}),this.activeCommands=(0,m.derivedOpts)({owner:this,equalsFn:(0,I.itemsEquals)()},j=>this.selectedInlineCompletion.read(j)?.inlineCompletion.source.inlineCompletions.commands??[]),this.lastTriggerKind=this._source.inlineCompletions.map(this,j=>j?.request.context.triggerKind),this.inlineCompletionsCount=(0,m.derived)(this,j=>{if(this.lastTriggerKind.read(j)===g.InlineCompletionTriggerKind.Explicit)return this._filteredInlineCompletionItems.read(j).length}),this.state=(0,m.derivedOpts)({owner:this,equalsFn:(j,Q)=>!j||!Q?j===Q:(0,l.ghostTextsOrReplacementsEqual)(j.ghostTexts,Q.ghostTexts)&&j.inlineCompletion===Q.inlineCompletion&&j.suggestItem===Q.suggestItem},j=>{const Q=this.textModel,G=this.selectedSuggestItem.read(j);if(G){const K=(0,r.singleTextRemoveCommonPrefix)(G.toSingleTextEdit(),Q),R=this._computeAugmentation(K,j);if(!this._suggestPreviewEnabled.read(j)&&!R)return;const ie=R?.edit??K,ue=R?R.edit.text.length-K.text.length:0,he=this._suggestPreviewMode.read(j),pe=this._positions.read(j),ae=[ie,...S(this.textModel,pe,ie)],ee=ae.map((ge,X)=>(0,r.computeGhostText)(ge,Q,he,pe[X],ue)).filter(b.isDefined),de=ee[0]??new l.GhostText(ie.range.endLineNumber,[]);return{edits:ae,primaryGhostText:de,ghostTexts:ee,inlineCompletion:R?.completion,suggestItem:G}}else{if(!this._isActive.read(j))return;const K=this.selectedInlineCompletion.read(j);if(!K)return;const R=K.toSingleTextEdit(j),J=this._inlineSuggestMode.read(j),ie=this._positions.read(j),ue=[R,...S(this.textModel,ie,R)],he=ue.map((pe,ae)=>(0,r.computeGhostText)(pe,Q,J,ie[ae],0)).filter(b.isDefined);return he[0]?{edits:ue,primaryGhostText:he[0],ghostTexts:he,inlineCompletion:K,suggestItem:void 0}:void 0}}),this.ghostTexts=(0,m.derivedOpts)({owner:this,equalsFn:l.ghostTextsOrReplacementsEqual},j=>{const Q=this.state.read(j);if(Q)return Q.ghostTexts}),this.primaryGhostText=(0,m.derivedOpts)({owner:this,equalsFn:l.ghostTextOrReplacementEquals},j=>{const Q=this.state.read(j);if(Q)return Q?.primaryGhostText}),this._register((0,m.recomputeInitiallyAndOnChange)(this._fetchInlineCompletionsPromise));let U;this._register((0,m.autorun)(j=>{const G=this.state.read(j)?.inlineCompletion;if(G?.semanticId!==U?.semanticId&&(U=G,G)){const K=G.inlineCompletion,R=K.source;R.provider.handleItemDidShow?.(R.inlineCompletions,K.sourceInlineCompletion,K.insertText)}}))}_getReason(M){return M?.isUndoing?w.Undo:M?.isRedoing?w.Redo:this.isAcceptingPartially?w.AcceptWord:w.Other}async trigger(M){this._isActive.set(!0,M),await this._fetchInlineCompletionsPromise.get()}async triggerExplicitly(M){(0,m.subtransaction)(M,A=>{this._isActive.set(!0,A),this._forceUpdateExplicitlySignal.trigger(A)}),await this._fetchInlineCompletionsPromise.get()}stop(M){(0,m.subtransaction)(M,A=>{this._isActive.set(!1,A),this._source.clear(A)})}_computeAugmentation(M,A){const P=this.textModel,N=this._source.suggestWidgetInlineCompletions.read(A),O=N?N.inlineCompletions:[this.selectedInlineCompletion.read(A)].filter(b.isDefined);return(0,k.mapFindFirst)(O,x=>{let W=x.toSingleTextEdit(A);return W=(0,r.singleTextRemoveCommonPrefix)(W,P,o.Range.fromPositions(W.range.getStartPosition(),M.range.getEndPosition())),(0,r.singleTextEditAugments)(W,M)?{completion:x,edit:W}:void 0})}async _deltaSelectedInlineCompletionIndex(M){await this.triggerExplicitly();const A=this._filteredInlineCompletionItems.get()||[];if(A.length>0){const P=(this.selectedInlineCompletionIndex.get()+M+A.length)%A.length;this._selectedInlineCompletionId.set(A[P].semanticId,void 0)}else this._selectedInlineCompletionId.set(void 0,void 0)}async next(){await this._deltaSelectedInlineCompletionIndex(1)}async previous(){await this._deltaSelectedInlineCompletionIndex(-1)}async accept(M){if(M.getModel()!==this.textModel)throw new E.BugIndicatingError;const A=this.state.get();if(!A||A.primaryGhostText.isEmpty()||!A.inlineCompletion)return;const P=A.inlineCompletion.toInlineCompletion(void 0);if(P.command&&P.source.addRef(),M.pushUndoStop(),P.snippetInfo)M.executeEdits("inlineSuggestion.accept",[p.EditOperation.replace(P.range,""),...P.additionalTextEdits]),M.setPosition(P.snippetInfo.range.getStartPosition(),"inlineCompletionAccept"),C.SnippetController2.get(M)?.insert(P.snippetInfo.snippet,{undoStopBefore:!1});else{const N=A.edits,O=D(N).map(F=>t.Selection.fromPositions(F));M.executeEdits("inlineSuggestion.accept",[...N.map(F=>p.EditOperation.replace(F.range,F.text)),...P.additionalTextEdits]),M.setSelections(O,"inlineCompletionAccept")}this.stop(),P.command&&(await this._commandService.executeCommand(P.command.id,...P.command.arguments||[]).then(void 0,E.onUnexpectedExternalError),P.source.removeRef())}async acceptNextWord(M){await this._acceptNext(M,(A,P)=>{const N=this.textModel.getLanguageIdAtPosition(A.lineNumber,A.column),O=this._languageConfigurationService.getLanguageConfiguration(N),F=new RegExp(O.wordDefinition.source,O.wordDefinition.flags.replace("g","")),x=P.match(F);let W=0;x&&x.index!==void 0?x.index===0?W=x[0].length:W=x.index:W=P.length;const q=/\s+/g.exec(P);return q&&q.index!==void 0&&q.index+q[0].length{const N=P.match(/\n/);return N&&N.index!==void 0?N.index+1:P.length},1)}async _acceptNext(M,A,P){if(M.getModel()!==this.textModel)throw new E.BugIndicatingError;const N=this.state.get();if(!N||N.primaryGhostText.isEmpty()||!N.inlineCompletion)return;const O=N.primaryGhostText,F=N.inlineCompletion.toInlineCompletion(void 0);if(F.snippetInfo||F.filterText!==F.insertText){await this.accept(M);return}const x=O.parts[0],W=new n.Position(O.lineNumber,x.column),V=x.text,q=A(W,V);if(q===V.length&&O.parts.length===1){this.accept(M);return}const H=V.substring(0,q),z=this._positions.get(),U=z[0];F.source.addRef();try{this._isAcceptingPartially=!0;try{M.pushUndoStop();const j=o.Range.fromPositions(U,W),Q=M.getModel().getValueInRange(j)+H,G=new i.SingleTextEdit(j,Q),K=[G,...S(this.textModel,z,G)],R=D(K).map(J=>t.Selection.fromPositions(J));M.executeEdits("inlineSuggestion.accept",K.map(J=>p.EditOperation.replace(J.range,J.text))),M.setSelections(R,"inlineCompletionPartialAccept"),M.revealPositionInCenterIfOutsideViewport(M.getPosition(),1)}finally{this._isAcceptingPartially=!1}if(F.source.provider.handlePartialAccept){const j=o.Range.fromPositions(F.range.getStartPosition(),s.TextLength.ofText(H).addToPosition(W)),Q=M.getModel().getValueInRange(j,1);F.source.provider.handlePartialAccept(F.source.inlineCompletions,F.sourceInlineCompletion,Q.length,{kind:P})}}finally{F.source.removeRef()}}handleSuggestAccepted(M){const A=(0,r.singleTextRemoveCommonPrefix)(M.toSingleTextEdit(),this.textModel),P=this._computeAugmentation(A,void 0);if(!P)return;const N=P.completion.inlineCompletion;N.source.provider.handlePartialAccept?.(N.source.inlineCompletions,N.sourceInlineCompletion,A.text.length,{kind:2})}};e.InlineCompletionsModel=v,e.InlineCompletionsModel=v=ke([ce(9,h.IInstantiationService),ce(10,f.ICommandService),ce(11,c.ILanguageConfigurationService)],v);var w;(function(T){T[T.Undo=0]="Undo",T[T.Redo=1]="Redo",T[T.AcceptWord=2]="AcceptWord",T[T.Other=3]="Other"})(w||(e.VersionIdChangeReason=w={}));function S(T,M,A){if(M.length===1)return[];const P=M[0],N=M.slice(1),O=A.range.getStartPosition(),F=A.range.getEndPosition(),x=T.getValueInRange(o.Range.fromPositions(P,F)),W=(0,u.subtractPositions)(P,O);if(W.lineNumber<1)return(0,E.onUnexpectedError)(new E.BugIndicatingError(`positionWithinTextEdit line number should be bigger than 0. + Invalid subtraction between ${P.toString()} and ${O.toString()}`)),[];const V=L(A.text,W);return N.map(q=>{const H=(0,u.addPositions)((0,u.subtractPositions)(q,O),F),z=T.getValueInRange(o.Range.fromPositions(q,H)),U=(0,_.commonPrefixLength)(x,z),j=o.Range.fromPositions(q,q.delta(0,U));return new i.SingleTextEdit(j,V)})}function L(T,M){let A="";const P=(0,_.splitLinesIncludeSeparators)(T);for(let N=M.lineNumber-1;NO.range,o.Range.compareRangesUsingStarts)),P=new i.TextEdit(M.apply(T)).getNewRanges();return M.inverse().apply(P).map(O=>O.getEndPosition())}}),define(ne[437],se([1,0,14,18,8,6,2,11,23,100,343,117,28,12,62,63,342,155,17,82,19,269,221,271]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r,u,C,f){"use strict";var h;Object.defineProperty(e,"__esModule",{value:!0}),e.SuggestModel=e.LineContext=void 0;class v{static shouldAutoTrigger(T){if(!T.hasModel())return!1;const M=T.getModel(),A=T.getPosition();M.tokenization.tokenizeIfCheap(A.lineNumber);const P=M.getWordAtPosition(A);return!(!P||P.endColumn!==A.column&&P.startColumn+1!==A.column||!isNaN(Number(P.word)))}constructor(T,M,A){this.leadingLineContent=T.getLineContent(M.lineNumber).substr(0,M.column-1),this.leadingWord=T.getWordUntilPosition(M),this.lineNumber=M.lineNumber,this.column=M.column,this.triggerOptions=A}}e.LineContext=v;function w(D,T,M){if(!T.getContextKeyValue(u.InlineCompletionContextKeys.inlineSuggestionVisible.key))return!0;const A=T.getContextKeyValue(u.InlineCompletionContextKeys.suppressSuggestions.key);return A!==void 0?!A:!D.getOption(62).suppressSuggestions}function S(D,T,M){if(!T.getContextKeyValue("inlineSuggestionVisible"))return!0;const A=T.getContextKeyValue(u.InlineCompletionContextKeys.suppressSuggestions.key);return A!==void 0?!A:!D.getOption(62).suppressSuggestions}let L=h=class{constructor(T,M,A,P,N,O,F,x,W){this._editor=T,this._editorWorkerService=M,this._clipboardService=A,this._telemetryService=P,this._logService=N,this._contextKeyService=O,this._configurationService=F,this._languageFeaturesService=x,this._envService=W,this._toDispose=new y.DisposableStore,this._triggerCharacterListener=new y.DisposableStore,this._triggerQuickSuggest=new d.TimeoutTimer,this._triggerState=void 0,this._completionDisposables=new y.DisposableStore,this._onDidCancel=new E.Emitter,this._onDidTrigger=new E.Emitter,this._onDidSuggest=new E.Emitter,this.onDidCancel=this._onDidCancel.event,this.onDidTrigger=this._onDidTrigger.event,this.onDidSuggest=this._onDidSuggest.event,this._telemetryGate=0,this._currentSelection=this._editor.getSelection()||new _.Selection(1,1,1,1),this._toDispose.add(this._editor.onDidChangeModel(()=>{this._updateTriggerCharacters(),this.cancel()})),this._toDispose.add(this._editor.onDidChangeModelLanguage(()=>{this._updateTriggerCharacters(),this.cancel()})),this._toDispose.add(this._editor.onDidChangeConfiguration(()=>{this._updateTriggerCharacters()})),this._toDispose.add(this._languageFeaturesService.completionProvider.onDidChange(()=>{this._updateTriggerCharacters(),this._updateActiveSuggestSession()}));let V=!1;this._toDispose.add(this._editor.onDidCompositionStart(()=>{V=!0})),this._toDispose.add(this._editor.onDidCompositionEnd(()=>{V=!1,this._onCompositionEnd()})),this._toDispose.add(this._editor.onDidChangeCursorSelection(q=>{V||this._onCursorChange(q)})),this._toDispose.add(this._editor.onDidChangeModelContent(()=>{!V&&this._triggerState!==void 0&&this._refilterCompletionItems()})),this._updateTriggerCharacters()}dispose(){(0,y.dispose)(this._triggerCharacterListener),(0,y.dispose)([this._onDidCancel,this._onDidSuggest,this._onDidTrigger,this._triggerQuickSuggest]),this._toDispose.dispose(),this._completionDisposables.dispose(),this.cancel()}_updateTriggerCharacters(){if(this._triggerCharacterListener.clear(),this._editor.getOption(92)||!this._editor.hasModel()||!this._editor.getOption(122))return;const T=new Map;for(const A of this._languageFeaturesService.completionProvider.all(this._editor.getModel()))for(const P of A.triggerCharacters||[]){let N=T.get(P);if(!N){N=new Set;const O=(0,c.getSnippetSuggestSupport)();O&&N.add(O),T.set(P,N)}N.add(A)}const M=A=>{if(!S(this._editor,this._contextKeyService,this._configurationService)||v.shouldAutoTrigger(this._editor))return;if(!A){const O=this._editor.getPosition();A=this._editor.getModel().getLineContent(O.lineNumber).substr(0,O.column-1)}let P="";(0,m.isLowSurrogate)(A.charCodeAt(A.length-1))?(0,m.isHighSurrogate)(A.charCodeAt(A.length-2))&&(P=A.substr(A.length-2)):P=A.charAt(A.length-1);const N=T.get(P);if(N){const O=new Map;if(this._completionModel)for(const[F,x]of this._completionModel.getItemsByProvider())N.has(F)||O.set(F,x);this.trigger({auto:!0,triggerKind:1,triggerCharacter:P,retrigger:!!this._completionModel,clipboardText:this._completionModel?.clipboardText,completionOptions:{providerFilter:N,providerItemsToReuse:O}})}};this._triggerCharacterListener.add(this._editor.onDidType(M)),this._triggerCharacterListener.add(this._editor.onDidCompositionEnd(()=>M()))}get state(){return this._triggerState?this._triggerState.auto?2:1:0}cancel(T=!1){this._triggerState!==void 0&&(this._triggerQuickSuggest.cancel(),this._requestToken?.cancel(),this._requestToken=void 0,this._triggerState=void 0,this._completionModel=void 0,this._context=void 0,this._onDidCancel.fire({retrigger:T}))}clear(){this._completionDisposables.clear()}_updateActiveSuggestSession(){this._triggerState!==void 0&&(!this._editor.hasModel()||!this._languageFeaturesService.completionProvider.has(this._editor.getModel())?this.cancel():this.trigger({auto:this._triggerState.auto,retrigger:!0}))}_onCursorChange(T){if(!this._editor.hasModel())return;const M=this._currentSelection;if(this._currentSelection=this._editor.getSelection(),!T.selection.isEmpty()||T.reason!==0&&T.reason!==3||T.source!=="keyboard"&&T.source!=="deleteLeft"){this.cancel();return}this._triggerState===void 0&&T.reason===0?(M.containsRange(this._currentSelection)||M.getEndPosition().isBeforeOrEqual(this._currentSelection.getPosition()))&&this._doTriggerQuickSuggest():this._triggerState!==void 0&&T.reason===3&&this._refilterCompletionItems()}_onCompositionEnd(){this._triggerState===void 0?this._doTriggerQuickSuggest():this._refilterCompletionItems()}_doTriggerQuickSuggest(){c.QuickSuggestionsOptions.isAllOff(this._editor.getOption(90))||this._editor.getOption(119).snippetsPreventQuickSuggestions&&C.SnippetController2.get(this._editor)?.isInSnippet()||(this.cancel(),this._triggerQuickSuggest.cancelAndSet(()=>{if(this._triggerState!==void 0||!v.shouldAutoTrigger(this._editor)||!this._editor.hasModel()||!this._editor.hasWidgetFocus())return;const T=this._editor.getModel(),M=this._editor.getPosition(),A=this._editor.getOption(90);if(!c.QuickSuggestionsOptions.isAllOff(A)){if(!c.QuickSuggestionsOptions.isAllOn(A)){T.tokenization.tokenizeIfCheap(M.lineNumber);const P=T.tokenization.getLineTokens(M.lineNumber),N=P.getStandardTokenType(P.findTokenIndexAtOffset(Math.max(M.column-1-1,0)));if(c.QuickSuggestionsOptions.valueFor(A,N)!=="on")return}w(this._editor,this._contextKeyService,this._configurationService)&&this._languageFeaturesService.completionProvider.has(T)&&this.trigger({auto:!0})}},this._editor.getOption(91)))}_refilterCompletionItems(){(0,r.assertType)(this._editor.hasModel()),(0,r.assertType)(this._triggerState!==void 0);const T=this._editor.getModel(),M=this._editor.getPosition(),A=new v(T,M,{...this._triggerState,refilter:!0});this._onNewContext(A)}trigger(T){if(!this._editor.hasModel())return;const M=this._editor.getModel(),A=new v(M,this._editor.getPosition(),T);this.cancel(T.retrigger),this._triggerState=T,this._onDidTrigger.fire({auto:T.auto,shy:T.shy??!1,position:this._editor.getPosition()}),this._context=A;let P={triggerKind:T.triggerKind??0};T.triggerCharacter&&(P={triggerKind:1,triggerCharacter:T.triggerCharacter}),this._requestToken=new k.CancellationTokenSource;const N=this._editor.getOption(113);let O=1;switch(N){case"top":O=0;break;case"bottom":O=2;break}const{itemKind:F,showDeprecated:x}=h.createSuggestFilter(this._editor),W=new c.CompletionOptions(O,T.completionOptions?.kindFilter??F,T.completionOptions?.providerFilter,T.completionOptions?.providerItemsToReuse,x),V=p.WordDistance.create(this._editorWorkerService,this._editor),q=(0,c.provideSuggestionItems)(this._languageFeaturesService.completionProvider,M,this._editor.getPosition(),W,P,this._requestToken.token);Promise.all([q,V]).then(async([H,z])=>{if(this._requestToken?.dispose(),!this._editor.hasModel())return;let U=T?.clipboardText;if(!U&&H.needsClipboard&&(U=await this._clipboardService.readText()),this._triggerState===void 0)return;const j=this._editor.getModel(),Q=new v(j,this._editor.getPosition(),T),G={...a.FuzzyScoreOptions.default,firstMatchCanBeWeak:!this._editor.getOption(119).matchOnWordStartOnly};if(this._completionModel=new g.CompletionModel(H.items,this._context.column,{leadingLineContent:Q.leadingLineContent,characterCountDelta:Q.column-this._context.column},z,this._editor.getOption(119),this._editor.getOption(113),G,U),this._completionDisposables.add(H.disposable),this._onNewContext(Q),this._reportDurationsTelemetry(H.durations),!this._envService.isBuilt||this._envService.isExtensionDevelopment)for(const K of H.items)K.isInvalid&&this._logService.warn(`[suggest] did IGNORE invalid completion item from ${K.provider._debugDisplayName}`,K.completion)}).catch(I.onUnexpectedError)}_reportDurationsTelemetry(T){this._telemetryGate++%230===0&&setTimeout(()=>{this._telemetryService.publicLog2("suggest.durations.json",{data:JSON.stringify(T)}),this._logService.debug("suggest.durations.json",T)})}static createSuggestFilter(T){const M=new Set;T.getOption(113)==="none"&&M.add(27);const P=T.getOption(119);return P.showMethods||M.add(0),P.showFunctions||M.add(1),P.showConstructors||M.add(2),P.showFields||M.add(3),P.showVariables||M.add(4),P.showClasses||M.add(5),P.showStructs||M.add(6),P.showInterfaces||M.add(7),P.showModules||M.add(8),P.showProperties||M.add(9),P.showEvents||M.add(10),P.showOperators||M.add(11),P.showUnits||M.add(12),P.showValues||M.add(13),P.showConstants||M.add(14),P.showEnums||M.add(15),P.showEnumMembers||M.add(16),P.showKeywords||M.add(17),P.showWords||M.add(18),P.showColors||M.add(19),P.showFiles||M.add(20),P.showReferences||M.add(21),P.showColors||M.add(22),P.showFolders||M.add(23),P.showTypeParameters||M.add(24),P.showSnippets||M.add(27),P.showUsers||M.add(25),P.showIssues||M.add(26),{itemKind:M,showDeprecated:P.showDeprecated}}_onNewContext(T){if(this._context){if(T.lineNumber!==this._context.lineNumber){this.cancel();return}if((0,m.getLeadingWhitespace)(T.leadingLineContent)!==(0,m.getLeadingWhitespace)(this._context.leadingLineContent)){this.cancel();return}if(T.columnthis._context.leadingWord.startColumn){if(v.shouldAutoTrigger(this._editor)&&this._context){const A=this._completionModel.getItemsByProvider();this.trigger({auto:this._context.triggerOptions.auto,retrigger:!0,clipboardText:this._completionModel.clipboardText,completionOptions:{providerItemsToReuse:A}})}return}if(T.column>this._context.column&&this._completionModel.getIncompleteProvider().size>0&&T.leadingWord.word.length!==0){const M=new Map,A=new Set;for(const[P,N]of this._completionModel.getItemsByProvider())N.length>0&&N[0].container.incomplete?A.add(P):M.set(P,N);this.trigger({auto:this._context.triggerOptions.auto,triggerKind:2,retrigger:!0,clipboardText:this._completionModel.clipboardText,completionOptions:{providerFilter:A,providerItemsToReuse:M}})}else{const M=this._completionModel.lineContext;let A=!1;if(this._completionModel.lineContext={leadingLineContent:T.leadingLineContent,characterCountDelta:T.column-this._context.column},this._completionModel.items.length===0){const P=v.shouldAutoTrigger(this._editor);if(!this._context){this.cancel();return}if(P&&this._context.leadingWord.endColumn0,A&&T.leadingWord.word.length===0){this.cancel();return}}this._onDidSuggest.fire({completionModel:this._completionModel,triggerOptions:T.triggerOptions,isFrozen:A})}}}}};e.SuggestModel=L,e.SuggestModel=L=h=ke([ce(1,b.IEditorWorkerService),ce(2,n.IClipboardService),ce(3,s.ITelemetryService),ce(4,i.ILogService),ce(5,t.IContextKeyService),ce(6,o.IConfigurationService),ce(7,l.ILanguageFeaturesService),ce(8,f.IEnvironmentService)],L)}),define(ne[294],se([1,0,46,13,18,8,6,140,2,16,54,19,143,15,75,9,4,20,221,135,405,685,3,24,12,7,62,155,684,622,437,623,839,63,48,129,5,35]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r,u,C,f,h,v,w,S,L,D,T,M,A,P,N,O,F,x){"use strict";var W;Object.defineProperty(e,"__esModule",{value:!0}),e.TriggerSuggestAction=e.SuggestController=void 0;const V=!1;class q{constructor(K,R){if(this._model=K,this._position=R,this._decorationOptions=x.ModelDecorationOptions.register({description:"suggest-line-suffix",stickiness:1}),K.getLineMaxColumn(R.lineNumber)!==R.column){const ie=K.getOffsetAt(R),ue=K.getPositionAt(ie+1);K.changeDecorations(he=>{this._marker&&he.removeDecoration(this._marker),this._marker=he.addDecoration(g.Range.fromPositions(R,ue),this._decorationOptions)})}}dispose(){this._marker&&!this._model.isDisposed()&&this._model.changeDecorations(K=>{K.removeDecoration(this._marker),this._marker=void 0})}delta(K){if(this._model.isDisposed()||this._position.lineNumber!==K.lineNumber)return 0;if(this._marker){const R=this._model.getDecorationRange(this._marker);return this._model.getOffsetAt(R.getStartPosition())-this._model.getOffsetAt(K)}else return this._model.getLineMaxColumn(K.lineNumber)-K.column}}let H=class{static{W=this}static{this.ID="editor.contrib.suggestController"}static get(K){return K.getContribution(W.ID)}constructor(K,R,J,ie,ue,he,pe){this._memoryService=R,this._commandService=J,this._contextKeyService=ie,this._instantiationService=ue,this._logService=he,this._telemetryService=pe,this._lineSuffix=new _.MutableDisposable,this._toDispose=new _.DisposableStore,this._selectors=new z(ge=>ge.priority),this._onWillInsertSuggestItem=new y.Emitter,this.onWillInsertSuggestItem=this._onWillInsertSuggestItem.event,this.editor=K,this.model=ue.createInstance(T.SuggestModel,this.editor),this._selectors.register({priority:0,select:(ge,X,B)=>this._memoryService.select(ge,X,B)});const ae=S.Context.InsertMode.bindTo(ie);ae.set(K.getOption(119).insertMode),this._toDispose.add(this.model.onDidTrigger(()=>ae.set(K.getOption(119).insertMode))),this.widget=this._toDispose.add(new F.WindowIdleValue((0,F.getWindow)(K.getDomNode()),()=>{const ge=this._instantiationService.createInstance(A.SuggestWidget,this.editor);this._toDispose.add(ge),this._toDispose.add(ge.onDidSelect(Z=>this._insertSuggestion(Z,0),this));const X=new D.CommitCharacterController(this.editor,ge,this.model,Z=>this._insertSuggestion(Z,2));this._toDispose.add(X);const B=S.Context.MakesTextEdit.bindTo(this._contextKeyService),$=S.Context.HasInsertAndReplaceRange.bindTo(this._contextKeyService),Y=S.Context.CanResolve.bindTo(this._contextKeyService);return this._toDispose.add((0,_.toDisposable)(()=>{B.reset(),$.reset(),Y.reset()})),this._toDispose.add(ge.onDidFocus(({item:Z})=>{const te=this.editor.getPosition(),re=Z.editStart.column,le=te.column;let me=!0;this.editor.getOption(1)==="smart"&&this.model.state===2&&!Z.completion.additionalTextEdits&&!(Z.completion.insertTextRules&4)&&le-re===Z.completion.insertText.length&&(me=this.editor.getModel().getValueInRange({startLineNumber:te.lineNumber,startColumn:re,endLineNumber:te.lineNumber,endColumn:le})!==Z.completion.insertText),B.set(me),$.set(!s.Position.equals(Z.editInsertEnd,Z.editReplaceEnd)),Y.set(!!Z.provider.resolveCompletionItem||!!Z.completion.documentation||Z.completion.detail!==Z.completion.label)})),this._toDispose.add(ge.onDetailsKeyDown(Z=>{if(Z.toKeyCodeChord().equals(new m.KeyCodeChord(!0,!1,!1,!1,33))||b.isMacintosh&&Z.toKeyCodeChord().equals(new m.KeyCodeChord(!1,!1,!1,!0,33))){Z.stopPropagation();return}Z.toKeyCodeChord().isModifierKey()||this.editor.focus()})),ge})),this._overtypingCapturer=this._toDispose.add(new F.WindowIdleValue((0,F.getWindow)(K.getDomNode()),()=>this._toDispose.add(new M.OvertypingCapturer(this.editor,this.model)))),this._alternatives=this._toDispose.add(new F.WindowIdleValue((0,F.getWindow)(K.getDomNode()),()=>this._toDispose.add(new L.SuggestAlternatives(this.editor,this._contextKeyService)))),this._toDispose.add(ue.createInstance(u.WordContextKey,K)),this._toDispose.add(this.model.onDidTrigger(ge=>{this.widget.value.showTriggered(ge.auto,ge.shy?250:50),this._lineSuffix.value=new q(this.editor.getModel(),ge.position)})),this._toDispose.add(this.model.onDidSuggest(ge=>{if(ge.triggerOptions.shy)return;let X=-1;for(const $ of this._selectors.itemsOrderedByPriorityDesc)if(X=$.select(this.editor.getModel(),this.editor.getPosition(),ge.completionModel.items),X!==-1)break;if(X===-1&&(X=0),this.model.state===0)return;let B=!1;if(ge.triggerOptions.auto){const $=this.editor.getOption(119);$.selectionMode==="never"||$.selectionMode==="always"?B=$.selectionMode==="never":$.selectionMode==="whenTriggerCharacter"?B=ge.triggerOptions.triggerKind!==1:$.selectionMode==="whenQuickSuggestion"&&(B=ge.triggerOptions.triggerKind===1&&!ge.triggerOptions.refilter)}this.widget.value.showSuggestions(ge.completionModel,X,ge.isFrozen,ge.triggerOptions.auto,B)})),this._toDispose.add(this.model.onDidCancel(ge=>{ge.retrigger||this.widget.value.hideWidget()})),this._toDispose.add(this.editor.onDidBlurEditorWidget(()=>{V||(this.model.cancel(),this.model.clear())}));const ee=S.Context.AcceptSuggestionsOnEnter.bindTo(ie),de=()=>{const ge=this.editor.getOption(1);ee.set(ge==="on"||ge==="smart")};this._toDispose.add(this.editor.onDidChangeConfiguration(()=>de())),de()}dispose(){this._alternatives.dispose(),this._toDispose.dispose(),this.widget.dispose(),this.model.dispose(),this._lineSuffix.dispose(),this._onWillInsertSuggestItem.dispose()}_insertSuggestion(K,R){if(!K||!K.item){this._alternatives.value.reset(),this.model.cancel(),this.model.clear();return}if(!this.editor.hasModel())return;const J=l.SnippetController2.get(this.editor);if(!J)return;this._onWillInsertSuggestItem.fire({item:K.item});const ie=this.editor.getModel(),ue=ie.getAlternativeVersionId(),{item:he}=K,pe=[],ae=new I.CancellationTokenSource;R&1||this.editor.pushUndoStop();const ee=this.getOverwriteInfo(he,!!(R&8));this._memoryService.memorize(ie,this.editor.getPosition(),he);const de=he.isResolved;let ge=-1,X=-1;if(Array.isArray(he.completion.additionalTextEdits)){this.model.cancel();const $=o.StableEditorScrollState.capture(this.editor);this.editor.executeEdits("suggestController.additionalTextEdits.sync",he.completion.additionalTextEdits.map(Y=>{let Z=g.Range.lift(Y.range);if(Z.startLineNumber===he.position.lineNumber&&Z.startColumn>he.position.column){const te=this.editor.getPosition().column-he.position.column,re=te,le=g.Range.spansMultipleLines(Z)?0:te;Z=new g.Range(Z.startLineNumber,Z.startColumn+re,Z.endLineNumber,Z.endColumn+le)}return i.EditOperation.replaceMove(Z,Y.text)})),$.restoreRelativeVerticalPositionOfCursor(this.editor)}else if(!de){const $=new p.StopWatch;let Y;const Z=ie.onDidChangeContent(me=>{if(me.isFlush){ae.cancel(),Z.dispose();return}for(const ve of me.changes){const Le=g.Range.getEndPosition(ve.range);(!Y||s.Position.isBefore(Le,Y))&&(Y=Le)}}),te=R;R|=2;let re=!1;const le=this.editor.onWillType(()=>{le.dispose(),re=!0,te&2||this.editor.pushUndoStop()});pe.push(he.resolve(ae.token).then(()=>{if(!he.completion.additionalTextEdits||ae.token.isCancellationRequested)return;if(Y&&he.completion.additionalTextEdits.some(ve=>s.Position.isBefore(Y,g.Range.getStartPosition(ve.range))))return!1;re&&this.editor.pushUndoStop();const me=o.StableEditorScrollState.capture(this.editor);return this.editor.executeEdits("suggestController.additionalTextEdits.async",he.completion.additionalTextEdits.map(ve=>i.EditOperation.replaceMove(g.Range.lift(ve.range),ve.text))),me.restoreRelativeVerticalPositionOfCursor(this.editor),(re||!(te&2))&&this.editor.pushUndoStop(),!0}).then(me=>{this._logService.trace("[suggest] async resolving of edits DONE (ms, applied?)",$.elapsed(),me),X=me===!0?1:me===!1?0:-2}).finally(()=>{Z.dispose(),le.dispose()}))}let{insertText:B}=he.completion;if(he.completion.insertTextRules&4||(B=a.SnippetParser.escape(B)),this.model.cancel(),J.insert(B,{overwriteBefore:ee.overwriteBefore,overwriteAfter:ee.overwriteAfter,undoStopBefore:!1,undoStopAfter:!1,adjustWhitespace:!(he.completion.insertTextRules&1),clipboardText:K.model.clipboardText,overtypingCapturer:this._overtypingCapturer.value}),R&2||this.editor.pushUndoStop(),he.completion.command)if(he.completion.command.id===U.id)this.model.trigger({auto:!0,retrigger:!0});else{const $=new p.StopWatch;pe.push(this._commandService.executeCommand(he.completion.command.id,...he.completion.command.arguments?[...he.completion.command.arguments]:[]).catch(Y=>{he.completion.extensionId?(0,E.onUnexpectedExternalError)(Y):(0,E.onUnexpectedError)(Y)}).finally(()=>{ge=$.elapsed()}))}R&4&&this._alternatives.value.set(K,$=>{for(ae.cancel();ie.canUndo();){ue!==ie.getAlternativeVersionId()&&ie.undo(),this._insertSuggestion($,3|(R&8?8:0));break}}),this._alertCompletionItem(he),Promise.all(pe).finally(()=>{this._reportSuggestionAcceptedTelemetry(he,ie,de,ge,X,K.index,K.model.items),this.model.clear(),ae.dispose()})}_reportSuggestionAcceptedTelemetry(K,R,J,ie,ue,he,pe){if(Math.floor(Math.random()*100)===0)return;const ae=new Map;for(let X=0;X1?ee[0]:-1;this._telemetryService.publicLog2("suggest.acceptedSuggestion",{extensionId:K.extensionId?.value??"unknown",providerId:K.provider._debugDisplayName??"unknown",kind:K.completion.kind,basenameHash:(0,O.hash)((0,N.basename)(R.uri)).toString(16),languageId:R.getLanguageId(),fileExtension:(0,N.extname)(R.uri),resolveInfo:K.provider.resolveCompletionItem?J?1:0:-1,resolveDuration:K.resolveDuration,commandDuration:ie,additionalEditsAsync:ue,index:he,firstIndex:ge})}getOverwriteInfo(K,R){(0,n.assertType)(this.editor.hasModel());let J=this.editor.getOption(119).insertMode==="replace";R&&(J=!J);const ie=K.position.column-K.editStart.column,ue=(J?K.editReplaceEnd.column:K.editInsertEnd.column)-K.position.column,he=this.editor.getPosition().column-K.position.column,pe=this._lineSuffix.value?this._lineSuffix.value.delta(this.editor.getPosition()):0;return{overwriteBefore:ie+he,overwriteAfter:ue+pe}}_alertCompletionItem(K){if((0,k.isNonEmptyArray)(K.completion.additionalTextEdits)){const R=C.localize(1318,"Accepting '{0}' made {1} additional edits",K.textLabel,K.completion.additionalTextEdits.length);(0,d.alert)(R)}}triggerSuggest(K,R,J){this.editor.hasModel()&&(this.model.trigger({auto:R??!1,completionOptions:{providerFilter:K,kindFilter:J?new Set:void 0}}),this.editor.revealPosition(this.editor.getPosition(),0),this.editor.focus())}triggerSuggestAndAcceptBest(K){if(!this.editor.hasModel())return;const R=this.editor.getPosition(),J=()=>{R.equals(this.editor.getPosition())&&this._commandService.executeCommand(K.fallback)},ie=ue=>{if(ue.completion.insertTextRules&4||ue.completion.additionalTextEdits)return!0;const he=this.editor.getPosition(),pe=ue.editStart.column,ae=he.column;return ae-pe!==ue.completion.insertText.length?!0:this.editor.getModel().getValueInRange({startLineNumber:he.lineNumber,startColumn:pe,endLineNumber:he.lineNumber,endColumn:ae})!==ue.completion.insertText};y.Event.once(this.model.onDidTrigger)(ue=>{const he=[];y.Event.any(this.model.onDidTrigger,this.model.onDidCancel)(()=>{(0,_.dispose)(he),J()},void 0,he),this.model.onDidSuggest(({completionModel:pe})=>{if((0,_.dispose)(he),pe.items.length===0){J();return}const ae=this._memoryService.select(this.editor.getModel(),this.editor.getPosition(),pe.items),ee=pe.items[ae];if(!ie(ee)){J();return}this.editor.pushUndoStop(),this._insertSuggestion({index:ae,item:ee,model:pe},7)},void 0,he)}),this.model.trigger({auto:!1,shy:!0}),this.editor.revealPosition(R,0),this.editor.focus()}acceptSelectedSuggestion(K,R){const J=this.widget.value.getFocusedItem();let ie=0;K&&(ie|=4),R&&(ie|=8),this._insertSuggestion(J,ie)}acceptNextSuggestion(){this._alternatives.value.next()}acceptPrevSuggestion(){this._alternatives.value.prev()}cancelSuggestWidget(){this.model.cancel(),this.model.clear(),this.widget.value.hideWidget()}focusSuggestion(){this.widget.value.focusSelected()}selectNextSuggestion(){this.widget.value.selectNext()}selectNextPageSuggestion(){this.widget.value.selectNextPage()}selectLastSuggestion(){this.widget.value.selectLast()}selectPrevSuggestion(){this.widget.value.selectPrevious()}selectPrevPageSuggestion(){this.widget.value.selectPreviousPage()}selectFirstSuggestion(){this.widget.value.selectFirst()}toggleSuggestionDetails(){this.widget.value.toggleDetails()}toggleExplainMode(){this.widget.value.toggleExplainMode()}toggleSuggestionFocus(){this.widget.value.toggleDetailsFocus()}resetWidgetSize(){this.widget.value.resetPersistedSize()}forceRenderingAbove(){this.widget.value.forceRenderingAbove()}stopForceRenderingAbove(){this.widget.isInitialized&&this.widget.value.stopForceRenderingAbove()}registerSelector(K){return this._selectors.register(K)}};e.SuggestController=H,e.SuggestController=H=W=ke([ce(1,r.ISuggestMemoryService),ce(2,f.ICommandService),ce(3,h.IContextKeyService),ce(4,v.IInstantiationService),ce(5,w.ILogService),ce(6,P.ITelemetryService)],H);class z{constructor(K){this.prioritySelector=K,this._items=new Array}register(K){if(this._items.indexOf(K)!==-1)throw new Error("Value is already registered");return this._items.push(K),this._items.sort((R,J)=>this.prioritySelector(J)-this.prioritySelector(R)),{dispose:()=>{const R=this._items.indexOf(K);R>=0&&this._items.splice(R,1)}}}get itemsOrderedByPriorityDesc(){return this._items}}class U extends t.EditorAction{static{this.id="editor.action.triggerSuggest"}constructor(){super({id:U.id,label:C.localize(1319,"Trigger Suggest"),alias:"Trigger Suggest",precondition:h.ContextKeyExpr.and(c.EditorContextKeys.writable,c.EditorContextKeys.hasCompletionItemProvider,S.Context.Visible.toNegated()),kbOpts:{kbExpr:c.EditorContextKeys.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[521,2087]},weight:100}})}run(K,R,J){const ie=H.get(R);if(!ie)return;let ue;J&&typeof J=="object"&&J.auto===!0&&(ue=!0),ie.triggerSuggest(void 0,ue,void 0)}}e.TriggerSuggestAction=U,(0,t.registerEditorContribution)(H.ID,H,2),(0,t.registerEditorAction)(U);const j=190,Q=t.EditorCommand.bindToContribution(H.get);(0,t.registerEditorCommand)(new Q({id:"acceptSelectedSuggestion",precondition:h.ContextKeyExpr.and(S.Context.Visible,S.Context.HasFocusedSuggestion),handler(G){G.acceptSelectedSuggestion(!0,!1)},kbOpts:[{primary:2,kbExpr:h.ContextKeyExpr.and(S.Context.Visible,c.EditorContextKeys.textInputFocus),weight:j},{primary:3,kbExpr:h.ContextKeyExpr.and(S.Context.Visible,c.EditorContextKeys.textInputFocus,S.Context.AcceptSuggestionsOnEnter,S.Context.MakesTextEdit),weight:j}],menuOpts:[{menuId:S.suggestWidgetStatusbarMenu,title:C.localize(1320,"Insert"),group:"left",order:1,when:S.Context.HasInsertAndReplaceRange.toNegated()},{menuId:S.suggestWidgetStatusbarMenu,title:C.localize(1321,"Insert"),group:"left",order:1,when:h.ContextKeyExpr.and(S.Context.HasInsertAndReplaceRange,S.Context.InsertMode.isEqualTo("insert"))},{menuId:S.suggestWidgetStatusbarMenu,title:C.localize(1322,"Replace"),group:"left",order:1,when:h.ContextKeyExpr.and(S.Context.HasInsertAndReplaceRange,S.Context.InsertMode.isEqualTo("replace"))}]})),(0,t.registerEditorCommand)(new Q({id:"acceptAlternativeSelectedSuggestion",precondition:h.ContextKeyExpr.and(S.Context.Visible,c.EditorContextKeys.textInputFocus,S.Context.HasFocusedSuggestion),kbOpts:{weight:j,kbExpr:c.EditorContextKeys.textInputFocus,primary:1027,secondary:[1026]},handler(G){G.acceptSelectedSuggestion(!1,!0)},menuOpts:[{menuId:S.suggestWidgetStatusbarMenu,group:"left",order:2,when:h.ContextKeyExpr.and(S.Context.HasInsertAndReplaceRange,S.Context.InsertMode.isEqualTo("insert")),title:C.localize(1323,"Replace")},{menuId:S.suggestWidgetStatusbarMenu,group:"left",order:2,when:h.ContextKeyExpr.and(S.Context.HasInsertAndReplaceRange,S.Context.InsertMode.isEqualTo("replace")),title:C.localize(1324,"Insert")}]})),f.CommandsRegistry.registerCommandAlias("acceptSelectedSuggestionOnEnter","acceptSelectedSuggestion"),(0,t.registerEditorCommand)(new Q({id:"hideSuggestWidget",precondition:S.Context.Visible,handler:G=>G.cancelSuggestWidget(),kbOpts:{weight:j,kbExpr:c.EditorContextKeys.textInputFocus,primary:9,secondary:[1033]}})),(0,t.registerEditorCommand)(new Q({id:"selectNextSuggestion",precondition:h.ContextKeyExpr.and(S.Context.Visible,h.ContextKeyExpr.or(S.Context.MultipleSuggestions,S.Context.HasFocusedSuggestion.negate())),handler:G=>G.selectNextSuggestion(),kbOpts:{weight:j,kbExpr:c.EditorContextKeys.textInputFocus,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}})),(0,t.registerEditorCommand)(new Q({id:"selectNextPageSuggestion",precondition:h.ContextKeyExpr.and(S.Context.Visible,h.ContextKeyExpr.or(S.Context.MultipleSuggestions,S.Context.HasFocusedSuggestion.negate())),handler:G=>G.selectNextPageSuggestion(),kbOpts:{weight:j,kbExpr:c.EditorContextKeys.textInputFocus,primary:12,secondary:[2060]}})),(0,t.registerEditorCommand)(new Q({id:"selectLastSuggestion",precondition:h.ContextKeyExpr.and(S.Context.Visible,h.ContextKeyExpr.or(S.Context.MultipleSuggestions,S.Context.HasFocusedSuggestion.negate())),handler:G=>G.selectLastSuggestion()})),(0,t.registerEditorCommand)(new Q({id:"selectPrevSuggestion",precondition:h.ContextKeyExpr.and(S.Context.Visible,h.ContextKeyExpr.or(S.Context.MultipleSuggestions,S.Context.HasFocusedSuggestion.negate())),handler:G=>G.selectPrevSuggestion(),kbOpts:{weight:j,kbExpr:c.EditorContextKeys.textInputFocus,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}})),(0,t.registerEditorCommand)(new Q({id:"selectPrevPageSuggestion",precondition:h.ContextKeyExpr.and(S.Context.Visible,h.ContextKeyExpr.or(S.Context.MultipleSuggestions,S.Context.HasFocusedSuggestion.negate())),handler:G=>G.selectPrevPageSuggestion(),kbOpts:{weight:j,kbExpr:c.EditorContextKeys.textInputFocus,primary:11,secondary:[2059]}})),(0,t.registerEditorCommand)(new Q({id:"selectFirstSuggestion",precondition:h.ContextKeyExpr.and(S.Context.Visible,h.ContextKeyExpr.or(S.Context.MultipleSuggestions,S.Context.HasFocusedSuggestion.negate())),handler:G=>G.selectFirstSuggestion()})),(0,t.registerEditorCommand)(new Q({id:"focusSuggestion",precondition:h.ContextKeyExpr.and(S.Context.Visible,S.Context.HasFocusedSuggestion.negate()),handler:G=>G.focusSuggestion(),kbOpts:{weight:j,kbExpr:c.EditorContextKeys.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}}})),(0,t.registerEditorCommand)(new Q({id:"focusAndAcceptSuggestion",precondition:h.ContextKeyExpr.and(S.Context.Visible,S.Context.HasFocusedSuggestion.negate()),handler:G=>{G.focusSuggestion(),G.acceptSelectedSuggestion(!0,!1)}})),(0,t.registerEditorCommand)(new Q({id:"toggleSuggestionDetails",precondition:h.ContextKeyExpr.and(S.Context.Visible,S.Context.HasFocusedSuggestion),handler:G=>G.toggleSuggestionDetails(),kbOpts:{weight:j,kbExpr:c.EditorContextKeys.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}},menuOpts:[{menuId:S.suggestWidgetStatusbarMenu,group:"right",order:1,when:h.ContextKeyExpr.and(S.Context.DetailsVisible,S.Context.CanResolve),title:C.localize(1325,"Show Less")},{menuId:S.suggestWidgetStatusbarMenu,group:"right",order:1,when:h.ContextKeyExpr.and(S.Context.DetailsVisible.toNegated(),S.Context.CanResolve),title:C.localize(1326,"Show More")}]})),(0,t.registerEditorCommand)(new Q({id:"toggleExplainMode",precondition:S.Context.Visible,handler:G=>G.toggleExplainMode(),kbOpts:{weight:100,primary:2138}})),(0,t.registerEditorCommand)(new Q({id:"toggleSuggestionFocus",precondition:S.Context.Visible,handler:G=>G.toggleSuggestionFocus(),kbOpts:{weight:j,kbExpr:c.EditorContextKeys.textInputFocus,primary:2570,mac:{primary:778}}})),(0,t.registerEditorCommand)(new Q({id:"insertBestCompletion",precondition:h.ContextKeyExpr.and(c.EditorContextKeys.textInputFocus,h.ContextKeyExpr.equals("config.editor.tabCompletion","on"),u.WordContextKey.AtEnd,S.Context.Visible.toNegated(),L.SuggestAlternatives.OtherSuggestions.toNegated(),l.SnippetController2.InSnippetMode.toNegated()),handler:(G,K)=>{G.triggerSuggestAndAcceptBest((0,n.isObject)(K)?{fallback:"tab",...K}:{fallback:"tab"})},kbOpts:{weight:j,primary:2}})),(0,t.registerEditorCommand)(new Q({id:"insertNextSuggestion",precondition:h.ContextKeyExpr.and(c.EditorContextKeys.textInputFocus,h.ContextKeyExpr.equals("config.editor.tabCompletion","on"),L.SuggestAlternatives.OtherSuggestions,S.Context.Visible.toNegated(),l.SnippetController2.InSnippetMode.toNegated()),handler:G=>G.acceptNextSuggestion(),kbOpts:{weight:j,kbExpr:c.EditorContextKeys.textInputFocus,primary:2}})),(0,t.registerEditorCommand)(new Q({id:"insertPrevSuggestion",precondition:h.ContextKeyExpr.and(c.EditorContextKeys.textInputFocus,h.ContextKeyExpr.equals("config.editor.tabCompletion","on"),L.SuggestAlternatives.OtherSuggestions,S.Context.Visible.toNegated(),l.SnippetController2.InSnippetMode.toNegated()),handler:G=>G.acceptPrevSuggestion(),kbOpts:{weight:j,kbExpr:c.EditorContextKeys.textInputFocus,primary:1026}})),(0,t.registerEditorAction)(class extends t.EditorAction{constructor(){super({id:"editor.action.resetSuggestSize",label:C.localize(1327,"Reset Suggest Widget Size"),alias:"Reset Suggest Widget Size",precondition:void 0})}run(G,K){H.get(K)?.resetWidgetSize()}})}),define(ne[861],se([1,0,13,67,6,2,9,4,104,27,246,135,436,294]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SuggestItemInfo=e.SuggestWidgetAdaptor=void 0;class i extends E.Disposable{get selectedItem(){return this._currentSuggestItemInfo}constructor(l,a,r){super(),this.editor=l,this.suggestControllerPreselector=a,this.onWillAccept=r,this.isSuggestWidgetVisible=!1,this.isShiftKeyPressed=!1,this._isActive=!1,this._currentSuggestItemInfo=void 0,this._onDidSelectedItemChange=this._register(new I.Emitter),this.onDidSelectedItemChange=this._onDidSelectedItemChange.event,this._register(l.onKeyDown(C=>{C.shiftKey&&!this.isShiftKeyPressed&&(this.isShiftKeyPressed=!0,this.update(this._isActive))})),this._register(l.onKeyUp(C=>{C.shiftKey&&this.isShiftKeyPressed&&(this.isShiftKeyPressed=!1,this.update(this._isActive))}));const u=t.SuggestController.get(this.editor);if(u){this._register(u.registerSelector({priority:100,select:(h,v,w)=>{const S=this.editor.getModel();if(!S)return-1;const L=this.suggestControllerPreselector(),D=L?(0,p.singleTextRemoveCommonPrefix)(L,S):void 0;if(!D)return-1;const T=y.Position.lift(v),M=w.map((P,N)=>{const O=s.fromSuggestion(u,S,T,P,this.isShiftKeyPressed),F=(0,p.singleTextRemoveCommonPrefix)(O.toSingleTextEdit(),S),x=(0,p.singleTextEditAugments)(D,F);return{index:N,valid:x,prefixLength:F.text.length,suggestItem:P}}).filter(P=>P&&P.valid&&P.prefixLength>0),A=(0,k.findFirstMax)(M,(0,d.compareBy)(P=>P.prefixLength,d.numberComparator));return A?A.index:-1}}));let C=!1;const f=()=>{C||(C=!0,this._register(u.widget.value.onDidShow(()=>{this.isSuggestWidgetVisible=!0,this.update(!0)})),this._register(u.widget.value.onDidHide(()=>{this.isSuggestWidgetVisible=!1,this.update(!1)})),this._register(u.widget.value.onDidFocus(()=>{this.isSuggestWidgetVisible=!0,this.update(!0)})))};this._register(I.Event.once(u.model.onDidTrigger)(h=>{f()})),this._register(u.onWillInsertSuggestItem(h=>{const v=this.editor.getPosition(),w=this.editor.getModel();if(!v||!w)return;const S=s.fromSuggestion(u,w,v,h.item,this.isShiftKeyPressed);this.onWillAccept(S)}))}this.update(this._isActive)}update(l){const a=this.getSuggestItemInfo();(this._isActive!==l||!g(this._currentSuggestItemInfo,a))&&(this._isActive=l,this._currentSuggestItemInfo=a,this._onDidSelectedItemChange.fire())}getSuggestItemInfo(){const l=t.SuggestController.get(this.editor);if(!l||!this.isSuggestWidgetVisible)return;const a=l.widget.value.getFocusedItem(),r=this.editor.getPosition(),u=this.editor.getModel();if(!(!a||!r||!u))return s.fromSuggestion(l,u,r,a.item,this.isShiftKeyPressed)}stopForceRenderingAbove(){t.SuggestController.get(this.editor)?.stopForceRenderingAbove()}forceRenderingAbove(){t.SuggestController.get(this.editor)?.forceRenderingAbove()}}e.SuggestWidgetAdaptor=i;class s{static fromSuggestion(l,a,r,u,C){let{insertText:f}=u.completion,h=!1;if(u.completion.insertTextRules&4){const w=new n.SnippetParser().parse(f);w.children.length<100&&o.SnippetSession.adjustWhitespace(a,r,!0,w),f=w.toString(),h=!0}const v=l.getOverwriteInfo(u,C);return new s(m.Range.fromPositions(r.delta(0,-v.overwriteBefore),r.delta(0,Math.max(v.overwriteAfter,0))),f,u.completion.kind,h)}constructor(l,a,r,u){this.range=l,this.insertText=a,this.completionItemKind=r,this.isSnippetText=u}equals(l){return this.range.equalsRange(l.range)&&this.insertText===l.insertText&&this.completionItemKind===l.completionItemKind&&this.isSnippetText===l.isSnippetText}toSelectedSuggestionInfo(){return new b.SelectedSuggestionInfo(this.range,this.insertText,this.completionItemKind,this.isSnippetText)}toSingleTextEdit(){return new _.SingleTextEdit(this.range,this.insertText)}}e.SuggestItemInfo=s;function g(c,l){return c===l?!0:!c||!l?!1:c.equals(l)}}),define(ne[295],se([1,0,630,46,14,18,2,21,65,189,19,214,112,9,79,17,245,679,269,283,860,861,3,61,137,24,28,12,7,31]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r,u,C,f,h,v,w,S,L,D){"use strict";var T;Object.defineProperty(e,"__esModule",{value:!0}),e.InlineCompletionsController=void 0;let M=class extends y.Disposable{static{T=this}static{this.ID="editor.contrib.inlineCompletionsController"}static get(N){return N.getContribution(T.ID)}constructor(N,O,F,x,W,V,q,H,z,U){super(),this.editor=N,this._instantiationService=O,this._contextKeyService=F,this._configurationService=x,this._commandService=W,this._debounceService=V,this._languageFeaturesService=q,this._accessibilitySignalService=H,this._keybindingService=z,this._accessibilityService=U,this._editorObs=(0,o.observableCodeEditor)(this.editor),this._positions=(0,m.derived)(this,Q=>this._editorObs.selections.read(Q)?.map(G=>G.getEndPosition())??[new t.Position(1,1)]),this._suggestWidgetAdaptor=this._register(new u.SuggestWidgetAdaptor(this.editor,()=>(this._editorObs.forceUpdate(),this.model.get()?.selectedInlineCompletion.get()?.toSingleTextEdit(void 0)),Q=>this._editorObs.forceUpdate(G=>{this.model.get()?.handleSuggestAccepted(Q)}))),this._suggestWidgetSelectedItem=(0,m.observableFromEvent)(this,Q=>this._suggestWidgetAdaptor.onDidSelectedItemChange(()=>{this._editorObs.forceUpdate(G=>Q(void 0))}),()=>this._suggestWidgetAdaptor.selectedItem),this._enabledInConfig=(0,m.observableFromEvent)(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).enabled),this._isScreenReaderEnabled=(0,m.observableFromEvent)(this,this._accessibilityService.onDidChangeScreenReaderOptimized,()=>this._accessibilityService.isScreenReaderOptimized()),this._editorDictationInProgress=(0,m.observableFromEvent)(this,this._contextKeyService.onDidChangeContext,()=>this._contextKeyService.getContext(this.editor.getDomNode()).getValue("editorDictation.inProgress")===!0),this._enabled=(0,m.derived)(this,Q=>this._enabledInConfig.read(Q)&&(!this._isScreenReaderEnabled.read(Q)||!this._editorDictationInProgress.read(Q))),this._debounceValue=this._debounceService.for(this._languageFeaturesService.inlineCompletionsProvider,"InlineCompletionsDebounce",{min:50,max:50}),this.model=(0,_.derivedDisposable)(this,Q=>{if(this._editorObs.isReadonly.read(Q))return;const G=this._editorObs.model.read(Q);return G?this._instantiationService.createInstance(r.InlineCompletionsModel,G,this._suggestWidgetSelectedItem,this._editorObs.versionId,this._positions,this._debounceValue,(0,m.observableFromEvent)(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(119).preview),(0,m.observableFromEvent)(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(119).previewMode),(0,m.observableFromEvent)(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).mode),this._enabled):void 0}).recomputeInitiallyAndOnChange(this._store),this._ghostTexts=(0,m.derived)(this,Q=>this.model.read(Q)?.ghostTexts.read(Q)??[]),this._stablizedGhostTexts=A(this._ghostTexts,this._store),this._ghostTextWidgets=(0,b.mapObservableArrayCached)(this,this._stablizedGhostTexts,(Q,G)=>G.add(this._instantiationService.createInstance(c.GhostTextView,this.editor,{ghostText:Q,minReservedLineCount:(0,m.constObservable)(0),targetTextModel:this.model.map(K=>K?.textModel)}))).recomputeInitiallyAndOnChange(this._store),this._playAccessibilitySignal=(0,m.observableSignal)(this),this._fontFamily=(0,m.observableFromEvent)(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).fontFamily),this._register(new l.InlineCompletionContextKeys(this._contextKeyService,this.model)),this._register((0,o.reactToChange)(this._editorObs.onDidType,(Q,G)=>{this._enabled.get()&&this.model.get()?.trigger()})),this._register(this._commandService.onDidExecuteCommand(Q=>{new Set([n.CoreEditingCommands.Tab.id,n.CoreEditingCommands.DeleteLeft.id,n.CoreEditingCommands.DeleteRight.id,g.inlineSuggestCommitId,"acceptSelectedSuggestion"]).has(Q.commandId)&&N.hasTextFocus()&&this._enabled.get()&&this._editorObs.forceUpdate(K=>{this.model.get()?.trigger(K)})})),this._register((0,o.reactToChange)(this._editorObs.selections,(Q,G)=>{G.some(K=>K.reason===3||K.source==="api")&&this.model.get()?.stop()})),this._register(this.editor.onDidBlurEditorWidget(()=>{this._contextKeyService.getContextKeyValue("accessibleViewIsShown")||this._configurationService.getValue("editor.inlineSuggest.keepOnBlur")||N.getOption(62).keepOnBlur||a.InlineSuggestionHintsContentWidget.dropDownVisible||(0,m.transaction)(Q=>{this.model.get()?.stop(Q)})})),this._register((0,m.autorun)(Q=>{const G=this.model.read(Q)?.state.read(Q);G?.suggestItem?G.primaryGhostText.lineCount>=2&&this._suggestWidgetAdaptor.forceRenderingAbove():this._suggestWidgetAdaptor.stopForceRenderingAbove()})),this._register((0,y.toDisposable)(()=>{this._suggestWidgetAdaptor.stopForceRenderingAbove()}));const j=(0,b.derivedObservableWithCache)(this,(Q,G)=>{const R=this.model.read(Q)?.state.read(Q);return this._suggestWidgetSelectedItem.get()?G:R?.inlineCompletion?.semanticId});this._register((0,o.reactToChangeWithStore)((0,m.derived)(Q=>(this._playAccessibilitySignal.read(Q),j.read(Q),{})),async(Q,G,K)=>{const R=this.model.get(),J=R?.state.get();if(!J||!R)return;const ie=R.textModel.getLineContent(J.primaryGhostText.lineNumber);await(0,I.timeout)(50,(0,E.cancelOnDispose)(K)),await(0,m.waitForState)(this._suggestWidgetSelectedItem,p.isUndefined,()=>!1,(0,E.cancelOnDispose)(K)),await this._accessibilitySignalService.playSignal(h.AccessibilitySignal.inlineSuggestion),this.editor.getOption(8)&&this._provideScreenReaderUpdate(J.primaryGhostText.renderForScreenReader(ie))})),this._register(new a.InlineCompletionsHintsWidget(this.editor,this.model,this._instantiationService)),this._register((0,d.createStyleSheetFromObservable)((0,m.derived)(Q=>{const G=this._fontFamily.read(Q);return G===""||G==="default"?"":` +.monaco-editor .ghost-text-decoration, +.monaco-editor .ghost-text-decoration-preview, +.monaco-editor .ghost-text { + font-family: ${G}; +}`}))),this._register(this._configurationService.onDidChangeConfiguration(Q=>{Q.affectsConfiguration("accessibility.verbosity.inlineCompletions")&&this.editor.updateOptions({inlineCompletionsAccessibilityVerbose:this._configurationService.getValue("accessibility.verbosity.inlineCompletions")})})),this.editor.updateOptions({inlineCompletionsAccessibilityVerbose:this._configurationService.getValue("accessibility.verbosity.inlineCompletions")})}playAccessibilitySignal(N){this._playAccessibilitySignal.trigger(N)}_provideScreenReaderUpdate(N){const O=this._contextKeyService.getContextKeyValue("accessibleViewIsShown"),F=this._keybindingService.lookupKeybinding("editor.action.accessibleView");let x;!O&&F&&this.editor.getOption(150)&&(x=(0,C.localize)(1088,"Inspect this in the accessible view ({0})",F.getAriaLabel())),(0,k.alert)(x?N+", "+x:N)}shouldShowHoverAt(N){const O=this.model.get()?.primaryGhostText.get();return O?O.parts.some(F=>N.containsPosition(new t.Position(O.lineNumber,F.column))):!1}shouldShowHoverAtViewZone(N){return this._ghostTextWidgets.get()[0]?.ownsViewZone(N)??!1}};e.InlineCompletionsController=M,e.InlineCompletionsController=M=T=ke([ce(1,L.IInstantiationService),ce(2,S.IContextKeyService),ce(3,w.IConfigurationService),ce(4,v.ICommandService),ce(5,i.ILanguageFeatureDebounceService),ce(6,s.ILanguageFeaturesService),ce(7,h.IAccessibilitySignalService),ce(8,D.IKeybindingService),ce(9,f.IAccessibilityService)],M);function A(P,N){const O=(0,m.observableValue)("result",[]),F=[];return N.add((0,m.autorun)(x=>{const W=P.read(x);(0,m.transaction)(V=>{if(W.length!==F.length){F.length=W.length;for(let q=0;qq.set(W[H],V))})})),O}}),define(ne[862],se([1,0,21,92,15,20,245,269,295,155,3,29,28,12]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ToggleAlwaysShowInlineSuggestionToolbar=e.HideInlineCompletion=e.AcceptInlineCompletion=e.AcceptNextLineOfInlineCompletion=e.AcceptNextWordOfInlineCompletion=e.TriggerInlineSuggestionAction=e.ShowPreviousInlineSuggestionAction=e.ShowNextInlineSuggestionAction=void 0;class i extends I.EditorAction{static{this.ID=y.showNextInlineSuggestionActionId}constructor(){super({id:i.ID,label:p.localize(1073,"Show Next Inline Suggestion"),alias:"Show Next Inline Suggestion",precondition:t.ContextKeyExpr.and(E.EditorContextKeys.writable,m.InlineCompletionContextKeys.inlineSuggestionVisible),kbOpts:{weight:100,primary:606}})}async run(f,h){_.InlineCompletionsController.get(h)?.model.get()?.next()}}e.ShowNextInlineSuggestionAction=i;class s extends I.EditorAction{static{this.ID=y.showPreviousInlineSuggestionActionId}constructor(){super({id:s.ID,label:p.localize(1074,"Show Previous Inline Suggestion"),alias:"Show Previous Inline Suggestion",precondition:t.ContextKeyExpr.and(E.EditorContextKeys.writable,m.InlineCompletionContextKeys.inlineSuggestionVisible),kbOpts:{weight:100,primary:604}})}async run(f,h){_.InlineCompletionsController.get(h)?.model.get()?.previous()}}e.ShowPreviousInlineSuggestionAction=s;class g extends I.EditorAction{constructor(){super({id:"editor.action.inlineSuggest.trigger",label:p.localize(1075,"Trigger Inline Suggestion"),alias:"Trigger Inline Suggestion",precondition:E.EditorContextKeys.writable})}async run(f,h){const v=_.InlineCompletionsController.get(h);await(0,k.asyncTransaction)(async w=>{await v?.model.get()?.triggerExplicitly(w),v?.playAccessibilitySignal(w)})}}e.TriggerInlineSuggestionAction=g;class c extends I.EditorAction{constructor(){super({id:"editor.action.inlineSuggest.acceptNextWord",label:p.localize(1076,"Accept Next Word Of Inline Suggestion"),alias:"Accept Next Word Of Inline Suggestion",precondition:t.ContextKeyExpr.and(E.EditorContextKeys.writable,m.InlineCompletionContextKeys.inlineSuggestionVisible),kbOpts:{weight:101,primary:2065,kbExpr:t.ContextKeyExpr.and(E.EditorContextKeys.writable,m.InlineCompletionContextKeys.inlineSuggestionVisible)},menuOpts:[{menuId:n.MenuId.InlineSuggestionToolbar,title:p.localize(1077,"Accept Word"),group:"primary",order:2}]})}async run(f,h){const v=_.InlineCompletionsController.get(h);await v?.model.get()?.acceptNextWord(v.editor)}}e.AcceptNextWordOfInlineCompletion=c;class l extends I.EditorAction{constructor(){super({id:"editor.action.inlineSuggest.acceptNextLine",label:p.localize(1078,"Accept Next Line Of Inline Suggestion"),alias:"Accept Next Line Of Inline Suggestion",precondition:t.ContextKeyExpr.and(E.EditorContextKeys.writable,m.InlineCompletionContextKeys.inlineSuggestionVisible),kbOpts:{weight:101},menuOpts:[{menuId:n.MenuId.InlineSuggestionToolbar,title:p.localize(1079,"Accept Line"),group:"secondary",order:2}]})}async run(f,h){const v=_.InlineCompletionsController.get(h);await v?.model.get()?.acceptNextLine(v.editor)}}e.AcceptNextLineOfInlineCompletion=l;class a extends I.EditorAction{constructor(){super({id:y.inlineSuggestCommitId,label:p.localize(1080,"Accept Inline Suggestion"),alias:"Accept Inline Suggestion",precondition:m.InlineCompletionContextKeys.inlineSuggestionVisible,menuOpts:[{menuId:n.MenuId.InlineSuggestionToolbar,title:p.localize(1081,"Accept"),group:"primary",order:1}],kbOpts:{primary:2,weight:200,kbExpr:t.ContextKeyExpr.and(m.InlineCompletionContextKeys.inlineSuggestionVisible,E.EditorContextKeys.tabMovesFocus.toNegated(),m.InlineCompletionContextKeys.inlineSuggestionHasIndentationLessThanTabSize,b.Context.Visible.toNegated(),E.EditorContextKeys.hoverFocused.toNegated())}})}async run(f,h){const v=_.InlineCompletionsController.get(h);v&&(v.model.get()?.accept(v.editor),v.editor.focus())}}e.AcceptInlineCompletion=a;class r extends I.EditorAction{static{this.ID="editor.action.inlineSuggest.hide"}constructor(){super({id:r.ID,label:p.localize(1082,"Hide Inline Suggestion"),alias:"Hide Inline Suggestion",precondition:m.InlineCompletionContextKeys.inlineSuggestionVisible,kbOpts:{weight:100,primary:9}})}async run(f,h){const v=_.InlineCompletionsController.get(h);(0,d.transaction)(w=>{v?.model.get()?.stop(w)})}}e.HideInlineCompletion=r;class u extends n.Action2{static{this.ID="editor.action.inlineSuggest.toggleAlwaysShowToolbar"}constructor(){super({id:u.ID,title:p.localize(1083,"Always Show Toolbar"),f1:!1,precondition:void 0,menu:[{id:n.MenuId.InlineSuggestionToolbar,group:"secondary",order:10}],toggled:t.ContextKeyExpr.equals("config.editor.inlineSuggest.showToolbar","always")})}async run(f,h){const v=f.get(o.IConfigurationService),S=v.getValue("editor.inlineSuggest.showToolbar")==="always"?"onHover":"always";v.updateValue("editor.inlineSuggest.showToolbar",S)}}e.ToggleAlwaysShowInlineSuggestionToolbar=u}),define(ne[863],se([1,0,5,57,2,21,4,43,84,295,283,120,3,61,7,59,63]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.InlineCompletionsHoverParticipant=e.InlineCompletionsHover=void 0;class c{constructor(r,u,C){this.owner=r,this.range=u,this.controller=C}isValidForHoverAnchor(r){return r.type===1&&this.range.startColumn<=r.range.startColumn&&this.range.endColumn>=r.range.endColumn}}e.InlineCompletionsHover=c;let l=class{constructor(r,u,C,f,h,v){this._editor=r,this._languageService=u,this._openerService=C,this.accessibilityService=f,this._instantiationService=h,this._telemetryService=v,this.hoverOrdinal=4}suggestHoverAnchor(r){const u=b.InlineCompletionsController.get(this._editor);if(!u)return null;const C=r.target;if(C.type===8){const f=C.detail;if(u.shouldShowHoverAtViewZone(f.viewZoneId))return new _.HoverForeignElementAnchor(1e3,this,y.Range.fromPositions(this._editor.getModel().validatePosition(f.positionBefore||f.position)),r.event.posx,r.event.posy,!1)}return C.type===7&&u.shouldShowHoverAt(C.range)?new _.HoverForeignElementAnchor(1e3,this,C.range,r.event.posx,r.event.posy,!1):C.type===6&&C.detail.mightBeForeignElement&&u.shouldShowHoverAt(C.range)?new _.HoverForeignElementAnchor(1e3,this,C.range,r.event.posx,r.event.posy,!1):null}computeSync(r,u){if(this._editor.getOption(62).showToolbar!=="onHover")return[];const C=b.InlineCompletionsController.get(this._editor);return C&&C.shouldShowHoverAt(r.range)?[new c(this,r.range,C)]:[]}renderHoverParts(r,u){const C=new I.DisposableStore,f=u[0];this._telemetryService.publicLog2("inlineCompletionHover.shown"),this.accessibilityService.isScreenReaderOptimized()&&!this._editor.getOption(8)&&C.add(this.renderScreenReaderText(r,f));const h=f.controller.model.get(),v=this._instantiationService.createInstance(p.InlineSuggestionHintsContentWidget,this._editor,!1,(0,E.constObservable)(null),h.selectedInlineCompletionIndex,h.inlineCompletionsCount,h.activeCommands),w=v.getDomNode();r.fragment.appendChild(w),h.triggerExplicitly(),C.add(v);const S={hoverPart:f,hoverElement:w,dispose(){C.dispose()}};return new _.RenderedHoverParts([S])}renderScreenReaderText(r,u){const C=new I.DisposableStore,f=d.$,h=f("div.hover-row.markdown-hover"),v=d.append(h,f("div.hover-contents",{"aria-live":"assertive"})),w=C.add(new n.MarkdownRenderer({editor:this._editor},this._languageService,this._openerService)),S=L=>{C.add(w.onDidRenderAsync(()=>{v.className="hover-contents code-hover-contents",r.onContentsChanged()}));const D=o.localize(1089,"Suggestion:"),T=C.add(w.render(new k.MarkdownString().appendText(D).appendCodeblock("text",L)));v.replaceChildren(T.element)};return C.add((0,E.autorun)(L=>{const D=u.controller.model.read(L)?.primaryGhostText.read(L);if(D){const T=this._editor.getModel().getLineContent(D.lineNumber);S(D.renderForScreenReader(T))}else d.reset(v)})),r.fragment.appendChild(h),C}};e.InlineCompletionsHoverParticipant=l,e.InlineCompletionsHoverParticipant=l=ke([ce(1,m.ILanguageService),ce(2,s.IOpenerService),ce(3,t.IAccessibilityService),ce(4,i.IInstantiationService),ce(5,g.ITelemetryService)],l)}),define(ne[864],se([1,0,15,84,862,863,617,295,380,29]),function(oe,e,d,k,I,E,y,m,_,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),(0,d.registerEditorContribution)(m.InlineCompletionsController.ID,m.InlineCompletionsController,3),(0,d.registerEditorAction)(I.TriggerInlineSuggestionAction),(0,d.registerEditorAction)(I.ShowNextInlineSuggestionAction),(0,d.registerEditorAction)(I.ShowPreviousInlineSuggestionAction),(0,d.registerEditorAction)(I.AcceptNextWordOfInlineCompletion),(0,d.registerEditorAction)(I.AcceptNextLineOfInlineCompletion),(0,d.registerEditorAction)(I.AcceptInlineCompletion),(0,d.registerEditorAction)(I.HideInlineCompletion),(0,b.registerAction2)(I.ToggleAlwaysShowInlineSuggestionToolbar),k.HoverParticipantRegistry.register(E.InlineCompletionsHoverParticipant),_.AccessibleViewRegistry.register(new y.InlineCompletionsAccessibleView)}),define(ne[438],se([1,0,5,347,2,21,65,15,112,125,139,88,70,35,434,379,294,7,521]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.InlineEditsWidget=e.InlineEdit=void 0;class l{constructor(v,w,S){this.range=v,this.newLines=w,this.changes=S}}e.InlineEdit=l;let a=class extends I.Disposable{constructor(v,w,S,L){super(),this._editor=v,this._edit=w,this._userPrompt=S,this._instantiationService=L,this._editorObs=(0,_.observableCodeEditor)(this._editor),this._elements=(0,d.h)("div.inline-edits-widget",{style:{position:"absolute",overflow:"visible",top:"0px",left:"0px"}},[(0,d.h)("div@editorContainer",{style:{position:"absolute",top:"0px",left:"0px",width:"500px",height:"500px"}},[(0,d.h)("div.toolbar@toolbar",{style:{position:"absolute",top:"-25px",left:"0px"}}),(0,d.h)("div.promptEditor@promptEditor",{style:{position:"absolute",top:"-25px",left:"80px",width:"300px",height:"22px"}}),(0,d.h)("div.preview@editor",{style:{position:"absolute",top:"0px",left:"0px"}})]),(0,d.svgElem)("svg",{style:{overflow:"visible",pointerEvents:"none"}},[(0,d.svgElem)("defs",[(0,d.svgElem)("linearGradient",{id:"Gradient2",x1:"0",y1:"0",x2:"1",y2:"0"},[(0,d.svgElem)("stop",{offset:"0%",class:"gradient-stop"}),(0,d.svgElem)("stop",{offset:"100%",class:"gradient-stop"})])]),(0,d.svgElem)("path@path",{d:"",fill:"url(#Gradient2)"})])]),this._previewTextModel=this._register(this._instantiationService.createInstance(t.TextModel,"",o.PLAINTEXT_LANGUAGE_ID,t.TextModel.DEFAULT_CREATION_OPTIONS,null)),this._setText=(0,E.derived)(T=>{const M=this._edit.read(T);M&&this._previewTextModel.setValue(M.newLines.join(` +`))}).recomputeInitiallyAndOnChange(this._store),this._promptTextModel=this._register(this._instantiationService.createInstance(t.TextModel,"",o.PLAINTEXT_LANGUAGE_ID,t.TextModel.DEFAULT_CREATION_OPTIONS,null)),this._promptEditor=this._register(this._instantiationService.createInstance(b.EmbeddedCodeEditorWidget,this._elements.promptEditor,{glyphMargin:!1,lineNumbers:"off",minimap:{enabled:!1},guides:{indentation:!1,bracketPairs:!1,bracketPairsHorizontal:!1,highlightActiveIndentation:!1},folding:!1,selectOnLineNumbers:!1,selectionHighlight:!1,columnSelection:!1,overviewRulerBorder:!1,overviewRulerLanes:0,lineDecorationsWidth:0,lineNumbersMinChars:0,placeholder:"Describe the change you want...",fontFamily:k.DEFAULT_FONT_FAMILY},{contributions:m.EditorExtensionsRegistry.getSomeEditorContributions([g.SuggestController.ID,s.PlaceholderTextContribution.ID,i.ContextMenuController.ID]),isSimpleWidget:!0},this._editor)),this._previewEditor=this._register(this._instantiationService.createInstance(b.EmbeddedCodeEditorWidget,this._elements.editor,{glyphMargin:!1,lineNumbers:"off",minimap:{enabled:!1},guides:{indentation:!1,bracketPairs:!1,bracketPairsHorizontal:!1,highlightActiveIndentation:!1},folding:!1,selectOnLineNumbers:!1,selectionHighlight:!1,columnSelection:!1,overviewRulerBorder:!1,overviewRulerLanes:0,lineDecorationsWidth:0,lineNumbersMinChars:0},{contributions:[]},this._editor)),this._previewEditorObs=(0,_.observableCodeEditor)(this._previewEditor),this._decorations=(0,E.derived)(this,T=>{this._setText.read(T);const M=this._edit.read(T)?.changes;if(!M)return[];const A=[],P=[];if(M.length===1&&M[0].innerChanges[0].modifiedRange.equalsRange(this._previewTextModel.getFullModelRange()))return[];for(const N of M)if(N.original.isEmpty||A.push({range:N.original.toInclusiveRange(),options:p.diffLineDeleteDecorationBackgroundWithIndicator}),N.modified.isEmpty||P.push({range:N.modified.toInclusiveRange(),options:p.diffLineAddDecorationBackgroundWithIndicator}),N.modified.isEmpty||N.original.isEmpty)N.original.isEmpty||A.push({range:N.original.toInclusiveRange(),options:p.diffWholeLineDeleteDecoration}),N.modified.isEmpty||P.push({range:N.modified.toInclusiveRange(),options:p.diffWholeLineAddDecoration});else for(const O of N.innerChanges||[])N.original.contains(O.originalRange.startLineNumber)&&A.push({range:O.originalRange,options:O.originalRange.isEmpty()?p.diffDeleteDecorationEmpty:p.diffDeleteDecoration}),N.modified.contains(O.modifiedRange.startLineNumber)&&P.push({range:O.modifiedRange,options:O.modifiedRange.isEmpty()?p.diffAddDecorationEmpty:p.diffAddDecoration});return P}),this._layout1=(0,E.derived)(this,T=>{const M=this._editor.getModel(),A=this._edit.read(T);if(!A)return null;const P=A.range;let N=0;for(let x=P.startLineNumber;x{const M=this._edit.read(T);if(!M)return null;const A=M.range,P=this._editorObs.scrollLeft.read(T),N=this._layout1.read(T).left+20-P,O=this._editor.getTopForLineNumber(A.startLineNumber)-this._editorObs.scrollTop.read(T),F=this._editor.getTopForLineNumber(A.endLineNumberExclusive)-this._editorObs.scrollTop.read(T),x=new u(N,O),W=new u(N,F),V=F-O,q=50,H=this._editor.getOption(67)*M.newLines.length,z=V-H,U=new u(N+q,O+z/2),j=new u(N+q,F-z/2);return{topCode:x,bottomCode:W,codeHeight:V,topEdit:U,bottomEdit:j,editHeight:H}});const D=(0,E.derived)(this,T=>this._edit.read(T)!==void 0||this._userPrompt.read(T)!==void 0);this._register((0,n.applyStyle)(this._elements.root,{display:(0,E.derived)(this,T=>D.read(T)?"block":"none")})),this._register((0,n.appendRemoveOnDispose)(this._editor.getDomNode(),this._elements.root)),this._register((0,_.observableCodeEditor)(v).createOverlayWidget({domNode:this._elements.root,position:(0,E.constObservable)(null),allowEditorOverflow:!1,minContentWidthInPx:(0,E.derived)(T=>{const M=this._layout1.read(T)?.left;if(M===void 0)return 0;const A=this._previewEditorObs.contentWidth.read(T);return M+A})})),this._previewEditor.setModel(this._previewTextModel),this._register(this._previewEditorObs.setDecorations(this._decorations)),this._register((0,E.autorun)(T=>{const M=this._layout.read(T);if(!M)return;const{topCode:A,bottomCode:P,topEdit:N,bottomEdit:O,editHeight:F}=M,x=10,W=0,V=40,q=new C().moveTo(A).lineTo(A.deltaX(x)).curveTo(A.deltaX(x+V),N.deltaX(-V-W),N.deltaX(-W)).lineTo(N).lineTo(O).lineTo(O.deltaX(-W)).curveTo(O.deltaX(-V-W),P.deltaX(x+V),P.deltaX(x)).lineTo(P).build();this._elements.path.setAttribute("d",q),this._elements.editorContainer.style.top=`${N.y}px`,this._elements.editorContainer.style.left=`${N.x}px`,this._elements.editorContainer.style.height=`${F}px`;const H=this._previewEditorObs.contentWidth.read(T);this._previewEditor.layout({height:F,width:H})})),this._promptEditor.setModel(this._promptTextModel),this._promptEditor.layout(),this._register(f(r(this._userPrompt,T=>T??"",T=>T),(0,_.observableCodeEditor)(this._promptEditor).value)),this._register((0,E.autorun)(T=>{const M=(0,_.observableCodeEditor)(this._promptEditor).isFocused.read(T);this._elements.root.classList.toggle("focused",M)}))}};e.InlineEditsWidget=a,e.InlineEditsWidget=a=ke([ce(3,c.IInstantiationService)],a);function r(h,v,w){return(0,y.derivedWithSetter)(void 0,S=>v(h.read(S)),(S,L)=>h.set(w(S),L))}class u{constructor(v,w){this.x=v,this.y=w}deltaX(v){return new u(this.x+v,this.y)}}class C{constructor(){this._data=""}moveTo(v){return this._data+=`M ${v.x} ${v.y} `,this}lineTo(v){return this._data+=`L ${v.x} ${v.y} `,this}curveTo(v,w,S){return this._data+=`C ${v.x} ${v.y} ${w.x} ${w.y} ${S.x} ${S.y} `,this}build(){return this._data}}function f(h,v){const w=new I.DisposableStore;return w.add((0,E.autorun)(S=>{const L=h.read(S);v.set(L,void 0)})),w.add((0,E.autorun)(S=>{const L=v.read(S);h.set(L,void 0)})),w}}),define(ne[865],se([1,0,14,18,102,8,2,21,65,22,215,55,27,17,51,378,438]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g){"use strict";var c;Object.defineProperty(e,"__esModule",{value:!0}),e.InlineEditsModel=void 0;let l=class extends y.Disposable{static{c=this}static{this._modelId=0}static _createUniqueUri(){return b.URI.from({scheme:"inline-edits",path:new Date().toString()+String(c._modelId++)})}constructor(C,f,h,v,w,S,L){super(),this.textModel=C,this._textModelVersionId=f,this._selection=h,this._debounceValue=v,this.languageFeaturesService=w,this._diffProviderFactoryService=S,this._modelService=L,this._forceUpdateExplicitlySignal=(0,m.observableSignal)(this),this._selectedInlineCompletionId=(0,m.observableValue)(this,void 0),this._isActive=(0,m.observableValue)(this,!1),this._originalModel=(0,_.derivedDisposable)(()=>this._modelService.createModel("",null,c._createUniqueUri())).keepObserved(this._store),this._modifiedModel=(0,_.derivedDisposable)(()=>this._modelService.createModel("",null,c._createUniqueUri())).keepObserved(this._store),this._pinnedRange=new r(this.textModel,this._textModelVersionId),this.isPinned=this._pinnedRange.range.map(D=>!!D),this.userPrompt=(0,m.observableValue)(this,void 0),this.inlineEdit=(0,m.derived)(this,D=>this._inlineEdit.read(D)?.promiseResult.read(D)?.data),this._inlineEdit=(0,m.derived)(this,D=>{const T=this.selectedInlineEdit.read(D);if(!T)return;const M=T.inlineCompletion.range;if(T.inlineCompletion.insertText.trim()==="")return;let A=T.inlineCompletion.insertText.split(/\r\n|\r|\n/);function P(x){const W=x[0].match(/^\s*/)?.[0]??"";return x.map(V=>V.replace(new RegExp("^"+W),""))}A=P(A);let O=this.textModel.getValueInRange(M).split(/\r\n|\r|\n/);O=P(O),this._originalModel.get().setValue(O.join(` +`)),this._modifiedModel.get().setValue(A.join(` +`));const F=this._diffProviderFactoryService.createDiffProvider({diffAlgorithm:"advanced"});return m.ObservablePromise.fromFn(async()=>{const x=await F.computeDiff(this._originalModel.get(),this._modifiedModel.get(),{computeMoves:!1,ignoreTrimWhitespace:!1,maxComputationTimeMs:1e3},k.CancellationToken.None);if(!x.identical)return new g.InlineEdit(n.LineRange.fromRangeInclusive(M),P(A),x.changes)})}),this._fetchStore=this._register(new y.DisposableStore),this._inlineEditsFetchResult=(0,m.disposableObservableValue)(this,void 0),this._inlineEdits=(0,m.derivedOpts)({owner:this,equalsFn:I.structuralEquals},D=>this._inlineEditsFetchResult.read(D)?.completions.map(T=>new a(T))??[]),this._fetchInlineEditsPromise=(0,m.derivedHandleChanges)({owner:this,createEmptyChangeSummary:()=>({inlineCompletionTriggerKind:o.InlineCompletionTriggerKind.Automatic}),handleChange:(D,T)=>(D.didChange(this._forceUpdateExplicitlySignal)&&(T.inlineCompletionTriggerKind=o.InlineCompletionTriggerKind.Explicit),!0)},async(D,T)=>{this._fetchStore.clear(),this._forceUpdateExplicitlySignal.read(D),this._textModelVersionId.read(D);function M(F,x){return x(F)}const A=this._pinnedRange.range.read(D)??M(this._selection.read(D),F=>F.isEmpty()?void 0:F);if(!A){this._inlineEditsFetchResult.set(void 0,void 0),this.userPrompt.set(void 0,void 0);return}const P={triggerKind:T.inlineCompletionTriggerKind,selectedSuggestionInfo:void 0,userPrompt:this.userPrompt.read(D)},N=(0,k.cancelOnDispose)(this._fetchStore);await(0,d.timeout)(200,N);const O=await(0,s.provideInlineCompletions)(this.languageFeaturesService.inlineCompletionsProvider,A,this.textModel,P,N);N.isCancellationRequested||this._inlineEditsFetchResult.set(O,void 0)}),this._filteredInlineEditItems=(0,m.derivedOpts)({owner:this,equalsFn:(0,I.itemsEquals)()},D=>this._inlineEdits.read(D)),this.selectedInlineCompletionIndex=(0,m.derived)(this,D=>{const T=this._selectedInlineCompletionId.read(D),M=this._filteredInlineEditItems.read(D),A=this._selectedInlineCompletionId===void 0?-1:M.findIndex(P=>P.semanticId===T);return A===-1?(this._selectedInlineCompletionId.set(void 0,void 0),0):A}),this.selectedInlineEdit=(0,m.derived)(this,D=>{const T=this._filteredInlineEditItems.read(D),M=this.selectedInlineCompletionIndex.read(D);return T[M]}),this._register((0,m.recomputeInitiallyAndOnChange)(this._fetchInlineEditsPromise))}async triggerExplicitly(C){(0,m.subtransaction)(C,f=>{this._isActive.set(!0,f),this._forceUpdateExplicitlySignal.trigger(f)}),await this._fetchInlineEditsPromise.get()}stop(C){(0,m.subtransaction)(C,f=>{this.userPrompt.set(void 0,f),this._isActive.set(!1,f),this._inlineEditsFetchResult.set(void 0,f),this._pinnedRange.setRange(void 0,f)})}async _deltaSelectedInlineCompletionIndex(C){await this.triggerExplicitly();const f=this._filteredInlineEditItems.get()||[];if(f.length>0){const h=(this.selectedInlineCompletionIndex.get()+C+f.length)%f.length;this._selectedInlineCompletionId.set(f[h].semanticId,void 0)}else this._selectedInlineCompletionId.set(void 0,void 0)}async next(){await this._deltaSelectedInlineCompletionIndex(1)}async previous(){await this._deltaSelectedInlineCompletionIndex(-1)}async accept(C){if(C.getModel()!==this.textModel)throw new E.BugIndicatingError;const f=this.selectedInlineEdit.get();f&&(C.pushUndoStop(),C.executeEdits("inlineSuggestion.accept",[f.inlineCompletion.toSingleTextEdit().toSingleEditOperation()]),this.stop())}};e.InlineEditsModel=l,e.InlineEditsModel=l=c=ke([ce(4,t.ILanguageFeaturesService),ce(5,p.IDiffProviderFactoryService),ce(6,i.IModelService)],l);class a{constructor(C){this.inlineCompletion=C,this.semanticId=this.inlineCompletion.hash()}}class r extends y.Disposable{constructor(C,f){super(),this._textModel=C,this._versionId=f,this._decorations=(0,m.observableValue)(this,[]),this.range=(0,m.derived)(this,h=>{this._versionId.read(h);const v=this._decorations.read(h)[0];return v?this._textModel.getDecorationRange(v)??null:null}),this._register((0,y.toDisposable)(()=>{this._textModel.deltaDecorations(this._decorations.get(),[])}))}setRange(C,f){this._decorations.set(this._textModel.deltaDecorations(this._decorations.get(),C?[{range:C,options:{description:"trackedRange"}}]:[]),f)}}}),define(ne[439],se([1,0,2,21,65,112,171,23,79,17,390,865,438,28,12,7,397]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g){"use strict";var c;Object.defineProperty(e,"__esModule",{value:!0}),e.InlineEditsController=void 0;let l=class extends d.Disposable{static{c=this}static{this.ID="editor.contrib.inlineEditsController"}static get(u){return u.getContribution(c.ID)}constructor(u,C,f,h,v,w){super(),this.editor=u,this._instantiationService=C,this._contextKeyService=f,this._debounceService=h,this._languageFeaturesService=v,this._configurationService=w,this._enabled=(0,g.observableConfigValue)("editor.inlineEdits.enabled",!1,this._configurationService),this._editorObs=(0,E.observableCodeEditor)(this.editor),this._selection=(0,k.derived)(this,S=>this._editorObs.cursorSelection.read(S)??new m.Selection(1,1,1,1)),this._debounceValue=this._debounceService.for(this._languageFeaturesService.inlineCompletionsProvider,"InlineEditsDebounce",{min:50,max:50}),this.model=(0,I.derivedDisposable)(this,S=>{if(!this._enabled.read(S)||this._editorObs.isReadonly.read(S))return;const L=this._editorObs.model.read(S);return L?this._instantiationService.createInstance((0,y.readHotReloadableExport)(n.InlineEditsModel,S),L,this._editorObs.versionId,this._selection,this._debounceValue):void 0}),this._hadInlineEdit=(0,k.derivedObservableWithCache)(this,(S,L)=>L||this.model.read(S)?.inlineEdit.read(S)!==void 0),this._widget=(0,I.derivedDisposable)(this,S=>{if(this._hadInlineEdit.read(S))return this._instantiationService.createInstance((0,y.readHotReloadableExport)(o.InlineEditsWidget,S),this.editor,this.model.map((L,D)=>L?.inlineEdit.read(D)),a(L=>this.model.read(L)?.userPrompt??(0,k.observableValue)("empty","")))}),this._register((0,g.bindContextKey)(p.inlineEditVisible,this._contextKeyService,S=>!!this.model.read(S)?.inlineEdit.read(S))),this._register((0,g.bindContextKey)(p.isPinnedContextKey,this._contextKeyService,S=>!!this.model.read(S)?.isPinned.read(S))),this.model.recomputeInitiallyAndOnChange(this._store),this._widget.recomputeInitiallyAndOnChange(this._store)}};e.InlineEditsController=l,e.InlineEditsController=l=c=ke([ce(1,s.IInstantiationService),ce(2,i.IContextKeyService),ce(3,_.ILanguageFeatureDebounceService),ce(4,b.ILanguageFeaturesService),ce(5,t.IConfigurationService)],l);function a(r){return(0,I.derivedWithSetter)(void 0,u=>r(u).read(u),(u,C)=>{r(void 0).set(u,C)})}}),define(ne[866],se([1,0,26,21,92,15,125,20,390,439,3,29,12]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.HideInlineEdit=e.AcceptInlineEdit=e.TriggerInlineEditAction=e.ShowPreviousInlineEditAction=e.ShowNextInlineEditAction=void 0;function t(a){return{label:a.value,alias:a.original}}class i extends E.EditorAction{static{this.ID=_.showNextInlineEditActionId}constructor(){super({id:i.ID,...t(p.localize2(1096,"Show Next Inline Edit")),precondition:o.ContextKeyExpr.and(m.EditorContextKeys.writable,_.inlineEditVisible),kbOpts:{weight:100,primary:606}})}async run(r,u){b.InlineEditsController.get(u)?.model.get()?.next()}}e.ShowNextInlineEditAction=i;class s extends E.EditorAction{static{this.ID=_.showPreviousInlineEditActionId}constructor(){super({id:s.ID,...t(p.localize2(1097,"Show Previous Inline Edit")),precondition:o.ContextKeyExpr.and(m.EditorContextKeys.writable,_.inlineEditVisible),kbOpts:{weight:100,primary:604}})}async run(r,u){b.InlineEditsController.get(u)?.model.get()?.previous()}}e.ShowPreviousInlineEditAction=s;class g extends E.EditorAction{constructor(){super({id:"editor.action.inlineEdits.trigger",...t(p.localize2(1098,"Trigger Inline Edit")),precondition:m.EditorContextKeys.writable})}async run(r,u){const C=b.InlineEditsController.get(u);await(0,I.asyncTransaction)(async f=>{await C?.model.get()?.triggerExplicitly(f)})}}e.TriggerInlineEditAction=g;class c extends E.EditorAction{constructor(){super({id:_.inlineEditAcceptId,...t(p.localize2(1099,"Accept Inline Edit")),precondition:_.inlineEditVisible,menuOpts:{menuId:n.MenuId.InlineEditsActions,title:p.localize(1095,"Accept Inline Edit"),group:"primary",order:1,icon:d.Codicon.check},kbOpts:{primary:2058,weight:2e4,kbExpr:_.inlineEditVisible}})}async run(r,u){u instanceof y.EmbeddedCodeEditorWidget&&(u=u.getParentEditor());const C=b.InlineEditsController.get(u);C&&(C.model.get()?.accept(C.editor),C.editor.focus())}}e.AcceptInlineEdit=c;class l extends E.EditorAction{static{this.ID="editor.action.inlineEdits.hide"}constructor(){super({id:l.ID,...t(p.localize2(1100,"Hide Inline Edit")),precondition:_.inlineEditVisible,kbOpts:{weight:100,primary:9}})}async run(r,u){const C=b.InlineEditsController.get(u);(0,k.transaction)(f=>{C?.model.get()?.stop(f)})}}e.HideInlineEdit=l}),define(ne[867],se([1,0,15,866,439]),function(oe,e,d,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),(0,d.registerEditorContribution)(I.InlineEditsController.ID,I.InlineEditsController,3),(0,d.registerEditorAction)(k.TriggerInlineEditAction),(0,d.registerEditorAction)(k.ShowNextInlineEditAction),(0,d.registerEditorAction)(k.ShowPreviousInlineEditAction),(0,d.registerEditorAction)(k.AcceptInlineEdit),(0,d.registerEditorAction)(k.HideInlineEdit)}),define(ne[868],se([1,0,18,82,53,2,34,4,130,17,342,155,405,437,343,117]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SuggestInlineCompletions=void 0;class g{constructor(r,u,C,f,h,v){this.range=r,this.insertText=u,this.filterText=C,this.additionalTextEdits=f,this.command=h,this.completion=v}}let c=class extends E.RefCountedDisposable{constructor(r,u,C,f,h,v){super(h.disposable),this.model=r,this.line=u,this.word=C,this.completionModel=f,this._suggestMemoryService=v}canBeReused(r,u,C){return this.model===r&&this.line===u&&this.word.word.length>0&&this.word.startColumn===C.startColumn&&this.word.endColumn=0&&w.resolve(d.CancellationToken.None)}return r}};c=ke([ce(5,o.ISuggestMemoryService)],c);let l=class extends E.Disposable{constructor(r,u,C,f){super(),this._languageFeatureService=r,this._clipboardService=u,this._suggestMemoryService=C,this._editorService=f,this._store.add(r.inlineCompletionsProvider.register("*",this))}async provideInlineCompletions(r,u,C,f){if(C.selectedSuggestionInfo)return;let h;for(const A of this._editorService.listCodeEditors())if(A.getModel()===r){h=A;break}if(!h)return;const v=h.getOption(90);if(n.QuickSuggestionsOptions.isAllOff(v))return;r.tokenization.tokenizeIfCheap(u.lineNumber);const w=r.tokenization.getLineTokens(u.lineNumber),S=w.getStandardTokenType(w.findTokenIndexAtOffset(Math.max(u.column-1-1,0)));if(n.QuickSuggestionsOptions.valueFor(v,S)!=="inline")return;let L=r.getWordAtPosition(u),D;if(L?.word||(D=this._getTriggerCharacterInfo(r,u)),!L?.word&&!D||(L||(L=r.getWordUntilPosition(u)),L.endColumn!==u.column))return;let T;const M=r.getValueInRange(new m.Range(u.lineNumber,1,u.lineNumber,u.column));if(!D&&this._lastResult?.canBeReused(r,u.lineNumber,L)){const A=new p.LineContext(M,u.column-this._lastResult.word.endColumn);this._lastResult.completionModel.lineContext=A,this._lastResult.acquire(),T=this._lastResult}else{const A=await(0,n.provideSuggestionItems)(this._languageFeatureService.completionProvider,r,u,new n.CompletionOptions(void 0,t.SuggestModel.createSuggestFilter(h).itemKind,D?.providers),D&&{triggerKind:1,triggerCharacter:D.ch},f);let P;A.needsClipboard&&(P=await this._clipboardService.readText());const N=new p.CompletionModel(A.items,u.column,new p.LineContext(M,0),i.WordDistance.None,h.getOption(119),h.getOption(113),{boostFullMatch:!1,firstMatchCanBeWeak:!1},P);T=new c(r,u.lineNumber,L,N,A,this._suggestMemoryService)}return this._lastResult=T,T}handleItemDidShow(r,u){u.completion.resolve(d.CancellationToken.None)}freeInlineCompletions(r){r.release()}_getTriggerCharacterInfo(r,u){const C=r.getValueInRange(m.Range.fromPositions({lineNumber:u.lineNumber,column:u.column-1},u)),f=new Set;for(const h of this._languageFeatureService.completionProvider.all(r))h.triggerCharacters?.includes(C)&&f.add(h);if(f.size!==0)return{providers:f,ch:C}}};e.SuggestInlineCompletions=l,e.SuggestInlineCompletions=l=ke([ce(0,b.ILanguageFeaturesService),ce(1,s.IClipboardService),ce(2,o.ISuggestMemoryService),ce(3,y.ICodeEditorService)],l),(0,_.registerEditorFeature)(l)}),define(ne[440],se([1,0,7]),function(oe,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.IWorkspaceTrustManagementService=void 0,e.IWorkspaceTrustManagementService=(0,d.createDecorator)("workspaceTrustManagementService")}),define(ne[869],se([1,0,14,26,57,2,16,11,15,37,35,328,100,43,375,84,217,766,3,28,7,59,66,71,440,535]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r,u,C,f,h){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ShowExcludeOptions=e.DisableHighlightingOfNonBasicAsciiCharactersAction=e.DisableHighlightingOfInvisibleCharactersAction=e.DisableHighlightingOfAmbiguousCharactersAction=e.DisableHighlightingInStringsAction=e.DisableHighlightingInCommentsAction=e.UnicodeHighlighterHoverParticipant=e.UnicodeHighlighter=e.warningIcon=void 0,e.warningIcon=(0,f.registerIcon)("extensions-warning-message",k.Codicon.warning,l.localize(1386,"Icon shown with a warning message in the extensions editor."));let v=class extends E.Disposable{static{this.ID="editor.contrib.unicodeHighlighter"}constructor(G,K,R,J){super(),this._editor=G,this._editorWorkerService=K,this._workspaceTrustService=R,this._highlighter=null,this._bannerClosed=!1,this._updateState=ie=>{if(ie&&ie.hasMore){if(this._bannerClosed)return;const ue=Math.max(ie.ambiguousCharacterCount,ie.nonBasicAsciiCharacterCount,ie.invisibleCharacterCount);let he;if(ie.nonBasicAsciiCharacterCount>=ue)he={message:l.localize(1387,"This document contains many non-basic ASCII unicode characters"),command:new q};else if(ie.ambiguousCharacterCount>=ue)he={message:l.localize(1388,"This document contains many ambiguous unicode characters"),command:new W};else if(ie.invisibleCharacterCount>=ue)he={message:l.localize(1389,"This document contains many invisible unicode characters"),command:new V};else throw new Error("Unreachable");this._bannerController.show({id:"unicodeHighlightBanner",message:he.message,icon:e.warningIcon,actions:[{label:he.command.shortLabel,href:`command:${he.command.id}`}],onClose:()=>{this._bannerClosed=!0}})}else this._bannerController.hide()},this._bannerController=this._register(J.createInstance(c.BannerController,G)),this._register(this._editor.onDidChangeModel(()=>{this._bannerClosed=!1,this._updateHighlighter()})),this._options=G.getOption(126),this._register(R.onDidChangeTrust(ie=>{this._updateHighlighter()})),this._register(G.onDidChangeConfiguration(ie=>{ie.hasChanged(126)&&(this._options=G.getOption(126),this._updateHighlighter())})),this._updateHighlighter()}dispose(){this._highlighter&&(this._highlighter.dispose(),this._highlighter=null),super.dispose()}_updateHighlighter(){if(this._updateState(null),this._highlighter&&(this._highlighter.dispose(),this._highlighter=null),!this._editor.hasModel())return;const G=w(this._workspaceTrustService.isWorkspaceTrusted(),this._options);if([G.nonBasicASCII,G.ambiguousCharacters,G.invisibleCharacters].every(R=>R===!1))return;const K={nonBasicASCII:G.nonBasicASCII,ambiguousCharacters:G.ambiguousCharacters,invisibleCharacters:G.invisibleCharacters,includeComments:G.includeComments,includeStrings:G.includeStrings,allowedCodePoints:Object.keys(G.allowedCharacters).map(R=>R.codePointAt(0)),allowedLocales:Object.keys(G.allowedLocales).map(R=>R==="_os"?new Intl.NumberFormat().resolvedOptions().locale:R==="_vscode"?y.language:R)};this._editorWorkerService.canComputeUnicodeHighlights(this._editor.getModel().uri)?this._highlighter=new S(this._editor,K,this._updateState,this._editorWorkerService):this._highlighter=new L(this._editor,K,this._updateState)}getDecorationInfo(G){return this._highlighter?this._highlighter.getDecorationInfo(G):null}};e.UnicodeHighlighter=v,e.UnicodeHighlighter=v=ke([ce(1,o.IEditorWorkerService),ce(2,h.IWorkspaceTrustManagementService),ce(3,r.IInstantiationService)],v);function w(Q,G){return{nonBasicASCII:G.nonBasicASCII===b.inUntrustedWorkspace?!Q:G.nonBasicASCII,ambiguousCharacters:G.ambiguousCharacters,invisibleCharacters:G.invisibleCharacters,includeComments:G.includeComments===b.inUntrustedWorkspace?!Q:G.includeComments,includeStrings:G.includeStrings===b.inUntrustedWorkspace?!Q:G.includeStrings,allowedCharacters:G.allowedCharacters,allowedLocales:G.allowedLocales}}let S=class extends E.Disposable{constructor(G,K,R,J){super(),this._editor=G,this._options=K,this._updateState=R,this._editorWorkerService=J,this._model=this._editor.getModel(),this._decorations=this._editor.createDecorationsCollection(),this._updateSoon=this._register(new d.RunOnceScheduler(()=>this._update(),250)),this._register(this._editor.onDidChangeModelContent(()=>{this._updateSoon.schedule()})),this._updateSoon.schedule()}dispose(){this._decorations.clear(),super.dispose()}_update(){if(this._model.isDisposed())return;if(!this._model.mightContainNonBasicASCII()){this._decorations.clear();return}const G=this._model.getVersionId();this._editorWorkerService.computedUnicodeHighlights(this._model.uri,this._options).then(K=>{if(this._model.isDisposed()||this._model.getVersionId()!==G)return;this._updateState(K);const R=[];if(!K.hasMore)for(const J of K.ranges)R.push({range:J,options:O.instance.getDecorationFromOptions(this._options)});this._decorations.set(R)})}getDecorationInfo(G){if(!this._decorations.has(G))return null;const K=this._editor.getModel();if(!(0,i.isModelDecorationVisible)(K,G))return null;const R=K.getValueInRange(G.range);return{reason:N(R,this._options),inComment:(0,i.isModelDecorationInComment)(K,G),inString:(0,i.isModelDecorationInString)(K,G)}}};S=ke([ce(3,o.IEditorWorkerService)],S);class L extends E.Disposable{constructor(G,K,R){super(),this._editor=G,this._options=K,this._updateState=R,this._model=this._editor.getModel(),this._decorations=this._editor.createDecorationsCollection(),this._updateSoon=this._register(new d.RunOnceScheduler(()=>this._update(),250)),this._register(this._editor.onDidLayoutChange(()=>{this._updateSoon.schedule()})),this._register(this._editor.onDidScrollChange(()=>{this._updateSoon.schedule()})),this._register(this._editor.onDidChangeHiddenAreas(()=>{this._updateSoon.schedule()})),this._register(this._editor.onDidChangeModelContent(()=>{this._updateSoon.schedule()})),this._updateSoon.schedule()}dispose(){this._decorations.clear(),super.dispose()}_update(){if(this._model.isDisposed())return;if(!this._model.mightContainNonBasicASCII()){this._decorations.clear();return}const G=this._editor.getVisibleRanges(),K=[],R={ranges:[],ambiguousCharacterCount:0,invisibleCharacterCount:0,nonBasicAsciiCharacterCount:0,hasMore:!1};for(const J of G){const ie=n.UnicodeTextModelHighlighter.computeUnicodeHighlights(this._model,this._options,J);for(const ue of ie.ranges)R.ranges.push(ue);R.ambiguousCharacterCount+=R.ambiguousCharacterCount,R.invisibleCharacterCount+=R.invisibleCharacterCount,R.nonBasicAsciiCharacterCount+=R.nonBasicAsciiCharacterCount,R.hasMore=R.hasMore||ie.hasMore}if(!R.hasMore)for(const J of R.ranges)K.push({range:J,options:O.instance.getDecorationFromOptions(this._options)});this._updateState(R),this._decorations.set(K)}getDecorationInfo(G){if(!this._decorations.has(G))return null;const K=this._editor.getModel(),R=K.getValueInRange(G.range);return(0,i.isModelDecorationVisible)(K,G)?{reason:N(R,this._options),inComment:(0,i.isModelDecorationInComment)(K,G),inString:(0,i.isModelDecorationInString)(K,G)}:null}}const D=l.localize(1390,"Configure Unicode Highlight Options");let T=class{constructor(G,K,R){this._editor=G,this._languageService=K,this._openerService=R,this.hoverOrdinal=5}computeSync(G,K){if(!this._editor.hasModel()||G.type!==1)return[];const R=this._editor.getModel(),J=this._editor.getContribution(v.ID);if(!J)return[];const ie=[],ue=new Set;let he=300;for(const pe of K){const ae=J.getDecorationInfo(pe);if(!ae)continue;const de=R.getValueInRange(pe.range).codePointAt(0),ge=A(de);let X;switch(ae.reason.kind){case 0:{(0,m.isBasicASCII)(ae.reason.confusableWith)?X=l.localize(1391,"The character {0} could be confused with the ASCII character {1}, which is more common in source code.",ge,A(ae.reason.confusableWith.codePointAt(0))):X=l.localize(1392,"The character {0} could be confused with the character {1}, which is more common in source code.",ge,A(ae.reason.confusableWith.codePointAt(0)));break}case 1:X=l.localize(1393,"The character {0} is invisible.",ge);break;case 2:X=l.localize(1394,"The character {0} is not a basic ASCII character.",ge);break}if(ue.has(X))continue;ue.add(X);const B={codePoint:de,reason:ae.reason,inComment:ae.inComment,inString:ae.inString},$=l.localize(1395,"Adjust settings"),Y=`command:${H.ID}?${encodeURIComponent(JSON.stringify(B))}`,Z=new I.MarkdownString("",!0).appendMarkdown(X).appendText(" ").appendLink(Y,$,D);ie.push(new g.MarkdownHover(this,pe.range,[Z],!1,he++))}return ie}renderHoverParts(G,K){return(0,g.renderMarkdownHovers)(G,K,this._editor,this._languageService,this._openerService)}};e.UnicodeHighlighterHoverParticipant=T,e.UnicodeHighlighterHoverParticipant=T=ke([ce(1,t.ILanguageService),ce(2,u.IOpenerService)],T);function M(Q){return`U+${Q.toString(16).padStart(4,"0")}`}function A(Q){let G=`\`${M(Q)}\``;return m.InvisibleCharacters.isInvisibleCharacter(Q)||(G+=` "${`${P(Q)}`}"`),G}function P(Q){return Q===96?"`` ` ``":"`"+String.fromCodePoint(Q)+"`"}function N(Q,G){return n.UnicodeTextModelHighlighter.computeUnicodeHighlightReason(Q,G)}class O{constructor(){this.map=new Map}static{this.instance=new O}getDecorationFromOptions(G){return this.getDecoration(!G.includeComments,!G.includeStrings)}getDecoration(G,K){const R=`${G}${K}`;let J=this.map.get(R);return J||(J=p.ModelDecorationOptions.createDynamic({description:"unicode-highlight",stickiness:1,className:"unicode-highlight",showIfCollapsed:!0,overviewRuler:null,minimap:null,hideInCommentTokens:G,hideInStringTokens:K}),this.map.set(R,J)),J}}class F extends _.EditorAction{constructor(){super({id:W.ID,label:l.localize(1397,"Disable highlighting of characters in comments"),alias:"Disable highlighting of characters in comments",precondition:void 0}),this.shortLabel=l.localize(1396,"Disable Highlight In Comments")}async run(G,K,R){const J=G?.get(a.IConfigurationService);J&&this.runAction(J)}async runAction(G){await G.updateValue(b.unicodeHighlightConfigKeys.includeComments,!1,2)}}e.DisableHighlightingInCommentsAction=F;class x extends _.EditorAction{constructor(){super({id:W.ID,label:l.localize(1399,"Disable highlighting of characters in strings"),alias:"Disable highlighting of characters in strings",precondition:void 0}),this.shortLabel=l.localize(1398,"Disable Highlight In Strings")}async run(G,K,R){const J=G?.get(a.IConfigurationService);J&&this.runAction(J)}async runAction(G){await G.updateValue(b.unicodeHighlightConfigKeys.includeStrings,!1,2)}}e.DisableHighlightingInStringsAction=x;class W extends _.EditorAction{static{this.ID="editor.action.unicodeHighlight.disableHighlightingOfAmbiguousCharacters"}constructor(){super({id:W.ID,label:l.localize(1401,"Disable highlighting of ambiguous characters"),alias:"Disable highlighting of ambiguous characters",precondition:void 0}),this.shortLabel=l.localize(1400,"Disable Ambiguous Highlight")}async run(G,K,R){const J=G?.get(a.IConfigurationService);J&&this.runAction(J)}async runAction(G){await G.updateValue(b.unicodeHighlightConfigKeys.ambiguousCharacters,!1,2)}}e.DisableHighlightingOfAmbiguousCharactersAction=W;class V extends _.EditorAction{static{this.ID="editor.action.unicodeHighlight.disableHighlightingOfInvisibleCharacters"}constructor(){super({id:V.ID,label:l.localize(1403,"Disable highlighting of invisible characters"),alias:"Disable highlighting of invisible characters",precondition:void 0}),this.shortLabel=l.localize(1402,"Disable Invisible Highlight")}async run(G,K,R){const J=G?.get(a.IConfigurationService);J&&this.runAction(J)}async runAction(G){await G.updateValue(b.unicodeHighlightConfigKeys.invisibleCharacters,!1,2)}}e.DisableHighlightingOfInvisibleCharactersAction=V;class q extends _.EditorAction{static{this.ID="editor.action.unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters"}constructor(){super({id:q.ID,label:l.localize(1405,"Disable highlighting of non basic ASCII characters"),alias:"Disable highlighting of non basic ASCII characters",precondition:void 0}),this.shortLabel=l.localize(1404,"Disable Non ASCII Highlight")}async run(G,K,R){const J=G?.get(a.IConfigurationService);J&&this.runAction(J)}async runAction(G){await G.updateValue(b.unicodeHighlightConfigKeys.nonBasicASCII,!1,2)}}e.DisableHighlightingOfNonBasicAsciiCharactersAction=q;class H extends _.EditorAction{static{this.ID="editor.action.unicodeHighlight.showExcludeOptions"}constructor(){super({id:H.ID,label:l.localize(1406,"Show Exclude Options"),alias:"Show Exclude Options",precondition:void 0})}async run(G,K,R){const{codePoint:J,reason:ie,inString:ue,inComment:he}=R,pe=String.fromCodePoint(J),ae=G.get(C.IQuickInputService),ee=G.get(a.IConfigurationService);function de(B){return m.InvisibleCharacters.isInvisibleCharacter(B)?l.localize(1407,"Exclude {0} (invisible character) from being highlighted",M(B)):l.localize(1408,"Exclude {0} from being highlighted",`${M(B)} "${pe}"`)}const ge=[];if(ie.kind===0)for(const B of ie.notAmbiguousInLocales)ge.push({label:l.localize(1409,'Allow unicode characters that are more common in the language "{0}".',B),run:async()=>{U(ee,[B])}});if(ge.push({label:de(J),run:()=>z(ee,[J])}),he){const B=new F;ge.push({label:B.label,run:async()=>B.runAction(ee)})}else if(ue){const B=new x;ge.push({label:B.label,run:async()=>B.runAction(ee)})}if(ie.kind===0){const B=new W;ge.push({label:B.label,run:async()=>B.runAction(ee)})}else if(ie.kind===1){const B=new V;ge.push({label:B.label,run:async()=>B.runAction(ee)})}else if(ie.kind===2){const B=new q;ge.push({label:B.label,run:async()=>B.runAction(ee)})}else j(ie);const X=await ae.pick(ge,{title:D});X&&await X.run()}}e.ShowExcludeOptions=H;async function z(Q,G){const K=Q.getValue(b.unicodeHighlightConfigKeys.allowedCharacters);let R;typeof K=="object"&&K?R=K:R={};for(const J of G)R[String.fromCodePoint(J)]=!0;await Q.updateValue(b.unicodeHighlightConfigKeys.allowedCharacters,R,2)}async function U(Q,G){const K=Q.inspect(b.unicodeHighlightConfigKeys.allowedLocales).user?.value;let R;typeof K=="object"&&K?R=Object.assign({},K):R={};for(const J of G)R[J]=!0;await Q.updateValue(b.unicodeHighlightConfigKeys.allowedLocales,R,2)}function j(Q){throw new Error(`Unexpected value: ${Q}`)}(0,_.registerEditorAction)(W),(0,_.registerEditorAction)(V),(0,_.registerEditorAction)(q),(0,_.registerEditorAction)(H),(0,_.registerEditorContribution)(v.ID,v,1),s.HoverParticipantRegistry.register(T)}),define(ne[870],se([1,0,214,219,812,727,815,728,729,856,817,819,848,821,730,434,731,822,857,858,423,289,734,735,695,864,290,291,429,427,850,737,851,827,738,739,833,834,740,840,831,867,765,786,790,835,791,792,742,221,853,294,868,743,718,869,744,841,411,745,741,694,107,195]),function(oe,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0})}),define(ne[222],se([1,0,11,5,47,6,140,2,16,111,22,152,274,75,9,4,51,78,211,24,28,403,12,180,7,691,31,392,121,393,692,181,50,96,63,186,119,107,48,34,62,440,58,395,711,801,49,701,100,401,43,784,266,808,805,419,153,693,61,29,406,696,117,687,265,688,154,216,108,699,59,66,101,717,137,17,36,697,130,8,271,52,45,384,624,418,394,855,79,785,677,772]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r,u,C,f,h,v,w,S,L,D,T,M,A,P,N,O,F,x,W,V,q,H,z,U,j,Q,G,K,R,J,ie,ue,he,pe,ae,ee,de,ge,X,B,$,Y,Z,te,re,le,me,ve,Le,Ee,Ie,Ae,Me,Ne,ze,Ve,$e,it,Oe,Pe,fe,we,Fe,Ce,Se){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.StandaloneServices=e.standaloneEditorWorkerDescriptor=e.StandaloneConfigurationService=e.StandaloneKeybindingService=e.StandaloneCommandService=e.StandaloneNotificationService=void 0,e.updateConfigurationService=Te;class ye{constructor(Be){this.disposed=!1,this.model=Be,this._onWillDispose=new E.Emitter}get textEditorModel(){return this.model}dispose(){this.disposed=!0,this._onWillDispose.fire()}}let De=class{constructor(Be){this.modelService=Be}createModelReference(Be){const Ge=this.modelService.getModel(Be);return Ge?Promise.resolve(new m.ImmortalReference(new ye(Ge))):Promise.reject(new Error("Model not found"))}};De=ke([ce(0,g.IModelService)],De);class Re{static{this.NULL_PROGRESS_RUNNER={done:()=>{},total:()=>{},worked:()=>{}}}show(){return Re.NULL_PROGRESS_RUNNER}async showWhile(Be,Ge){await Be}}class We{withProgress(Be,Ge,Xe){return Ge({report:()=>{}})}}class He{constructor(){this.isExtensionDevelopment=!1,this.isBuilt=!1}}class je{async confirm(Be){return{confirmed:this.doConfirm(Be.message,Be.detail),checkboxChecked:!1}}doConfirm(Be,Ge){let Xe=Be;return Ge&&(Xe=Xe+` + +`+Ge),we.mainWindow.confirm(Xe)}async prompt(Be){let Ge;if(this.doConfirm(Be.message,Be.detail)){const nt=[...Be.buttons??[]];Be.cancelButton&&typeof Be.cancelButton!="string"&&typeof Be.cancelButton!="boolean"&&nt.push(Be.cancelButton),Ge=await nt[0]?.run({checkboxChecked:!1})}return{result:Ge}}async error(Be,Ge){await this.prompt({type:b.default.Error,message:Be,detail:Ge})}}class qe{static{this.NO_OP=new A.NoOpNotification}info(Be){return this.notify({severity:b.default.Info,message:Be})}warn(Be){return this.notify({severity:b.default.Warning,message:Be})}error(Be){return this.notify({severity:b.default.Error,message:Be})}notify(Be){switch(Be.severity){case b.default.Error:console.error(Be.message);break;case b.default.Warning:console.warn(Be.message);break;default:console.log(Be.message);break}return qe.NO_OP}prompt(Be,Ge,Xe,nt){return qe.NO_OP}status(Be,Ge){return m.Disposable.None}}e.StandaloneNotificationService=qe;let Ze=class{constructor(Be){this._onWillExecuteCommand=new E.Emitter,this._onDidExecuteCommand=new E.Emitter,this.onDidExecuteCommand=this._onDidExecuteCommand.event,this._instantiationService=Be}executeCommand(Be,...Ge){const Xe=a.CommandsRegistry.getCommand(Be);if(!Xe)return Promise.reject(new Error(`command '${Be}' not found`));try{this._onWillExecuteCommand.fire({commandId:Be,args:Ge});const nt=this._instantiationService.invokeFunction.apply(this._instantiationService,[Xe.handler,...Ge]);return this._onDidExecuteCommand.fire({commandId:Be,args:Ge}),Promise.resolve(nt)}catch(nt){return Promise.reject(nt)}}};e.StandaloneCommandService=Ze,e.StandaloneCommandService=Ze=ke([ce(0,h.IInstantiationService)],Ze);let et=class extends v.AbstractKeybindingService{constructor(Be,Ge,Xe,nt,dt,ht){super(Be,Ge,Xe,nt,dt),this._cachedResolver=null,this._dynamicKeybindings=[],this._domNodeListeners=[];const ft=St=>{const kt=new m.DisposableStore;kt.add(k.addDisposableListener(St,k.EventType.KEY_DOWN,Mt=>{const Tt=new I.StandardKeyboardEvent(Mt);this._dispatch(Tt,Tt.target)&&(Tt.preventDefault(),Tt.stopPropagation())})),kt.add(k.addDisposableListener(St,k.EventType.KEY_UP,Mt=>{const Tt=new I.StandardKeyboardEvent(Mt);this._singleModifierDispatch(Tt,Tt.target)&&Tt.preventDefault()})),this._domNodeListeners.push(new lt(St,kt))},gt=St=>{for(let kt=0;kt{St.getOption(61)||ft(St.getContainerDomNode())},bt=St=>{St.getOption(61)||gt(St.getContainerDomNode())};this._register(ht.onCodeEditorAdd(mt)),this._register(ht.onCodeEditorRemove(bt)),ht.listCodeEditors().forEach(mt);const Dt=St=>{ft(St.getContainerDomNode())},ri=St=>{gt(St.getContainerDomNode())};this._register(ht.onDiffEditorAdd(Dt)),this._register(ht.onDiffEditorRemove(ri)),ht.listDiffEditors().forEach(Dt)}addDynamicKeybinding(Be,Ge,Xe,nt){return(0,m.combinedDisposable)(a.CommandsRegistry.registerCommand(Be,Xe),this.addDynamicKeybindings([{keybinding:Ge,command:Be,when:nt}]))}addDynamicKeybindings(Be){const Ge=Be.map(Xe=>({keybinding:(0,y.decodeKeybinding)(Xe.keybinding,_.OS),command:Xe.command??null,commandArgs:Xe.commandArgs,when:Xe.when,weight1:1e3,weight2:0,extensionId:null,isBuiltinExtension:!1}));return this._dynamicKeybindings=this._dynamicKeybindings.concat(Ge),this.updateResolver(),(0,m.toDisposable)(()=>{for(let Xe=0;Xethis._log(Xe))}return this._cachedResolver}_documentHasFocus(){return we.mainWindow.document.hasFocus()}_toNormalizedKeybindingItems(Be,Ge){const Xe=[];let nt=0;for(const dt of Be){const ht=dt.when||void 0,ft=dt.keybinding;if(!ft)Xe[nt++]=new D.ResolvedKeybindingItem(void 0,dt.command,dt.commandArgs,ht,Ge,null,!1);else{const gt=T.USLayoutResolvedKeybinding.resolveKeybinding(ft,_.OS);for(const mt of gt)Xe[nt++]=new D.ResolvedKeybindingItem(mt,dt.command,dt.commandArgs,ht,Ge,null,!1)}}return Xe}resolveKeyboardEvent(Be){const Ge=new y.KeyCodeChord(Be.ctrlKey,Be.shiftKey,Be.altKey,Be.metaKey,Be.keyCode);return new T.USLayoutResolvedKeybinding([Ge],_.OS)}};e.StandaloneKeybindingService=et,e.StandaloneKeybindingService=et=ke([ce(0,C.IContextKeyService),ce(1,a.ICommandService),ce(2,N.ITelemetryService),ce(3,A.INotificationService),ce(4,q.ILogService),ce(5,V.ICodeEditorService)],et);class lt extends m.Disposable{constructor(Be,Ge){super(),this.domNode=Be,this._register(Ge)}}function ct(at){return at&&typeof at=="object"&&(!at.overrideIdentifier||typeof at.overrideIdentifier=="string")&&(!at.resource||at.resource instanceof p.URI)}let ot=class{constructor(Be){this.logService=Be,this._onDidChangeConfiguration=new E.Emitter,this.onDidChangeConfiguration=this._onDidChangeConfiguration.event;const Ge=new Ne.DefaultConfiguration(Be);this._configuration=new u.Configuration(Ge.reload(),u.ConfigurationModel.createEmptyModel(Be),u.ConfigurationModel.createEmptyModel(Be),u.ConfigurationModel.createEmptyModel(Be),u.ConfigurationModel.createEmptyModel(Be),u.ConfigurationModel.createEmptyModel(Be),new Fe.ResourceMap,u.ConfigurationModel.createEmptyModel(Be),new Fe.ResourceMap,Be),Ge.dispose()}getValue(Be,Ge){const Xe=typeof Be=="string"?Be:void 0,nt=ct(Be)?Be:ct(Ge)?Ge:{};return this._configuration.getValue(Xe,nt,void 0)}updateValues(Be){const Ge={data:this._configuration.toData()},Xe=[];for(const nt of Be){const[dt,ht]=nt;this.getValue(dt)!==ht&&(this._configuration.updateValue(dt,ht),Xe.push(dt))}if(Xe.length>0){const nt=new u.ConfigurationChangeEvent({keys:Xe,overrides:[]},Ge,this._configuration,void 0,this.logService);nt.source=8,this._onDidChangeConfiguration.fire(nt)}return Promise.resolve()}updateValue(Be,Ge,Xe,nt){return this.updateValues([[Be,Ge]])}inspect(Be,Ge={}){return this._configuration.inspect(Be,Ge,void 0)}};e.StandaloneConfigurationService=ot,e.StandaloneConfigurationService=ot=ke([ce(0,q.ILogService)],ot);let pt=class{constructor(Be,Ge,Xe){this.configurationService=Be,this.modelService=Ge,this.languageService=Xe,this._onDidChangeConfiguration=new E.Emitter,this.configurationService.onDidChangeConfiguration(nt=>{this._onDidChangeConfiguration.fire({affectedKeys:nt.affectedKeys,affectsConfiguration:(dt,ht)=>nt.affectsConfiguration(ht)})})}getValue(Be,Ge,Xe){const nt=i.Position.isIPosition(Ge)?Ge:null,dt=nt?typeof Xe=="string"?Xe:void 0:typeof Ge=="string"?Ge:void 0,ht=Be?this.getLanguage(Be,nt):void 0;return typeof dt>"u"?this.configurationService.getValue({resource:Be,overrideIdentifier:ht}):this.configurationService.getValue(dt,{resource:Be,overrideIdentifier:ht})}getLanguage(Be,Ge){const Xe=this.modelService.getModel(Be);return Xe?Ge?Xe.getLanguageIdAtPosition(Ge.lineNumber,Ge.column):Xe.getLanguageId():this.languageService.guessLanguageIdByFilepathOrFirstLine(Be)}};pt=ke([ce(0,r.IConfigurationService),ce(1,g.IModelService),ce(2,ie.ILanguageService)],pt);let Qe=class{constructor(Be){this.configurationService=Be}getEOL(Be,Ge){const Xe=this.configurationService.getValue("files.eol",{overrideIdentifier:Ge,resource:Be});return Xe&&typeof Xe=="string"&&Xe!=="auto"?Xe:_.isLinux||_.isMacintosh?` +`:`\r +`}};Qe=ke([ce(0,r.IConfigurationService)],Qe);class be{publicLog2(){}}class _e{static{this.SCHEME="inmemory"}constructor(){const Be=p.URI.from({scheme:_e.SCHEME,authority:"model",path:"/"});this.workspace={id:O.STANDALONE_EDITOR_WORKSPACE_ID,folders:[new O.WorkspaceFolder({uri:Be,name:"",index:0})]}}getWorkspace(){return this.workspace}getWorkspaceFolder(Be){return Be&&Be.scheme===_e.SCHEME?this.workspace.folders[0]:null}}function Te(at,Be,Ge){if(!Be||!(at instanceof ot))return;const Xe=[];Object.keys(Be).forEach(nt=>{(0,o.isEditorConfigurationKey)(nt)&&Xe.push([`editor.${nt}`,Be[nt]]),Ge&&(0,o.isDiffEditorConfigurationKey)(nt)&&Xe.push([`diffEditor.${nt}`,Be[nt]])}),Xe.length>0&&at.updateValues(Xe)}let xe=class{constructor(Be){this._modelService=Be}hasPreviewHandler(){return!1}async apply(Be,Ge){const Xe=Array.isArray(Be)?Be:n.ResourceEdit.convert(Be),nt=new Map;for(const ft of Xe){if(!(ft instanceof n.ResourceTextEdit))throw new Error("bad edit - only text edits are supported");const gt=this._modelService.getModel(ft.resource);if(!gt)throw new Error("bad edit - model not found");if(typeof ft.versionId=="number"&>.getVersionId()!==ft.versionId)throw new Error("bad state - model changed in the meantime");let mt=nt.get(gt);mt||(mt=[],nt.set(gt,mt)),mt.push(t.EditOperation.replaceMove(s.Range.lift(ft.textEdit.range),ft.textEdit.text))}let dt=0,ht=0;for(const[ft,gt]of nt)ft.pushStackElement(),ft.pushEditOperations([],gt,()=>[]),ft.pushStackElement(),ht+=1,dt+=gt.length;return{ariaSummary:d.format(x.StandaloneServicesNLS.bulkEditServiceSummary,dt,ht),isApplied:dt>0}}};xe=ke([ce(0,g.IModelService)],xe);class Ke{getUriLabel(Be,Ge){return Be.scheme==="file"?Be.fsPath:Be.path}getUriBasenameLabel(Be){return(0,W.basename)(Be)}}let Ye=class extends U.ContextViewService{constructor(Be,Ge){super(Be),this._codeEditorService=Ge}showContextView(Be,Ge,Xe){if(!Ge){const nt=this._codeEditorService.getFocusedCodeEditor()||this._codeEditorService.getActiveCodeEditor();nt&&(Ge=nt.getContainerDomNode())}return super.showContextView(Be,Ge,Xe)}};Ye=ke([ce(0,F.ILayoutService),ce(1,V.ICodeEditorService)],Ye);class Ue{constructor(){this._neverEmitter=new E.Emitter,this.onDidChangeTrust=this._neverEmitter.event}isWorkspaceTrusted(){return!0}}class tt extends j.LanguageService{constructor(){super()}}class st extends it.LogService{constructor(){super(new q.ConsoleLogger)}}let Je=class extends Q.ContextMenuService{constructor(Be,Ge,Xe,nt,dt,ht){super(Be,Ge,Xe,nt,dt,ht),this.configure({blockMouse:!1})}};Je=ke([ce(0,N.ITelemetryService),ce(1,A.INotificationService),ce(2,z.IContextViewService),ce(3,w.IKeybindingService),ce(4,B.IMenuService),ce(5,C.IContextKeyService)],Je),e.standaloneEditorWorkerDescriptor={amdModuleId:"vs/editor/common/services/editorSimpleWorker",esmModuleLocation:void 0,label:"editorWorkerService"};let ut=class extends J.EditorWorkerService{constructor(Be,Ge,Xe,nt,dt){super(e.standaloneEditorWorkerDescriptor,Be,Ge,Xe,nt,dt)}};ut=ke([ce(0,g.IModelService),ce(1,l.ITextResourceConfigurationService),ce(2,q.ILogService),ce(3,$e.ILanguageConfigurationService),ce(4,Ve.ILanguageFeaturesService)],ut);class Lt{async playSignal(Be,Ge){}}(0,G.registerSingleton)(q.ILogService,st,0),(0,G.registerSingleton)(r.IConfigurationService,ot,0),(0,G.registerSingleton)(l.ITextResourceConfigurationService,pt,0),(0,G.registerSingleton)(l.ITextResourcePropertiesService,Qe,0),(0,G.registerSingleton)(O.IWorkspaceContextService,_e,0),(0,G.registerSingleton)(M.ILabelService,Ke,0),(0,G.registerSingleton)(N.ITelemetryService,be,0),(0,G.registerSingleton)(f.IDialogService,je,0),(0,G.registerSingleton)(fe.IEnvironmentService,He,0),(0,G.registerSingleton)(A.INotificationService,qe,0),(0,G.registerSingleton)(Le.IMarkerService,Ee.MarkerService,0),(0,G.registerSingleton)(ie.ILanguageService,tt,0),(0,G.registerSingleton)(de.IStandaloneThemeService,ee.StandaloneThemeService,0),(0,G.registerSingleton)(g.IModelService,pe.ModelService,0),(0,G.registerSingleton)(he.IMarkerDecorationsService,ue.MarkerDecorationsService,0),(0,G.registerSingleton)(C.IContextKeyService,te.ContextKeyService,0),(0,G.registerSingleton)(P.IProgressService,We,0),(0,G.registerSingleton)(P.IEditorProgressService,Re,0),(0,G.registerSingleton)(Me.IStorageService,Me.InMemoryStorageService,0),(0,G.registerSingleton)(R.IEditorWorkerService,ut,0),(0,G.registerSingleton)(n.IBulkEditService,xe,0),(0,G.registerSingleton)(H.IWorkspaceTrustManagementService,Ue,0),(0,G.registerSingleton)(c.ITextModelService,De,0),(0,G.registerSingleton)(X.IAccessibilityService,ge.AccessibilityService,0),(0,G.registerSingleton)(ve.IListService,ve.ListService,0),(0,G.registerSingleton)(a.ICommandService,Ze,0),(0,G.registerSingleton)(w.IKeybindingService,et,0),(0,G.registerSingleton)(Ae.IQuickInputService,ae.StandaloneQuickInputService,0),(0,G.registerSingleton)(z.IContextViewService,Ye,0),(0,G.registerSingleton)(Ie.IOpenerService,K.OpenerService,0),(0,G.registerSingleton)(Z.IClipboardService,Y.BrowserClipboardService,0),(0,G.registerSingleton)(z.IContextMenuService,Je,0),(0,G.registerSingleton)(B.IMenuService,$.MenuService,0),(0,G.registerSingleton)(ze.IAccessibilitySignalService,Lt,0),(0,G.registerSingleton)(Ce.ITreeSitterParserService,Se.StandaloneTreeSitterParserService,0);var Ct;(function(at){const Be=new me.ServiceCollection;for(const[gt,mt]of(0,G.getSingletonServiceDescriptors)())Be.set(gt,mt);const Ge=new le.InstantiationService(Be,!0);Be.set(h.IInstantiationService,Ge);function Xe(gt){nt||ht({});const mt=Be.get(gt);if(!mt)throw new Error("Missing service "+gt);return mt instanceof re.SyncDescriptor?Ge.invokeFunction(bt=>bt.get(gt)):mt}at.get=Xe;let nt=!1;const dt=new E.Emitter;function ht(gt){if(nt)return Ge;nt=!0;for(const[bt,Dt]of(0,G.getSingletonServiceDescriptors)())Be.get(bt)||Be.set(bt,Dt);for(const bt in gt)if(gt.hasOwnProperty(bt)){const Dt=(0,h.createDecorator)(bt);Be.get(Dt)instanceof re.SyncDescriptor&&Be.set(Dt,gt[bt])}const mt=(0,Oe.getEditorFeatures)();for(const bt of mt)try{Ge.createInstance(bt)}catch(Dt){(0,Pe.onUnexpectedError)(Dt)}return dt.fire(),Ge}at.initialize=ht;function ft(gt){if(nt)return gt();const mt=new m.DisposableStore,bt=mt.add(dt.event(()=>{bt.dispose(),mt.add(gt())}));return mt}at.withServices=ft})(Ct||(e.StandaloneServices=Ct={}))}),define(ne[871],se([1,0,46,2,34,219,318,222,153,29,24,28,12,58,7,31,50,25,61,107,117,96,51,43,418,70,36,17,286,137,52,44,118,81]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r,u,C,f,h,v,w,S,L,D,T,M,A,P){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.StandaloneDiffEditor2=e.StandaloneEditor=e.StandaloneCodeEditor=void 0,e.createTextModel=q;let N=0,O=!1;function F(z){if(!z){if(O)return;O=!0}d.setARIAContainer(z||T.mainWindow.document.body)}let x=class extends E.CodeEditorWidget{constructor(U,j,Q,G,K,R,J,ie,ue,he,pe,ae,ee){const de={...j};de.ariaLabel=de.ariaLabel||a.StandaloneCodeEditorNLS.editorViewAccessibleLabel,super(U,de,{},Q,G,K,R,ue,he,pe,ae,ee),ie instanceof m.StandaloneKeybindingService?this._standaloneKeybindingService=ie:this._standaloneKeybindingService=null,F(de.ariaContainerElement),(0,M.setHoverDelegateFactory)((ge,X)=>Q.createInstance(A.WorkbenchHoverDelegate,ge,X,{})),(0,P.setBaseLayerHoverDelegate)(J)}addCommand(U,j,Q){if(!this._standaloneKeybindingService)return console.warn("Cannot add command because the editor is configured with an unrecognized KeybindingService"),null;const G="DYNAMIC_"+ ++N,K=o.ContextKeyExpr.deserialize(Q);return this._standaloneKeybindingService.addDynamicKeybinding(G,U,j,K),G}createContextKey(U,j){return this._contextKeyService.createKey(U,j)}addAction(U){if(typeof U.id!="string"||typeof U.label!="string"||typeof U.run!="function")throw new Error("Invalid action descriptor, `id`, `label` and `run` are required properties!");if(!this._standaloneKeybindingService)return console.warn("Cannot add keybinding because the editor is configured with an unrecognized KeybindingService"),k.Disposable.None;const j=U.id,Q=U.label,G=o.ContextKeyExpr.and(o.ContextKeyExpr.equals("editorId",this.getId()),o.ContextKeyExpr.deserialize(U.precondition)),K=U.keybindings,R=o.ContextKeyExpr.and(G,o.ContextKeyExpr.deserialize(U.keybindingContext)),J=U.contextMenuGroupId||null,ie=U.contextMenuOrder||0,ue=(ee,...de)=>Promise.resolve(U.run(this,...de)),he=new k.DisposableStore,pe=this.getId()+":"+j;if(he.add(p.CommandsRegistry.registerCommand(pe,ue)),J){const ee={command:{id:pe,title:Q},when:G,group:J,order:ie};he.add(b.MenuRegistry.appendMenuItem(b.MenuId.EditorContext,ee))}if(Array.isArray(K))for(const ee of K)he.add(this._standaloneKeybindingService.addDynamicKeybinding(pe,ee,ue,R));const ae=new y.InternalEditorAction(pe,Q,Q,void 0,G,(...ee)=>Promise.resolve(U.run(this,...ee)),this._contextKeyService);return this._actions.set(j,ae),he.add((0,k.toDisposable)(()=>{this._actions.delete(j)})),he}_triggerCommand(U,j){if(this._codeEditorService instanceof h.StandaloneCodeEditorService)try{this._codeEditorService.setActiveCodeEditor(this),super._triggerCommand(U,j)}finally{this._codeEditorService.setActiveCodeEditor(null)}else super._triggerCommand(U,j)}};e.StandaloneCodeEditor=x,e.StandaloneCodeEditor=x=ke([ce(2,i.IInstantiationService),ce(3,I.ICodeEditorService),ce(4,p.ICommandService),ce(5,o.IContextKeyService),ce(6,A.IHoverService),ce(7,s.IKeybindingService),ce(8,c.IThemeService),ce(9,g.INotificationService),ce(10,l.IAccessibilityService),ce(11,w.ILanguageConfigurationService),ce(12,S.ILanguageFeaturesService)],x);let W=class extends x{constructor(U,j,Q,G,K,R,J,ie,ue,he,pe,ae,ee,de,ge,X){const B={...j};(0,m.updateConfigurationService)(pe,B,!1);const $=ue.registerEditorContainer(U);typeof B.theme=="string"&&ue.setTheme(B.theme),typeof B.autoDetectHighContrast<"u"&&ue.setAutoDetectHighContrast(!!B.autoDetectHighContrast);const Y=B.model;delete B.model,super(U,B,Q,G,K,R,J,ie,ue,he,ae,ge,X),this._configurationService=pe,this._standaloneThemeService=ue,this._register($);let Z;if(typeof Y>"u"){const te=de.getLanguageIdByMimeType(B.language)||B.language||v.PLAINTEXT_LANGUAGE_ID;Z=q(ee,de,B.value||"",te,void 0),this._ownsModel=!0}else Z=Y,this._ownsModel=!1;if(this._attachModel(Z),Z){const te={oldModelUrl:null,newModelUrl:Z.uri};this._onDidChangeModel.fire(te)}}dispose(){super.dispose()}updateOptions(U){(0,m.updateConfigurationService)(this._configurationService,U,!1),typeof U.theme=="string"&&this._standaloneThemeService.setTheme(U.theme),typeof U.autoDetectHighContrast<"u"&&this._standaloneThemeService.setAutoDetectHighContrast(!!U.autoDetectHighContrast),super.updateOptions(U)}_postDetachModelCleanup(U){super._postDetachModelCleanup(U),U&&this._ownsModel&&(U.dispose(),this._ownsModel=!1)}};e.StandaloneEditor=W,e.StandaloneEditor=W=ke([ce(2,i.IInstantiationService),ce(3,I.ICodeEditorService),ce(4,p.ICommandService),ce(5,o.IContextKeyService),ce(6,A.IHoverService),ce(7,s.IKeybindingService),ce(8,_.IStandaloneThemeService),ce(9,g.INotificationService),ce(10,n.IConfigurationService),ce(11,l.IAccessibilityService),ce(12,C.IModelService),ce(13,f.ILanguageService),ce(14,w.ILanguageConfigurationService),ce(15,S.ILanguageFeaturesService)],W);let V=class extends L.DiffEditorWidget{constructor(U,j,Q,G,K,R,J,ie,ue,he,pe,ae){const ee={...j};(0,m.updateConfigurationService)(ie,ee,!0);const de=R.registerEditorContainer(U);typeof ee.theme=="string"&&R.setTheme(ee.theme),typeof ee.autoDetectHighContrast<"u"&&R.setAutoDetectHighContrast(!!ee.autoDetectHighContrast),super(U,ee,{},G,Q,K,ae,he),this._configurationService=ie,this._standaloneThemeService=R,this._register(de)}dispose(){super.dispose()}updateOptions(U){(0,m.updateConfigurationService)(this._configurationService,U,!0),typeof U.theme=="string"&&this._standaloneThemeService.setTheme(U.theme),typeof U.autoDetectHighContrast<"u"&&this._standaloneThemeService.setAutoDetectHighContrast(!!U.autoDetectHighContrast),super.updateOptions(U)}_createInnerEditor(U,j,Q){return U.createInstance(x,j,Q)}getOriginalEditor(){return super.getOriginalEditor()}getModifiedEditor(){return super.getModifiedEditor()}addCommand(U,j,Q){return this.getModifiedEditor().addCommand(U,j,Q)}createContextKey(U,j){return this.getModifiedEditor().createContextKey(U,j)}addAction(U){return this.getModifiedEditor().addAction(U)}};e.StandaloneDiffEditor2=V,e.StandaloneDiffEditor2=V=ke([ce(2,i.IInstantiationService),ce(3,o.IContextKeyService),ce(4,I.ICodeEditorService),ce(5,_.IStandaloneThemeService),ce(6,g.INotificationService),ce(7,n.IConfigurationService),ce(8,t.IContextMenuService),ce(9,u.IEditorProgressService),ce(10,r.IClipboardService),ce(11,D.IAccessibilitySignalService)],V);function q(z,U,j,Q,G){if(j=j||"",!Q){const K=j.indexOf(` +`);let R=j;return K!==-1&&(R=j.substring(0,K)),H(z,j,U.createByFilepathOrFirstLine(G||null,R),G)}return H(z,j,U.createById(Q),G)}function H(z,U,j,Q){return z.createModel(U,j,Q)}}),define(ne[872],se([1,0,33,4,27,43,36,70,17,238,222,625,389,153,28,108]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TokenizationSupportAdapter=e.EncodedTokenizationSupportAdapter=void 0,e.register=g,e.getLanguages=c,e.getEncodedLanguageId=l,e.onLanguage=a,e.onLanguageEncountered=r,e.setLanguageConfiguration=u,e.setColorMap=S,e.registerTokensProviderFactory=D,e.setTokensProvider=T,e.setMonarchTokensProvider=M,e.registerReferenceProvider=A,e.registerRenameProvider=P,e.registerNewSymbolNameProvider=N,e.registerSignatureHelpProvider=O,e.registerHoverProvider=F,e.registerDocumentSymbolProvider=x,e.registerDocumentHighlightProvider=W,e.registerLinkedEditingRangeProvider=V,e.registerDefinitionProvider=q,e.registerImplementationProvider=H,e.registerTypeDefinitionProvider=z,e.registerCodeLensProvider=U,e.registerCodeActionProvider=j,e.registerDocumentFormattingEditProvider=Q,e.registerDocumentRangeFormattingEditProvider=G,e.registerOnTypeFormattingEditProvider=K,e.registerLinkProvider=R,e.registerCompletionItemProvider=J,e.registerColorProvider=ie,e.registerFoldingRangeProvider=ue,e.registerDeclarationProvider=he,e.registerSelectionRangeProvider=pe,e.registerDocumentSemanticTokensProvider=ae,e.registerDocumentRangeSemanticTokensProvider=ee,e.registerInlineCompletionsProvider=de,e.registerInlineEditProvider=ge,e.registerInlayHintsProvider=X,e.createMonacoLanguagesAPI=B;function g($){m.ModesRegistry.registerLanguage($)}function c(){let $=[];return $=$.concat(m.ModesRegistry.getLanguages()),$}function l($){return p.StandaloneServices.get(E.ILanguageService).languageIdCodec.encodeLanguageId($)}function a($,Y){return p.StandaloneServices.withServices(()=>{const te=p.StandaloneServices.get(E.ILanguageService).onDidRequestRichLanguageFeatures(re=>{re===$&&(te.dispose(),Y())});return te})}function r($,Y){return p.StandaloneServices.withServices(()=>{const te=p.StandaloneServices.get(E.ILanguageService).onDidRequestBasicLanguageFeatures(re=>{re===$&&(te.dispose(),Y())});return te})}function u($,Y){if(!p.StandaloneServices.get(E.ILanguageService).isRegisteredLanguageId($))throw new Error(`Cannot set configuration for unknown language ${$}`);return p.StandaloneServices.get(y.ILanguageConfigurationService).register($,Y,100)}class C{constructor(Y,Z){this._languageId=Y,this._actual=Z}dispose(){}getInitialState(){return this._actual.getInitialState()}tokenize(Y,Z,te){if(typeof this._actual.tokenize=="function")return f.adaptTokenize(this._languageId,this._actual,Y,te);throw new Error("Not supported!")}tokenizeEncoded(Y,Z,te){const re=this._actual.tokenizeEncoded(Y,te);return new I.EncodedTokenizationResult(re.tokens,re.endState)}}e.EncodedTokenizationSupportAdapter=C;class f{constructor(Y,Z,te,re){this._languageId=Y,this._actual=Z,this._languageService=te,this._standaloneThemeService=re}dispose(){}getInitialState(){return this._actual.getInitialState()}static _toClassicTokens(Y,Z){const te=[];let re=0;for(let le=0,me=Y.length;le0&&le[me-1]===Me)continue;let Ne=Ae.startIndex;Ee===0?Ne=0:Ne{const te=await Promise.resolve(Y.create());return te?h(te)?L($,te):new o.MonarchTokenizer(p.StandaloneServices.get(E.ILanguageService),p.StandaloneServices.get(t.IStandaloneThemeService),$,(0,n.compile)($,te),p.StandaloneServices.get(i.IConfigurationService)):null});return I.TokenizationRegistry.registerFactory($,Z)}function T($,Y){if(!p.StandaloneServices.get(E.ILanguageService).isRegisteredLanguageId($))throw new Error(`Cannot set tokens provider for unknown language ${$}`);return w(Y)?D($,{create:()=>Y}):I.TokenizationRegistry.register($,L($,Y))}function M($,Y){const Z=te=>new o.MonarchTokenizer(p.StandaloneServices.get(E.ILanguageService),p.StandaloneServices.get(t.IStandaloneThemeService),$,(0,n.compile)($,te),p.StandaloneServices.get(i.IConfigurationService));return w(Y)?D($,{create:()=>Y}):I.TokenizationRegistry.register($,Z(Y))}function A($,Y){return p.StandaloneServices.get(_.ILanguageFeaturesService).referenceProvider.register($,Y)}function P($,Y){return p.StandaloneServices.get(_.ILanguageFeaturesService).renameProvider.register($,Y)}function N($,Y){return p.StandaloneServices.get(_.ILanguageFeaturesService).newSymbolNamesProvider.register($,Y)}function O($,Y){return p.StandaloneServices.get(_.ILanguageFeaturesService).signatureHelpProvider.register($,Y)}function F($,Y){return p.StandaloneServices.get(_.ILanguageFeaturesService).hoverProvider.register($,{provideHover:async(te,re,le,me)=>{const ve=te.getWordAtPosition(re);return Promise.resolve(Y.provideHover(te,re,le,me)).then(Le=>{if(Le)return!Le.range&&ve&&(Le.range=new k.Range(re.lineNumber,ve.startColumn,re.lineNumber,ve.endColumn)),Le.range||(Le.range=new k.Range(re.lineNumber,re.column,re.lineNumber,re.column)),Le})}})}function x($,Y){return p.StandaloneServices.get(_.ILanguageFeaturesService).documentSymbolProvider.register($,Y)}function W($,Y){return p.StandaloneServices.get(_.ILanguageFeaturesService).documentHighlightProvider.register($,Y)}function V($,Y){return p.StandaloneServices.get(_.ILanguageFeaturesService).linkedEditingRangeProvider.register($,Y)}function q($,Y){return p.StandaloneServices.get(_.ILanguageFeaturesService).definitionProvider.register($,Y)}function H($,Y){return p.StandaloneServices.get(_.ILanguageFeaturesService).implementationProvider.register($,Y)}function z($,Y){return p.StandaloneServices.get(_.ILanguageFeaturesService).typeDefinitionProvider.register($,Y)}function U($,Y){return p.StandaloneServices.get(_.ILanguageFeaturesService).codeLensProvider.register($,Y)}function j($,Y,Z){return p.StandaloneServices.get(_.ILanguageFeaturesService).codeActionProvider.register($,{providedCodeActionKinds:Z?.providedCodeActionKinds,documentation:Z?.documentation,provideCodeActions:(re,le,me,ve)=>{const Ee=p.StandaloneServices.get(s.IMarkerService).read({resource:re.uri}).filter(Ie=>k.Range.areIntersectingOrTouching(Ie,le));return Y.provideCodeActions(re,le,{markers:Ee,only:me.only,trigger:me.trigger},ve)},resolveCodeAction:Y.resolveCodeAction})}function Q($,Y){return p.StandaloneServices.get(_.ILanguageFeaturesService).documentFormattingEditProvider.register($,Y)}function G($,Y){return p.StandaloneServices.get(_.ILanguageFeaturesService).documentRangeFormattingEditProvider.register($,Y)}function K($,Y){return p.StandaloneServices.get(_.ILanguageFeaturesService).onTypeFormattingEditProvider.register($,Y)}function R($,Y){return p.StandaloneServices.get(_.ILanguageFeaturesService).linkProvider.register($,Y)}function J($,Y){return p.StandaloneServices.get(_.ILanguageFeaturesService).completionProvider.register($,Y)}function ie($,Y){return p.StandaloneServices.get(_.ILanguageFeaturesService).colorProvider.register($,Y)}function ue($,Y){return p.StandaloneServices.get(_.ILanguageFeaturesService).foldingRangeProvider.register($,Y)}function he($,Y){return p.StandaloneServices.get(_.ILanguageFeaturesService).declarationProvider.register($,Y)}function pe($,Y){return p.StandaloneServices.get(_.ILanguageFeaturesService).selectionRangeProvider.register($,Y)}function ae($,Y){return p.StandaloneServices.get(_.ILanguageFeaturesService).documentSemanticTokensProvider.register($,Y)}function ee($,Y){return p.StandaloneServices.get(_.ILanguageFeaturesService).documentRangeSemanticTokensProvider.register($,Y)}function de($,Y){return p.StandaloneServices.get(_.ILanguageFeaturesService).inlineCompletionsProvider.register($,Y)}function ge($,Y){return p.StandaloneServices.get(_.ILanguageFeaturesService).inlineEditProvider.register($,Y)}function X($,Y){return p.StandaloneServices.get(_.ILanguageFeaturesService).inlayHintsProvider.register($,Y)}function B(){return{register:g,getLanguages:c,onLanguage:a,onLanguageEncountered:r,getEncodedLanguageId:l,setLanguageConfiguration:u,setColorMap:S,registerTokensProviderFactory:D,setTokensProvider:T,setMonarchTokensProvider:M,registerReferenceProvider:A,registerRenameProvider:P,registerNewSymbolNameProvider:N,registerCompletionItemProvider:J,registerSignatureHelpProvider:O,registerHoverProvider:F,registerDocumentSymbolProvider:x,registerDocumentHighlightProvider:W,registerLinkedEditingRangeProvider:V,registerDefinitionProvider:q,registerImplementationProvider:H,registerTypeDefinitionProvider:z,registerCodeLensProvider:U,registerCodeActionProvider:j,registerDocumentFormattingEditProvider:Q,registerDocumentRangeFormattingEditProvider:G,registerOnTypeFormattingEditProvider:K,registerLinkProvider:R,registerColorProvider:ie,registerFoldingRangeProvider:ue,registerDeclarationProvider:he,registerSelectionRangeProvider:pe,registerDocumentSemanticTokensProvider:ae,registerDocumentRangeSemanticTokensProvider:ee,registerInlineCompletionsProvider:de,registerInlineEditProvider:ge,registerInlayHintsProvider:X,DocumentHighlightKind:b.DocumentHighlightKind,CompletionItemKind:b.CompletionItemKind,CompletionItemTag:b.CompletionItemTag,CompletionItemInsertTextRule:b.CompletionItemInsertTextRule,SymbolKind:b.SymbolKind,SymbolTag:b.SymbolTag,IndentAction:b.IndentAction,CompletionTriggerKind:b.CompletionTriggerKind,SignatureHelpTriggerKind:b.SignatureHelpTriggerKind,InlayHintKind:b.InlayHintKind,InlineCompletionTriggerKind:b.InlineCompletionTriggerKind,InlineEditTriggerKind:b.InlineEditTriggerKind,CodeActionTriggerType:b.CodeActionTriggerType,NewSymbolNameTag:b.NewSymbolNameTag,NewSymbolNameTriggerKind:b.NewSymbolNameTriggerKind,PartialAcceptTriggerKind:b.PartialAcceptTriggerKind,HoverVerbosityAction:b.HoverVerbosityAction,FoldingRangeKind:I.FoldingRangeKind,SelectedSuggestionInfo:I.SelectedSuggestionInfo}}}),define(ne[873],se([1,0,60,401,222]),function(oe,e,d,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.createWebWorker=E;function E(m,_){return new y(m,_)}class y extends k.EditorWorkerClient{constructor(_,b){const p={amdModuleId:I.standaloneEditorWorkerDescriptor.amdModuleId,esmModuleLocation:I.standaloneEditorWorkerDescriptor.esmModuleLocation,label:b.label};super(p,b.keepIdleModels||!1,_),this._foreignModuleId=b.moduleId,this._foreignModuleCreateData=b.createData||null,this._foreignModuleHost=b.host||null,this._foreignProxy=null}fhr(_,b){if(!this._foreignModuleHost||typeof this._foreignModuleHost[_]!="function")return Promise.reject(new Error("Missing method "+_+" or missing main thread foreign host."));try{return Promise.resolve(this._foreignModuleHost[_].apply(this._foreignModuleHost,b))}catch(p){return Promise.reject(p)}}_getForeignProxy(){return this._foreignProxy||(this._foreignProxy=this._getProxy().then(_=>{const b=this._foreignModuleHost?(0,d.getAllMethodNames)(this._foreignModuleHost):[];return _.$loadForeignModule(this._foreignModuleId,this._foreignModuleCreateData,b).then(p=>{this._foreignModuleCreateData=null;const n=(i,s)=>_.$fmr(i,s),o=(i,s)=>function(){const g=Array.prototype.slice.call(arguments,0);return s(i,g)},t={};for(const i of p)t[i]=o(i,n);return t})})),this._foreignProxy}getProxy(){return this._getForeignProxy()}withSyncedResources(_){return this.workerWithSyncedResources(_).then(b=>this.getProxy())}}}),define(ne[874],se([1,0,52,2,11,22,366,15,34,873,37,165,261,198,27,43,70,177,40,51,238,682,871,222,153,29,24,12,31,108,59,814,541]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r,u,C,f,h,v,w,S,L,D,T,M){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.create=A,e.onDidCreateEditor=P,e.onDidCreateDiffEditor=N,e.getEditors=O,e.getDiffEditors=F,e.createDiffEditor=x,e.createMultiFileDiffEditor=W,e.addCommand=V,e.addEditorAction=q,e.addKeybindingRule=H,e.addKeybindingRules=z,e.createModel=U,e.setModelLanguage=j,e.setModelMarkers=Q,e.removeAllMarkers=G,e.getModelMarkers=K,e.onDidChangeMarkers=R,e.getModel=J,e.getModels=ie,e.onDidCreateModel=ue,e.onWillDisposeModel=he,e.onDidChangeModelLanguage=pe,e.createWebWorker=ae,e.colorizeElement=ee,e.colorize=de,e.colorizeModelLine=ge,e.tokenize=B,e.defineTheme=$,e.setTheme=Y,e.remeasureFonts=Z,e.registerCommand=te,e.registerLinkOpener=re,e.registerEditorOpener=le,e.createMonacoEditorAPI=me;function A(ve,Le,Ee){return f.StandaloneServices.initialize(Ee||{}).createInstance(C.StandaloneEditor,ve,Le)}function P(ve){return f.StandaloneServices.get(_.ICodeEditorService).onCodeEditorAdd(Ee=>{ve(Ee)})}function N(ve){return f.StandaloneServices.get(_.ICodeEditorService).onDiffEditorAdd(Ee=>{ve(Ee)})}function O(){return f.StandaloneServices.get(_.ICodeEditorService).listCodeEditors()}function F(){return f.StandaloneServices.get(_.ICodeEditorService).listDiffEditors()}function x(ve,Le,Ee){return f.StandaloneServices.initialize(Ee||{}).createInstance(C.StandaloneDiffEditor2,ve,Le)}function W(ve,Le){const Ee=f.StandaloneServices.initialize(Le||{});return new M.MultiDiffEditorWidget(ve,{},Ee)}function V(ve){if(typeof ve.id!="string"||typeof ve.run!="function")throw new Error("Invalid command descriptor, `id` and `run` are required properties!");return w.CommandsRegistry.registerCommand(ve.id,ve.run)}function q(ve){if(typeof ve.id!="string"||typeof ve.label!="string"||typeof ve.run!="function")throw new Error("Invalid action descriptor, `id`, `label` and `run` are required properties!");const Le=S.ContextKeyExpr.deserialize(ve.precondition),Ee=(Ae,...Me)=>m.EditorCommand.runEditorCommand(Ae,Me,Le,(Ne,ze,Ve)=>Promise.resolve(ve.run(ze,...Ve))),Ie=new k.DisposableStore;if(Ie.add(w.CommandsRegistry.registerCommand(ve.id,Ee)),ve.contextMenuGroupId){const Ae={command:{id:ve.id,title:ve.label},when:Le,group:ve.contextMenuGroupId,order:ve.contextMenuOrder||0};Ie.add(v.MenuRegistry.appendMenuItem(v.MenuId.EditorContext,Ae))}if(Array.isArray(ve.keybindings)){const Ae=f.StandaloneServices.get(L.IKeybindingService);if(!(Ae instanceof f.StandaloneKeybindingService))console.warn("Cannot add keybinding because the editor is configured with an unrecognized KeybindingService");else{const Me=S.ContextKeyExpr.and(Le,S.ContextKeyExpr.deserialize(ve.keybindingContext));Ie.add(Ae.addDynamicKeybindings(ve.keybindings.map(Ne=>({keybinding:Ne,command:ve.id,when:Me}))))}}return Ie}function H(ve){return z([ve])}function z(ve){const Le=f.StandaloneServices.get(L.IKeybindingService);return Le instanceof f.StandaloneKeybindingService?Le.addDynamicKeybindings(ve.map(Ee=>({keybinding:Ee.keybinding,command:Ee.command,commandArgs:Ee.commandArgs,when:S.ContextKeyExpr.deserialize(Ee.when)}))):(console.warn("Cannot add keybinding because the editor is configured with an unrecognized KeybindingService"),k.Disposable.None)}function U(ve,Le,Ee){const Ie=f.StandaloneServices.get(s.ILanguageService),Ae=Ie.getLanguageIdByMimeType(Le)||Le;return(0,C.createTextModel)(f.StandaloneServices.get(a.IModelService),Ie,ve,Ae,Ee)}function j(ve,Le){const Ee=f.StandaloneServices.get(s.ILanguageService),Ie=Ee.getLanguageIdByMimeType(Le)||Le||g.PLAINTEXT_LANGUAGE_ID;ve.setLanguage(Ee.createById(Ie))}function Q(ve,Le,Ee){ve&&f.StandaloneServices.get(D.IMarkerService).changeOne(Le,ve.uri,Ee)}function G(ve){f.StandaloneServices.get(D.IMarkerService).changeAll(ve,[])}function K(ve){return f.StandaloneServices.get(D.IMarkerService).read(ve)}function R(ve){return f.StandaloneServices.get(D.IMarkerService).onMarkerChanged(ve)}function J(ve){return f.StandaloneServices.get(a.IModelService).getModel(ve)}function ie(){return f.StandaloneServices.get(a.IModelService).getModels()}function ue(ve){return f.StandaloneServices.get(a.IModelService).onModelAdded(ve)}function he(ve){return f.StandaloneServices.get(a.IModelService).onModelRemoved(ve)}function pe(ve){return f.StandaloneServices.get(a.IModelService).onModelLanguageChanged(Ee=>{ve({model:Ee.model,oldLanguage:Ee.oldLanguageId})})}function ae(ve){return(0,b.createWebWorker)(f.StandaloneServices.get(a.IModelService),ve)}function ee(ve,Le){const Ee=f.StandaloneServices.get(s.ILanguageService),Ie=f.StandaloneServices.get(h.IStandaloneThemeService);return u.Colorizer.colorizeElement(Ie,Ee,ve,Le).then(()=>{Ie.registerEditorContainer(ve)})}function de(ve,Le,Ee){const Ie=f.StandaloneServices.get(s.ILanguageService);return f.StandaloneServices.get(h.IStandaloneThemeService).registerEditorContainer(d.mainWindow.document.body),u.Colorizer.colorize(Ie,ve,Le,Ee)}function ge(ve,Le,Ee=4){return f.StandaloneServices.get(h.IStandaloneThemeService).registerEditorContainer(d.mainWindow.document.body),u.Colorizer.colorizeModelLine(ve,Le,Ee)}function X(ve){const Le=i.TokenizationRegistry.get(ve);return Le||{getInitialState:()=>c.NullState,tokenize:(Ee,Ie,Ae)=>(0,c.nullTokenize)(ve,Ae)}}function B(ve,Le){i.TokenizationRegistry.getOrCreate(Le);const Ee=X(Le),Ie=(0,I.splitLines)(ve),Ae=[];let Me=Ee.getInitialState();for(let Ne=0,ze=Ie.length;Ne{if(!Ie)return null;const Me=Ee.options?.selection;let Ne;return Me&&typeof Me.endLineNumber=="number"&&typeof Me.endColumn=="number"?Ne=Me:Me&&(Ne={lineNumber:Me.startLineNumber,column:Me.startColumn}),await ve.openCodeEditor(Ie,Ee.resource,Ne)?Ie:null})}function me(){return{create:A,getEditors:O,getDiffEditors:F,onDidCreateEditor:P,onDidCreateDiffEditor:N,createDiffEditor:x,addCommand:V,addEditorAction:q,addKeybindingRule:H,addKeybindingRules:z,createModel:U,setModelLanguage:j,setModelMarkers:Q,getModelMarkers:K,removeAllMarkers:G,onDidChangeMarkers:R,getModels:ie,getModel:J,onDidCreateModel:ue,onWillDisposeModel:he,onDidChangeModelLanguage:pe,createWebWorker:ae,colorizeElement:ee,colorize:de,colorizeModelLine:ge,tokenize:B,defineTheme:$,setTheme:Y,remeasureFonts:Z,registerCommand:te,registerLinkOpener:re,registerEditorOpener:le,AccessibilitySupport:r.AccessibilitySupport,ContentWidgetPositionPreference:r.ContentWidgetPositionPreference,CursorChangeReason:r.CursorChangeReason,DefaultEndOfLine:r.DefaultEndOfLine,EditorAutoIndentStrategy:r.EditorAutoIndentStrategy,EditorOption:r.EditorOption,EndOfLinePreference:r.EndOfLinePreference,EndOfLineSequence:r.EndOfLineSequence,MinimapPosition:r.MinimapPosition,MinimapSectionHeaderStyle:r.MinimapSectionHeaderStyle,MouseTargetType:r.MouseTargetType,OverlayWidgetPositionPreference:r.OverlayWidgetPositionPreference,OverviewRulerLane:r.OverviewRulerLane,GlyphMarginLane:r.GlyphMarginLane,RenderLineNumbersType:r.RenderLineNumbersType,RenderMinimap:r.RenderMinimap,ScrollbarVisibility:r.ScrollbarVisibility,ScrollType:r.ScrollType,TextEditorCursorBlinkingStyle:r.TextEditorCursorBlinkingStyle,TextEditorCursorStyle:r.TextEditorCursorStyle,TrackedRangeStickiness:r.TrackedRangeStickiness,WrappingIndent:r.WrappingIndent,InjectedTextCursorStops:r.InjectedTextCursorStops,PositionAffinity:r.PositionAffinity,ShowLightbulbIconMode:r.ShowLightbulbIconMode,ConfigurationChangedEvent:p.ConfigurationChangedEvent,BareFontInfo:o.BareFontInfo,FontInfo:o.FontInfo,TextModelResolvedOptions:l.TextModelResolvedOptions,FindMatch:l.FindMatch,ApplyUpdateResult:p.ApplyUpdateResult,EditorZoom:n.EditorZoom,createMultiFileDiffEditor:W,EditorType:t.EditorType,EditorOptions:p.EditorOptions}}}),define(ne[875],se([1,0,37,372,874,872,409]),function(oe,e,d,k,I,E,y){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.languages=e.editor=e.Token=e.Uri=e.MarkerTag=e.MarkerSeverity=e.SelectionDirection=e.Selection=e.Range=e.Position=e.KeyMod=e.KeyCode=e.Emitter=e.CancellationTokenSource=void 0,d.EditorOptions.wrappingIndent.defaultValue=0,d.EditorOptions.glyphMargin.defaultValue=!1,d.EditorOptions.autoIndent.defaultValue=3,d.EditorOptions.overviewRulerLanes.defaultValue=2,y.FormattingConflicts.setFormatterSelector((b,p,n)=>Promise.resolve(b[0]));const m=(0,k.createMonacoBaseAPI)();m.editor=(0,I.createMonacoEditorAPI)(),m.languages=(0,E.createMonacoLanguagesAPI)(),e.CancellationTokenSource=m.CancellationTokenSource,e.Emitter=m.Emitter,e.KeyCode=m.KeyCode,e.KeyMod=m.KeyMod,e.Position=m.Position,e.Range=m.Range,e.Selection=m.Selection,e.SelectionDirection=m.SelectionDirection,e.MarkerSeverity=m.MarkerSeverity,e.MarkerTag=m.MarkerTag,e.Uri=m.Uri,e.Token=m.Token,e.editor=m.editor,e.languages=m.languages,(globalThis.MonacoEnvironment?.globalAPI||typeof define=="function"&&define.amd)&&(globalThis.monaco=m),typeof globalThis.require<"u"&&typeof globalThis.require.config=="function"&&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 wt=this&&this.__exportStar||function(oe,e){for(var d in oe)d!=="default"&&!Object.prototype.hasOwnProperty.call(e,d)&&oi(e,oe,d)};define(ne[877],se([1,0,875,870,746,747,721,794,795,750,854,797]),function(oe,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),wt(d,e)})}).call(this); + + +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Version: 0.52.0(f420968fc91d2d10d9d3e47dc52e2f2bda0778dd) + * Released under the MIT license + * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt + *-----------------------------------------------------------------------------*/ +define("vs/basic-languages/monaco.contribution", ["require","require","vs/editor/editor.api"],(require)=>{ +"use strict";var moduleExports=(()=>{var y=Object.create;var g=Object.defineProperty;var x=Object.getOwnPropertyDescriptor;var q=Object.getOwnPropertyNames;var A=Object.getPrototypeOf,M=Object.prototype.hasOwnProperty;var a=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(r,s)=>(typeof require<"u"?require:r)[s]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var D=(e,r)=>()=>(r||e((r={exports:{}}).exports,r),r.exports);var l=(e,r,s,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let o of q(r))!M.call(e,o)&&o!==s&&g(e,o,{get:()=>r[o],enumerable:!(n=x(r,o))||n.enumerable});return e},p=(e,r,s)=>(l(e,r,"default"),s&&l(s,r,"default")),c=(e,r,s)=>(s=e!=null?y(A(e)):{},l(r||!e||!e.__esModule?g(s,"default",{value:e,enumerable:!0}):s,e));var v=D((w,d)=>{var b=c(a("vs/editor/editor.api"));d.exports=b});var t={};p(t,c(v()));var f={},m={},u=class e{static getOrCreate(r){return m[r]||(m[r]=new e(r)),m[r]}constructor(r){this._languageId=r,this._loadingTriggered=!1,this._lazyLoadPromise=new Promise((s,n)=>{this._lazyLoadPromiseResolve=s,this._lazyLoadPromiseReject=n})}load(){return this._loadingTriggered||(this._loadingTriggered=!0,f[this._languageId].loader().then(r=>this._lazyLoadPromiseResolve(r),r=>this._lazyLoadPromiseReject(r))),this._lazyLoadPromise}};function i(e){let r=e.id;f[r]=e,t.languages.register(e);let s=u.getOrCreate(r);t.languages.registerTokensProviderFactory(r,{create:async()=>(await s.load()).language}),t.languages.onLanguageEncountered(r,async()=>{let n=await s.load();t.languages.setLanguageConfiguration(r,n.conf)})}i({id:"abap",extensions:[".abap"],aliases:["abap","ABAP"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/abap/abap"],e,r)})});i({id:"apex",extensions:[".cls"],aliases:["Apex","apex"],mimetypes:["text/x-apex-source","text/x-apex"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/apex/apex"],e,r)})});i({id:"azcli",extensions:[".azcli"],aliases:["Azure CLI","azcli"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/azcli/azcli"],e,r)})});i({id:"bat",extensions:[".bat",".cmd"],aliases:["Batch","bat"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/bat/bat"],e,r)})});i({id:"bicep",extensions:[".bicep"],aliases:["Bicep"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/bicep/bicep"],e,r)})});i({id:"cameligo",extensions:[".mligo"],aliases:["Cameligo"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/cameligo/cameligo"],e,r)})});i({id:"clojure",extensions:[".clj",".cljs",".cljc",".edn"],aliases:["clojure","Clojure"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/clojure/clojure"],e,r)})});i({id:"coffeescript",extensions:[".coffee"],aliases:["CoffeeScript","coffeescript","coffee"],mimetypes:["text/x-coffeescript","text/coffeescript"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/coffee/coffee"],e,r)})});i({id:"c",extensions:[".c",".h"],aliases:["C","c"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/cpp/cpp"],e,r)})});i({id:"cpp",extensions:[".cpp",".cc",".cxx",".hpp",".hh",".hxx"],aliases:["C++","Cpp","cpp"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/cpp/cpp"],e,r)})});i({id:"csharp",extensions:[".cs",".csx",".cake"],aliases:["C#","csharp"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/csharp/csharp"],e,r)})});i({id:"csp",extensions:[".csp"],aliases:["CSP","csp"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/csp/csp"],e,r)})});i({id:"css",extensions:[".css"],aliases:["CSS","css"],mimetypes:["text/css"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/css/css"],e,r)})});i({id:"cypher",extensions:[".cypher",".cyp"],aliases:["Cypher","OpenCypher"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/cypher/cypher"],e,r)})});i({id:"dart",extensions:[".dart"],aliases:["Dart","dart"],mimetypes:["text/x-dart-source","text/x-dart"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/dart/dart"],e,r)})});i({id:"dockerfile",extensions:[".dockerfile"],filenames:["Dockerfile"],aliases:["Dockerfile"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/dockerfile/dockerfile"],e,r)})});i({id:"ecl",extensions:[".ecl"],aliases:["ECL","Ecl","ecl"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/ecl/ecl"],e,r)})});i({id:"elixir",extensions:[".ex",".exs"],aliases:["Elixir","elixir","ex"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/elixir/elixir"],e,r)})});i({id:"flow9",extensions:[".flow"],aliases:["Flow9","Flow","flow9","flow"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/flow9/flow9"],e,r)})});i({id:"fsharp",extensions:[".fs",".fsi",".ml",".mli",".fsx",".fsscript"],aliases:["F#","FSharp","fsharp"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/fsharp/fsharp"],e,r)})});i({id:"freemarker2",extensions:[".ftl",".ftlh",".ftlx"],aliases:["FreeMarker2","Apache FreeMarker2"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/freemarker2/freemarker2"],e,r)}).then(e=>e.TagAngleInterpolationDollar)});i({id:"freemarker2.tag-angle.interpolation-dollar",aliases:["FreeMarker2 (Angle/Dollar)","Apache FreeMarker2 (Angle/Dollar)"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/freemarker2/freemarker2"],e,r)}).then(e=>e.TagAngleInterpolationDollar)});i({id:"freemarker2.tag-bracket.interpolation-dollar",aliases:["FreeMarker2 (Bracket/Dollar)","Apache FreeMarker2 (Bracket/Dollar)"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/freemarker2/freemarker2"],e,r)}).then(e=>e.TagBracketInterpolationDollar)});i({id:"freemarker2.tag-angle.interpolation-bracket",aliases:["FreeMarker2 (Angle/Bracket)","Apache FreeMarker2 (Angle/Bracket)"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/freemarker2/freemarker2"],e,r)}).then(e=>e.TagAngleInterpolationBracket)});i({id:"freemarker2.tag-bracket.interpolation-bracket",aliases:["FreeMarker2 (Bracket/Bracket)","Apache FreeMarker2 (Bracket/Bracket)"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/freemarker2/freemarker2"],e,r)}).then(e=>e.TagBracketInterpolationBracket)});i({id:"freemarker2.tag-auto.interpolation-dollar",aliases:["FreeMarker2 (Auto/Dollar)","Apache FreeMarker2 (Auto/Dollar)"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/freemarker2/freemarker2"],e,r)}).then(e=>e.TagAutoInterpolationDollar)});i({id:"freemarker2.tag-auto.interpolation-bracket",aliases:["FreeMarker2 (Auto/Bracket)","Apache FreeMarker2 (Auto/Bracket)"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/freemarker2/freemarker2"],e,r)}).then(e=>e.TagAutoInterpolationBracket)});i({id:"go",extensions:[".go"],aliases:["Go"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/go/go"],e,r)})});i({id:"graphql",extensions:[".graphql",".gql"],aliases:["GraphQL","graphql","gql"],mimetypes:["application/graphql"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/graphql/graphql"],e,r)})});i({id:"handlebars",extensions:[".handlebars",".hbs"],aliases:["Handlebars","handlebars","hbs"],mimetypes:["text/x-handlebars-template"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/handlebars/handlebars"],e,r)})});i({id:"hcl",extensions:[".tf",".tfvars",".hcl"],aliases:["Terraform","tf","HCL","hcl"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/hcl/hcl"],e,r)})});i({id:"html",extensions:[".html",".htm",".shtml",".xhtml",".mdoc",".jsp",".asp",".aspx",".jshtm"],aliases:["HTML","htm","html","xhtml"],mimetypes:["text/html","text/x-jshtm","text/template","text/ng-template"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/html/html"],e,r)})});i({id:"ini",extensions:[".ini",".properties",".gitconfig"],filenames:["config",".gitattributes",".gitconfig",".editorconfig"],aliases:["Ini","ini"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/ini/ini"],e,r)})});i({id:"java",extensions:[".java",".jav"],aliases:["Java","java"],mimetypes:["text/x-java-source","text/x-java"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/java/java"],e,r)})});i({id:"javascript",extensions:[".js",".es6",".jsx",".mjs",".cjs"],firstLine:"^#!.*\\bnode",filenames:["jakefile"],aliases:["JavaScript","javascript","js"],mimetypes:["text/javascript"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/javascript/javascript"],e,r)})});i({id:"julia",extensions:[".jl"],aliases:["julia","Julia"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/julia/julia"],e,r)})});i({id:"kotlin",extensions:[".kt",".kts"],aliases:["Kotlin","kotlin"],mimetypes:["text/x-kotlin-source","text/x-kotlin"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/kotlin/kotlin"],e,r)})});i({id:"less",extensions:[".less"],aliases:["Less","less"],mimetypes:["text/x-less","text/less"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/less/less"],e,r)})});i({id:"lexon",extensions:[".lex"],aliases:["Lexon"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/lexon/lexon"],e,r)})});i({id:"lua",extensions:[".lua"],aliases:["Lua","lua"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/lua/lua"],e,r)})});i({id:"liquid",extensions:[".liquid",".html.liquid"],aliases:["Liquid","liquid"],mimetypes:["application/liquid"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/liquid/liquid"],e,r)})});i({id:"m3",extensions:[".m3",".i3",".mg",".ig"],aliases:["Modula-3","Modula3","modula3","m3"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/m3/m3"],e,r)})});i({id:"markdown",extensions:[".md",".markdown",".mdown",".mkdn",".mkd",".mdwn",".mdtxt",".mdtext"],aliases:["Markdown","markdown"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/markdown/markdown"],e,r)})});i({id:"mdx",extensions:[".mdx"],aliases:["MDX","mdx"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/mdx/mdx"],e,r)})});i({id:"mips",extensions:[".s"],aliases:["MIPS","MIPS-V"],mimetypes:["text/x-mips","text/mips","text/plaintext"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/mips/mips"],e,r)})});i({id:"msdax",extensions:[".dax",".msdax"],aliases:["DAX","MSDAX"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/msdax/msdax"],e,r)})});i({id:"mysql",extensions:[],aliases:["MySQL","mysql"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/mysql/mysql"],e,r)})});i({id:"objective-c",extensions:[".m"],aliases:["Objective-C"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/objective-c/objective-c"],e,r)})});i({id:"pascal",extensions:[".pas",".p",".pp"],aliases:["Pascal","pas"],mimetypes:["text/x-pascal-source","text/x-pascal"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/pascal/pascal"],e,r)})});i({id:"pascaligo",extensions:[".ligo"],aliases:["Pascaligo","ligo"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/pascaligo/pascaligo"],e,r)})});i({id:"perl",extensions:[".pl",".pm"],aliases:["Perl","pl"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/perl/perl"],e,r)})});i({id:"pgsql",extensions:[],aliases:["PostgreSQL","postgres","pg","postgre"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/pgsql/pgsql"],e,r)})});i({id:"php",extensions:[".php",".php4",".php5",".phtml",".ctp"],aliases:["PHP","php"],mimetypes:["application/x-php"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/php/php"],e,r)})});i({id:"pla",extensions:[".pla"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/pla/pla"],e,r)})});i({id:"postiats",extensions:[".dats",".sats",".hats"],aliases:["ATS","ATS/Postiats"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/postiats/postiats"],e,r)})});i({id:"powerquery",extensions:[".pq",".pqm"],aliases:["PQ","M","Power Query","Power Query M"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/powerquery/powerquery"],e,r)})});i({id:"powershell",extensions:[".ps1",".psm1",".psd1"],aliases:["PowerShell","powershell","ps","ps1"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/powershell/powershell"],e,r)})});i({id:"proto",extensions:[".proto"],aliases:["protobuf","Protocol Buffers"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/protobuf/protobuf"],e,r)})});i({id:"pug",extensions:[".jade",".pug"],aliases:["Pug","Jade","jade"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/pug/pug"],e,r)})});i({id:"python",extensions:[".py",".rpy",".pyw",".cpy",".gyp",".gypi"],aliases:["Python","py"],firstLine:"^#!/.*\\bpython[0-9.-]*\\b",loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/python/python"],e,r)})});i({id:"qsharp",extensions:[".qs"],aliases:["Q#","qsharp"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/qsharp/qsharp"],e,r)})});i({id:"r",extensions:[".r",".rhistory",".rmd",".rprofile",".rt"],aliases:["R","r"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/r/r"],e,r)})});i({id:"razor",extensions:[".cshtml"],aliases:["Razor","razor"],mimetypes:["text/x-cshtml"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/razor/razor"],e,r)})});i({id:"redis",extensions:[".redis"],aliases:["redis"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/redis/redis"],e,r)})});i({id:"redshift",extensions:[],aliases:["Redshift","redshift"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/redshift/redshift"],e,r)})});i({id:"restructuredtext",extensions:[".rst"],aliases:["reStructuredText","restructuredtext"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/restructuredtext/restructuredtext"],e,r)})});i({id:"ruby",extensions:[".rb",".rbx",".rjs",".gemspec",".pp"],filenames:["rakefile","Gemfile"],aliases:["Ruby","rb"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/ruby/ruby"],e,r)})});i({id:"rust",extensions:[".rs",".rlib"],aliases:["Rust","rust"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/rust/rust"],e,r)})});i({id:"sb",extensions:[".sb"],aliases:["Small Basic","sb"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/sb/sb"],e,r)})});i({id:"scala",extensions:[".scala",".sc",".sbt"],aliases:["Scala","scala","SBT","Sbt","sbt","Dotty","dotty"],mimetypes:["text/x-scala-source","text/x-scala","text/x-sbt","text/x-dotty"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/scala/scala"],e,r)})});i({id:"scheme",extensions:[".scm",".ss",".sch",".rkt"],aliases:["scheme","Scheme"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/scheme/scheme"],e,r)})});i({id:"scss",extensions:[".scss"],aliases:["Sass","sass","scss"],mimetypes:["text/x-scss","text/scss"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/scss/scss"],e,r)})});i({id:"shell",extensions:[".sh",".bash"],aliases:["Shell","sh"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/shell/shell"],e,r)})});i({id:"sol",extensions:[".sol"],aliases:["sol","solidity","Solidity"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/solidity/solidity"],e,r)})});i({id:"aes",extensions:[".aes"],aliases:["aes","sophia","Sophia"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/sophia/sophia"],e,r)})});i({id:"sparql",extensions:[".rq"],aliases:["sparql","SPARQL"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/sparql/sparql"],e,r)})});i({id:"sql",extensions:[".sql"],aliases:["SQL"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/sql/sql"],e,r)})});i({id:"st",extensions:[".st",".iecst",".iecplc",".lc3lib",".TcPOU",".TcDUT",".TcGVL",".TcIO"],aliases:["StructuredText","scl","stl"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/st/st"],e,r)})});i({id:"swift",aliases:["Swift","swift"],extensions:[".swift"],mimetypes:["text/swift"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/swift/swift"],e,r)})});i({id:"systemverilog",extensions:[".sv",".svh"],aliases:["SV","sv","SystemVerilog","systemverilog"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/systemverilog/systemverilog"],e,r)})});i({id:"verilog",extensions:[".v",".vh"],aliases:["V","v","Verilog","verilog"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/systemverilog/systemverilog"],e,r)})});i({id:"tcl",extensions:[".tcl"],aliases:["tcl","Tcl","tcltk","TclTk","tcl/tk","Tcl/Tk"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/tcl/tcl"],e,r)})});i({id:"twig",extensions:[".twig"],aliases:["Twig","twig"],mimetypes:["text/x-twig"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/twig/twig"],e,r)})});i({id:"typescript",extensions:[".ts",".tsx",".cts",".mts"],aliases:["TypeScript","ts","typescript"],mimetypes:["text/typescript"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/typescript/typescript"],e,r)})});i({id:"typespec",extensions:[".tsp"],aliases:["TypeSpec"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/typespec/typespec"],e,r)})});i({id:"vb",extensions:[".vb"],aliases:["Visual Basic","vb"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/vb/vb"],e,r)})});i({id:"wgsl",extensions:[".wgsl"],aliases:["WebGPU Shading Language","WGSL","wgsl"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/wgsl/wgsl"],e,r)})});i({id:"xml",extensions:[".xml",".xsd",".dtd",".ascx",".csproj",".config",".props",".targets",".wxi",".wxl",".wxs",".xaml",".svg",".svgz",".opf",".xslt",".xsl"],firstLine:"(\\<\\?xml.*)|(\\new Promise((e,r)=>{a(["vs/basic-languages/xml/xml"],e,r)})});i({id:"yaml",extensions:[".yaml",".yml"],aliases:["YAML","yaml","YML","yml"],mimetypes:["application/x-yaml","text/x-yaml"],loader:()=>new Promise((e,r)=>{a(["vs/basic-languages/yaml/yaml"],e,r)})});})(); +return moduleExports; +}); + +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Version: 0.52.0(f420968fc91d2d10d9d3e47dc52e2f2bda0778dd) + * Released under the MIT license + * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt + *-----------------------------------------------------------------------------*/ +define("vs/language/css/monaco.contribution", ["require","require","vs/editor/editor.api"],(require)=>{ +"use strict";var moduleExports=(()=>{var C=Object.create;var g=Object.defineProperty;var S=Object.getOwnPropertyDescriptor;var b=Object.getOwnPropertyNames;var x=Object.getPrototypeOf,h=Object.prototype.hasOwnProperty;var l=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(n,r)=>(typeof require<"u"?require:n)[r]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var I=(e,n)=>()=>(n||e((n={exports:{}}).exports,n),n.exports),M=(e,n)=>{for(var r in n)g(e,r,{get:n[r],enumerable:!0})},s=(e,n,r,a)=>{if(n&&typeof n=="object"||typeof n=="function")for(let t of b(n))!h.call(e,t)&&t!==r&&g(e,t,{get:()=>n[t],enumerable:!(a=S(n,t))||a.enumerable});return e},y=(e,n,r)=>(s(e,n,"default"),r&&s(r,n,"default")),w=(e,n,r)=>(r=e!=null?C(x(e)):{},s(n||!e||!e.__esModule?g(r,"default",{value:e,enumerable:!0}):r,e)),P=e=>s(g({},"__esModule",{value:!0}),e);var v=I((k,D)=>{var O=w(l("vs/editor/editor.api"));D.exports=O});var R={};M(R,{cssDefaults:()=>p,lessDefaults:()=>f,scssDefaults:()=>c});var o={};y(o,w(v()));var i=class{constructor(n,r,a){this._onDidChange=new o.Emitter;this._languageId=n,this.setOptions(r),this.setModeConfiguration(a)}get onDidChange(){return this._onDidChange.event}get languageId(){return this._languageId}get modeConfiguration(){return this._modeConfiguration}get diagnosticsOptions(){return this.options}get options(){return this._options}setOptions(n){this._options=n||Object.create(null),this._onDidChange.fire(this)}setDiagnosticsOptions(n){this.setOptions(n)}setModeConfiguration(n){this._modeConfiguration=n||Object.create(null),this._onDidChange.fire(this)}},d={validate:!0,lint:{compatibleVendorPrefixes:"ignore",vendorPrefix:"warning",duplicateProperties:"warning",emptyRules:"warning",importStatement:"ignore",boxModel:"ignore",universalSelector:"ignore",zeroUnits:"ignore",fontFaceProperties:"warning",hexColorLength:"error",argumentsInColorFunction:"error",unknownProperties:"warning",ieHack:"ignore",unknownVendorSpecificProperties:"ignore",propertyIgnoredDueToDisplay:"warning",important:"ignore",float:"ignore",idSelector:"ignore"},data:{useDefaultDataProvider:!0},format:{newlineBetweenSelectors:!0,newlineBetweenRules:!0,spaceAroundSelectorSeparator:!1,braceStyle:"collapse",maxPreserveNewLines:void 0,preserveNewLines:!0}},u={completionItems:!0,hovers:!0,documentSymbols:!0,definitions:!0,references:!0,documentHighlights:!0,rename:!0,colors:!0,foldingRanges:!0,diagnostics:!0,selectionRanges:!0,documentFormattingEdits:!0,documentRangeFormattingEdits:!0},p=new i("css",d,u),c=new i("scss",d,u),f=new i("less",d,u);o.languages.css={cssDefaults:p,lessDefaults:f,scssDefaults:c};function m(){return new Promise((e,n)=>{l(["vs/language/css/cssMode"],e,n)})}o.languages.onLanguage("less",()=>{m().then(e=>e.setupMode(f))});o.languages.onLanguage("scss",()=>{m().then(e=>e.setupMode(c))});o.languages.onLanguage("css",()=>{m().then(e=>e.setupMode(p))});return P(R);})(); +return moduleExports; +}); + +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Version: 0.52.0(f420968fc91d2d10d9d3e47dc52e2f2bda0778dd) + * Released under the MIT license + * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt + *-----------------------------------------------------------------------------*/ +define("vs/language/html/monaco.contribution", ["require","require","vs/editor/editor.api"],(require)=>{ +"use strict";var moduleExports=(()=>{var w=Object.create;var l=Object.defineProperty;var R=Object.getOwnPropertyDescriptor;var H=Object.getOwnPropertyNames;var O=Object.getPrototypeOf,_=Object.prototype.hasOwnProperty;var f=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(n,t)=>(typeof require<"u"?require:n)[t]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var k=(e,n)=>()=>(n||e((n={exports:{}}).exports,n),n.exports),T=(e,n)=>{for(var t in n)l(e,t,{get:n[t],enumerable:!0})},d=(e,n,t,r)=>{if(n&&typeof n=="object"||typeof n=="function")for(let o of H(n))!_.call(e,o)&&o!==t&&l(e,o,{get:()=>n[o],enumerable:!(r=R(n,o))||r.enumerable});return e},b=(e,n,t)=>(d(e,n,"default"),t&&d(t,n,"default")),v=(e,n,t)=>(t=e!=null?w(O(e)):{},d(n||!e||!e.__esModule?l(t,"default",{value:e,enumerable:!0}):t,e)),A=e=>d(l({},"__esModule",{value:!0}),e);var C=k((z,h)=>{var E=v(f("vs/editor/editor.api"));h.exports=E});var V={};T(V,{handlebarDefaults:()=>M,handlebarLanguageService:()=>m,htmlDefaults:()=>x,htmlLanguageService:()=>c,razorDefaults:()=>I,razorLanguageService:()=>y,registerHTMLLanguageService:()=>s});var a={};b(a,v(C()));var p=class{constructor(n,t,r){this._onDidChange=new a.Emitter;this._languageId=n,this.setOptions(t),this.setModeConfiguration(r)}get onDidChange(){return this._onDidChange.event}get languageId(){return this._languageId}get options(){return this._options}get modeConfiguration(){return this._modeConfiguration}setOptions(n){this._options=n||Object.create(null),this._onDidChange.fire(this)}setModeConfiguration(n){this._modeConfiguration=n||Object.create(null),this._onDidChange.fire(this)}},F={tabSize:4,insertSpaces:!1,wrapLineLength:120,unformatted:'default": "a, abbr, acronym, b, bdo, big, br, button, cite, code, dfn, em, i, img, input, kbd, label, map, object, q, samp, select, small, span, strong, sub, sup, textarea, tt, var',contentUnformatted:"pre",indentInnerHtml:!1,preserveNewLines:!0,maxPreserveNewLines:void 0,indentHandlebars:!1,endWithNewline:!1,extraLiners:"head, body, /html",wrapAttributes:"auto"},u={format:F,suggest:{},data:{useDefaultDataProvider:!0}};function g(e){return{completionItems:!0,hovers:!0,documentSymbols:!0,links:!0,documentHighlights:!0,rename:!0,colors:!0,foldingRanges:!0,selectionRanges:!0,diagnostics:e===i,documentFormattingEdits:e===i,documentRangeFormattingEdits:e===i}}var i="html",D="handlebars",L="razor",c=s(i,u,g(i)),x=c.defaults,m=s(D,u,g(D)),M=m.defaults,y=s(L,u,g(L)),I=y.defaults;a.languages.html={htmlDefaults:x,razorDefaults:I,handlebarDefaults:M,htmlLanguageService:c,handlebarLanguageService:m,razorLanguageService:y,registerHTMLLanguageService:s};function P(){return new Promise((e,n)=>{f(["vs/language/html/htmlMode"],e,n)})}function s(e,n=u,t=g(e)){let r=new p(e,n,t),o,S=a.languages.onLanguage(e,async()=>{o=(await P()).setupMode(r)});return{defaults:r,dispose(){S.dispose(),o?.dispose(),o=void 0}}}return A(V);})(); +return moduleExports; +}); + +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Version: 0.52.0(f420968fc91d2d10d9d3e47dc52e2f2bda0778dd) + * Released under the MIT license + * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt + *-----------------------------------------------------------------------------*/ +define("vs/language/json/monaco.contribution", ["require","require","vs/editor/editor.api"],(require)=>{ +"use strict";var moduleExports=(()=>{var f=Object.create;var s=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var N=Object.getOwnPropertyNames;var b=Object.getPrototypeOf,O=Object.prototype.hasOwnProperty;var d=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(n,o)=>(typeof require<"u"?require:n)[o]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var v=(e,n)=>()=>(n||e((n={exports:{}}).exports,n),n.exports),x=(e,n)=>{for(var o in n)s(e,o,{get:n[o],enumerable:!0})},i=(e,n,o,a)=>{if(n&&typeof n=="object"||typeof n=="function")for(let r of N(n))!O.call(e,r)&&r!==o&&s(e,r,{get:()=>n[r],enumerable:!(a=h(n,r))||a.enumerable});return e},g=(e,n,o)=>(i(e,n,"default"),o&&i(o,n,"default")),c=(e,n,o)=>(o=e!=null?f(b(e)):{},i(n||!e||!e.__esModule?s(o,"default",{value:e,enumerable:!0}):o,e)),A=e=>i(s({},"__esModule",{value:!0}),e);var S=v((R,u)=>{var T=c(d("vs/editor/editor.api"));u.exports=T});var M={};x(M,{getWorker:()=>p,jsonDefaults:()=>m});var t={};g(t,c(S()));var l=class{constructor(n,o,a){this._onDidChange=new t.Emitter;this._languageId=n,this.setDiagnosticsOptions(o),this.setModeConfiguration(a)}get onDidChange(){return this._onDidChange.event}get languageId(){return this._languageId}get modeConfiguration(){return this._modeConfiguration}get diagnosticsOptions(){return this._diagnosticsOptions}setDiagnosticsOptions(n){this._diagnosticsOptions=n||Object.create(null),this._onDidChange.fire(this)}setModeConfiguration(n){this._modeConfiguration=n||Object.create(null),this._onDidChange.fire(this)}},D={validate:!0,allowComments:!0,schemas:[],enableSchemaRequest:!1,schemaRequest:"warning",schemaValidation:"warning",comments:"error",trailingCommas:"error"},C={documentFormattingEdits:!0,documentRangeFormattingEdits:!0,completionItems:!0,hovers:!0,documentSymbols:!0,tokens:!0,colors:!0,foldingRanges:!0,diagnostics:!0,selectionRanges:!0},m=new l("json",D,C),p=()=>y().then(e=>e.getWorker());t.languages.json={jsonDefaults:m,getWorker:p};function y(){return new Promise((e,n)=>{d(["vs/language/json/jsonMode"],e,n)})}t.languages.register({id:"json",extensions:[".json",".bowerrc",".jshintrc",".jscsrc",".eslintrc",".babelrc",".har"],aliases:["JSON","json"],mimetypes:["application/json"]});t.languages.onLanguage("json",()=>{y().then(e=>e.setupMode(m))});return A(M);})(); +return moduleExports; +}); + +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Version: 0.52.0(f420968fc91d2d10d9d3e47dc52e2f2bda0778dd) + * Released under the MIT license + * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt + *-----------------------------------------------------------------------------*/ +define("vs/language/typescript/monaco.contribution", ["require","require","vs/editor/editor.api"],(require)=>{ +"use strict";var moduleExports=(()=>{var N=Object.create;var m=Object.defineProperty;var H=Object.getOwnPropertyDescriptor;var M=Object.getOwnPropertyNames;var R=Object.getPrototypeOf,F=Object.prototype.hasOwnProperty;var c=(n=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(n,{get:(e,t)=>(typeof require<"u"?require:e)[t]}):n)(function(n){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+n+'" is not supported')});var w=(n,e)=>()=>(e||n((e={exports:{}}).exports,e),e.exports),A=(n,e)=>{for(var t in e)m(n,t,{get:e[t],enumerable:!0})},g=(n,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of M(e))!F.call(n,r)&&r!==t&&m(n,r,{get:()=>e[r],enumerable:!(i=H(e,r))||i.enumerable});return n},v=(n,e,t)=>(g(n,e,"default"),t&&g(t,e,"default")),C=(n,e,t)=>(t=n!=null?N(R(n)):{},g(e||!n||!n.__esModule?m(t,"default",{value:n,enumerable:!0}):t,n)),W=n=>g(m({},"__esModule",{value:!0}),n);var _=w((B,L)=>{var V=C(c("vs/editor/editor.api"));L.exports=V});var T={};A(T,{JsxEmit:()=>f,ModuleKind:()=>b,ModuleResolutionKind:()=>O,NewLineKind:()=>y,ScriptTarget:()=>h,getJavaScriptWorker:()=>k,getTypeScriptWorker:()=>P,javascriptDefaults:()=>D,typescriptDefaults:()=>x,typescriptVersion:()=>I});var E="5.4.5";var l={};v(l,C(_()));var b=(s=>(s[s.None=0]="None",s[s.CommonJS=1]="CommonJS",s[s.AMD=2]="AMD",s[s.UMD=3]="UMD",s[s.System=4]="System",s[s.ES2015=5]="ES2015",s[s.ESNext=99]="ESNext",s))(b||{}),f=(a=>(a[a.None=0]="None",a[a.Preserve=1]="Preserve",a[a.React=2]="React",a[a.ReactNative=3]="ReactNative",a[a.ReactJSX=4]="ReactJSX",a[a.ReactJSXDev=5]="ReactJSXDev",a))(f||{}),y=(t=>(t[t.CarriageReturnLineFeed=0]="CarriageReturnLineFeed",t[t.LineFeed=1]="LineFeed",t))(y||{}),h=(o=>(o[o.ES3=0]="ES3",o[o.ES5=1]="ES5",o[o.ES2015=2]="ES2015",o[o.ES2016=3]="ES2016",o[o.ES2017=4]="ES2017",o[o.ES2018=5]="ES2018",o[o.ES2019=6]="ES2019",o[o.ES2020=7]="ES2020",o[o.ESNext=99]="ESNext",o[o.JSON=100]="JSON",o[o.Latest=99]="Latest",o))(h||{}),O=(t=>(t[t.Classic=1]="Classic",t[t.NodeJs=2]="NodeJs",t))(O||{}),d=class{constructor(e,t,i,r,p){this._onDidChange=new l.Emitter;this._onDidExtraLibsChange=new l.Emitter;this._extraLibs=Object.create(null),this._removedExtraLibs=Object.create(null),this._eagerModelSync=!1,this.setCompilerOptions(e),this.setDiagnosticsOptions(t),this.setWorkerOptions(i),this.setInlayHintsOptions(r),this.setModeConfiguration(p),this._onDidExtraLibsChangeTimeout=-1}get onDidChange(){return this._onDidChange.event}get onDidExtraLibsChange(){return this._onDidExtraLibsChange.event}get modeConfiguration(){return this._modeConfiguration}get workerOptions(){return this._workerOptions}get inlayHintsOptions(){return this._inlayHintsOptions}getExtraLibs(){return this._extraLibs}addExtraLib(e,t){let i;if(typeof t>"u"?i=`ts:extralib-${Math.random().toString(36).substring(2,15)}`:i=t,this._extraLibs[i]&&this._extraLibs[i].content===e)return{dispose:()=>{}};let r=1;return this._removedExtraLibs[i]&&(r=this._removedExtraLibs[i]+1),this._extraLibs[i]&&(r=this._extraLibs[i].version+1),this._extraLibs[i]={content:e,version:r},this._fireOnDidExtraLibsChangeSoon(),{dispose:()=>{let p=this._extraLibs[i];p&&p.version===r&&(delete this._extraLibs[i],this._removedExtraLibs[i]=r,this._fireOnDidExtraLibsChangeSoon())}}}setExtraLibs(e){for(let t in this._extraLibs)this._removedExtraLibs[t]=this._extraLibs[t].version;if(this._extraLibs=Object.create(null),e&&e.length>0)for(let t of e){let i=t.filePath||`ts:extralib-${Math.random().toString(36).substring(2,15)}`,r=t.content,p=1;this._removedExtraLibs[i]&&(p=this._removedExtraLibs[i]+1),this._extraLibs[i]={content:r,version:p}}this._fireOnDidExtraLibsChangeSoon()}_fireOnDidExtraLibsChangeSoon(){this._onDidExtraLibsChangeTimeout===-1&&(this._onDidExtraLibsChangeTimeout=window.setTimeout(()=>{this._onDidExtraLibsChangeTimeout=-1,this._onDidExtraLibsChange.fire(void 0)},0))}getCompilerOptions(){return this._compilerOptions}setCompilerOptions(e){this._compilerOptions=e||Object.create(null),this._onDidChange.fire(void 0)}getDiagnosticsOptions(){return this._diagnosticsOptions}setDiagnosticsOptions(e){this._diagnosticsOptions=e||Object.create(null),this._onDidChange.fire(void 0)}setWorkerOptions(e){this._workerOptions=e||Object.create(null),this._onDidChange.fire(void 0)}setInlayHintsOptions(e){this._inlayHintsOptions=e||Object.create(null),this._onDidChange.fire(void 0)}setMaximumWorkerIdleTime(e){}setEagerModelSync(e){this._eagerModelSync=e}getEagerModelSync(){return this._eagerModelSync}setModeConfiguration(e){this._modeConfiguration=e||Object.create(null),this._onDidChange.fire(void 0)}},I=E,S={completionItems:!0,hovers:!0,documentSymbols:!0,definitions:!0,references:!0,documentHighlights:!0,rename:!0,diagnostics:!0,documentRangeFormattingEdits:!0,signatureHelp:!0,onTypeFormattingEdits:!0,codeActions:!0,inlayHints:!0},x=new d({allowNonTsExtensions:!0,target:99},{noSemanticValidation:!1,noSyntaxValidation:!1,onlyVisible:!1},{},{},S),D=new d({allowNonTsExtensions:!0,allowJs:!0,target:99},{noSemanticValidation:!0,noSyntaxValidation:!1,onlyVisible:!1},{},{},S),P=()=>u().then(n=>n.getTypeScriptWorker()),k=()=>u().then(n=>n.getJavaScriptWorker());l.languages.typescript={ModuleKind:b,JsxEmit:f,NewLineKind:y,ScriptTarget:h,ModuleResolutionKind:O,typescriptVersion:I,typescriptDefaults:x,javascriptDefaults:D,getTypeScriptWorker:P,getJavaScriptWorker:k};function u(){return new Promise((n,e)=>{c(["vs/language/typescript/tsMode"],n,e)})}l.languages.onLanguage("typescript",()=>u().then(n=>n.setupTypeScript(x)));l.languages.onLanguage("javascript",()=>u().then(n=>n.setupJavaScript(D)));return W(T);})(); +return moduleExports; +}); + +define("vs/editor/editor.main", ["vs/editor/edcore.main","vs/basic-languages/monaco.contribution","vs/language/css/monaco.contribution","vs/language/html/monaco.contribution","vs/language/json/monaco.contribution","vs/language/typescript/monaco.contribution"], function(api) { return api; }); +//# sourceMappingURL=../../../min-maps/vs/editor/editor.main.js.map \ No newline at end of file diff --git a/src/control/content/js/monaco-editor/min/vs/language/html/htmlMode.js b/src/control/content/js/monaco-editor/min/vs/language/html/htmlMode.js new file mode 100644 index 0000000..ec2b719 --- /dev/null +++ b/src/control/content/js/monaco-editor/min/vs/language/html/htmlMode.js @@ -0,0 +1,13 @@ +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Version: 0.52.0(f420968fc91d2d10d9d3e47dc52e2f2bda0778dd) + * Released under the MIT license + * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt + *-----------------------------------------------------------------------------*/ +define("vs/language/html/htmlMode", ["require","require"],(require)=>{ +"use strict";var moduleExports=(()=>{var _t=Object.create;var O=Object.defineProperty;var bt=Object.getOwnPropertyDescriptor;var Ct=Object.getOwnPropertyNames;var wt=Object.getPrototypeOf,Et=Object.prototype.hasOwnProperty;var Lt=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(n,i)=>(typeof require<"u"?require:n)[i]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var Rt=(e,n)=>()=>(n||e((n={exports:{}}).exports,n),n.exports),Pt=(e,n)=>{for(var i in n)O(e,i,{get:n[i],enumerable:!0})},N=(e,n,i,r)=>{if(n&&typeof n=="object"||typeof n=="function")for(let t of Ct(n))!Et.call(e,t)&&t!==i&&O(e,t,{get:()=>n[t],enumerable:!(r=bt(n,t))||r.enumerable});return e},he=(e,n,i)=>(N(e,n,"default"),i&&N(i,n,"default")),xe=(e,n,i)=>(i=e!=null?_t(wt(e)):{},N(n||!e||!e.__esModule?O(i,"default",{value:e,enumerable:!0}):i,e)),Wt=e=>N(O({},"__esModule",{value:!0}),e);var ye=Rt((Jt,ve)=>{var Dt=xe(Lt("vs/editor/editor.api"));ve.exports=Dt});var Qt={};Pt(Qt,{CompletionAdapter:()=>U,DefinitionAdapter:()=>ge,DiagnosticsAdapter:()=>le,DocumentColorAdapter:()=>pe,DocumentFormattingEditProvider:()=>A,DocumentHighlightAdapter:()=>W,DocumentLinkAdapter:()=>M,DocumentRangeFormattingEditProvider:()=>S,DocumentSymbolAdapter:()=>F,FoldingRangeAdapter:()=>H,HoverAdapter:()=>P,ReferenceAdapter:()=>fe,RenameAdapter:()=>D,SelectionRangeAdapter:()=>K,WorkerManager:()=>T,fromPosition:()=>I,fromRange:()=>me,setupMode:()=>qt,setupMode1:()=>Bt,toRange:()=>v,toTextEdit:()=>R});var d={};he(d,xe(ye()));var Ft=2*60*1e3,T=class{constructor(n){this._defaults=n,this._worker=null,this._client=null,this._idleCheckInterval=window.setInterval(()=>this._checkIfIdle(),30*1e3),this._lastUsedTime=0,this._configChangeListener=this._defaults.onDidChange(()=>this._stopWorker())}_stopWorker(){this._worker&&(this._worker.dispose(),this._worker=null),this._client=null}dispose(){clearInterval(this._idleCheckInterval),this._configChangeListener.dispose(),this._stopWorker()}_checkIfIdle(){if(!this._worker)return;Date.now()-this._lastUsedTime>Ft&&this._stopWorker()}_getClient(){return this._lastUsedTime=Date.now(),this._client||(this._worker=d.editor.createWebWorker({moduleId:"vs/language/html/htmlWorker",createData:{languageSettings:this._defaults.options,languageId:this._defaults.languageId},label:this._defaults.languageId}),this._client=this._worker.getProxy()),this._client}getLanguageServiceWorker(...n){let i;return this._getClient().then(r=>{i=r}).then(r=>{if(this._worker)return this._worker.withSyncedResources(n)}).then(r=>i)}};var ke;(function(e){function n(i){return typeof i=="string"}e.is=n})(ke||(ke={}));var J;(function(e){function n(i){return typeof i=="string"}e.is=n})(J||(J={}));var Ie;(function(e){e.MIN_VALUE=-2147483648,e.MAX_VALUE=2147483647;function n(i){return typeof i=="number"&&e.MIN_VALUE<=i&&i<=e.MAX_VALUE}e.is=n})(Ie||(Ie={}));var V;(function(e){e.MIN_VALUE=0,e.MAX_VALUE=2147483647;function n(i){return typeof i=="number"&&e.MIN_VALUE<=i&&i<=e.MAX_VALUE}e.is=n})(V||(V={}));var k;(function(e){function n(r,t){return r===Number.MAX_VALUE&&(r=V.MAX_VALUE),t===Number.MAX_VALUE&&(t=V.MAX_VALUE),{line:r,character:t}}e.create=n;function i(r){let t=r;return a.objectLiteral(t)&&a.uinteger(t.line)&&a.uinteger(t.character)}e.is=i})(k||(k={}));var m;(function(e){function n(r,t,o,s){if(a.uinteger(r)&&a.uinteger(t)&&a.uinteger(o)&&a.uinteger(s))return{start:k.create(r,t),end:k.create(o,s)};if(k.is(r)&&k.is(t))return{start:r,end:t};throw new Error(`Range#create called with invalid arguments[${r}, ${t}, ${o}, ${s}]`)}e.create=n;function i(r){let t=r;return a.objectLiteral(t)&&k.is(t.start)&&k.is(t.end)}e.is=i})(m||(m={}));var z;(function(e){function n(r,t){return{uri:r,range:t}}e.create=n;function i(r){let t=r;return a.objectLiteral(t)&&m.is(t.range)&&(a.string(t.uri)||a.undefined(t.uri))}e.is=i})(z||(z={}));var Te;(function(e){function n(r,t,o,s){return{targetUri:r,targetRange:t,targetSelectionRange:o,originSelectionRange:s}}e.create=n;function i(r){let t=r;return a.objectLiteral(t)&&m.is(t.targetRange)&&a.string(t.targetUri)&&m.is(t.targetSelectionRange)&&(m.is(t.originSelectionRange)||a.undefined(t.originSelectionRange))}e.is=i})(Te||(Te={}));var Y;(function(e){function n(r,t,o,s){return{red:r,green:t,blue:o,alpha:s}}e.create=n;function i(r){let t=r;return a.objectLiteral(t)&&a.numberRange(t.red,0,1)&&a.numberRange(t.green,0,1)&&a.numberRange(t.blue,0,1)&&a.numberRange(t.alpha,0,1)}e.is=i})(Y||(Y={}));var _e;(function(e){function n(r,t){return{range:r,color:t}}e.create=n;function i(r){let t=r;return a.objectLiteral(t)&&m.is(t.range)&&Y.is(t.color)}e.is=i})(_e||(_e={}));var be;(function(e){function n(r,t,o){return{label:r,textEdit:t,additionalTextEdits:o}}e.create=n;function i(r){let t=r;return a.objectLiteral(t)&&a.string(t.label)&&(a.undefined(t.textEdit)||w.is(t))&&(a.undefined(t.additionalTextEdits)||a.typedArray(t.additionalTextEdits,w.is))}e.is=i})(be||(be={}));var b;(function(e){e.Comment="comment",e.Imports="imports",e.Region="region"})(b||(b={}));var Ce;(function(e){function n(r,t,o,s,u,g){let f={startLine:r,endLine:t};return a.defined(o)&&(f.startCharacter=o),a.defined(s)&&(f.endCharacter=s),a.defined(u)&&(f.kind=u),a.defined(g)&&(f.collapsedText=g),f}e.create=n;function i(r){let t=r;return a.objectLiteral(t)&&a.uinteger(t.startLine)&&a.uinteger(t.startLine)&&(a.undefined(t.startCharacter)||a.uinteger(t.startCharacter))&&(a.undefined(t.endCharacter)||a.uinteger(t.endCharacter))&&(a.undefined(t.kind)||a.string(t.kind))}e.is=i})(Ce||(Ce={}));var Z;(function(e){function n(r,t){return{location:r,message:t}}e.create=n;function i(r){let t=r;return a.defined(t)&&z.is(t.location)&&a.string(t.message)}e.is=i})(Z||(Z={}));var _;(function(e){e.Error=1,e.Warning=2,e.Information=3,e.Hint=4})(_||(_={}));var we;(function(e){e.Unnecessary=1,e.Deprecated=2})(we||(we={}));var Ee;(function(e){function n(i){let r=i;return a.objectLiteral(r)&&a.string(r.href)}e.is=n})(Ee||(Ee={}));var X;(function(e){function n(r,t,o,s,u,g){let f={range:r,message:t};return a.defined(o)&&(f.severity=o),a.defined(s)&&(f.code=s),a.defined(u)&&(f.source=u),a.defined(g)&&(f.relatedInformation=g),f}e.create=n;function i(r){var t;let o=r;return a.defined(o)&&m.is(o.range)&&a.string(o.message)&&(a.number(o.severity)||a.undefined(o.severity))&&(a.integer(o.code)||a.string(o.code)||a.undefined(o.code))&&(a.undefined(o.codeDescription)||a.string((t=o.codeDescription)===null||t===void 0?void 0:t.href))&&(a.string(o.source)||a.undefined(o.source))&&(a.undefined(o.relatedInformation)||a.typedArray(o.relatedInformation,Z.is))}e.is=i})(X||(X={}));var C;(function(e){function n(r,t,...o){let s={title:r,command:t};return a.defined(o)&&o.length>0&&(s.arguments=o),s}e.create=n;function i(r){let t=r;return a.defined(t)&&a.string(t.title)&&a.string(t.command)}e.is=i})(C||(C={}));var w;(function(e){function n(o,s){return{range:o,newText:s}}e.replace=n;function i(o,s){return{range:{start:o,end:o},newText:s}}e.insert=i;function r(o){return{range:o,newText:""}}e.del=r;function t(o){let s=o;return a.objectLiteral(s)&&a.string(s.newText)&&m.is(s.range)}e.is=t})(w||(w={}));var ee;(function(e){function n(r,t,o){let s={label:r};return t!==void 0&&(s.needsConfirmation=t),o!==void 0&&(s.description=o),s}e.create=n;function i(r){let t=r;return a.objectLiteral(t)&&a.string(t.label)&&(a.boolean(t.needsConfirmation)||t.needsConfirmation===void 0)&&(a.string(t.description)||t.description===void 0)}e.is=i})(ee||(ee={}));var E;(function(e){function n(i){let r=i;return a.string(r)}e.is=n})(E||(E={}));var Le;(function(e){function n(o,s,u){return{range:o,newText:s,annotationId:u}}e.replace=n;function i(o,s,u){return{range:{start:o,end:o},newText:s,annotationId:u}}e.insert=i;function r(o,s){return{range:o,newText:"",annotationId:s}}e.del=r;function t(o){let s=o;return w.is(s)&&(ee.is(s.annotationId)||E.is(s.annotationId))}e.is=t})(Le||(Le={}));var te;(function(e){function n(r,t){return{textDocument:r,edits:t}}e.create=n;function i(r){let t=r;return a.defined(t)&&se.is(t.textDocument)&&Array.isArray(t.edits)}e.is=i})(te||(te={}));var ne;(function(e){function n(r,t,o){let s={kind:"create",uri:r};return t!==void 0&&(t.overwrite!==void 0||t.ignoreIfExists!==void 0)&&(s.options=t),o!==void 0&&(s.annotationId=o),s}e.create=n;function i(r){let t=r;return t&&t.kind==="create"&&a.string(t.uri)&&(t.options===void 0||(t.options.overwrite===void 0||a.boolean(t.options.overwrite))&&(t.options.ignoreIfExists===void 0||a.boolean(t.options.ignoreIfExists)))&&(t.annotationId===void 0||E.is(t.annotationId))}e.is=i})(ne||(ne={}));var re;(function(e){function n(r,t,o,s){let u={kind:"rename",oldUri:r,newUri:t};return o!==void 0&&(o.overwrite!==void 0||o.ignoreIfExists!==void 0)&&(u.options=o),s!==void 0&&(u.annotationId=s),u}e.create=n;function i(r){let t=r;return t&&t.kind==="rename"&&a.string(t.oldUri)&&a.string(t.newUri)&&(t.options===void 0||(t.options.overwrite===void 0||a.boolean(t.options.overwrite))&&(t.options.ignoreIfExists===void 0||a.boolean(t.options.ignoreIfExists)))&&(t.annotationId===void 0||E.is(t.annotationId))}e.is=i})(re||(re={}));var ie;(function(e){function n(r,t,o){let s={kind:"delete",uri:r};return t!==void 0&&(t.recursive!==void 0||t.ignoreIfNotExists!==void 0)&&(s.options=t),o!==void 0&&(s.annotationId=o),s}e.create=n;function i(r){let t=r;return t&&t.kind==="delete"&&a.string(t.uri)&&(t.options===void 0||(t.options.recursive===void 0||a.boolean(t.options.recursive))&&(t.options.ignoreIfNotExists===void 0||a.boolean(t.options.ignoreIfNotExists)))&&(t.annotationId===void 0||E.is(t.annotationId))}e.is=i})(ie||(ie={}));var oe;(function(e){function n(i){let r=i;return r&&(r.changes!==void 0||r.documentChanges!==void 0)&&(r.documentChanges===void 0||r.documentChanges.every(t=>a.string(t.kind)?ne.is(t)||re.is(t)||ie.is(t):te.is(t)))}e.is=n})(oe||(oe={}));var Re;(function(e){function n(r){return{uri:r}}e.create=n;function i(r){let t=r;return a.defined(t)&&a.string(t.uri)}e.is=i})(Re||(Re={}));var Pe;(function(e){function n(r,t){return{uri:r,version:t}}e.create=n;function i(r){let t=r;return a.defined(t)&&a.string(t.uri)&&a.integer(t.version)}e.is=i})(Pe||(Pe={}));var se;(function(e){function n(r,t){return{uri:r,version:t}}e.create=n;function i(r){let t=r;return a.defined(t)&&a.string(t.uri)&&(t.version===null||a.integer(t.version))}e.is=i})(se||(se={}));var We;(function(e){function n(r,t,o,s){return{uri:r,languageId:t,version:o,text:s}}e.create=n;function i(r){let t=r;return a.defined(t)&&a.string(t.uri)&&a.string(t.languageId)&&a.integer(t.version)&&a.string(t.text)}e.is=i})(We||(We={}));var ae;(function(e){e.PlainText="plaintext",e.Markdown="markdown";function n(i){let r=i;return r===e.PlainText||r===e.Markdown}e.is=n})(ae||(ae={}));var j;(function(e){function n(i){let r=i;return a.objectLiteral(i)&&ae.is(r.kind)&&a.string(r.value)}e.is=n})(j||(j={}));var h;(function(e){e.Text=1,e.Method=2,e.Function=3,e.Constructor=4,e.Field=5,e.Variable=6,e.Class=7,e.Interface=8,e.Module=9,e.Property=10,e.Unit=11,e.Value=12,e.Enum=13,e.Keyword=14,e.Snippet=15,e.Color=16,e.File=17,e.Reference=18,e.Folder=19,e.EnumMember=20,e.Constant=21,e.Struct=22,e.Event=23,e.Operator=24,e.TypeParameter=25})(h||(h={}));var $;(function(e){e.PlainText=1,e.Snippet=2})($||($={}));var De;(function(e){e.Deprecated=1})(De||(De={}));var Fe;(function(e){function n(r,t,o){return{newText:r,insert:t,replace:o}}e.create=n;function i(r){let t=r;return t&&a.string(t.newText)&&m.is(t.insert)&&m.is(t.replace)}e.is=i})(Fe||(Fe={}));var Me;(function(e){e.asIs=1,e.adjustIndentation=2})(Me||(Me={}));var Ae;(function(e){function n(i){let r=i;return r&&(a.string(r.detail)||r.detail===void 0)&&(a.string(r.description)||r.description===void 0)}e.is=n})(Ae||(Ae={}));var Se;(function(e){function n(i){return{label:i}}e.create=n})(Se||(Se={}));var He;(function(e){function n(i,r){return{items:i||[],isIncomplete:!!r}}e.create=n})(He||(He={}));var B;(function(e){function n(r){return r.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}e.fromPlainText=n;function i(r){let t=r;return a.string(t)||a.objectLiteral(t)&&a.string(t.language)&&a.string(t.value)}e.is=i})(B||(B={}));var Ke;(function(e){function n(i){let r=i;return!!r&&a.objectLiteral(r)&&(j.is(r.contents)||B.is(r.contents)||a.typedArray(r.contents,B.is))&&(i.range===void 0||m.is(i.range))}e.is=n})(Ke||(Ke={}));var je;(function(e){function n(i,r){return r?{label:i,documentation:r}:{label:i}}e.create=n})(je||(je={}));var Ue;(function(e){function n(i,r,...t){let o={label:i};return a.defined(r)&&(o.documentation=r),a.defined(t)?o.parameters=t:o.parameters=[],o}e.create=n})(Ue||(Ue={}));var L;(function(e){e.Text=1,e.Read=2,e.Write=3})(L||(L={}));var Ne;(function(e){function n(i,r){let t={range:i};return a.number(r)&&(t.kind=r),t}e.create=n})(Ne||(Ne={}));var x;(function(e){e.File=1,e.Module=2,e.Namespace=3,e.Package=4,e.Class=5,e.Method=6,e.Property=7,e.Field=8,e.Constructor=9,e.Enum=10,e.Interface=11,e.Function=12,e.Variable=13,e.Constant=14,e.String=15,e.Number=16,e.Boolean=17,e.Array=18,e.Object=19,e.Key=20,e.Null=21,e.EnumMember=22,e.Struct=23,e.Event=24,e.Operator=25,e.TypeParameter=26})(x||(x={}));var Oe;(function(e){e.Deprecated=1})(Oe||(Oe={}));var Ve;(function(e){function n(i,r,t,o,s){let u={name:i,kind:r,location:{uri:o,range:t}};return s&&(u.containerName=s),u}e.create=n})(Ve||(Ve={}));var ze;(function(e){function n(i,r,t,o){return o!==void 0?{name:i,kind:r,location:{uri:t,range:o}}:{name:i,kind:r,location:{uri:t}}}e.create=n})(ze||(ze={}));var Xe;(function(e){function n(r,t,o,s,u,g){let f={name:r,detail:t,kind:o,range:s,selectionRange:u};return g!==void 0&&(f.children=g),f}e.create=n;function i(r){let t=r;return t&&a.string(t.name)&&a.number(t.kind)&&m.is(t.range)&&m.is(t.selectionRange)&&(t.detail===void 0||a.string(t.detail))&&(t.deprecated===void 0||a.boolean(t.deprecated))&&(t.children===void 0||Array.isArray(t.children))&&(t.tags===void 0||Array.isArray(t.tags))}e.is=i})(Xe||(Xe={}));var $e;(function(e){e.Empty="",e.QuickFix="quickfix",e.Refactor="refactor",e.RefactorExtract="refactor.extract",e.RefactorInline="refactor.inline",e.RefactorRewrite="refactor.rewrite",e.Source="source",e.SourceOrganizeImports="source.organizeImports",e.SourceFixAll="source.fixAll"})($e||($e={}));var q;(function(e){e.Invoked=1,e.Automatic=2})(q||(q={}));var Be;(function(e){function n(r,t,o){let s={diagnostics:r};return t!=null&&(s.only=t),o!=null&&(s.triggerKind=o),s}e.create=n;function i(r){let t=r;return a.defined(t)&&a.typedArray(t.diagnostics,X.is)&&(t.only===void 0||a.typedArray(t.only,a.string))&&(t.triggerKind===void 0||t.triggerKind===q.Invoked||t.triggerKind===q.Automatic)}e.is=i})(Be||(Be={}));var qe;(function(e){function n(r,t,o){let s={title:r},u=!0;return typeof t=="string"?(u=!1,s.kind=t):C.is(t)?s.command=t:s.edit=t,u&&o!==void 0&&(s.kind=o),s}e.create=n;function i(r){let t=r;return t&&a.string(t.title)&&(t.diagnostics===void 0||a.typedArray(t.diagnostics,X.is))&&(t.kind===void 0||a.string(t.kind))&&(t.edit!==void 0||t.command!==void 0)&&(t.command===void 0||C.is(t.command))&&(t.isPreferred===void 0||a.boolean(t.isPreferred))&&(t.edit===void 0||oe.is(t.edit))}e.is=i})(qe||(qe={}));var Qe;(function(e){function n(r,t){let o={range:r};return a.defined(t)&&(o.data=t),o}e.create=n;function i(r){let t=r;return a.defined(t)&&m.is(t.range)&&(a.undefined(t.command)||C.is(t.command))}e.is=i})(Qe||(Qe={}));var Ge;(function(e){function n(r,t){return{tabSize:r,insertSpaces:t}}e.create=n;function i(r){let t=r;return a.defined(t)&&a.uinteger(t.tabSize)&&a.boolean(t.insertSpaces)}e.is=i})(Ge||(Ge={}));var Je;(function(e){function n(r,t,o){return{range:r,target:t,data:o}}e.create=n;function i(r){let t=r;return a.defined(t)&&m.is(t.range)&&(a.undefined(t.target)||a.string(t.target))}e.is=i})(Je||(Je={}));var Ye;(function(e){function n(r,t){return{range:r,parent:t}}e.create=n;function i(r){let t=r;return a.objectLiteral(t)&&m.is(t.range)&&(t.parent===void 0||e.is(t.parent))}e.is=i})(Ye||(Ye={}));var Ze;(function(e){e.namespace="namespace",e.type="type",e.class="class",e.enum="enum",e.interface="interface",e.struct="struct",e.typeParameter="typeParameter",e.parameter="parameter",e.variable="variable",e.property="property",e.enumMember="enumMember",e.event="event",e.function="function",e.method="method",e.macro="macro",e.keyword="keyword",e.modifier="modifier",e.comment="comment",e.string="string",e.number="number",e.regexp="regexp",e.operator="operator",e.decorator="decorator"})(Ze||(Ze={}));var et;(function(e){e.declaration="declaration",e.definition="definition",e.readonly="readonly",e.static="static",e.deprecated="deprecated",e.abstract="abstract",e.async="async",e.modification="modification",e.documentation="documentation",e.defaultLibrary="defaultLibrary"})(et||(et={}));var tt;(function(e){function n(i){let r=i;return a.objectLiteral(r)&&(r.resultId===void 0||typeof r.resultId=="string")&&Array.isArray(r.data)&&(r.data.length===0||typeof r.data[0]=="number")}e.is=n})(tt||(tt={}));var nt;(function(e){function n(r,t){return{range:r,text:t}}e.create=n;function i(r){let t=r;return t!=null&&m.is(t.range)&&a.string(t.text)}e.is=i})(nt||(nt={}));var rt;(function(e){function n(r,t,o){return{range:r,variableName:t,caseSensitiveLookup:o}}e.create=n;function i(r){let t=r;return t!=null&&m.is(t.range)&&a.boolean(t.caseSensitiveLookup)&&(a.string(t.variableName)||t.variableName===void 0)}e.is=i})(rt||(rt={}));var it;(function(e){function n(r,t){return{range:r,expression:t}}e.create=n;function i(r){let t=r;return t!=null&&m.is(t.range)&&(a.string(t.expression)||t.expression===void 0)}e.is=i})(it||(it={}));var ot;(function(e){function n(r,t){return{frameId:r,stoppedLocation:t}}e.create=n;function i(r){let t=r;return a.defined(t)&&m.is(r.stoppedLocation)}e.is=i})(ot||(ot={}));var ue;(function(e){e.Type=1,e.Parameter=2;function n(i){return i===1||i===2}e.is=n})(ue||(ue={}));var de;(function(e){function n(r){return{value:r}}e.create=n;function i(r){let t=r;return a.objectLiteral(t)&&(t.tooltip===void 0||a.string(t.tooltip)||j.is(t.tooltip))&&(t.location===void 0||z.is(t.location))&&(t.command===void 0||C.is(t.command))}e.is=i})(de||(de={}));var st;(function(e){function n(r,t,o){let s={position:r,label:t};return o!==void 0&&(s.kind=o),s}e.create=n;function i(r){let t=r;return a.objectLiteral(t)&&k.is(t.position)&&(a.string(t.label)||a.typedArray(t.label,de.is))&&(t.kind===void 0||ue.is(t.kind))&&t.textEdits===void 0||a.typedArray(t.textEdits,w.is)&&(t.tooltip===void 0||a.string(t.tooltip)||j.is(t.tooltip))&&(t.paddingLeft===void 0||a.boolean(t.paddingLeft))&&(t.paddingRight===void 0||a.boolean(t.paddingRight))}e.is=i})(st||(st={}));var at;(function(e){function n(i){return{kind:"snippet",value:i}}e.createSnippet=n})(at||(at={}));var ut;(function(e){function n(i,r,t,o){return{insertText:i,filterText:r,range:t,command:o}}e.create=n})(ut||(ut={}));var dt;(function(e){function n(i){return{items:i}}e.create=n})(dt||(dt={}));var ct;(function(e){e.Invoked=0,e.Automatic=1})(ct||(ct={}));var lt;(function(e){function n(i,r){return{range:i,text:r}}e.create=n})(lt||(lt={}));var gt;(function(e){function n(i,r){return{triggerKind:i,selectedCompletionInfo:r}}e.create=n})(gt||(gt={}));var ft;(function(e){function n(i){let r=i;return a.objectLiteral(r)&&J.is(r.uri)&&a.string(r.name)}e.is=n})(ft||(ft={}));var pt;(function(e){function n(o,s,u,g){return new ce(o,s,u,g)}e.create=n;function i(o){let s=o;return!!(a.defined(s)&&a.string(s.uri)&&(a.undefined(s.languageId)||a.string(s.languageId))&&a.uinteger(s.lineCount)&&a.func(s.getText)&&a.func(s.positionAt)&&a.func(s.offsetAt))}e.is=i;function r(o,s){let u=o.getText(),g=t(s,(l,p)=>{let y=l.range.start.line-p.range.start.line;return y===0?l.range.start.character-p.range.start.character:y}),f=u.length;for(let l=g.length-1;l>=0;l--){let p=g[l],y=o.offsetAt(p.range.start),c=o.offsetAt(p.range.end);if(c<=f)u=u.substring(0,y)+p.newText+u.substring(c,u.length);else throw new Error("Overlapping edit");f=y}return u}e.applyEdits=r;function t(o,s){if(o.length<=1)return o;let u=o.length/2|0,g=o.slice(0,u),f=o.slice(u);t(g,s),t(f,s);let l=0,p=0,y=0;for(;l0&&n.push(i.length),this._lineOffsets=n}return this._lineOffsets}positionAt(n){n=Math.max(Math.min(n,this._content.length),0);let i=this.getLineOffsets(),r=0,t=i.length;if(t===0)return k.create(0,n);for(;rn?t=s:r=s+1}let o=r-1;return k.create(o,n-i[o])}offsetAt(n){let i=this.getLineOffsets();if(n.line>=i.length)return this._content.length;if(n.line<0)return 0;let r=i[n.line],t=n.line+1"u"}e.undefined=r;function t(c){return c===!0||c===!1}e.boolean=t;function o(c){return n.call(c)==="[object String]"}e.string=o;function s(c){return n.call(c)==="[object Number]"}e.number=s;function u(c,G,Tt){return n.call(c)==="[object Number]"&&G<=c&&c<=Tt}e.numberRange=u;function g(c){return n.call(c)==="[object Number]"&&-2147483648<=c&&c<=2147483647}e.integer=g;function f(c){return n.call(c)==="[object Number]"&&0<=c&&c<=2147483647}e.uinteger=f;function l(c){return n.call(c)==="[object Function]"}e.func=l;function p(c){return c!==null&&typeof c=="object"}e.objectLiteral=p;function y(c,G){return Array.isArray(c)&&c.every(G)}e.typedArray=y})(a||(a={}));var le=class{constructor(n,i,r){this._languageId=n;this._worker=i;this._disposables=[];this._listener=Object.create(null);let t=s=>{let u=s.getLanguageId();if(u!==this._languageId)return;let g;this._listener[s.uri.toString()]=s.onDidChangeContent(()=>{window.clearTimeout(g),g=window.setTimeout(()=>this._doValidate(s.uri,u),500)}),this._doValidate(s.uri,u)},o=s=>{d.editor.setModelMarkers(s,this._languageId,[]);let u=s.uri.toString(),g=this._listener[u];g&&(g.dispose(),delete this._listener[u])};this._disposables.push(d.editor.onDidCreateModel(t)),this._disposables.push(d.editor.onWillDisposeModel(o)),this._disposables.push(d.editor.onDidChangeModelLanguage(s=>{o(s.model),t(s.model)})),this._disposables.push(r(s=>{d.editor.getModels().forEach(u=>{u.getLanguageId()===this._languageId&&(o(u),t(u))})})),this._disposables.push({dispose:()=>{d.editor.getModels().forEach(o);for(let s in this._listener)this._listener[s].dispose()}}),d.editor.getModels().forEach(t)}dispose(){this._disposables.forEach(n=>n&&n.dispose()),this._disposables.length=0}_doValidate(n,i){this._worker(n).then(r=>r.doValidation(n.toString())).then(r=>{let t=r.map(s=>St(n,s)),o=d.editor.getModel(n);o&&o.getLanguageId()===i&&d.editor.setModelMarkers(o,i,t)}).then(void 0,r=>{console.error(r)})}};function At(e){switch(e){case _.Error:return d.MarkerSeverity.Error;case _.Warning:return d.MarkerSeverity.Warning;case _.Information:return d.MarkerSeverity.Info;case _.Hint:return d.MarkerSeverity.Hint;default:return d.MarkerSeverity.Info}}function St(e,n){let i=typeof n.code=="number"?String(n.code):n.code;return{severity:At(n.severity),startLineNumber:n.range.start.line+1,startColumn:n.range.start.character+1,endLineNumber:n.range.end.line+1,endColumn:n.range.end.character+1,message:n.message,code:i,source:n.source}}var U=class{constructor(n,i){this._worker=n;this._triggerCharacters=i}get triggerCharacters(){return this._triggerCharacters}provideCompletionItems(n,i,r,t){let o=n.uri;return this._worker(o).then(s=>s.doComplete(o.toString(),I(i))).then(s=>{if(!s)return;let u=n.getWordUntilPosition(i),g=new d.Range(i.lineNumber,u.startColumn,i.lineNumber,u.endColumn),f=s.items.map(l=>{let p={label:l.label,insertText:l.insertText||l.label,sortText:l.sortText,filterText:l.filterText,documentation:l.documentation,detail:l.detail,command:jt(l.command),range:g,kind:Kt(l.kind)};return l.textEdit&&(Ht(l.textEdit)?p.range={insert:v(l.textEdit.insert),replace:v(l.textEdit.replace)}:p.range=v(l.textEdit.range),p.insertText=l.textEdit.newText),l.additionalTextEdits&&(p.additionalTextEdits=l.additionalTextEdits.map(R)),l.insertTextFormat===$.Snippet&&(p.insertTextRules=d.languages.CompletionItemInsertTextRule.InsertAsSnippet),p});return{isIncomplete:s.isIncomplete,suggestions:f}})}};function I(e){if(e)return{character:e.column-1,line:e.lineNumber-1}}function me(e){if(e)return{start:{line:e.startLineNumber-1,character:e.startColumn-1},end:{line:e.endLineNumber-1,character:e.endColumn-1}}}function v(e){if(e)return new d.Range(e.start.line+1,e.start.character+1,e.end.line+1,e.end.character+1)}function Ht(e){return typeof e.insert<"u"&&typeof e.replace<"u"}function Kt(e){let n=d.languages.CompletionItemKind;switch(e){case h.Text:return n.Text;case h.Method:return n.Method;case h.Function:return n.Function;case h.Constructor:return n.Constructor;case h.Field:return n.Field;case h.Variable:return n.Variable;case h.Class:return n.Class;case h.Interface:return n.Interface;case h.Module:return n.Module;case h.Property:return n.Property;case h.Unit:return n.Unit;case h.Value:return n.Value;case h.Enum:return n.Enum;case h.Keyword:return n.Keyword;case h.Snippet:return n.Snippet;case h.Color:return n.Color;case h.File:return n.File;case h.Reference:return n.Reference}return n.Property}function R(e){if(e)return{range:v(e.range),text:e.newText}}function jt(e){return e&&e.command==="editor.action.triggerSuggest"?{id:e.command,title:e.title,arguments:e.arguments}:void 0}var P=class{constructor(n){this._worker=n}provideHover(n,i,r){let t=n.uri;return this._worker(t).then(o=>o.doHover(t.toString(),I(i))).then(o=>{if(o)return{range:v(o.range),contents:Nt(o.contents)}})}};function Ut(e){return e&&typeof e=="object"&&typeof e.kind=="string"}function mt(e){return typeof e=="string"?{value:e}:Ut(e)?e.kind==="plaintext"?{value:e.value.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}:{value:e.value}:{value:"```"+e.language+` +`+e.value+"\n```\n"}}function Nt(e){if(e)return Array.isArray(e)?e.map(mt):[mt(e)]}var W=class{constructor(n){this._worker=n}provideDocumentHighlights(n,i,r){let t=n.uri;return this._worker(t).then(o=>o.findDocumentHighlights(t.toString(),I(i))).then(o=>{if(o)return o.map(s=>({range:v(s.range),kind:Ot(s.kind)}))})}};function Ot(e){switch(e){case L.Read:return d.languages.DocumentHighlightKind.Read;case L.Write:return d.languages.DocumentHighlightKind.Write;case L.Text:return d.languages.DocumentHighlightKind.Text}return d.languages.DocumentHighlightKind.Text}var ge=class{constructor(n){this._worker=n}provideDefinition(n,i,r){let t=n.uri;return this._worker(t).then(o=>o.findDefinition(t.toString(),I(i))).then(o=>{if(o)return[ht(o)]})}};function ht(e){return{uri:d.Uri.parse(e.uri),range:v(e.range)}}var fe=class{constructor(n){this._worker=n}provideReferences(n,i,r,t){let o=n.uri;return this._worker(o).then(s=>s.findReferences(o.toString(),I(i))).then(s=>{if(s)return s.map(ht)})}},D=class{constructor(n){this._worker=n}provideRenameEdits(n,i,r,t){let o=n.uri;return this._worker(o).then(s=>s.doRename(o.toString(),I(i),r)).then(s=>Vt(s))}};function Vt(e){if(!e||!e.changes)return;let n=[];for(let i in e.changes){let r=d.Uri.parse(i);for(let t of e.changes[i])n.push({resource:r,versionId:void 0,textEdit:{range:v(t.range),text:t.newText}})}return{edits:n}}var F=class{constructor(n){this._worker=n}provideDocumentSymbols(n,i){let r=n.uri;return this._worker(r).then(t=>t.findDocumentSymbols(r.toString())).then(t=>{if(t)return t.map(o=>zt(o)?xt(o):{name:o.name,detail:"",containerName:o.containerName,kind:vt(o.kind),range:v(o.location.range),selectionRange:v(o.location.range),tags:[]})})}};function zt(e){return"children"in e}function xt(e){return{name:e.name,detail:e.detail??"",kind:vt(e.kind),range:v(e.range),selectionRange:v(e.selectionRange),tags:e.tags??[],children:(e.children??[]).map(n=>xt(n))}}function vt(e){let n=d.languages.SymbolKind;switch(e){case x.File:return n.File;case x.Module:return n.Module;case x.Namespace:return n.Namespace;case x.Package:return n.Package;case x.Class:return n.Class;case x.Method:return n.Method;case x.Property:return n.Property;case x.Field:return n.Field;case x.Constructor:return n.Constructor;case x.Enum:return n.Enum;case x.Interface:return n.Interface;case x.Function:return n.Function;case x.Variable:return n.Variable;case x.Constant:return n.Constant;case x.String:return n.String;case x.Number:return n.Number;case x.Boolean:return n.Boolean;case x.Array:return n.Array}return n.Function}var M=class{constructor(n){this._worker=n}provideLinks(n,i){let r=n.uri;return this._worker(r).then(t=>t.findDocumentLinks(r.toString())).then(t=>{if(t)return{links:t.map(o=>({range:v(o.range),url:o.target}))}})}},A=class{constructor(n){this._worker=n}provideDocumentFormattingEdits(n,i,r){let t=n.uri;return this._worker(t).then(o=>o.format(t.toString(),null,yt(i)).then(s=>{if(!(!s||s.length===0))return s.map(R)}))}},S=class{constructor(n){this._worker=n;this.canFormatMultipleRanges=!1}provideDocumentRangeFormattingEdits(n,i,r,t){let o=n.uri;return this._worker(o).then(s=>s.format(o.toString(),me(i),yt(r)).then(u=>{if(!(!u||u.length===0))return u.map(R)}))}};function yt(e){return{tabSize:e.tabSize,insertSpaces:e.insertSpaces}}var pe=class{constructor(n){this._worker=n}provideDocumentColors(n,i){let r=n.uri;return this._worker(r).then(t=>t.findDocumentColors(r.toString())).then(t=>{if(t)return t.map(o=>({color:o.color,range:v(o.range)}))})}provideColorPresentations(n,i,r){let t=n.uri;return this._worker(t).then(o=>o.getColorPresentations(t.toString(),i.color,me(i.range))).then(o=>{if(o)return o.map(s=>{let u={label:s.label};return s.textEdit&&(u.textEdit=R(s.textEdit)),s.additionalTextEdits&&(u.additionalTextEdits=s.additionalTextEdits.map(R)),u})})}},H=class{constructor(n){this._worker=n}provideFoldingRanges(n,i,r){let t=n.uri;return this._worker(t).then(o=>o.getFoldingRanges(t.toString(),i)).then(o=>{if(o)return o.map(s=>{let u={start:s.startLine+1,end:s.endLine+1};return typeof s.kind<"u"&&(u.kind=Xt(s.kind)),u})})}};function Xt(e){switch(e){case b.Comment:return d.languages.FoldingRangeKind.Comment;case b.Imports:return d.languages.FoldingRangeKind.Imports;case b.Region:return d.languages.FoldingRangeKind.Region}}var K=class{constructor(n){this._worker=n}provideSelectionRanges(n,i,r){let t=n.uri;return this._worker(t).then(o=>o.getSelectionRanges(t.toString(),i.map(I))).then(o=>{if(o)return o.map(s=>{let u=[];for(;s;)u.push({range:v(s.range)}),s=s.parent;return u})})}};var Q=class extends U{constructor(n){super(n,[".",":","<",'"',"=","/"])}};function Bt(e){let n=new T(e),i=(...t)=>n.getLanguageServiceWorker(...t),r=e.languageId;d.languages.registerCompletionItemProvider(r,new Q(i)),d.languages.registerHoverProvider(r,new P(i)),d.languages.registerDocumentHighlightProvider(r,new W(i)),d.languages.registerLinkProvider(r,new M(i)),d.languages.registerFoldingRangeProvider(r,new H(i)),d.languages.registerDocumentSymbolProvider(r,new F(i)),d.languages.registerSelectionRangeProvider(r,new K(i)),d.languages.registerRenameProvider(r,new D(i)),r==="html"&&(d.languages.registerDocumentFormattingEditProvider(r,new A(i)),d.languages.registerDocumentRangeFormattingEditProvider(r,new S(i)))}function qt(e){let n=[],i=[],r=new T(e);n.push(r);let t=(...s)=>r.getLanguageServiceWorker(...s);function o(){let{languageId:s,modeConfiguration:u}=e;It(i),u.completionItems&&i.push(d.languages.registerCompletionItemProvider(s,new Q(t))),u.hovers&&i.push(d.languages.registerHoverProvider(s,new P(t))),u.documentHighlights&&i.push(d.languages.registerDocumentHighlightProvider(s,new W(t))),u.links&&i.push(d.languages.registerLinkProvider(s,new M(t))),u.documentSymbols&&i.push(d.languages.registerDocumentSymbolProvider(s,new F(t))),u.rename&&i.push(d.languages.registerRenameProvider(s,new D(t))),u.foldingRanges&&i.push(d.languages.registerFoldingRangeProvider(s,new H(t))),u.selectionRanges&&i.push(d.languages.registerSelectionRangeProvider(s,new K(t))),u.documentFormattingEdits&&i.push(d.languages.registerDocumentFormattingEditProvider(s,new A(t))),u.documentRangeFormattingEdits&&i.push(d.languages.registerDocumentRangeFormattingEditProvider(s,new S(t)))}return o(),n.push(kt(i)),kt(n)}function kt(e){return{dispose:()=>It(e)}}function It(e){for(;e.length;)e.pop().dispose()}return Wt(Qt);})(); +return moduleExports; +}); diff --git a/src/control/content/js/monaco-editor/min/vs/language/html/htmlWorker.js b/src/control/content/js/monaco-editor/min/vs/language/html/htmlWorker.js new file mode 100644 index 0000000..9ab57ec --- /dev/null +++ b/src/control/content/js/monaco-editor/min/vs/language/html/htmlWorker.js @@ -0,0 +1,454 @@ +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Version: 0.52.0(f420968fc91d2d10d9d3e47dc52e2f2bda0778dd) + * Released under the MIT license + * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt + *-----------------------------------------------------------------------------*/ +define("vs/language/html/htmlWorker", ["require","require"],(require)=>{ +"use strict";var moduleExports=(()=>{var Fe=Object.defineProperty;var Rn=Object.getOwnPropertyDescriptor;var zn=Object.getOwnPropertyNames;var Hn=Object.prototype.hasOwnProperty;var In=(t,n)=>{for(var o in n)Fe(t,o,{get:n[o],enumerable:!0})},Wn=(t,n,o,a)=>{if(n&&typeof n=="object"||typeof n=="function")for(let e of zn(n))!Hn.call(t,e)&&e!==o&&Fe(t,e,{get:()=>n[e],enumerable:!(a=Rn(n,e))||a.enumerable});return t};var Un=t=>Wn(Fe({},"__esModule",{value:!0}),t);var Ei={};In(Ei,{HTMLWorker:()=>Ne,create:()=>Di});var On;function J(...t){let n=t[0],o,a,e;if(typeof n=="string")o=n,a=n,t.splice(0,1),e=!t||typeof t[0]!="object"?t:t[0];else if(n instanceof Array){let u=t.slice(1);if(n.length!==u.length+1)throw new Error("expected a string as the first argument to l10n.t");let c=n[0];for(let i=1;i0&&(o+=`/${Array.isArray(n.comment)?n.comment.join(""):n.comment}`),e=n.args??{};let r=On?.[o];return r?typeof r=="string"?Te(r,e):r.comment?Te(r.message,e):Te(a,e):Te(a,e)}var Bn=/{([^}]+)}/g;function Te(t,n){return Object.keys(n).length===0?t:t.replace(Bn,(o,a)=>n[a]??o)}var qe;(function(t){function n(o){return typeof o=="string"}t.is=n})(qe||(qe={}));var je;(function(t){function n(o){return typeof o=="string"}t.is=n})(je||(je={}));var kt;(function(t){t.MIN_VALUE=-2147483648,t.MAX_VALUE=2147483647;function n(o){return typeof o=="number"&&t.MIN_VALUE<=o&&o<=t.MAX_VALUE}t.is=n})(kt||(kt={}));var ke;(function(t){t.MIN_VALUE=0,t.MAX_VALUE=2147483647;function n(o){return typeof o=="number"&&t.MIN_VALUE<=o&&o<=t.MAX_VALUE}t.is=n})(ke||(ke={}));var q;(function(t){function n(a,e){return a===Number.MAX_VALUE&&(a=ke.MAX_VALUE),e===Number.MAX_VALUE&&(e=ke.MAX_VALUE),{line:a,character:e}}t.create=n;function o(a){let e=a;return w.objectLiteral(e)&&w.uinteger(e.line)&&w.uinteger(e.character)}t.is=o})(q||(q={}));var W;(function(t){function n(a,e,r,u){if(w.uinteger(a)&&w.uinteger(e)&&w.uinteger(r)&&w.uinteger(u))return{start:q.create(a,e),end:q.create(r,u)};if(q.is(a)&&q.is(e))return{start:a,end:e};throw new Error(`Range#create called with invalid arguments[${a}, ${e}, ${r}, ${u}]`)}t.create=n;function o(a){let e=a;return w.objectLiteral(e)&&q.is(e.start)&&q.is(e.end)}t.is=o})(W||(W={}));var me;(function(t){function n(a,e){return{uri:a,range:e}}t.create=n;function o(a){let e=a;return w.objectLiteral(e)&&W.is(e.range)&&(w.string(e.uri)||w.undefined(e.uri))}t.is=o})(me||(me={}));var St;(function(t){function n(a,e,r,u){return{targetUri:a,targetRange:e,targetSelectionRange:r,originSelectionRange:u}}t.create=n;function o(a){let e=a;return w.objectLiteral(e)&&W.is(e.targetRange)&&w.string(e.targetUri)&&W.is(e.targetSelectionRange)&&(W.is(e.originSelectionRange)||w.undefined(e.originSelectionRange))}t.is=o})(St||(St={}));var Se;(function(t){function n(a,e,r,u){return{red:a,green:e,blue:r,alpha:u}}t.create=n;function o(a){let e=a;return w.objectLiteral(e)&&w.numberRange(e.red,0,1)&&w.numberRange(e.green,0,1)&&w.numberRange(e.blue,0,1)&&w.numberRange(e.alpha,0,1)}t.is=o})(Se||(Se={}));var Ge;(function(t){function n(a,e){return{range:a,color:e}}t.create=n;function o(a){let e=a;return w.objectLiteral(e)&&W.is(e.range)&&Se.is(e.color)}t.is=o})(Ge||(Ge={}));var Ve;(function(t){function n(a,e,r){return{label:a,textEdit:e,additionalTextEdits:r}}t.create=n;function o(a){let e=a;return w.objectLiteral(e)&&w.string(e.label)&&(w.undefined(e.textEdit)||G.is(e))&&(w.undefined(e.additionalTextEdits)||w.typedArray(e.additionalTextEdits,G.is))}t.is=o})(Ve||(Ve={}));var oe;(function(t){t.Comment="comment",t.Imports="imports",t.Region="region"})(oe||(oe={}));var $e;(function(t){function n(a,e,r,u,c,i){let s={startLine:a,endLine:e};return w.defined(r)&&(s.startCharacter=r),w.defined(u)&&(s.endCharacter=u),w.defined(c)&&(s.kind=c),w.defined(i)&&(s.collapsedText=i),s}t.create=n;function o(a){let e=a;return w.objectLiteral(e)&&w.uinteger(e.startLine)&&w.uinteger(e.startLine)&&(w.undefined(e.startCharacter)||w.uinteger(e.startCharacter))&&(w.undefined(e.endCharacter)||w.uinteger(e.endCharacter))&&(w.undefined(e.kind)||w.string(e.kind))}t.is=o})($e||($e={}));var Je;(function(t){function n(a,e){return{location:a,message:e}}t.create=n;function o(a){let e=a;return w.defined(e)&&me.is(e.location)&&w.string(e.message)}t.is=o})(Je||(Je={}));var At;(function(t){t.Error=1,t.Warning=2,t.Information=3,t.Hint=4})(At||(At={}));var xt;(function(t){t.Unnecessary=1,t.Deprecated=2})(xt||(xt={}));var Dt;(function(t){function n(o){let a=o;return w.objectLiteral(a)&&w.string(a.href)}t.is=n})(Dt||(Dt={}));var fe;(function(t){function n(a,e,r,u,c,i){let s={range:a,message:e};return w.defined(r)&&(s.severity=r),w.defined(u)&&(s.code=u),w.defined(c)&&(s.source=c),w.defined(i)&&(s.relatedInformation=i),s}t.create=n;function o(a){var e;let r=a;return w.defined(r)&&W.is(r.range)&&w.string(r.message)&&(w.number(r.severity)||w.undefined(r.severity))&&(w.integer(r.code)||w.string(r.code)||w.undefined(r.code))&&(w.undefined(r.codeDescription)||w.string((e=r.codeDescription)===null||e===void 0?void 0:e.href))&&(w.string(r.source)||w.undefined(r.source))&&(w.undefined(r.relatedInformation)||w.typedArray(r.relatedInformation,Je.is))}t.is=o})(fe||(fe={}));var ne;(function(t){function n(a,e,...r){let u={title:a,command:e};return w.defined(r)&&r.length>0&&(u.arguments=r),u}t.create=n;function o(a){let e=a;return w.defined(e)&&w.string(e.title)&&w.string(e.command)}t.is=o})(ne||(ne={}));var G;(function(t){function n(r,u){return{range:r,newText:u}}t.replace=n;function o(r,u){return{range:{start:r,end:r},newText:u}}t.insert=o;function a(r){return{range:r,newText:""}}t.del=a;function e(r){let u=r;return w.objectLiteral(u)&&w.string(u.newText)&&W.is(u.range)}t.is=e})(G||(G={}));var Xe;(function(t){function n(a,e,r){let u={label:a};return e!==void 0&&(u.needsConfirmation=e),r!==void 0&&(u.description=r),u}t.create=n;function o(a){let e=a;return w.objectLiteral(e)&&w.string(e.label)&&(w.boolean(e.needsConfirmation)||e.needsConfirmation===void 0)&&(w.string(e.description)||e.description===void 0)}t.is=o})(Xe||(Xe={}));var se;(function(t){function n(o){let a=o;return w.string(a)}t.is=n})(se||(se={}));var Et;(function(t){function n(r,u,c){return{range:r,newText:u,annotationId:c}}t.replace=n;function o(r,u,c){return{range:{start:r,end:r},newText:u,annotationId:c}}t.insert=o;function a(r,u){return{range:r,newText:"",annotationId:u}}t.del=a;function e(r){let u=r;return G.is(u)&&(Xe.is(u.annotationId)||se.is(u.annotationId))}t.is=e})(Et||(Et={}));var Ye;(function(t){function n(a,e){return{textDocument:a,edits:e}}t.create=n;function o(a){let e=a;return w.defined(e)&&et.is(e.textDocument)&&Array.isArray(e.edits)}t.is=o})(Ye||(Ye={}));var Qe;(function(t){function n(a,e,r){let u={kind:"create",uri:a};return e!==void 0&&(e.overwrite!==void 0||e.ignoreIfExists!==void 0)&&(u.options=e),r!==void 0&&(u.annotationId=r),u}t.create=n;function o(a){let e=a;return e&&e.kind==="create"&&w.string(e.uri)&&(e.options===void 0||(e.options.overwrite===void 0||w.boolean(e.options.overwrite))&&(e.options.ignoreIfExists===void 0||w.boolean(e.options.ignoreIfExists)))&&(e.annotationId===void 0||se.is(e.annotationId))}t.is=o})(Qe||(Qe={}));var Ze;(function(t){function n(a,e,r,u){let c={kind:"rename",oldUri:a,newUri:e};return r!==void 0&&(r.overwrite!==void 0||r.ignoreIfExists!==void 0)&&(c.options=r),u!==void 0&&(c.annotationId=u),c}t.create=n;function o(a){let e=a;return e&&e.kind==="rename"&&w.string(e.oldUri)&&w.string(e.newUri)&&(e.options===void 0||(e.options.overwrite===void 0||w.boolean(e.options.overwrite))&&(e.options.ignoreIfExists===void 0||w.boolean(e.options.ignoreIfExists)))&&(e.annotationId===void 0||se.is(e.annotationId))}t.is=o})(Ze||(Ze={}));var Ke;(function(t){function n(a,e,r){let u={kind:"delete",uri:a};return e!==void 0&&(e.recursive!==void 0||e.ignoreIfNotExists!==void 0)&&(u.options=e),r!==void 0&&(u.annotationId=r),u}t.create=n;function o(a){let e=a;return e&&e.kind==="delete"&&w.string(e.uri)&&(e.options===void 0||(e.options.recursive===void 0||w.boolean(e.options.recursive))&&(e.options.ignoreIfNotExists===void 0||w.boolean(e.options.ignoreIfNotExists)))&&(e.annotationId===void 0||se.is(e.annotationId))}t.is=o})(Ke||(Ke={}));var Ae;(function(t){function n(o){let a=o;return a&&(a.changes!==void 0||a.documentChanges!==void 0)&&(a.documentChanges===void 0||a.documentChanges.every(e=>w.string(e.kind)?Qe.is(e)||Ze.is(e)||Ke.is(e):Ye.is(e)))}t.is=n})(Ae||(Ae={}));var Ct;(function(t){function n(a){return{uri:a}}t.create=n;function o(a){let e=a;return w.defined(e)&&w.string(e.uri)}t.is=o})(Ct||(Ct={}));var Lt;(function(t){function n(a,e){return{uri:a,version:e}}t.create=n;function o(a){let e=a;return w.defined(e)&&w.string(e.uri)&&w.integer(e.version)}t.is=o})(Lt||(Lt={}));var et;(function(t){function n(a,e){return{uri:a,version:e}}t.create=n;function o(a){let e=a;return w.defined(e)&&w.string(e.uri)&&(e.version===null||w.integer(e.version))}t.is=o})(et||(et={}));var Mt;(function(t){function n(a,e,r,u){return{uri:a,languageId:e,version:r,text:u}}t.create=n;function o(a){let e=a;return w.defined(e)&&w.string(e.uri)&&w.string(e.languageId)&&w.integer(e.version)&&w.string(e.text)}t.is=o})(Mt||(Mt={}));var Q;(function(t){t.PlainText="plaintext",t.Markdown="markdown";function n(o){let a=o;return a===t.PlainText||a===t.Markdown}t.is=n})(Q||(Q={}));var le;(function(t){function n(o){let a=o;return w.objectLiteral(o)&&Q.is(a.kind)&&w.string(a.value)}t.is=n})(le||(le={}));var $;(function(t){t.Text=1,t.Method=2,t.Function=3,t.Constructor=4,t.Field=5,t.Variable=6,t.Class=7,t.Interface=8,t.Module=9,t.Property=10,t.Unit=11,t.Value=12,t.Enum=13,t.Keyword=14,t.Snippet=15,t.Color=16,t.File=17,t.Reference=18,t.Folder=19,t.EnumMember=20,t.Constant=21,t.Struct=22,t.Event=23,t.Operator=24,t.TypeParameter=25})($||($={}));var X;(function(t){t.PlainText=1,t.Snippet=2})(X||(X={}));var tt;(function(t){t.Deprecated=1})(tt||(tt={}));var nt;(function(t){function n(a,e,r){return{newText:a,insert:e,replace:r}}t.create=n;function o(a){let e=a;return e&&w.string(e.newText)&&W.is(e.insert)&&W.is(e.replace)}t.is=o})(nt||(nt={}));var it;(function(t){t.asIs=1,t.adjustIndentation=2})(it||(it={}));var Rt;(function(t){function n(o){let a=o;return a&&(w.string(a.detail)||a.detail===void 0)&&(w.string(a.description)||a.description===void 0)}t.is=n})(Rt||(Rt={}));var rt;(function(t){function n(o){return{label:o}}t.create=n})(rt||(rt={}));var at;(function(t){function n(o,a){return{items:o||[],isIncomplete:!!a}}t.create=n})(at||(at={}));var ge;(function(t){function n(a){return a.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}t.fromPlainText=n;function o(a){let e=a;return w.string(e)||w.objectLiteral(e)&&w.string(e.language)&&w.string(e.value)}t.is=o})(ge||(ge={}));var ot;(function(t){function n(o){let a=o;return!!a&&w.objectLiteral(a)&&(le.is(a.contents)||ge.is(a.contents)||w.typedArray(a.contents,ge.is))&&(o.range===void 0||W.is(o.range))}t.is=n})(ot||(ot={}));var zt;(function(t){function n(o,a){return a?{label:o,documentation:a}:{label:o}}t.create=n})(zt||(zt={}));var Ht;(function(t){function n(o,a,...e){let r={label:o};return w.defined(a)&&(r.documentation=a),w.defined(e)?r.parameters=e:r.parameters=[],r}t.create=n})(Ht||(Ht={}));var ue;(function(t){t.Text=1,t.Read=2,t.Write=3})(ue||(ue={}));var st;(function(t){function n(o,a){let e={range:o};return w.number(a)&&(e.kind=a),e}t.create=n})(st||(st={}));var be;(function(t){t.File=1,t.Module=2,t.Namespace=3,t.Package=4,t.Class=5,t.Method=6,t.Property=7,t.Field=8,t.Constructor=9,t.Enum=10,t.Interface=11,t.Function=12,t.Variable=13,t.Constant=14,t.String=15,t.Number=16,t.Boolean=17,t.Array=18,t.Object=19,t.Key=20,t.Null=21,t.EnumMember=22,t.Struct=23,t.Event=24,t.Operator=25,t.TypeParameter=26})(be||(be={}));var It;(function(t){t.Deprecated=1})(It||(It={}));var we;(function(t){function n(o,a,e,r,u){let c={name:o,kind:a,location:{uri:r,range:e}};return u&&(c.containerName=u),c}t.create=n})(we||(we={}));var Wt;(function(t){function n(o,a,e,r){return r!==void 0?{name:o,kind:a,location:{uri:e,range:r}}:{name:o,kind:a,location:{uri:e}}}t.create=n})(Wt||(Wt={}));var _e;(function(t){function n(a,e,r,u,c,i){let s={name:a,detail:e,kind:r,range:u,selectionRange:c};return i!==void 0&&(s.children=i),s}t.create=n;function o(a){let e=a;return e&&w.string(e.name)&&w.number(e.kind)&&W.is(e.range)&&W.is(e.selectionRange)&&(e.detail===void 0||w.string(e.detail))&&(e.deprecated===void 0||w.boolean(e.deprecated))&&(e.children===void 0||Array.isArray(e.children))&&(e.tags===void 0||Array.isArray(e.tags))}t.is=o})(_e||(_e={}));var Ut;(function(t){t.Empty="",t.QuickFix="quickfix",t.Refactor="refactor",t.RefactorExtract="refactor.extract",t.RefactorInline="refactor.inline",t.RefactorRewrite="refactor.rewrite",t.Source="source",t.SourceOrganizeImports="source.organizeImports",t.SourceFixAll="source.fixAll"})(Ut||(Ut={}));var xe;(function(t){t.Invoked=1,t.Automatic=2})(xe||(xe={}));var Ot;(function(t){function n(a,e,r){let u={diagnostics:a};return e!=null&&(u.only=e),r!=null&&(u.triggerKind=r),u}t.create=n;function o(a){let e=a;return w.defined(e)&&w.typedArray(e.diagnostics,fe.is)&&(e.only===void 0||w.typedArray(e.only,w.string))&&(e.triggerKind===void 0||e.triggerKind===xe.Invoked||e.triggerKind===xe.Automatic)}t.is=o})(Ot||(Ot={}));var Bt;(function(t){function n(a,e,r){let u={title:a},c=!0;return typeof e=="string"?(c=!1,u.kind=e):ne.is(e)?u.command=e:u.edit=e,c&&r!==void 0&&(u.kind=r),u}t.create=n;function o(a){let e=a;return e&&w.string(e.title)&&(e.diagnostics===void 0||w.typedArray(e.diagnostics,fe.is))&&(e.kind===void 0||w.string(e.kind))&&(e.edit!==void 0||e.command!==void 0)&&(e.command===void 0||ne.is(e.command))&&(e.isPreferred===void 0||w.boolean(e.isPreferred))&&(e.edit===void 0||Ae.is(e.edit))}t.is=o})(Bt||(Bt={}));var Nt;(function(t){function n(a,e){let r={range:a};return w.defined(e)&&(r.data=e),r}t.create=n;function o(a){let e=a;return w.defined(e)&&W.is(e.range)&&(w.undefined(e.command)||ne.is(e.command))}t.is=o})(Nt||(Nt={}));var lt;(function(t){function n(a,e){return{tabSize:a,insertSpaces:e}}t.create=n;function o(a){let e=a;return w.defined(e)&&w.uinteger(e.tabSize)&&w.boolean(e.insertSpaces)}t.is=o})(lt||(lt={}));var ut;(function(t){function n(a,e,r){return{range:a,target:e,data:r}}t.create=n;function o(a){let e=a;return w.defined(e)&&W.is(e.range)&&(w.undefined(e.target)||w.string(e.target))}t.is=o})(ut||(ut={}));var ce;(function(t){function n(a,e){return{range:a,parent:e}}t.create=n;function o(a){let e=a;return w.objectLiteral(e)&&W.is(e.range)&&(e.parent===void 0||t.is(e.parent))}t.is=o})(ce||(ce={}));var Ft;(function(t){t.namespace="namespace",t.type="type",t.class="class",t.enum="enum",t.interface="interface",t.struct="struct",t.typeParameter="typeParameter",t.parameter="parameter",t.variable="variable",t.property="property",t.enumMember="enumMember",t.event="event",t.function="function",t.method="method",t.macro="macro",t.keyword="keyword",t.modifier="modifier",t.comment="comment",t.string="string",t.number="number",t.regexp="regexp",t.operator="operator",t.decorator="decorator"})(Ft||(Ft={}));var Pt;(function(t){t.declaration="declaration",t.definition="definition",t.readonly="readonly",t.static="static",t.deprecated="deprecated",t.abstract="abstract",t.async="async",t.modification="modification",t.documentation="documentation",t.defaultLibrary="defaultLibrary"})(Pt||(Pt={}));var qt;(function(t){function n(o){let a=o;return w.objectLiteral(a)&&(a.resultId===void 0||typeof a.resultId=="string")&&Array.isArray(a.data)&&(a.data.length===0||typeof a.data[0]=="number")}t.is=n})(qt||(qt={}));var jt;(function(t){function n(a,e){return{range:a,text:e}}t.create=n;function o(a){let e=a;return e!=null&&W.is(e.range)&&w.string(e.text)}t.is=o})(jt||(jt={}));var Gt;(function(t){function n(a,e,r){return{range:a,variableName:e,caseSensitiveLookup:r}}t.create=n;function o(a){let e=a;return e!=null&&W.is(e.range)&&w.boolean(e.caseSensitiveLookup)&&(w.string(e.variableName)||e.variableName===void 0)}t.is=o})(Gt||(Gt={}));var Vt;(function(t){function n(a,e){return{range:a,expression:e}}t.create=n;function o(a){let e=a;return e!=null&&W.is(e.range)&&(w.string(e.expression)||e.expression===void 0)}t.is=o})(Vt||(Vt={}));var $t;(function(t){function n(a,e){return{frameId:a,stoppedLocation:e}}t.create=n;function o(a){let e=a;return w.defined(e)&&W.is(a.stoppedLocation)}t.is=o})($t||($t={}));var ct;(function(t){t.Type=1,t.Parameter=2;function n(o){return o===1||o===2}t.is=n})(ct||(ct={}));var ht;(function(t){function n(a){return{value:a}}t.create=n;function o(a){let e=a;return w.objectLiteral(e)&&(e.tooltip===void 0||w.string(e.tooltip)||le.is(e.tooltip))&&(e.location===void 0||me.is(e.location))&&(e.command===void 0||ne.is(e.command))}t.is=o})(ht||(ht={}));var Jt;(function(t){function n(a,e,r){let u={position:a,label:e};return r!==void 0&&(u.kind=r),u}t.create=n;function o(a){let e=a;return w.objectLiteral(e)&&q.is(e.position)&&(w.string(e.label)||w.typedArray(e.label,ht.is))&&(e.kind===void 0||ct.is(e.kind))&&e.textEdits===void 0||w.typedArray(e.textEdits,G.is)&&(e.tooltip===void 0||w.string(e.tooltip)||le.is(e.tooltip))&&(e.paddingLeft===void 0||w.boolean(e.paddingLeft))&&(e.paddingRight===void 0||w.boolean(e.paddingRight))}t.is=o})(Jt||(Jt={}));var Xt;(function(t){function n(o){return{kind:"snippet",value:o}}t.createSnippet=n})(Xt||(Xt={}));var Yt;(function(t){function n(o,a,e,r){return{insertText:o,filterText:a,range:e,command:r}}t.create=n})(Yt||(Yt={}));var Qt;(function(t){function n(o){return{items:o}}t.create=n})(Qt||(Qt={}));var Zt;(function(t){t.Invoked=0,t.Automatic=1})(Zt||(Zt={}));var Kt;(function(t){function n(o,a){return{range:o,text:a}}t.create=n})(Kt||(Kt={}));var en;(function(t){function n(o,a){return{triggerKind:o,selectedCompletionInfo:a}}t.create=n})(en||(en={}));var tn;(function(t){function n(o){let a=o;return w.objectLiteral(a)&&je.is(a.uri)&&w.string(a.name)}t.is=n})(tn||(tn={}));var nn;(function(t){function n(r,u,c,i){return new dt(r,u,c,i)}t.create=n;function o(r){let u=r;return!!(w.defined(u)&&w.string(u.uri)&&(w.undefined(u.languageId)||w.string(u.languageId))&&w.uinteger(u.lineCount)&&w.func(u.getText)&&w.func(u.positionAt)&&w.func(u.offsetAt))}t.is=o;function a(r,u){let c=r.getText(),i=e(u,(l,h)=>{let p=l.range.start.line-h.range.start.line;return p===0?l.range.start.character-h.range.start.character:p}),s=c.length;for(let l=i.length-1;l>=0;l--){let h=i[l],p=r.offsetAt(h.range.start),m=r.offsetAt(h.range.end);if(m<=s)c=c.substring(0,p)+h.newText+c.substring(m,c.length);else throw new Error("Overlapping edit");s=p}return c}t.applyEdits=a;function e(r,u){if(r.length<=1)return r;let c=r.length/2|0,i=r.slice(0,c),s=r.slice(c);e(i,u),e(s,u);let l=0,h=0,p=0;for(;l0&&n.push(o.length),this._lineOffsets=n}return this._lineOffsets}positionAt(n){n=Math.max(Math.min(n,this._content.length),0);let o=this.getLineOffsets(),a=0,e=o.length;if(e===0)return q.create(0,n);for(;an?e=u:a=u+1}let r=a-1;return q.create(r,n-o[r])}offsetAt(n){let o=this.getLineOffsets();if(n.line>=o.length)return this._content.length;if(n.line<0)return 0;let a=o[n.line],e=n.line+1"u"}t.undefined=a;function e(m){return m===!0||m===!1}t.boolean=e;function r(m){return n.call(m)==="[object String]"}t.string=r;function u(m){return n.call(m)==="[object Number]"}t.number=u;function c(m,A,b){return n.call(m)==="[object Number]"&&A<=m&&m<=b}t.numberRange=c;function i(m){return n.call(m)==="[object Number]"&&-2147483648<=m&&m<=2147483647}t.integer=i;function s(m){return n.call(m)==="[object Number]"&&0<=m&&m<=2147483647}t.uinteger=s;function l(m){return n.call(m)==="[object Function]"}t.func=l;function h(m){return m!==null&&typeof m=="object"}t.objectLiteral=h;function p(m,A){return Array.isArray(m)&&m.every(A)}t.typedArray=p})(w||(w={}));var De=class t{constructor(n,o,a,e){this._uri=n,this._languageId=o,this._version=a,this._content=e,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(n){if(n){let o=this.offsetAt(n.start),a=this.offsetAt(n.end);return this._content.substring(o,a)}return this._content}update(n,o){for(let a of n)if(t.isIncremental(a)){let e=an(a.range),r=this.offsetAt(e.start),u=this.offsetAt(e.end);this._content=this._content.substring(0,r)+a.text+this._content.substring(u,this._content.length);let c=Math.max(e.start.line,0),i=Math.max(e.end.line,0),s=this._lineOffsets,l=rn(a.text,!1,r);if(i-c===l.length)for(let p=0,m=l.length;pn?e=u:a=u+1}let r=a-1;return{line:r,character:n-o[r]}}offsetAt(n){let o=this.getLineOffsets();if(n.line>=o.length)return this._content.length;if(n.line<0)return 0;let a=o[n.line],e=n.line+1{let p=l.range.start.line-h.range.start.line;return p===0?l.range.start.character-h.range.start.character:p}),i=0,s=[];for(let l of c){let h=e.offsetAt(l.range.start);if(hi&&s.push(u.substring(i,h)),l.newText.length&&s.push(l.newText),i=e.offsetAt(l.range.end)}return s.push(u.substr(i)),s.join("")}t.applyEdits=a})(ve||(ve={}));function pt(t,n){if(t.length<=1)return t;let o=t.length/2|0,a=t.slice(0,o),e=t.slice(o);pt(a,n),pt(e,n);let r=0,u=0,c=0;for(;ro.line||n.line===o.line&&n.character>o.character?{start:o,end:n}:t}function Nn(t){let n=an(t.range);return n!==t.range?{newText:t.newText,range:n}:t}var S;(function(t){t[t.StartCommentTag=0]="StartCommentTag",t[t.Comment=1]="Comment",t[t.EndCommentTag=2]="EndCommentTag",t[t.StartTagOpen=3]="StartTagOpen",t[t.StartTagClose=4]="StartTagClose",t[t.StartTagSelfClose=5]="StartTagSelfClose",t[t.StartTag=6]="StartTag",t[t.EndTagOpen=7]="EndTagOpen",t[t.EndTagClose=8]="EndTagClose",t[t.EndTag=9]="EndTag",t[t.DelimiterAssign=10]="DelimiterAssign",t[t.AttributeName=11]="AttributeName",t[t.AttributeValue=12]="AttributeValue",t[t.StartDoctypeTag=13]="StartDoctypeTag",t[t.Doctype=14]="Doctype",t[t.EndDoctypeTag=15]="EndDoctypeTag",t[t.Content=16]="Content",t[t.Whitespace=17]="Whitespace",t[t.Unknown=18]="Unknown",t[t.Script=19]="Script",t[t.Styles=20]="Styles",t[t.EOS=21]="EOS"})(S||(S={}));var H;(function(t){t[t.WithinContent=0]="WithinContent",t[t.AfterOpeningStartTag=1]="AfterOpeningStartTag",t[t.AfterOpeningEndTag=2]="AfterOpeningEndTag",t[t.WithinDoctype=3]="WithinDoctype",t[t.WithinTag=4]="WithinTag",t[t.WithinEndTag=5]="WithinEndTag",t[t.WithinComment=6]="WithinComment",t[t.WithinScriptContent=7]="WithinScriptContent",t[t.WithinStyleContent=8]="WithinStyleContent",t[t.AfterAttributeName=9]="AfterAttributeName",t[t.BeforeAttributeValue=10]="BeforeAttributeValue"})(H||(H={}));var on;(function(t){t.LATEST={textDocument:{completion:{completionItem:{documentationFormat:[Q.Markdown,Q.PlainText]}},hover:{contentFormat:[Q.Markdown,Q.PlainText]}}}})(on||(on={}));var Ee;(function(t){t[t.Unknown=0]="Unknown",t[t.File=1]="File",t[t.Directory=2]="Directory",t[t.SymbolicLink=64]="SymbolicLink"})(Ee||(Ee={}));var ft=class{constructor(n,o){this.source=n,this.len=n.length,this.position=o}eos(){return this.len<=this.position}getSource(){return this.source}pos(){return this.position}goBackTo(n){this.position=n}goBack(n){this.position-=n}advance(n){this.position+=n}goToEnd(){this.position=this.source.length}nextChar(){return this.source.charCodeAt(this.position++)||0}peekChar(n=0){return this.source.charCodeAt(this.position+n)||0}advanceIfChar(n){return n===this.source.charCodeAt(this.position)?(this.position++,!0):!1}advanceIfChars(n){let o;if(this.position+n.length>this.source.length)return!1;for(o=0;oo===$n||o===Jn||o===jn||o===Vn||o===Gn)>0}advanceWhileChar(n){let o=this.position;for(;this.position0?(r=H.WithinEndTag,b(y,S.EndTag)):e.skipWhitespace()?b(y,S.Whitespace,J("Tag name must directly follow the open bracket.")):(r=H.WithinEndTag,e.advanceUntilChar(ee),y0?(s=!1,r=H.WithinTag,b(y,S.StartTag)):e.skipWhitespace()?b(y,S.Whitespace,J("Tag name must directly follow the open bracket.")):(r=H.WithinTag,e.advanceUntilChar(ee),y0)?(r=H.AfterAttributeName,s=!1,b(y,S.AttributeName)):e.advanceIfChars([mt,ee])?(r=H.WithinContent,b(y,S.StartTagSelfClose)):e.advanceIfChar(ee)?(l==="script"?p&&Xn[p]?r=H.WithinContent:r=H.WithinScriptContent:l==="style"?r=H.WithinStyleContent:r=H.WithinContent,b(y,S.StartTagClose)):a&&e.peekChar()===Ce?(r=H.WithinContent,b(y,S.StartTagClose,J("Closing bracket missing."))):(e.advance(1),b(y,S.Unknown,J("Unexpected character in tag.")));case H.AfterAttributeName:return e.skipWhitespace()?(s=!0,b(y,S.Whitespace)):e.advanceIfChar(Fn)?(r=H.BeforeAttributeValue,b(y,S.DelimiterAssign)):(r=H.WithinTag,T());case H.BeforeAttributeValue:if(e.skipWhitespace())return b(y,S.Whitespace);let N=e.advanceIfRegExp(/^[^\s"'`=<>]+/);if(N.length>0&&(e.peekChar()===ee&&e.peekChar(-1)===mt&&(e.goBack(1),N=N.substring(0,N.length-1)),h==="type"&&(p=N),N.length>0))return r=H.WithinTag,s=!1,b(y,S.AttributeValue);let F=e.peekChar();return F===qn||F===Pn?(e.advance(1),e.advanceUntilChar(F)&&e.advance(1),h==="type"&&(p=e.getSource().substring(y+1,e.pos()-1)),r=H.WithinTag,s=!1,b(y,S.AttributeValue)):(r=H.WithinTag,s=!1,T());case H.WithinScriptContent:let f=1;for(;!e.eos();){let d=e.advanceIfRegExp(/|<\/?script\s*\/?>?/i);if(d.length===0)return e.goToEnd(),b(y,S.Script);if(d==="")f=1;else if(d[1]!=="/")f===2&&(f=3);else if(f===3)f=2;else{e.goBack(d.length);break}}return r=H.WithinContent,yc,getTokenOffset:()=>u,getTokenLength:()=>e.pos()-u,getTokenEnd:()=>e.pos(),getTokenText:()=>e.getSource().substring(u,e.pos()),getScannerState:()=>r,getTokenError:()=>i}}function gt(t,n){let o=0,a=t.length;if(a===0)return 0;for(;o0)e=r-1;else return r}return-(a+1)}var Le=class{get attributeNames(){return this.attributes?Object.keys(this.attributes):[]}constructor(n,o,a,e){this.start=n,this.end=o,this.children=a,this.parent=e,this.closed=!1}isSameTag(n){return this.tag===void 0?n===void 0:n!==void 0&&this.tag.length===n.length&&this.tag.toLowerCase()===n}get firstChild(){return this.children[0]}get lastChild(){return this.children.length?this.children[this.children.length-1]:void 0}findNodeBefore(n){let o=gt(this.children,a=>n<=a.start)-1;if(o>=0){let a=this.children[o];if(n>a.start){if(nn<=a.start)-1;if(o>=0){let a=this.children[o];if(n>a.start&&n<=a.end)return a.findNodeAt(n)}return this}},Me=class{constructor(n){this.dataManager=n}parseDocument(n){return this.parse(n.getText(),this.dataManager.getVoidElements(n.languageId))}parse(n,o){let a=V(n,void 0,void 0,!0),e=new Le(0,n.length,[],void 0),r=e,u=-1,c,i=null,s=a.scan();for(;s!==S.EOS;){switch(s){case S.StartTagOpen:let l=new Le(a.getTokenOffset(),n.length,[],r);r.children.push(l),r=l;break;case S.StartTag:r.tag=a.getTokenText();break;case S.StartTagClose:r.parent&&(r.end=a.getTokenEnd(),a.getTokenLength()?(r.startTagEnd=a.getTokenEnd(),r.tag&&this.dataManager.isVoidElement(r.tag,o)&&(r.closed=!0,r=r.parent)):r=r.parent);break;case S.StartTagSelfClose:r.parent&&(r.closed=!0,r.end=a.getTokenEnd(),r.startTagEnd=a.getTokenEnd(),r=r.parent);break;case S.EndTagOpen:u=a.getTokenOffset(),c=void 0;break;case S.EndTag:c=a.getTokenText().toLowerCase();break;case S.EndTagClose:let h=r;for(;!h.isSameTag(c)&&h.parent;)h=h.parent;if(h.parent){for(;r!==h;)r.end=u,r.closed=!1,r=r.parent;r.closed=!0,r.endTagStart=u,r.end=a.getTokenEnd(),r=r.parent}break;case S.AttributeName:{i=a.getTokenText();let p=r.attributes;p||(r.attributes=p={}),p[i]=null;break}case S.AttributeValue:{let p=a.getTokenText(),m=r.attributes;m&&i&&(m[i]=p,i=null);break}}s=a.scan()}for(;r.parent;)r.end=n.length,r.closed=!1,r=r.parent;return{roots:e.children,findNodeBefore:e.findNodeBefore.bind(e),findNodeAt:e.findNodeAt.bind(e)}}};var ie={"Aacute;":"\xC1",Aacute:"\xC1","aacute;":"\xE1",aacute:"\xE1","Abreve;":"\u0102","abreve;":"\u0103","ac;":"\u223E","acd;":"\u223F","acE;":"\u223E\u0333","Acirc;":"\xC2",Acirc:"\xC2","acirc;":"\xE2",acirc:"\xE2","acute;":"\xB4",acute:"\xB4","Acy;":"\u0410","acy;":"\u0430","AElig;":"\xC6",AElig:"\xC6","aelig;":"\xE6",aelig:"\xE6","af;":"\u2061","Afr;":"\u{1D504}","afr;":"\u{1D51E}","Agrave;":"\xC0",Agrave:"\xC0","agrave;":"\xE0",agrave:"\xE0","alefsym;":"\u2135","aleph;":"\u2135","Alpha;":"\u0391","alpha;":"\u03B1","Amacr;":"\u0100","amacr;":"\u0101","amalg;":"\u2A3F","AMP;":"&",AMP:"&","amp;":"&",amp:"&","And;":"\u2A53","and;":"\u2227","andand;":"\u2A55","andd;":"\u2A5C","andslope;":"\u2A58","andv;":"\u2A5A","ang;":"\u2220","ange;":"\u29A4","angle;":"\u2220","angmsd;":"\u2221","angmsdaa;":"\u29A8","angmsdab;":"\u29A9","angmsdac;":"\u29AA","angmsdad;":"\u29AB","angmsdae;":"\u29AC","angmsdaf;":"\u29AD","angmsdag;":"\u29AE","angmsdah;":"\u29AF","angrt;":"\u221F","angrtvb;":"\u22BE","angrtvbd;":"\u299D","angsph;":"\u2222","angst;":"\xC5","angzarr;":"\u237C","Aogon;":"\u0104","aogon;":"\u0105","Aopf;":"\u{1D538}","aopf;":"\u{1D552}","ap;":"\u2248","apacir;":"\u2A6F","apE;":"\u2A70","ape;":"\u224A","apid;":"\u224B","apos;":"'","ApplyFunction;":"\u2061","approx;":"\u2248","approxeq;":"\u224A","Aring;":"\xC5",Aring:"\xC5","aring;":"\xE5",aring:"\xE5","Ascr;":"\u{1D49C}","ascr;":"\u{1D4B6}","Assign;":"\u2254","ast;":"*","asymp;":"\u2248","asympeq;":"\u224D","Atilde;":"\xC3",Atilde:"\xC3","atilde;":"\xE3",atilde:"\xE3","Auml;":"\xC4",Auml:"\xC4","auml;":"\xE4",auml:"\xE4","awconint;":"\u2233","awint;":"\u2A11","backcong;":"\u224C","backepsilon;":"\u03F6","backprime;":"\u2035","backsim;":"\u223D","backsimeq;":"\u22CD","Backslash;":"\u2216","Barv;":"\u2AE7","barvee;":"\u22BD","Barwed;":"\u2306","barwed;":"\u2305","barwedge;":"\u2305","bbrk;":"\u23B5","bbrktbrk;":"\u23B6","bcong;":"\u224C","Bcy;":"\u0411","bcy;":"\u0431","bdquo;":"\u201E","becaus;":"\u2235","Because;":"\u2235","because;":"\u2235","bemptyv;":"\u29B0","bepsi;":"\u03F6","bernou;":"\u212C","Bernoullis;":"\u212C","Beta;":"\u0392","beta;":"\u03B2","beth;":"\u2136","between;":"\u226C","Bfr;":"\u{1D505}","bfr;":"\u{1D51F}","bigcap;":"\u22C2","bigcirc;":"\u25EF","bigcup;":"\u22C3","bigodot;":"\u2A00","bigoplus;":"\u2A01","bigotimes;":"\u2A02","bigsqcup;":"\u2A06","bigstar;":"\u2605","bigtriangledown;":"\u25BD","bigtriangleup;":"\u25B3","biguplus;":"\u2A04","bigvee;":"\u22C1","bigwedge;":"\u22C0","bkarow;":"\u290D","blacklozenge;":"\u29EB","blacksquare;":"\u25AA","blacktriangle;":"\u25B4","blacktriangledown;":"\u25BE","blacktriangleleft;":"\u25C2","blacktriangleright;":"\u25B8","blank;":"\u2423","blk12;":"\u2592","blk14;":"\u2591","blk34;":"\u2593","block;":"\u2588","bne;":"=\u20E5","bnequiv;":"\u2261\u20E5","bNot;":"\u2AED","bnot;":"\u2310","Bopf;":"\u{1D539}","bopf;":"\u{1D553}","bot;":"\u22A5","bottom;":"\u22A5","bowtie;":"\u22C8","boxbox;":"\u29C9","boxDL;":"\u2557","boxDl;":"\u2556","boxdL;":"\u2555","boxdl;":"\u2510","boxDR;":"\u2554","boxDr;":"\u2553","boxdR;":"\u2552","boxdr;":"\u250C","boxH;":"\u2550","boxh;":"\u2500","boxHD;":"\u2566","boxHd;":"\u2564","boxhD;":"\u2565","boxhd;":"\u252C","boxHU;":"\u2569","boxHu;":"\u2567","boxhU;":"\u2568","boxhu;":"\u2534","boxminus;":"\u229F","boxplus;":"\u229E","boxtimes;":"\u22A0","boxUL;":"\u255D","boxUl;":"\u255C","boxuL;":"\u255B","boxul;":"\u2518","boxUR;":"\u255A","boxUr;":"\u2559","boxuR;":"\u2558","boxur;":"\u2514","boxV;":"\u2551","boxv;":"\u2502","boxVH;":"\u256C","boxVh;":"\u256B","boxvH;":"\u256A","boxvh;":"\u253C","boxVL;":"\u2563","boxVl;":"\u2562","boxvL;":"\u2561","boxvl;":"\u2524","boxVR;":"\u2560","boxVr;":"\u255F","boxvR;":"\u255E","boxvr;":"\u251C","bprime;":"\u2035","Breve;":"\u02D8","breve;":"\u02D8","brvbar;":"\xA6",brvbar:"\xA6","Bscr;":"\u212C","bscr;":"\u{1D4B7}","bsemi;":"\u204F","bsim;":"\u223D","bsime;":"\u22CD","bsol;":"\\","bsolb;":"\u29C5","bsolhsub;":"\u27C8","bull;":"\u2022","bullet;":"\u2022","bump;":"\u224E","bumpE;":"\u2AAE","bumpe;":"\u224F","Bumpeq;":"\u224E","bumpeq;":"\u224F","Cacute;":"\u0106","cacute;":"\u0107","Cap;":"\u22D2","cap;":"\u2229","capand;":"\u2A44","capbrcup;":"\u2A49","capcap;":"\u2A4B","capcup;":"\u2A47","capdot;":"\u2A40","CapitalDifferentialD;":"\u2145","caps;":"\u2229\uFE00","caret;":"\u2041","caron;":"\u02C7","Cayleys;":"\u212D","ccaps;":"\u2A4D","Ccaron;":"\u010C","ccaron;":"\u010D","Ccedil;":"\xC7",Ccedil:"\xC7","ccedil;":"\xE7",ccedil:"\xE7","Ccirc;":"\u0108","ccirc;":"\u0109","Cconint;":"\u2230","ccups;":"\u2A4C","ccupssm;":"\u2A50","Cdot;":"\u010A","cdot;":"\u010B","cedil;":"\xB8",cedil:"\xB8","Cedilla;":"\xB8","cemptyv;":"\u29B2","cent;":"\xA2",cent:"\xA2","CenterDot;":"\xB7","centerdot;":"\xB7","Cfr;":"\u212D","cfr;":"\u{1D520}","CHcy;":"\u0427","chcy;":"\u0447","check;":"\u2713","checkmark;":"\u2713","Chi;":"\u03A7","chi;":"\u03C7","cir;":"\u25CB","circ;":"\u02C6","circeq;":"\u2257","circlearrowleft;":"\u21BA","circlearrowright;":"\u21BB","circledast;":"\u229B","circledcirc;":"\u229A","circleddash;":"\u229D","CircleDot;":"\u2299","circledR;":"\xAE","circledS;":"\u24C8","CircleMinus;":"\u2296","CirclePlus;":"\u2295","CircleTimes;":"\u2297","cirE;":"\u29C3","cire;":"\u2257","cirfnint;":"\u2A10","cirmid;":"\u2AEF","cirscir;":"\u29C2","ClockwiseContourIntegral;":"\u2232","CloseCurlyDoubleQuote;":"\u201D","CloseCurlyQuote;":"\u2019","clubs;":"\u2663","clubsuit;":"\u2663","Colon;":"\u2237","colon;":":","Colone;":"\u2A74","colone;":"\u2254","coloneq;":"\u2254","comma;":",","commat;":"@","comp;":"\u2201","compfn;":"\u2218","complement;":"\u2201","complexes;":"\u2102","cong;":"\u2245","congdot;":"\u2A6D","Congruent;":"\u2261","Conint;":"\u222F","conint;":"\u222E","ContourIntegral;":"\u222E","Copf;":"\u2102","copf;":"\u{1D554}","coprod;":"\u2210","Coproduct;":"\u2210","COPY;":"\xA9",COPY:"\xA9","copy;":"\xA9",copy:"\xA9","copysr;":"\u2117","CounterClockwiseContourIntegral;":"\u2233","crarr;":"\u21B5","Cross;":"\u2A2F","cross;":"\u2717","Cscr;":"\u{1D49E}","cscr;":"\u{1D4B8}","csub;":"\u2ACF","csube;":"\u2AD1","csup;":"\u2AD0","csupe;":"\u2AD2","ctdot;":"\u22EF","cudarrl;":"\u2938","cudarrr;":"\u2935","cuepr;":"\u22DE","cuesc;":"\u22DF","cularr;":"\u21B6","cularrp;":"\u293D","Cup;":"\u22D3","cup;":"\u222A","cupbrcap;":"\u2A48","CupCap;":"\u224D","cupcap;":"\u2A46","cupcup;":"\u2A4A","cupdot;":"\u228D","cupor;":"\u2A45","cups;":"\u222A\uFE00","curarr;":"\u21B7","curarrm;":"\u293C","curlyeqprec;":"\u22DE","curlyeqsucc;":"\u22DF","curlyvee;":"\u22CE","curlywedge;":"\u22CF","curren;":"\xA4",curren:"\xA4","curvearrowleft;":"\u21B6","curvearrowright;":"\u21B7","cuvee;":"\u22CE","cuwed;":"\u22CF","cwconint;":"\u2232","cwint;":"\u2231","cylcty;":"\u232D","Dagger;":"\u2021","dagger;":"\u2020","daleth;":"\u2138","Darr;":"\u21A1","dArr;":"\u21D3","darr;":"\u2193","dash;":"\u2010","Dashv;":"\u2AE4","dashv;":"\u22A3","dbkarow;":"\u290F","dblac;":"\u02DD","Dcaron;":"\u010E","dcaron;":"\u010F","Dcy;":"\u0414","dcy;":"\u0434","DD;":"\u2145","dd;":"\u2146","ddagger;":"\u2021","ddarr;":"\u21CA","DDotrahd;":"\u2911","ddotseq;":"\u2A77","deg;":"\xB0",deg:"\xB0","Del;":"\u2207","Delta;":"\u0394","delta;":"\u03B4","demptyv;":"\u29B1","dfisht;":"\u297F","Dfr;":"\u{1D507}","dfr;":"\u{1D521}","dHar;":"\u2965","dharl;":"\u21C3","dharr;":"\u21C2","DiacriticalAcute;":"\xB4","DiacriticalDot;":"\u02D9","DiacriticalDoubleAcute;":"\u02DD","DiacriticalGrave;":"`","DiacriticalTilde;":"\u02DC","diam;":"\u22C4","Diamond;":"\u22C4","diamond;":"\u22C4","diamondsuit;":"\u2666","diams;":"\u2666","die;":"\xA8","DifferentialD;":"\u2146","digamma;":"\u03DD","disin;":"\u22F2","div;":"\xF7","divide;":"\xF7",divide:"\xF7","divideontimes;":"\u22C7","divonx;":"\u22C7","DJcy;":"\u0402","djcy;":"\u0452","dlcorn;":"\u231E","dlcrop;":"\u230D","dollar;":"$","Dopf;":"\u{1D53B}","dopf;":"\u{1D555}","Dot;":"\xA8","dot;":"\u02D9","DotDot;":"\u20DC","doteq;":"\u2250","doteqdot;":"\u2251","DotEqual;":"\u2250","dotminus;":"\u2238","dotplus;":"\u2214","dotsquare;":"\u22A1","doublebarwedge;":"\u2306","DoubleContourIntegral;":"\u222F","DoubleDot;":"\xA8","DoubleDownArrow;":"\u21D3","DoubleLeftArrow;":"\u21D0","DoubleLeftRightArrow;":"\u21D4","DoubleLeftTee;":"\u2AE4","DoubleLongLeftArrow;":"\u27F8","DoubleLongLeftRightArrow;":"\u27FA","DoubleLongRightArrow;":"\u27F9","DoubleRightArrow;":"\u21D2","DoubleRightTee;":"\u22A8","DoubleUpArrow;":"\u21D1","DoubleUpDownArrow;":"\u21D5","DoubleVerticalBar;":"\u2225","DownArrow;":"\u2193","Downarrow;":"\u21D3","downarrow;":"\u2193","DownArrowBar;":"\u2913","DownArrowUpArrow;":"\u21F5","DownBreve;":"\u0311","downdownarrows;":"\u21CA","downharpoonleft;":"\u21C3","downharpoonright;":"\u21C2","DownLeftRightVector;":"\u2950","DownLeftTeeVector;":"\u295E","DownLeftVector;":"\u21BD","DownLeftVectorBar;":"\u2956","DownRightTeeVector;":"\u295F","DownRightVector;":"\u21C1","DownRightVectorBar;":"\u2957","DownTee;":"\u22A4","DownTeeArrow;":"\u21A7","drbkarow;":"\u2910","drcorn;":"\u231F","drcrop;":"\u230C","Dscr;":"\u{1D49F}","dscr;":"\u{1D4B9}","DScy;":"\u0405","dscy;":"\u0455","dsol;":"\u29F6","Dstrok;":"\u0110","dstrok;":"\u0111","dtdot;":"\u22F1","dtri;":"\u25BF","dtrif;":"\u25BE","duarr;":"\u21F5","duhar;":"\u296F","dwangle;":"\u29A6","DZcy;":"\u040F","dzcy;":"\u045F","dzigrarr;":"\u27FF","Eacute;":"\xC9",Eacute:"\xC9","eacute;":"\xE9",eacute:"\xE9","easter;":"\u2A6E","Ecaron;":"\u011A","ecaron;":"\u011B","ecir;":"\u2256","Ecirc;":"\xCA",Ecirc:"\xCA","ecirc;":"\xEA",ecirc:"\xEA","ecolon;":"\u2255","Ecy;":"\u042D","ecy;":"\u044D","eDDot;":"\u2A77","Edot;":"\u0116","eDot;":"\u2251","edot;":"\u0117","ee;":"\u2147","efDot;":"\u2252","Efr;":"\u{1D508}","efr;":"\u{1D522}","eg;":"\u2A9A","Egrave;":"\xC8",Egrave:"\xC8","egrave;":"\xE8",egrave:"\xE8","egs;":"\u2A96","egsdot;":"\u2A98","el;":"\u2A99","Element;":"\u2208","elinters;":"\u23E7","ell;":"\u2113","els;":"\u2A95","elsdot;":"\u2A97","Emacr;":"\u0112","emacr;":"\u0113","empty;":"\u2205","emptyset;":"\u2205","EmptySmallSquare;":"\u25FB","emptyv;":"\u2205","EmptyVerySmallSquare;":"\u25AB","emsp;":"\u2003","emsp13;":"\u2004","emsp14;":"\u2005","ENG;":"\u014A","eng;":"\u014B","ensp;":"\u2002","Eogon;":"\u0118","eogon;":"\u0119","Eopf;":"\u{1D53C}","eopf;":"\u{1D556}","epar;":"\u22D5","eparsl;":"\u29E3","eplus;":"\u2A71","epsi;":"\u03B5","Epsilon;":"\u0395","epsilon;":"\u03B5","epsiv;":"\u03F5","eqcirc;":"\u2256","eqcolon;":"\u2255","eqsim;":"\u2242","eqslantgtr;":"\u2A96","eqslantless;":"\u2A95","Equal;":"\u2A75","equals;":"=","EqualTilde;":"\u2242","equest;":"\u225F","Equilibrium;":"\u21CC","equiv;":"\u2261","equivDD;":"\u2A78","eqvparsl;":"\u29E5","erarr;":"\u2971","erDot;":"\u2253","Escr;":"\u2130","escr;":"\u212F","esdot;":"\u2250","Esim;":"\u2A73","esim;":"\u2242","Eta;":"\u0397","eta;":"\u03B7","ETH;":"\xD0",ETH:"\xD0","eth;":"\xF0",eth:"\xF0","Euml;":"\xCB",Euml:"\xCB","euml;":"\xEB",euml:"\xEB","euro;":"\u20AC","excl;":"!","exist;":"\u2203","Exists;":"\u2203","expectation;":"\u2130","ExponentialE;":"\u2147","exponentiale;":"\u2147","fallingdotseq;":"\u2252","Fcy;":"\u0424","fcy;":"\u0444","female;":"\u2640","ffilig;":"\uFB03","fflig;":"\uFB00","ffllig;":"\uFB04","Ffr;":"\u{1D509}","ffr;":"\u{1D523}","filig;":"\uFB01","FilledSmallSquare;":"\u25FC","FilledVerySmallSquare;":"\u25AA","fjlig;":"fj","flat;":"\u266D","fllig;":"\uFB02","fltns;":"\u25B1","fnof;":"\u0192","Fopf;":"\u{1D53D}","fopf;":"\u{1D557}","ForAll;":"\u2200","forall;":"\u2200","fork;":"\u22D4","forkv;":"\u2AD9","Fouriertrf;":"\u2131","fpartint;":"\u2A0D","frac12;":"\xBD",frac12:"\xBD","frac13;":"\u2153","frac14;":"\xBC",frac14:"\xBC","frac15;":"\u2155","frac16;":"\u2159","frac18;":"\u215B","frac23;":"\u2154","frac25;":"\u2156","frac34;":"\xBE",frac34:"\xBE","frac35;":"\u2157","frac38;":"\u215C","frac45;":"\u2158","frac56;":"\u215A","frac58;":"\u215D","frac78;":"\u215E","frasl;":"\u2044","frown;":"\u2322","Fscr;":"\u2131","fscr;":"\u{1D4BB}","gacute;":"\u01F5","Gamma;":"\u0393","gamma;":"\u03B3","Gammad;":"\u03DC","gammad;":"\u03DD","gap;":"\u2A86","Gbreve;":"\u011E","gbreve;":"\u011F","Gcedil;":"\u0122","Gcirc;":"\u011C","gcirc;":"\u011D","Gcy;":"\u0413","gcy;":"\u0433","Gdot;":"\u0120","gdot;":"\u0121","gE;":"\u2267","ge;":"\u2265","gEl;":"\u2A8C","gel;":"\u22DB","geq;":"\u2265","geqq;":"\u2267","geqslant;":"\u2A7E","ges;":"\u2A7E","gescc;":"\u2AA9","gesdot;":"\u2A80","gesdoto;":"\u2A82","gesdotol;":"\u2A84","gesl;":"\u22DB\uFE00","gesles;":"\u2A94","Gfr;":"\u{1D50A}","gfr;":"\u{1D524}","Gg;":"\u22D9","gg;":"\u226B","ggg;":"\u22D9","gimel;":"\u2137","GJcy;":"\u0403","gjcy;":"\u0453","gl;":"\u2277","gla;":"\u2AA5","glE;":"\u2A92","glj;":"\u2AA4","gnap;":"\u2A8A","gnapprox;":"\u2A8A","gnE;":"\u2269","gne;":"\u2A88","gneq;":"\u2A88","gneqq;":"\u2269","gnsim;":"\u22E7","Gopf;":"\u{1D53E}","gopf;":"\u{1D558}","grave;":"`","GreaterEqual;":"\u2265","GreaterEqualLess;":"\u22DB","GreaterFullEqual;":"\u2267","GreaterGreater;":"\u2AA2","GreaterLess;":"\u2277","GreaterSlantEqual;":"\u2A7E","GreaterTilde;":"\u2273","Gscr;":"\u{1D4A2}","gscr;":"\u210A","gsim;":"\u2273","gsime;":"\u2A8E","gsiml;":"\u2A90","GT;":">",GT:">","Gt;":"\u226B","gt;":">",gt:">","gtcc;":"\u2AA7","gtcir;":"\u2A7A","gtdot;":"\u22D7","gtlPar;":"\u2995","gtquest;":"\u2A7C","gtrapprox;":"\u2A86","gtrarr;":"\u2978","gtrdot;":"\u22D7","gtreqless;":"\u22DB","gtreqqless;":"\u2A8C","gtrless;":"\u2277","gtrsim;":"\u2273","gvertneqq;":"\u2269\uFE00","gvnE;":"\u2269\uFE00","Hacek;":"\u02C7","hairsp;":"\u200A","half;":"\xBD","hamilt;":"\u210B","HARDcy;":"\u042A","hardcy;":"\u044A","hArr;":"\u21D4","harr;":"\u2194","harrcir;":"\u2948","harrw;":"\u21AD","Hat;":"^","hbar;":"\u210F","Hcirc;":"\u0124","hcirc;":"\u0125","hearts;":"\u2665","heartsuit;":"\u2665","hellip;":"\u2026","hercon;":"\u22B9","Hfr;":"\u210C","hfr;":"\u{1D525}","HilbertSpace;":"\u210B","hksearow;":"\u2925","hkswarow;":"\u2926","hoarr;":"\u21FF","homtht;":"\u223B","hookleftarrow;":"\u21A9","hookrightarrow;":"\u21AA","Hopf;":"\u210D","hopf;":"\u{1D559}","horbar;":"\u2015","HorizontalLine;":"\u2500","Hscr;":"\u210B","hscr;":"\u{1D4BD}","hslash;":"\u210F","Hstrok;":"\u0126","hstrok;":"\u0127","HumpDownHump;":"\u224E","HumpEqual;":"\u224F","hybull;":"\u2043","hyphen;":"\u2010","Iacute;":"\xCD",Iacute:"\xCD","iacute;":"\xED",iacute:"\xED","ic;":"\u2063","Icirc;":"\xCE",Icirc:"\xCE","icirc;":"\xEE",icirc:"\xEE","Icy;":"\u0418","icy;":"\u0438","Idot;":"\u0130","IEcy;":"\u0415","iecy;":"\u0435","iexcl;":"\xA1",iexcl:"\xA1","iff;":"\u21D4","Ifr;":"\u2111","ifr;":"\u{1D526}","Igrave;":"\xCC",Igrave:"\xCC","igrave;":"\xEC",igrave:"\xEC","ii;":"\u2148","iiiint;":"\u2A0C","iiint;":"\u222D","iinfin;":"\u29DC","iiota;":"\u2129","IJlig;":"\u0132","ijlig;":"\u0133","Im;":"\u2111","Imacr;":"\u012A","imacr;":"\u012B","image;":"\u2111","ImaginaryI;":"\u2148","imagline;":"\u2110","imagpart;":"\u2111","imath;":"\u0131","imof;":"\u22B7","imped;":"\u01B5","Implies;":"\u21D2","in;":"\u2208","incare;":"\u2105","infin;":"\u221E","infintie;":"\u29DD","inodot;":"\u0131","Int;":"\u222C","int;":"\u222B","intcal;":"\u22BA","integers;":"\u2124","Integral;":"\u222B","intercal;":"\u22BA","Intersection;":"\u22C2","intlarhk;":"\u2A17","intprod;":"\u2A3C","InvisibleComma;":"\u2063","InvisibleTimes;":"\u2062","IOcy;":"\u0401","iocy;":"\u0451","Iogon;":"\u012E","iogon;":"\u012F","Iopf;":"\u{1D540}","iopf;":"\u{1D55A}","Iota;":"\u0399","iota;":"\u03B9","iprod;":"\u2A3C","iquest;":"\xBF",iquest:"\xBF","Iscr;":"\u2110","iscr;":"\u{1D4BE}","isin;":"\u2208","isindot;":"\u22F5","isinE;":"\u22F9","isins;":"\u22F4","isinsv;":"\u22F3","isinv;":"\u2208","it;":"\u2062","Itilde;":"\u0128","itilde;":"\u0129","Iukcy;":"\u0406","iukcy;":"\u0456","Iuml;":"\xCF",Iuml:"\xCF","iuml;":"\xEF",iuml:"\xEF","Jcirc;":"\u0134","jcirc;":"\u0135","Jcy;":"\u0419","jcy;":"\u0439","Jfr;":"\u{1D50D}","jfr;":"\u{1D527}","jmath;":"\u0237","Jopf;":"\u{1D541}","jopf;":"\u{1D55B}","Jscr;":"\u{1D4A5}","jscr;":"\u{1D4BF}","Jsercy;":"\u0408","jsercy;":"\u0458","Jukcy;":"\u0404","jukcy;":"\u0454","Kappa;":"\u039A","kappa;":"\u03BA","kappav;":"\u03F0","Kcedil;":"\u0136","kcedil;":"\u0137","Kcy;":"\u041A","kcy;":"\u043A","Kfr;":"\u{1D50E}","kfr;":"\u{1D528}","kgreen;":"\u0138","KHcy;":"\u0425","khcy;":"\u0445","KJcy;":"\u040C","kjcy;":"\u045C","Kopf;":"\u{1D542}","kopf;":"\u{1D55C}","Kscr;":"\u{1D4A6}","kscr;":"\u{1D4C0}","lAarr;":"\u21DA","Lacute;":"\u0139","lacute;":"\u013A","laemptyv;":"\u29B4","lagran;":"\u2112","Lambda;":"\u039B","lambda;":"\u03BB","Lang;":"\u27EA","lang;":"\u27E8","langd;":"\u2991","langle;":"\u27E8","lap;":"\u2A85","Laplacetrf;":"\u2112","laquo;":"\xAB",laquo:"\xAB","Larr;":"\u219E","lArr;":"\u21D0","larr;":"\u2190","larrb;":"\u21E4","larrbfs;":"\u291F","larrfs;":"\u291D","larrhk;":"\u21A9","larrlp;":"\u21AB","larrpl;":"\u2939","larrsim;":"\u2973","larrtl;":"\u21A2","lat;":"\u2AAB","lAtail;":"\u291B","latail;":"\u2919","late;":"\u2AAD","lates;":"\u2AAD\uFE00","lBarr;":"\u290E","lbarr;":"\u290C","lbbrk;":"\u2772","lbrace;":"{","lbrack;":"[","lbrke;":"\u298B","lbrksld;":"\u298F","lbrkslu;":"\u298D","Lcaron;":"\u013D","lcaron;":"\u013E","Lcedil;":"\u013B","lcedil;":"\u013C","lceil;":"\u2308","lcub;":"{","Lcy;":"\u041B","lcy;":"\u043B","ldca;":"\u2936","ldquo;":"\u201C","ldquor;":"\u201E","ldrdhar;":"\u2967","ldrushar;":"\u294B","ldsh;":"\u21B2","lE;":"\u2266","le;":"\u2264","LeftAngleBracket;":"\u27E8","LeftArrow;":"\u2190","Leftarrow;":"\u21D0","leftarrow;":"\u2190","LeftArrowBar;":"\u21E4","LeftArrowRightArrow;":"\u21C6","leftarrowtail;":"\u21A2","LeftCeiling;":"\u2308","LeftDoubleBracket;":"\u27E6","LeftDownTeeVector;":"\u2961","LeftDownVector;":"\u21C3","LeftDownVectorBar;":"\u2959","LeftFloor;":"\u230A","leftharpoondown;":"\u21BD","leftharpoonup;":"\u21BC","leftleftarrows;":"\u21C7","LeftRightArrow;":"\u2194","Leftrightarrow;":"\u21D4","leftrightarrow;":"\u2194","leftrightarrows;":"\u21C6","leftrightharpoons;":"\u21CB","leftrightsquigarrow;":"\u21AD","LeftRightVector;":"\u294E","LeftTee;":"\u22A3","LeftTeeArrow;":"\u21A4","LeftTeeVector;":"\u295A","leftthreetimes;":"\u22CB","LeftTriangle;":"\u22B2","LeftTriangleBar;":"\u29CF","LeftTriangleEqual;":"\u22B4","LeftUpDownVector;":"\u2951","LeftUpTeeVector;":"\u2960","LeftUpVector;":"\u21BF","LeftUpVectorBar;":"\u2958","LeftVector;":"\u21BC","LeftVectorBar;":"\u2952","lEg;":"\u2A8B","leg;":"\u22DA","leq;":"\u2264","leqq;":"\u2266","leqslant;":"\u2A7D","les;":"\u2A7D","lescc;":"\u2AA8","lesdot;":"\u2A7F","lesdoto;":"\u2A81","lesdotor;":"\u2A83","lesg;":"\u22DA\uFE00","lesges;":"\u2A93","lessapprox;":"\u2A85","lessdot;":"\u22D6","lesseqgtr;":"\u22DA","lesseqqgtr;":"\u2A8B","LessEqualGreater;":"\u22DA","LessFullEqual;":"\u2266","LessGreater;":"\u2276","lessgtr;":"\u2276","LessLess;":"\u2AA1","lesssim;":"\u2272","LessSlantEqual;":"\u2A7D","LessTilde;":"\u2272","lfisht;":"\u297C","lfloor;":"\u230A","Lfr;":"\u{1D50F}","lfr;":"\u{1D529}","lg;":"\u2276","lgE;":"\u2A91","lHar;":"\u2962","lhard;":"\u21BD","lharu;":"\u21BC","lharul;":"\u296A","lhblk;":"\u2584","LJcy;":"\u0409","ljcy;":"\u0459","Ll;":"\u22D8","ll;":"\u226A","llarr;":"\u21C7","llcorner;":"\u231E","Lleftarrow;":"\u21DA","llhard;":"\u296B","lltri;":"\u25FA","Lmidot;":"\u013F","lmidot;":"\u0140","lmoust;":"\u23B0","lmoustache;":"\u23B0","lnap;":"\u2A89","lnapprox;":"\u2A89","lnE;":"\u2268","lne;":"\u2A87","lneq;":"\u2A87","lneqq;":"\u2268","lnsim;":"\u22E6","loang;":"\u27EC","loarr;":"\u21FD","lobrk;":"\u27E6","LongLeftArrow;":"\u27F5","Longleftarrow;":"\u27F8","longleftarrow;":"\u27F5","LongLeftRightArrow;":"\u27F7","Longleftrightarrow;":"\u27FA","longleftrightarrow;":"\u27F7","longmapsto;":"\u27FC","LongRightArrow;":"\u27F6","Longrightarrow;":"\u27F9","longrightarrow;":"\u27F6","looparrowleft;":"\u21AB","looparrowright;":"\u21AC","lopar;":"\u2985","Lopf;":"\u{1D543}","lopf;":"\u{1D55D}","loplus;":"\u2A2D","lotimes;":"\u2A34","lowast;":"\u2217","lowbar;":"_","LowerLeftArrow;":"\u2199","LowerRightArrow;":"\u2198","loz;":"\u25CA","lozenge;":"\u25CA","lozf;":"\u29EB","lpar;":"(","lparlt;":"\u2993","lrarr;":"\u21C6","lrcorner;":"\u231F","lrhar;":"\u21CB","lrhard;":"\u296D","lrm;":"\u200E","lrtri;":"\u22BF","lsaquo;":"\u2039","Lscr;":"\u2112","lscr;":"\u{1D4C1}","Lsh;":"\u21B0","lsh;":"\u21B0","lsim;":"\u2272","lsime;":"\u2A8D","lsimg;":"\u2A8F","lsqb;":"[","lsquo;":"\u2018","lsquor;":"\u201A","Lstrok;":"\u0141","lstrok;":"\u0142","LT;":"<",LT:"<","Lt;":"\u226A","lt;":"<",lt:"<","ltcc;":"\u2AA6","ltcir;":"\u2A79","ltdot;":"\u22D6","lthree;":"\u22CB","ltimes;":"\u22C9","ltlarr;":"\u2976","ltquest;":"\u2A7B","ltri;":"\u25C3","ltrie;":"\u22B4","ltrif;":"\u25C2","ltrPar;":"\u2996","lurdshar;":"\u294A","luruhar;":"\u2966","lvertneqq;":"\u2268\uFE00","lvnE;":"\u2268\uFE00","macr;":"\xAF",macr:"\xAF","male;":"\u2642","malt;":"\u2720","maltese;":"\u2720","Map;":"\u2905","map;":"\u21A6","mapsto;":"\u21A6","mapstodown;":"\u21A7","mapstoleft;":"\u21A4","mapstoup;":"\u21A5","marker;":"\u25AE","mcomma;":"\u2A29","Mcy;":"\u041C","mcy;":"\u043C","mdash;":"\u2014","mDDot;":"\u223A","measuredangle;":"\u2221","MediumSpace;":"\u205F","Mellintrf;":"\u2133","Mfr;":"\u{1D510}","mfr;":"\u{1D52A}","mho;":"\u2127","micro;":"\xB5",micro:"\xB5","mid;":"\u2223","midast;":"*","midcir;":"\u2AF0","middot;":"\xB7",middot:"\xB7","minus;":"\u2212","minusb;":"\u229F","minusd;":"\u2238","minusdu;":"\u2A2A","MinusPlus;":"\u2213","mlcp;":"\u2ADB","mldr;":"\u2026","mnplus;":"\u2213","models;":"\u22A7","Mopf;":"\u{1D544}","mopf;":"\u{1D55E}","mp;":"\u2213","Mscr;":"\u2133","mscr;":"\u{1D4C2}","mstpos;":"\u223E","Mu;":"\u039C","mu;":"\u03BC","multimap;":"\u22B8","mumap;":"\u22B8","nabla;":"\u2207","Nacute;":"\u0143","nacute;":"\u0144","nang;":"\u2220\u20D2","nap;":"\u2249","napE;":"\u2A70\u0338","napid;":"\u224B\u0338","napos;":"\u0149","napprox;":"\u2249","natur;":"\u266E","natural;":"\u266E","naturals;":"\u2115","nbsp;":"\xA0",nbsp:"\xA0","nbump;":"\u224E\u0338","nbumpe;":"\u224F\u0338","ncap;":"\u2A43","Ncaron;":"\u0147","ncaron;":"\u0148","Ncedil;":"\u0145","ncedil;":"\u0146","ncong;":"\u2247","ncongdot;":"\u2A6D\u0338","ncup;":"\u2A42","Ncy;":"\u041D","ncy;":"\u043D","ndash;":"\u2013","ne;":"\u2260","nearhk;":"\u2924","neArr;":"\u21D7","nearr;":"\u2197","nearrow;":"\u2197","nedot;":"\u2250\u0338","NegativeMediumSpace;":"\u200B","NegativeThickSpace;":"\u200B","NegativeThinSpace;":"\u200B","NegativeVeryThinSpace;":"\u200B","nequiv;":"\u2262","nesear;":"\u2928","nesim;":"\u2242\u0338","NestedGreaterGreater;":"\u226B","NestedLessLess;":"\u226A","NewLine;":` +`,"nexist;":"\u2204","nexists;":"\u2204","Nfr;":"\u{1D511}","nfr;":"\u{1D52B}","ngE;":"\u2267\u0338","nge;":"\u2271","ngeq;":"\u2271","ngeqq;":"\u2267\u0338","ngeqslant;":"\u2A7E\u0338","nges;":"\u2A7E\u0338","nGg;":"\u22D9\u0338","ngsim;":"\u2275","nGt;":"\u226B\u20D2","ngt;":"\u226F","ngtr;":"\u226F","nGtv;":"\u226B\u0338","nhArr;":"\u21CE","nharr;":"\u21AE","nhpar;":"\u2AF2","ni;":"\u220B","nis;":"\u22FC","nisd;":"\u22FA","niv;":"\u220B","NJcy;":"\u040A","njcy;":"\u045A","nlArr;":"\u21CD","nlarr;":"\u219A","nldr;":"\u2025","nlE;":"\u2266\u0338","nle;":"\u2270","nLeftarrow;":"\u21CD","nleftarrow;":"\u219A","nLeftrightarrow;":"\u21CE","nleftrightarrow;":"\u21AE","nleq;":"\u2270","nleqq;":"\u2266\u0338","nleqslant;":"\u2A7D\u0338","nles;":"\u2A7D\u0338","nless;":"\u226E","nLl;":"\u22D8\u0338","nlsim;":"\u2274","nLt;":"\u226A\u20D2","nlt;":"\u226E","nltri;":"\u22EA","nltrie;":"\u22EC","nLtv;":"\u226A\u0338","nmid;":"\u2224","NoBreak;":"\u2060","NonBreakingSpace;":"\xA0","Nopf;":"\u2115","nopf;":"\u{1D55F}","Not;":"\u2AEC","not;":"\xAC",not:"\xAC","NotCongruent;":"\u2262","NotCupCap;":"\u226D","NotDoubleVerticalBar;":"\u2226","NotElement;":"\u2209","NotEqual;":"\u2260","NotEqualTilde;":"\u2242\u0338","NotExists;":"\u2204","NotGreater;":"\u226F","NotGreaterEqual;":"\u2271","NotGreaterFullEqual;":"\u2267\u0338","NotGreaterGreater;":"\u226B\u0338","NotGreaterLess;":"\u2279","NotGreaterSlantEqual;":"\u2A7E\u0338","NotGreaterTilde;":"\u2275","NotHumpDownHump;":"\u224E\u0338","NotHumpEqual;":"\u224F\u0338","notin;":"\u2209","notindot;":"\u22F5\u0338","notinE;":"\u22F9\u0338","notinva;":"\u2209","notinvb;":"\u22F7","notinvc;":"\u22F6","NotLeftTriangle;":"\u22EA","NotLeftTriangleBar;":"\u29CF\u0338","NotLeftTriangleEqual;":"\u22EC","NotLess;":"\u226E","NotLessEqual;":"\u2270","NotLessGreater;":"\u2278","NotLessLess;":"\u226A\u0338","NotLessSlantEqual;":"\u2A7D\u0338","NotLessTilde;":"\u2274","NotNestedGreaterGreater;":"\u2AA2\u0338","NotNestedLessLess;":"\u2AA1\u0338","notni;":"\u220C","notniva;":"\u220C","notnivb;":"\u22FE","notnivc;":"\u22FD","NotPrecedes;":"\u2280","NotPrecedesEqual;":"\u2AAF\u0338","NotPrecedesSlantEqual;":"\u22E0","NotReverseElement;":"\u220C","NotRightTriangle;":"\u22EB","NotRightTriangleBar;":"\u29D0\u0338","NotRightTriangleEqual;":"\u22ED","NotSquareSubset;":"\u228F\u0338","NotSquareSubsetEqual;":"\u22E2","NotSquareSuperset;":"\u2290\u0338","NotSquareSupersetEqual;":"\u22E3","NotSubset;":"\u2282\u20D2","NotSubsetEqual;":"\u2288","NotSucceeds;":"\u2281","NotSucceedsEqual;":"\u2AB0\u0338","NotSucceedsSlantEqual;":"\u22E1","NotSucceedsTilde;":"\u227F\u0338","NotSuperset;":"\u2283\u20D2","NotSupersetEqual;":"\u2289","NotTilde;":"\u2241","NotTildeEqual;":"\u2244","NotTildeFullEqual;":"\u2247","NotTildeTilde;":"\u2249","NotVerticalBar;":"\u2224","npar;":"\u2226","nparallel;":"\u2226","nparsl;":"\u2AFD\u20E5","npart;":"\u2202\u0338","npolint;":"\u2A14","npr;":"\u2280","nprcue;":"\u22E0","npre;":"\u2AAF\u0338","nprec;":"\u2280","npreceq;":"\u2AAF\u0338","nrArr;":"\u21CF","nrarr;":"\u219B","nrarrc;":"\u2933\u0338","nrarrw;":"\u219D\u0338","nRightarrow;":"\u21CF","nrightarrow;":"\u219B","nrtri;":"\u22EB","nrtrie;":"\u22ED","nsc;":"\u2281","nsccue;":"\u22E1","nsce;":"\u2AB0\u0338","Nscr;":"\u{1D4A9}","nscr;":"\u{1D4C3}","nshortmid;":"\u2224","nshortparallel;":"\u2226","nsim;":"\u2241","nsime;":"\u2244","nsimeq;":"\u2244","nsmid;":"\u2224","nspar;":"\u2226","nsqsube;":"\u22E2","nsqsupe;":"\u22E3","nsub;":"\u2284","nsubE;":"\u2AC5\u0338","nsube;":"\u2288","nsubset;":"\u2282\u20D2","nsubseteq;":"\u2288","nsubseteqq;":"\u2AC5\u0338","nsucc;":"\u2281","nsucceq;":"\u2AB0\u0338","nsup;":"\u2285","nsupE;":"\u2AC6\u0338","nsupe;":"\u2289","nsupset;":"\u2283\u20D2","nsupseteq;":"\u2289","nsupseteqq;":"\u2AC6\u0338","ntgl;":"\u2279","Ntilde;":"\xD1",Ntilde:"\xD1","ntilde;":"\xF1",ntilde:"\xF1","ntlg;":"\u2278","ntriangleleft;":"\u22EA","ntrianglelefteq;":"\u22EC","ntriangleright;":"\u22EB","ntrianglerighteq;":"\u22ED","Nu;":"\u039D","nu;":"\u03BD","num;":"#","numero;":"\u2116","numsp;":"\u2007","nvap;":"\u224D\u20D2","nVDash;":"\u22AF","nVdash;":"\u22AE","nvDash;":"\u22AD","nvdash;":"\u22AC","nvge;":"\u2265\u20D2","nvgt;":">\u20D2","nvHarr;":"\u2904","nvinfin;":"\u29DE","nvlArr;":"\u2902","nvle;":"\u2264\u20D2","nvlt;":"<\u20D2","nvltrie;":"\u22B4\u20D2","nvrArr;":"\u2903","nvrtrie;":"\u22B5\u20D2","nvsim;":"\u223C\u20D2","nwarhk;":"\u2923","nwArr;":"\u21D6","nwarr;":"\u2196","nwarrow;":"\u2196","nwnear;":"\u2927","Oacute;":"\xD3",Oacute:"\xD3","oacute;":"\xF3",oacute:"\xF3","oast;":"\u229B","ocir;":"\u229A","Ocirc;":"\xD4",Ocirc:"\xD4","ocirc;":"\xF4",ocirc:"\xF4","Ocy;":"\u041E","ocy;":"\u043E","odash;":"\u229D","Odblac;":"\u0150","odblac;":"\u0151","odiv;":"\u2A38","odot;":"\u2299","odsold;":"\u29BC","OElig;":"\u0152","oelig;":"\u0153","ofcir;":"\u29BF","Ofr;":"\u{1D512}","ofr;":"\u{1D52C}","ogon;":"\u02DB","Ograve;":"\xD2",Ograve:"\xD2","ograve;":"\xF2",ograve:"\xF2","ogt;":"\u29C1","ohbar;":"\u29B5","ohm;":"\u03A9","oint;":"\u222E","olarr;":"\u21BA","olcir;":"\u29BE","olcross;":"\u29BB","oline;":"\u203E","olt;":"\u29C0","Omacr;":"\u014C","omacr;":"\u014D","Omega;":"\u03A9","omega;":"\u03C9","Omicron;":"\u039F","omicron;":"\u03BF","omid;":"\u29B6","ominus;":"\u2296","Oopf;":"\u{1D546}","oopf;":"\u{1D560}","opar;":"\u29B7","OpenCurlyDoubleQuote;":"\u201C","OpenCurlyQuote;":"\u2018","operp;":"\u29B9","oplus;":"\u2295","Or;":"\u2A54","or;":"\u2228","orarr;":"\u21BB","ord;":"\u2A5D","order;":"\u2134","orderof;":"\u2134","ordf;":"\xAA",ordf:"\xAA","ordm;":"\xBA",ordm:"\xBA","origof;":"\u22B6","oror;":"\u2A56","orslope;":"\u2A57","orv;":"\u2A5B","oS;":"\u24C8","Oscr;":"\u{1D4AA}","oscr;":"\u2134","Oslash;":"\xD8",Oslash:"\xD8","oslash;":"\xF8",oslash:"\xF8","osol;":"\u2298","Otilde;":"\xD5",Otilde:"\xD5","otilde;":"\xF5",otilde:"\xF5","Otimes;":"\u2A37","otimes;":"\u2297","otimesas;":"\u2A36","Ouml;":"\xD6",Ouml:"\xD6","ouml;":"\xF6",ouml:"\xF6","ovbar;":"\u233D","OverBar;":"\u203E","OverBrace;":"\u23DE","OverBracket;":"\u23B4","OverParenthesis;":"\u23DC","par;":"\u2225","para;":"\xB6",para:"\xB6","parallel;":"\u2225","parsim;":"\u2AF3","parsl;":"\u2AFD","part;":"\u2202","PartialD;":"\u2202","Pcy;":"\u041F","pcy;":"\u043F","percnt;":"%","period;":".","permil;":"\u2030","perp;":"\u22A5","pertenk;":"\u2031","Pfr;":"\u{1D513}","pfr;":"\u{1D52D}","Phi;":"\u03A6","phi;":"\u03C6","phiv;":"\u03D5","phmmat;":"\u2133","phone;":"\u260E","Pi;":"\u03A0","pi;":"\u03C0","pitchfork;":"\u22D4","piv;":"\u03D6","planck;":"\u210F","planckh;":"\u210E","plankv;":"\u210F","plus;":"+","plusacir;":"\u2A23","plusb;":"\u229E","pluscir;":"\u2A22","plusdo;":"\u2214","plusdu;":"\u2A25","pluse;":"\u2A72","PlusMinus;":"\xB1","plusmn;":"\xB1",plusmn:"\xB1","plussim;":"\u2A26","plustwo;":"\u2A27","pm;":"\xB1","Poincareplane;":"\u210C","pointint;":"\u2A15","Popf;":"\u2119","popf;":"\u{1D561}","pound;":"\xA3",pound:"\xA3","Pr;":"\u2ABB","pr;":"\u227A","prap;":"\u2AB7","prcue;":"\u227C","prE;":"\u2AB3","pre;":"\u2AAF","prec;":"\u227A","precapprox;":"\u2AB7","preccurlyeq;":"\u227C","Precedes;":"\u227A","PrecedesEqual;":"\u2AAF","PrecedesSlantEqual;":"\u227C","PrecedesTilde;":"\u227E","preceq;":"\u2AAF","precnapprox;":"\u2AB9","precneqq;":"\u2AB5","precnsim;":"\u22E8","precsim;":"\u227E","Prime;":"\u2033","prime;":"\u2032","primes;":"\u2119","prnap;":"\u2AB9","prnE;":"\u2AB5","prnsim;":"\u22E8","prod;":"\u220F","Product;":"\u220F","profalar;":"\u232E","profline;":"\u2312","profsurf;":"\u2313","prop;":"\u221D","Proportion;":"\u2237","Proportional;":"\u221D","propto;":"\u221D","prsim;":"\u227E","prurel;":"\u22B0","Pscr;":"\u{1D4AB}","pscr;":"\u{1D4C5}","Psi;":"\u03A8","psi;":"\u03C8","puncsp;":"\u2008","Qfr;":"\u{1D514}","qfr;":"\u{1D52E}","qint;":"\u2A0C","Qopf;":"\u211A","qopf;":"\u{1D562}","qprime;":"\u2057","Qscr;":"\u{1D4AC}","qscr;":"\u{1D4C6}","quaternions;":"\u210D","quatint;":"\u2A16","quest;":"?","questeq;":"\u225F","QUOT;":'"',QUOT:'"',"quot;":'"',quot:'"',"rAarr;":"\u21DB","race;":"\u223D\u0331","Racute;":"\u0154","racute;":"\u0155","radic;":"\u221A","raemptyv;":"\u29B3","Rang;":"\u27EB","rang;":"\u27E9","rangd;":"\u2992","range;":"\u29A5","rangle;":"\u27E9","raquo;":"\xBB",raquo:"\xBB","Rarr;":"\u21A0","rArr;":"\u21D2","rarr;":"\u2192","rarrap;":"\u2975","rarrb;":"\u21E5","rarrbfs;":"\u2920","rarrc;":"\u2933","rarrfs;":"\u291E","rarrhk;":"\u21AA","rarrlp;":"\u21AC","rarrpl;":"\u2945","rarrsim;":"\u2974","Rarrtl;":"\u2916","rarrtl;":"\u21A3","rarrw;":"\u219D","rAtail;":"\u291C","ratail;":"\u291A","ratio;":"\u2236","rationals;":"\u211A","RBarr;":"\u2910","rBarr;":"\u290F","rbarr;":"\u290D","rbbrk;":"\u2773","rbrace;":"}","rbrack;":"]","rbrke;":"\u298C","rbrksld;":"\u298E","rbrkslu;":"\u2990","Rcaron;":"\u0158","rcaron;":"\u0159","Rcedil;":"\u0156","rcedil;":"\u0157","rceil;":"\u2309","rcub;":"}","Rcy;":"\u0420","rcy;":"\u0440","rdca;":"\u2937","rdldhar;":"\u2969","rdquo;":"\u201D","rdquor;":"\u201D","rdsh;":"\u21B3","Re;":"\u211C","real;":"\u211C","realine;":"\u211B","realpart;":"\u211C","reals;":"\u211D","rect;":"\u25AD","REG;":"\xAE",REG:"\xAE","reg;":"\xAE",reg:"\xAE","ReverseElement;":"\u220B","ReverseEquilibrium;":"\u21CB","ReverseUpEquilibrium;":"\u296F","rfisht;":"\u297D","rfloor;":"\u230B","Rfr;":"\u211C","rfr;":"\u{1D52F}","rHar;":"\u2964","rhard;":"\u21C1","rharu;":"\u21C0","rharul;":"\u296C","Rho;":"\u03A1","rho;":"\u03C1","rhov;":"\u03F1","RightAngleBracket;":"\u27E9","RightArrow;":"\u2192","Rightarrow;":"\u21D2","rightarrow;":"\u2192","RightArrowBar;":"\u21E5","RightArrowLeftArrow;":"\u21C4","rightarrowtail;":"\u21A3","RightCeiling;":"\u2309","RightDoubleBracket;":"\u27E7","RightDownTeeVector;":"\u295D","RightDownVector;":"\u21C2","RightDownVectorBar;":"\u2955","RightFloor;":"\u230B","rightharpoondown;":"\u21C1","rightharpoonup;":"\u21C0","rightleftarrows;":"\u21C4","rightleftharpoons;":"\u21CC","rightrightarrows;":"\u21C9","rightsquigarrow;":"\u219D","RightTee;":"\u22A2","RightTeeArrow;":"\u21A6","RightTeeVector;":"\u295B","rightthreetimes;":"\u22CC","RightTriangle;":"\u22B3","RightTriangleBar;":"\u29D0","RightTriangleEqual;":"\u22B5","RightUpDownVector;":"\u294F","RightUpTeeVector;":"\u295C","RightUpVector;":"\u21BE","RightUpVectorBar;":"\u2954","RightVector;":"\u21C0","RightVectorBar;":"\u2953","ring;":"\u02DA","risingdotseq;":"\u2253","rlarr;":"\u21C4","rlhar;":"\u21CC","rlm;":"\u200F","rmoust;":"\u23B1","rmoustache;":"\u23B1","rnmid;":"\u2AEE","roang;":"\u27ED","roarr;":"\u21FE","robrk;":"\u27E7","ropar;":"\u2986","Ropf;":"\u211D","ropf;":"\u{1D563}","roplus;":"\u2A2E","rotimes;":"\u2A35","RoundImplies;":"\u2970","rpar;":")","rpargt;":"\u2994","rppolint;":"\u2A12","rrarr;":"\u21C9","Rrightarrow;":"\u21DB","rsaquo;":"\u203A","Rscr;":"\u211B","rscr;":"\u{1D4C7}","Rsh;":"\u21B1","rsh;":"\u21B1","rsqb;":"]","rsquo;":"\u2019","rsquor;":"\u2019","rthree;":"\u22CC","rtimes;":"\u22CA","rtri;":"\u25B9","rtrie;":"\u22B5","rtrif;":"\u25B8","rtriltri;":"\u29CE","RuleDelayed;":"\u29F4","ruluhar;":"\u2968","rx;":"\u211E","Sacute;":"\u015A","sacute;":"\u015B","sbquo;":"\u201A","Sc;":"\u2ABC","sc;":"\u227B","scap;":"\u2AB8","Scaron;":"\u0160","scaron;":"\u0161","sccue;":"\u227D","scE;":"\u2AB4","sce;":"\u2AB0","Scedil;":"\u015E","scedil;":"\u015F","Scirc;":"\u015C","scirc;":"\u015D","scnap;":"\u2ABA","scnE;":"\u2AB6","scnsim;":"\u22E9","scpolint;":"\u2A13","scsim;":"\u227F","Scy;":"\u0421","scy;":"\u0441","sdot;":"\u22C5","sdotb;":"\u22A1","sdote;":"\u2A66","searhk;":"\u2925","seArr;":"\u21D8","searr;":"\u2198","searrow;":"\u2198","sect;":"\xA7",sect:"\xA7","semi;":";","seswar;":"\u2929","setminus;":"\u2216","setmn;":"\u2216","sext;":"\u2736","Sfr;":"\u{1D516}","sfr;":"\u{1D530}","sfrown;":"\u2322","sharp;":"\u266F","SHCHcy;":"\u0429","shchcy;":"\u0449","SHcy;":"\u0428","shcy;":"\u0448","ShortDownArrow;":"\u2193","ShortLeftArrow;":"\u2190","shortmid;":"\u2223","shortparallel;":"\u2225","ShortRightArrow;":"\u2192","ShortUpArrow;":"\u2191","shy;":"\xAD",shy:"\xAD","Sigma;":"\u03A3","sigma;":"\u03C3","sigmaf;":"\u03C2","sigmav;":"\u03C2","sim;":"\u223C","simdot;":"\u2A6A","sime;":"\u2243","simeq;":"\u2243","simg;":"\u2A9E","simgE;":"\u2AA0","siml;":"\u2A9D","simlE;":"\u2A9F","simne;":"\u2246","simplus;":"\u2A24","simrarr;":"\u2972","slarr;":"\u2190","SmallCircle;":"\u2218","smallsetminus;":"\u2216","smashp;":"\u2A33","smeparsl;":"\u29E4","smid;":"\u2223","smile;":"\u2323","smt;":"\u2AAA","smte;":"\u2AAC","smtes;":"\u2AAC\uFE00","SOFTcy;":"\u042C","softcy;":"\u044C","sol;":"/","solb;":"\u29C4","solbar;":"\u233F","Sopf;":"\u{1D54A}","sopf;":"\u{1D564}","spades;":"\u2660","spadesuit;":"\u2660","spar;":"\u2225","sqcap;":"\u2293","sqcaps;":"\u2293\uFE00","sqcup;":"\u2294","sqcups;":"\u2294\uFE00","Sqrt;":"\u221A","sqsub;":"\u228F","sqsube;":"\u2291","sqsubset;":"\u228F","sqsubseteq;":"\u2291","sqsup;":"\u2290","sqsupe;":"\u2292","sqsupset;":"\u2290","sqsupseteq;":"\u2292","squ;":"\u25A1","Square;":"\u25A1","square;":"\u25A1","SquareIntersection;":"\u2293","SquareSubset;":"\u228F","SquareSubsetEqual;":"\u2291","SquareSuperset;":"\u2290","SquareSupersetEqual;":"\u2292","SquareUnion;":"\u2294","squarf;":"\u25AA","squf;":"\u25AA","srarr;":"\u2192","Sscr;":"\u{1D4AE}","sscr;":"\u{1D4C8}","ssetmn;":"\u2216","ssmile;":"\u2323","sstarf;":"\u22C6","Star;":"\u22C6","star;":"\u2606","starf;":"\u2605","straightepsilon;":"\u03F5","straightphi;":"\u03D5","strns;":"\xAF","Sub;":"\u22D0","sub;":"\u2282","subdot;":"\u2ABD","subE;":"\u2AC5","sube;":"\u2286","subedot;":"\u2AC3","submult;":"\u2AC1","subnE;":"\u2ACB","subne;":"\u228A","subplus;":"\u2ABF","subrarr;":"\u2979","Subset;":"\u22D0","subset;":"\u2282","subseteq;":"\u2286","subseteqq;":"\u2AC5","SubsetEqual;":"\u2286","subsetneq;":"\u228A","subsetneqq;":"\u2ACB","subsim;":"\u2AC7","subsub;":"\u2AD5","subsup;":"\u2AD3","succ;":"\u227B","succapprox;":"\u2AB8","succcurlyeq;":"\u227D","Succeeds;":"\u227B","SucceedsEqual;":"\u2AB0","SucceedsSlantEqual;":"\u227D","SucceedsTilde;":"\u227F","succeq;":"\u2AB0","succnapprox;":"\u2ABA","succneqq;":"\u2AB6","succnsim;":"\u22E9","succsim;":"\u227F","SuchThat;":"\u220B","Sum;":"\u2211","sum;":"\u2211","sung;":"\u266A","Sup;":"\u22D1","sup;":"\u2283","sup1;":"\xB9",sup1:"\xB9","sup2;":"\xB2",sup2:"\xB2","sup3;":"\xB3",sup3:"\xB3","supdot;":"\u2ABE","supdsub;":"\u2AD8","supE;":"\u2AC6","supe;":"\u2287","supedot;":"\u2AC4","Superset;":"\u2283","SupersetEqual;":"\u2287","suphsol;":"\u27C9","suphsub;":"\u2AD7","suplarr;":"\u297B","supmult;":"\u2AC2","supnE;":"\u2ACC","supne;":"\u228B","supplus;":"\u2AC0","Supset;":"\u22D1","supset;":"\u2283","supseteq;":"\u2287","supseteqq;":"\u2AC6","supsetneq;":"\u228B","supsetneqq;":"\u2ACC","supsim;":"\u2AC8","supsub;":"\u2AD4","supsup;":"\u2AD6","swarhk;":"\u2926","swArr;":"\u21D9","swarr;":"\u2199","swarrow;":"\u2199","swnwar;":"\u292A","szlig;":"\xDF",szlig:"\xDF","Tab;":" ","target;":"\u2316","Tau;":"\u03A4","tau;":"\u03C4","tbrk;":"\u23B4","Tcaron;":"\u0164","tcaron;":"\u0165","Tcedil;":"\u0162","tcedil;":"\u0163","Tcy;":"\u0422","tcy;":"\u0442","tdot;":"\u20DB","telrec;":"\u2315","Tfr;":"\u{1D517}","tfr;":"\u{1D531}","there4;":"\u2234","Therefore;":"\u2234","therefore;":"\u2234","Theta;":"\u0398","theta;":"\u03B8","thetasym;":"\u03D1","thetav;":"\u03D1","thickapprox;":"\u2248","thicksim;":"\u223C","ThickSpace;":"\u205F\u200A","thinsp;":"\u2009","ThinSpace;":"\u2009","thkap;":"\u2248","thksim;":"\u223C","THORN;":"\xDE",THORN:"\xDE","thorn;":"\xFE",thorn:"\xFE","Tilde;":"\u223C","tilde;":"\u02DC","TildeEqual;":"\u2243","TildeFullEqual;":"\u2245","TildeTilde;":"\u2248","times;":"\xD7",times:"\xD7","timesb;":"\u22A0","timesbar;":"\u2A31","timesd;":"\u2A30","tint;":"\u222D","toea;":"\u2928","top;":"\u22A4","topbot;":"\u2336","topcir;":"\u2AF1","Topf;":"\u{1D54B}","topf;":"\u{1D565}","topfork;":"\u2ADA","tosa;":"\u2929","tprime;":"\u2034","TRADE;":"\u2122","trade;":"\u2122","triangle;":"\u25B5","triangledown;":"\u25BF","triangleleft;":"\u25C3","trianglelefteq;":"\u22B4","triangleq;":"\u225C","triangleright;":"\u25B9","trianglerighteq;":"\u22B5","tridot;":"\u25EC","trie;":"\u225C","triminus;":"\u2A3A","TripleDot;":"\u20DB","triplus;":"\u2A39","trisb;":"\u29CD","tritime;":"\u2A3B","trpezium;":"\u23E2","Tscr;":"\u{1D4AF}","tscr;":"\u{1D4C9}","TScy;":"\u0426","tscy;":"\u0446","TSHcy;":"\u040B","tshcy;":"\u045B","Tstrok;":"\u0166","tstrok;":"\u0167","twixt;":"\u226C","twoheadleftarrow;":"\u219E","twoheadrightarrow;":"\u21A0","Uacute;":"\xDA",Uacute:"\xDA","uacute;":"\xFA",uacute:"\xFA","Uarr;":"\u219F","uArr;":"\u21D1","uarr;":"\u2191","Uarrocir;":"\u2949","Ubrcy;":"\u040E","ubrcy;":"\u045E","Ubreve;":"\u016C","ubreve;":"\u016D","Ucirc;":"\xDB",Ucirc:"\xDB","ucirc;":"\xFB",ucirc:"\xFB","Ucy;":"\u0423","ucy;":"\u0443","udarr;":"\u21C5","Udblac;":"\u0170","udblac;":"\u0171","udhar;":"\u296E","ufisht;":"\u297E","Ufr;":"\u{1D518}","ufr;":"\u{1D532}","Ugrave;":"\xD9",Ugrave:"\xD9","ugrave;":"\xF9",ugrave:"\xF9","uHar;":"\u2963","uharl;":"\u21BF","uharr;":"\u21BE","uhblk;":"\u2580","ulcorn;":"\u231C","ulcorner;":"\u231C","ulcrop;":"\u230F","ultri;":"\u25F8","Umacr;":"\u016A","umacr;":"\u016B","uml;":"\xA8",uml:"\xA8","UnderBar;":"_","UnderBrace;":"\u23DF","UnderBracket;":"\u23B5","UnderParenthesis;":"\u23DD","Union;":"\u22C3","UnionPlus;":"\u228E","Uogon;":"\u0172","uogon;":"\u0173","Uopf;":"\u{1D54C}","uopf;":"\u{1D566}","UpArrow;":"\u2191","Uparrow;":"\u21D1","uparrow;":"\u2191","UpArrowBar;":"\u2912","UpArrowDownArrow;":"\u21C5","UpDownArrow;":"\u2195","Updownarrow;":"\u21D5","updownarrow;":"\u2195","UpEquilibrium;":"\u296E","upharpoonleft;":"\u21BF","upharpoonright;":"\u21BE","uplus;":"\u228E","UpperLeftArrow;":"\u2196","UpperRightArrow;":"\u2197","Upsi;":"\u03D2","upsi;":"\u03C5","upsih;":"\u03D2","Upsilon;":"\u03A5","upsilon;":"\u03C5","UpTee;":"\u22A5","UpTeeArrow;":"\u21A5","upuparrows;":"\u21C8","urcorn;":"\u231D","urcorner;":"\u231D","urcrop;":"\u230E","Uring;":"\u016E","uring;":"\u016F","urtri;":"\u25F9","Uscr;":"\u{1D4B0}","uscr;":"\u{1D4CA}","utdot;":"\u22F0","Utilde;":"\u0168","utilde;":"\u0169","utri;":"\u25B5","utrif;":"\u25B4","uuarr;":"\u21C8","Uuml;":"\xDC",Uuml:"\xDC","uuml;":"\xFC",uuml:"\xFC","uwangle;":"\u29A7","vangrt;":"\u299C","varepsilon;":"\u03F5","varkappa;":"\u03F0","varnothing;":"\u2205","varphi;":"\u03D5","varpi;":"\u03D6","varpropto;":"\u221D","vArr;":"\u21D5","varr;":"\u2195","varrho;":"\u03F1","varsigma;":"\u03C2","varsubsetneq;":"\u228A\uFE00","varsubsetneqq;":"\u2ACB\uFE00","varsupsetneq;":"\u228B\uFE00","varsupsetneqq;":"\u2ACC\uFE00","vartheta;":"\u03D1","vartriangleleft;":"\u22B2","vartriangleright;":"\u22B3","Vbar;":"\u2AEB","vBar;":"\u2AE8","vBarv;":"\u2AE9","Vcy;":"\u0412","vcy;":"\u0432","VDash;":"\u22AB","Vdash;":"\u22A9","vDash;":"\u22A8","vdash;":"\u22A2","Vdashl;":"\u2AE6","Vee;":"\u22C1","vee;":"\u2228","veebar;":"\u22BB","veeeq;":"\u225A","vellip;":"\u22EE","Verbar;":"\u2016","verbar;":"|","Vert;":"\u2016","vert;":"|","VerticalBar;":"\u2223","VerticalLine;":"|","VerticalSeparator;":"\u2758","VerticalTilde;":"\u2240","VeryThinSpace;":"\u200A","Vfr;":"\u{1D519}","vfr;":"\u{1D533}","vltri;":"\u22B2","vnsub;":"\u2282\u20D2","vnsup;":"\u2283\u20D2","Vopf;":"\u{1D54D}","vopf;":"\u{1D567}","vprop;":"\u221D","vrtri;":"\u22B3","Vscr;":"\u{1D4B1}","vscr;":"\u{1D4CB}","vsubnE;":"\u2ACB\uFE00","vsubne;":"\u228A\uFE00","vsupnE;":"\u2ACC\uFE00","vsupne;":"\u228B\uFE00","Vvdash;":"\u22AA","vzigzag;":"\u299A","Wcirc;":"\u0174","wcirc;":"\u0175","wedbar;":"\u2A5F","Wedge;":"\u22C0","wedge;":"\u2227","wedgeq;":"\u2259","weierp;":"\u2118","Wfr;":"\u{1D51A}","wfr;":"\u{1D534}","Wopf;":"\u{1D54E}","wopf;":"\u{1D568}","wp;":"\u2118","wr;":"\u2240","wreath;":"\u2240","Wscr;":"\u{1D4B2}","wscr;":"\u{1D4CC}","xcap;":"\u22C2","xcirc;":"\u25EF","xcup;":"\u22C3","xdtri;":"\u25BD","Xfr;":"\u{1D51B}","xfr;":"\u{1D535}","xhArr;":"\u27FA","xharr;":"\u27F7","Xi;":"\u039E","xi;":"\u03BE","xlArr;":"\u27F8","xlarr;":"\u27F5","xmap;":"\u27FC","xnis;":"\u22FB","xodot;":"\u2A00","Xopf;":"\u{1D54F}","xopf;":"\u{1D569}","xoplus;":"\u2A01","xotime;":"\u2A02","xrArr;":"\u27F9","xrarr;":"\u27F6","Xscr;":"\u{1D4B3}","xscr;":"\u{1D4CD}","xsqcup;":"\u2A06","xuplus;":"\u2A04","xutri;":"\u25B3","xvee;":"\u22C1","xwedge;":"\u22C0","Yacute;":"\xDD",Yacute:"\xDD","yacute;":"\xFD",yacute:"\xFD","YAcy;":"\u042F","yacy;":"\u044F","Ycirc;":"\u0176","ycirc;":"\u0177","Ycy;":"\u042B","ycy;":"\u044B","yen;":"\xA5",yen:"\xA5","Yfr;":"\u{1D51C}","yfr;":"\u{1D536}","YIcy;":"\u0407","yicy;":"\u0457","Yopf;":"\u{1D550}","yopf;":"\u{1D56A}","Yscr;":"\u{1D4B4}","yscr;":"\u{1D4CE}","YUcy;":"\u042E","yucy;":"\u044E","Yuml;":"\u0178","yuml;":"\xFF",yuml:"\xFF","Zacute;":"\u0179","zacute;":"\u017A","Zcaron;":"\u017D","zcaron;":"\u017E","Zcy;":"\u0417","zcy;":"\u0437","Zdot;":"\u017B","zdot;":"\u017C","zeetrf;":"\u2128","ZeroWidthSpace;":"\u200B","Zeta;":"\u0396","zeta;":"\u03B6","Zfr;":"\u2128","zfr;":"\u{1D537}","ZHcy;":"\u0416","zhcy;":"\u0436","zigrarr;":"\u21DD","Zopf;":"\u2124","zopf;":"\u{1D56B}","Zscr;":"\u{1D4B5}","zscr;":"\u{1D4CF}","zwj;":"\u200D","zwnj;":"\u200C"};function Z(t,n){if(t.length0?t.lastIndexOf(n)===o:o===0?t===n:!1}function bt(t,n){let o="";for(;n>0;)(n&1)===1&&(o+=t),t+=t,n=n>>>1;return o}var Qn=97,Zn=122,Kn=65,ei=90,ti=48,ni=57;function re(t,n){let o=t.charCodeAt(n);return Qn<=o&&o<=Zn||Kn<=o&&o<=ei||ti<=o&&o<=ni}function de(t){return typeof t<"u"}function cn(t){if(t)return typeof t=="string"?{kind:"markdown",value:t}:{kind:"markdown",value:t.value}}var pe=class{isApplicable(){return!0}constructor(n,o){this.id=n,this._tags=[],this._tagMap={},this._valueSetMap={},this._tags=o.tags||[],this._globalAttributes=o.globalAttributes||[],this._tags.forEach(a=>{this._tagMap[a.name.toLowerCase()]=a}),o.valueSets&&o.valueSets.forEach(a=>{this._valueSetMap[a.name]=a.values})}getId(){return this.id}provideTags(){return this._tags}provideAttributes(n){let o=[],a=r=>{o.push(r)},e=this._tagMap[n.toLowerCase()];return e&&e.attributes.forEach(a),this._globalAttributes.forEach(a),o}provideValues(n,o){let a=[];o=o.toLowerCase();let e=u=>{u.forEach(c=>{c.name.toLowerCase()===o&&(c.values&&c.values.forEach(i=>{a.push(i)}),c.valueSet&&this._valueSetMap[c.valueSet]&&this._valueSetMap[c.valueSet].forEach(i=>{a.push(i)}))})},r=this._tagMap[n.toLowerCase()];return r&&e(r.attributes),e(this._globalAttributes),a}};function te(t,n={},o){let a={kind:o?"markdown":"plaintext",value:""};if(t.description&&n.documentation!==!1){let e=cn(t.description);e&&(a.value+=e.value)}if(t.references&&t.references.length>0&&n.references!==!1&&(a.value.length&&(a.value+=` + +`),o?a.value+=t.references.map(e=>`[${e.name}](${e.url})`).join(" | "):a.value+=t.references.map(e=>`${e.name}: ${e.url}`).join(` +`)),a.value!=="")return a}var Re=class{constructor(n,o){this.dataManager=n,this.readDirectory=o,this.atributeCompletions=[]}onHtmlAttributeValue(n){this.dataManager.isPathAttribute(n.tag,n.attribute)&&this.atributeCompletions.push(n)}async computeCompletions(n,o){let a={items:[],isIncomplete:!1};for(let e of this.atributeCompletions){let r=ai(n.getText(e.range));if(oi(r))if(r==="."||r==="..")a.isIncomplete=!0;else{let u=si(e.value,r,e.range),c=await this.providePathSuggestions(e.value,u,n,o);for(let i of c)a.items.push(i)}}return a}async providePathSuggestions(n,o,a,e){let r=n.substring(0,n.lastIndexOf("/")+1),u=e.resolveReference(r||".",a.uri);if(u)try{let c=[],i=await this.readDirectory(u);for(let[s,l]of i)s.charCodeAt(0)!==ri&&c.push(li(s,l===Ee.Directory,o));return c}catch{}return[]}},ri=46;function ai(t){return Z(t,"'")||Z(t,'"')?t.slice(1,-1):t}function oi(t){return!(Z(t,"http")||Z(t,"https")||Z(t,"//"))}function si(t,n,o){let a,e=t.lastIndexOf("/");if(e===-1)a=ui(o,1,-1);else{let r=n.slice(e+1),u=ye(o.end,-1-r.length),c=r.indexOf(" "),i;c!==-1?i=ye(u,c):i=ye(o.end,-1),a=W.create(u,i)}return a}function li(t,n,o){return n?(t=t+"/",{label:t,kind:$.Folder,textEdit:G.replace(o,t),command:{title:"Suggest",command:"editor.action.triggerSuggest"}}):{label:t,kind:$.File,textEdit:G.replace(o,t)}}function ye(t,n){return q.create(t.line,t.character+n)}function ui(t,n,o){let a=ye(t.start,n),e=ye(t.end,o);return W.create(a,e)}var ze=class{constructor(n,o){this.lsOptions=n,this.dataManager=o,this.completionParticipants=[]}setCompletionParticipants(n){this.completionParticipants=n||[]}async doComplete2(n,o,a,e,r){if(!this.lsOptions.fileSystemProvider||!this.lsOptions.fileSystemProvider.readDirectory)return this.doComplete(n,o,a,r);let u=new Re(this.dataManager,this.lsOptions.fileSystemProvider.readDirectory),c=this.completionParticipants;this.completionParticipants=[u].concat(c);let i=this.doComplete(n,o,a,r);try{let s=await u.computeCompletions(n,e);return{isIncomplete:i.isIncomplete||s.isIncomplete,items:s.items.concat(i.items)}}finally{this.completionParticipants=c}}doComplete(n,o,a,e){let r=this._doComplete(n,o,a,e);return this.convertCompletionList(r)}_doComplete(n,o,a,e){let r={isIncomplete:!1,items:[]},u=this.completionParticipants,c=this.dataManager.getDataProviders().filter(k=>k.isApplicable(n.languageId)&&(!e||e[k.getId()]!==!1)),i=this.dataManager.getVoidElements(c),s=this.doesSupportMarkdown(),l=n.getText(),h=n.offsetAt(o),p=a.findNodeBefore(h);if(!p)return r;let m=V(l,p.start),A="",b;function D(k,x=h){return k>h&&(k=h),{start:n.positionAt(k),end:n.positionAt(x)}}function T(k,x){let M=D(k,x);return c.forEach(B=>{B.provideTags().forEach(O=>{r.items.push({label:O.name,kind:$.Property,documentation:te(O,void 0,s),textEdit:G.replace(M,O.name),insertTextFormat:X.PlainText})})}),r}function y(k){let x=k;for(;x>0;){let M=l.charAt(x-1);if(` +\r`.indexOf(M)>=0)return l.substring(x,k);if(!He(M))return null;x--}return l.substring(0,k)}function L(k,x,M=h){let B=D(k,M),O=hn(l,M,H.WithinEndTag,S.EndTagClose)?"":">",z=p;for(x&&(z=z.parent);z;){let U=z.tag;if(U&&(!z.closed||z.endTagStart&&z.endTagStart>h)){let P={label:"/"+U,kind:$.Property,filterText:"/"+U,textEdit:G.replace(B,"/"+U+O),insertTextFormat:X.PlainText},j=y(z.start),K=y(k-1);if(j!==null&&K!==null&&j!==K){let ae=j+"{U.provideTags().forEach(P=>{r.items.push({label:"/"+P.name,kind:$.Property,documentation:te(P,void 0,s),filterText:"/"+P.name+O,textEdit:G.replace(B,"/"+P.name+O),insertTextFormat:X.PlainText})})}),r}let I=(k,x)=>{if(e&&e.hideAutoCompleteProposals)return r;if(!this.dataManager.isVoidElement(x,i)){let M=n.positionAt(k);r.items.push({label:"",kind:$.Property,filterText:"",textEdit:G.insert(M,"$0"),insertTextFormat:X.Snippet})}return r};function N(k,x){return T(k,x),L(k,!0,x),r}function F(){let k=Object.create(null);return p.attributeNames.forEach(x=>{k[x]=!0}),k}function f(k,x=h){let M=h;for(;M{P.provideAttributes(A).forEach(j=>{if(U[j.name])return;U[j.name]=!0;let K=j.name,ae;j.valueSet!=="v"&&z.length&&(K=K+z,(j.valueSet||j.name==="style")&&(ae={title:"Suggest",command:"editor.action.triggerSuggest"})),r.items.push({label:j.name,kind:j.valueSet==="handler"?$.Function:$.Value,documentation:te(j,void 0,s),textEdit:G.replace(O,K),insertTextFormat:X.Snippet,command:ae})})}),d(O,U),r}function d(k,x){let M="data-",B={};B[M]=`${M}$1="$2"`;function O(z){z.attributeNames.forEach(U=>{Z(U,M)&&!B[U]&&!x[U]&&(B[U]=U+'="$1"')}),z.children.forEach(U=>O(U))}a&&a.roots.forEach(z=>O(z)),Object.keys(B).forEach(z=>r.items.push({label:z,kind:$.Value,textEdit:G.replace(k,B[z]),insertTextFormat:X.Snippet}))}function g(k,x=h){let M,B,O;if(h>k&&h<=x&&ci(l[k])){let z=k+1,U=x;x>k&&l[x-1]===l[k]&&U--;let P=hi(l,h,z),j=di(l,h,U);M=D(P,j),O=h>=z&&h<=U?l.substring(z,h):"",B=!1}else M=D(k,x),O=l.substring(k,h),B=!0;if(u.length>0){let z=A.toLowerCase(),U=b.toLowerCase(),P=D(k,x);for(let j of u)j.onHtmlAttributeValue&&j.onHtmlAttributeValue({document:n,position:o,tag:z,attribute:U,value:O,range:P})}return c.forEach(z=>{z.provideValues(A,b).forEach(U=>{let P=B?'"'+U.name+'"':U.name;r.items.push({label:U.name,filterText:P,kind:$.Unit,documentation:te(U,void 0,s),textEdit:G.replace(M,P),insertTextFormat:X.PlainText})})}),_(),r}function R(k){return h===m.getTokenEnd()&&(E=m.scan(),E===k&&m.getTokenOffset()===h)?m.getTokenEnd():h}function v(){for(let k of u)k.onHtmlContent&&k.onHtmlContent({document:n,position:o});return _()}function _(){let k=h-1,x=o.character;for(;k>=0&&re(l,k);)k--,x--;if(k>=0&&l[k]==="&"){let M=W.create(q.create(o.line,x-1),o);for(let B in ie)if(un(B,";")){let O="&"+B;r.items.push({label:O,kind:$.Keyword,documentation:J("Character entity representing '{0}'",ie[B]),textEdit:G.replace(M,O),insertTextFormat:X.PlainText})}}return r}function C(k,x){let M=D(k,x);r.items.push({label:"!DOCTYPE",kind:$.Property,documentation:"A preamble for an HTML document.",textEdit:G.replace(M,"!DOCTYPE html>"),insertTextFormat:X.PlainText})}let E=m.scan();for(;E!==S.EOS&&m.getTokenOffset()<=h;){switch(E){case S.StartTagOpen:if(m.getTokenEnd()===h){let k=R(S.StartTag);return o.line===0&&C(h,k),N(h,k)}break;case S.StartTag:if(m.getTokenOffset()<=h&&h<=m.getTokenEnd())return T(m.getTokenOffset(),m.getTokenEnd());A=m.getTokenText();break;case S.AttributeName:if(m.getTokenOffset()<=h&&h<=m.getTokenEnd())return f(m.getTokenOffset(),m.getTokenEnd());b=m.getTokenText();break;case S.DelimiterAssign:if(m.getTokenEnd()===h){let k=R(S.AttributeValue);return g(h,k)}break;case S.AttributeValue:if(m.getTokenOffset()<=h&&h<=m.getTokenEnd())return g(m.getTokenOffset(),m.getTokenEnd());break;case S.Whitespace:if(h<=m.getTokenEnd())switch(m.getScannerState()){case H.AfterOpeningStartTag:let k=m.getTokenOffset(),x=R(S.StartTag);return N(k,x);case H.WithinTag:case H.AfterAttributeName:return f(m.getTokenEnd());case H.BeforeAttributeValue:return g(m.getTokenEnd());case H.AfterOpeningEndTag:return L(m.getTokenOffset()-1,!1);case H.WithinContent:return v()}break;case S.EndTagOpen:if(h<=m.getTokenEnd()){let k=m.getTokenOffset()+1,x=R(S.EndTag);return L(k,!1,x)}break;case S.EndTag:if(h<=m.getTokenEnd()){let k=m.getTokenOffset()-1;for(;k>=0;){let x=l.charAt(k);if(x==="/")return L(k,!1,m.getTokenEnd());if(!He(x))break;k--}}break;case S.StartTagClose:if(h<=m.getTokenEnd()&&A)return I(m.getTokenEnd(),A);break;case S.Content:if(h<=m.getTokenEnd())return v();break;default:if(h<=m.getTokenEnd())return r;break}E=m.scan()}return r}doQuoteComplete(n,o,a,e){let r=n.offsetAt(o);if(r<=0)return null;let u=e?.attributeDefaultValue??"doublequotes";if(u==="empty"||n.getText().charAt(r-1)!=="=")return null;let i=u==="doublequotes"?'"$1"':"'$1'",s=a.findNodeBefore(r);if(s&&s.attributes&&s.startr)){let l=V(n.getText(),s.start),h=l.scan();for(;h!==S.EOS&&l.getTokenEnd()<=r;){if(h===S.AttributeName&&l.getTokenEnd()===r-1)return h=l.scan(),h!==S.DelimiterAssign||(h=l.scan(),h===S.Unknown||h===S.AttributeValue)?null:i;h=l.scan()}}return null}doTagComplete(n,o,a){let e=n.offsetAt(o);if(e<=0)return null;let r=n.getText().charAt(e-1);if(r===">"){let u=this.dataManager.getVoidElements(n.languageId),c=a.findNodeBefore(e);if(c&&c.tag&&!this.dataManager.isVoidElement(c.tag,u)&&c.starte)){let i=V(n.getText(),c.start),s=i.scan();for(;s!==S.EOS&&i.getTokenEnd()<=e;){if(s===S.StartTagClose&&i.getTokenEnd()===e)return`$0`;s=i.scan()}}}else if(r==="/"){let u=a.findNodeBefore(e);for(;u&&u.closed&&!(u.endTagStart&&u.endTagStart>e);)u=u.parent;if(u&&u.tag){let c=V(n.getText(),u.start),i=c.scan();for(;i!==S.EOS&&c.getTokenEnd()<=e;){if(i===S.EndTagOpen&&c.getTokenEnd()===e)return n.getText().charAt(e)!==">"?`${u.tag}>`:u.tag;i=c.scan()}}}return null}convertCompletionList(n){return this.doesSupportMarkdown()||n.items.forEach(o=>{o.documentation&&typeof o.documentation!="string"&&(o.documentation={kind:"plaintext",value:o.documentation.value})}),n}doesSupportMarkdown(){if(!de(this.supportsMarkdown)){if(!de(this.lsOptions.clientCapabilities))return this.supportsMarkdown=!0,this.supportsMarkdown;let n=this.lsOptions.clientCapabilities.textDocument?.completion?.completionItem?.documentationFormat;this.supportsMarkdown=Array.isArray(n)&&n.indexOf(Q.Markdown)!==-1}return this.supportsMarkdown}};function ci(t){return/^["']*$/.test(t)}function He(t){return/^\s*$/.test(t)}function hn(t,n,o,a){let e=V(t,n,o),r=e.scan();for(;r===S.Whitespace;)r=e.scan();return r===a}function hi(t,n,o){for(;n>o&&!He(t[n-1]);)n--;return n}function di(t,n,o){for(;nf.isApplicable(n.languageId));function h(f,d,g){for(let R of l){let v=null;if(R.provideTags().forEach(_=>{if(_.name.toLowerCase()===f.toLowerCase()){let C=te(_,e,u);C||(C={kind:u?"markdown":"plaintext",value:""}),v={contents:C,range:d}}}),v)return v.contents=r(v.contents),v}return null}function p(f,d,g){for(let R of l){let v=null;if(R.provideAttributes(f).forEach(_=>{if(d===_.name&&_.description){let C=te(_,e,u);C?v={contents:C,range:g}:v=null}}),v)return v.contents=r(v.contents),v}return null}function m(f,d,g,R){for(let v of l){let _=null;if(v.provideValues(f,d).forEach(C=>{if(g===C.name&&C.description){let E=te(C,e,u);E?_={contents:E,range:R}:_=null}}),_)return _.contents=r(_.contents),_}return null}function A(f,d){let g=T(f);for(let R in ie){let v=null,_="&"+R;if(g===_){let C=ie[R].charCodeAt(0).toString(16).toUpperCase(),E="U+";if(C.length<4){let x=4-C.length,M=0;for(;M=0&&re(s,f);)f--,d--;let g=f+1,R=d;for(;re(s,g);)g++,R++;if(f>=0&&s[f]==="&"){let v=null;return s[g]===";"?v=W.create(q.create(o.line,d),q.create(o.line,R+1)):v=W.create(q.create(o.line,d),q.create(o.line,R)),v}return null}function T(f){let d=c-1,g="&";for(;d>=0&&re(f,d);)d--;for(d=d+1;re(f,d);)g+=f[d],d+=1;return g+=";",g}if(i.endTagStart&&c>=i.endTagStart){let f=b(S.EndTag,i.endTagStart);return f?h(i.tag,f,!1):null}let y=b(S.StartTag,i.start);if(y)return h(i.tag,y,!0);let L=b(S.AttributeName,i.start);if(L){let f=i.tag,d=n.getText(L);return p(f,d,L)}let I=D();if(I)return A(s,I);function N(f,d){let g=V(n.getText(),f),R=g.scan(),v;for(;R!==S.EOS&&g.getTokenEnd()<=d;)R=g.scan(),R===S.AttributeName&&(v=g.getTokenText());return v}let F=b(S.AttributeValue,i.start);if(F){let f=i.tag,d=pi(n.getText(F)),g=N(i.start,n.offsetAt(F.start));if(g)return m(f,g,d,F)}return null}convertContents(n){if(!this.doesSupportMarkdown()){if(typeof n=="string")return n;if("kind"in n)return{kind:"plaintext",value:n.value};if(Array.isArray(n))n.map(o=>typeof o=="string"?o:o.value);else return n.value}return n}doesSupportMarkdown(){if(!de(this.supportsMarkdown)){if(!de(this.lsOptions.clientCapabilities))return this.supportsMarkdown=!0,this.supportsMarkdown;let n=this.lsOptions.clientCapabilities?.textDocument?.hover?.contentFormat;this.supportsMarkdown=Array.isArray(n)&&n.indexOf(Q.Markdown)!==-1}return this.supportsMarkdown}};function pi(t){return t.length<=1?t.replace(/['"]/,""):((t[0]==="'"||t[0]==='"')&&(t=t.slice(1)),(t[t.length-1]==="'"||t[t.length-1]==='"')&&(t=t.slice(0,-1)),t)}function dn(t,n){return t}var pn;(function(){"use strict";var t=[,,function(e){function r(i){this.__parent=i,this.__character_count=0,this.__indent_count=-1,this.__alignment_count=0,this.__wrap_point_index=0,this.__wrap_point_character_count=0,this.__wrap_point_indent_count=-1,this.__wrap_point_alignment_count=0,this.__items=[]}r.prototype.clone_empty=function(){var i=new r(this.__parent);return i.set_indent(this.__indent_count,this.__alignment_count),i},r.prototype.item=function(i){return i<0?this.__items[this.__items.length+i]:this.__items[i]},r.prototype.has_match=function(i){for(var s=this.__items.length-1;s>=0;s--)if(this.__items[s].match(i))return!0;return!1},r.prototype.set_indent=function(i,s){this.is_empty()&&(this.__indent_count=i||0,this.__alignment_count=s||0,this.__character_count=this.__parent.get_indent_size(this.__indent_count,this.__alignment_count))},r.prototype._set_wrap_point=function(){this.__parent.wrap_line_length&&(this.__wrap_point_index=this.__items.length,this.__wrap_point_character_count=this.__character_count,this.__wrap_point_indent_count=this.__parent.next_line.__indent_count,this.__wrap_point_alignment_count=this.__parent.next_line.__alignment_count)},r.prototype._should_wrap=function(){return this.__wrap_point_index&&this.__character_count>this.__parent.wrap_line_length&&this.__wrap_point_character_count>this.__parent.next_line.__character_count},r.prototype._allow_wrap=function(){if(this._should_wrap()){this.__parent.add_new_line();var i=this.__parent.current_line;return i.set_indent(this.__wrap_point_indent_count,this.__wrap_point_alignment_count),i.__items=this.__items.slice(this.__wrap_point_index),this.__items=this.__items.slice(0,this.__wrap_point_index),i.__character_count+=this.__character_count-this.__wrap_point_character_count,this.__character_count=this.__wrap_point_character_count,i.__items[0]===" "&&(i.__items.splice(0,1),i.__character_count-=1),!0}return!1},r.prototype.is_empty=function(){return this.__items.length===0},r.prototype.last=function(){return this.is_empty()?null:this.__items[this.__items.length-1]},r.prototype.push=function(i){this.__items.push(i);var s=i.lastIndexOf(` +`);s!==-1?this.__character_count=i.length-s:this.__character_count+=i.length},r.prototype.pop=function(){var i=null;return this.is_empty()||(i=this.__items.pop(),this.__character_count-=i.length),i},r.prototype._remove_indent=function(){this.__indent_count>0&&(this.__indent_count-=1,this.__character_count-=this.__parent.indent_size)},r.prototype._remove_wrap_indent=function(){this.__wrap_point_indent_count>0&&(this.__wrap_point_indent_count-=1)},r.prototype.trim=function(){for(;this.last()===" ";)this.__items.pop(),this.__character_count-=1},r.prototype.toString=function(){var i="";return this.is_empty()?this.__parent.indent_empty_lines&&(i=this.__parent.get_indent_string(this.__indent_count)):(i=this.__parent.get_indent_string(this.__indent_count,this.__alignment_count),i+=this.__items.join("")),i};function u(i,s){this.__cache=[""],this.__indent_size=i.indent_size,this.__indent_string=i.indent_char,i.indent_with_tabs||(this.__indent_string=new Array(i.indent_size+1).join(i.indent_char)),s=s||"",i.indent_level>0&&(s=new Array(i.indent_level+1).join(this.__indent_string)),this.__base_string=s,this.__base_string_length=s.length}u.prototype.get_indent_size=function(i,s){var l=this.__base_string_length;return s=s||0,i<0&&(l=0),l+=i*this.__indent_size,l+=s,l},u.prototype.get_indent_string=function(i,s){var l=this.__base_string;return s=s||0,i<0&&(i=0,l=""),s+=i*this.__indent_size,this.__ensure_cache(s),l+=this.__cache[s],l},u.prototype.__ensure_cache=function(i){for(;i>=this.__cache.length;)this.__add_column()},u.prototype.__add_column=function(){var i=this.__cache.length,s=0,l="";this.__indent_size&&i>=this.__indent_size&&(s=Math.floor(i/this.__indent_size),i-=s*this.__indent_size,l=new Array(s+1).join(this.__indent_string)),i&&(l+=new Array(i+1).join(" ")),this.__cache.push(l)};function c(i,s){this.__indent_cache=new u(i,s),this.raw=!1,this._end_with_newline=i.end_with_newline,this.indent_size=i.indent_size,this.wrap_line_length=i.wrap_line_length,this.indent_empty_lines=i.indent_empty_lines,this.__lines=[],this.previous_line=null,this.current_line=null,this.next_line=new r(this),this.space_before_token=!1,this.non_breaking_space=!1,this.previous_token_wrapped=!1,this.__add_outputline()}c.prototype.__add_outputline=function(){this.previous_line=this.current_line,this.current_line=this.next_line.clone_empty(),this.__lines.push(this.current_line)},c.prototype.get_line_number=function(){return this.__lines.length},c.prototype.get_indent_string=function(i,s){return this.__indent_cache.get_indent_string(i,s)},c.prototype.get_indent_size=function(i,s){return this.__indent_cache.get_indent_size(i,s)},c.prototype.is_empty=function(){return!this.previous_line&&this.current_line.is_empty()},c.prototype.add_new_line=function(i){return this.is_empty()||!i&&this.just_added_newline()?!1:(this.raw||this.__add_outputline(),!0)},c.prototype.get_code=function(i){this.trim(!0);var s=this.current_line.pop();s&&(s[s.length-1]===` +`&&(s=s.replace(/\n+$/g,"")),this.current_line.push(s)),this._end_with_newline&&this.__add_outputline();var l=this.__lines.join(` +`);return i!==` +`&&(l=l.replace(/[\n]/g,i)),l},c.prototype.set_wrap_point=function(){this.current_line._set_wrap_point()},c.prototype.set_indent=function(i,s){return i=i||0,s=s||0,this.next_line.set_indent(i,s),this.__lines.length>1?(this.current_line.set_indent(i,s),!0):(this.current_line.set_indent(),!1)},c.prototype.add_raw_token=function(i){for(var s=0;s1&&this.current_line.is_empty();)this.__lines.pop(),this.current_line=this.__lines[this.__lines.length-1],this.current_line.trim();this.previous_line=this.__lines.length>1?this.__lines[this.__lines.length-2]:null},c.prototype.just_added_newline=function(){return this.current_line.is_empty()},c.prototype.just_added_blankline=function(){return this.is_empty()||this.current_line.is_empty()&&this.previous_line.is_empty()},c.prototype.ensure_empty_line_above=function(i,s){for(var l=this.__lines.length-2;l>=0;){var h=this.__lines[l];if(h.is_empty())break;if(h.item(0).indexOf(i)!==0&&h.item(-1)!==s){this.__lines.splice(l+1,0,new r(this)),this.previous_line=this.__lines[this.__lines.length-2];break}l--}},e.exports.Output=c},,,,function(e){function r(i,s){this.raw_options=u(i,s),this.disabled=this._get_boolean("disabled"),this.eol=this._get_characters("eol","auto"),this.end_with_newline=this._get_boolean("end_with_newline"),this.indent_size=this._get_number("indent_size",4),this.indent_char=this._get_characters("indent_char"," "),this.indent_level=this._get_number("indent_level"),this.preserve_newlines=this._get_boolean("preserve_newlines",!0),this.max_preserve_newlines=this._get_number("max_preserve_newlines",32786),this.preserve_newlines||(this.max_preserve_newlines=0),this.indent_with_tabs=this._get_boolean("indent_with_tabs",this.indent_char===" "),this.indent_with_tabs&&(this.indent_char=" ",this.indent_size===1&&(this.indent_size=4)),this.wrap_line_length=this._get_number("wrap_line_length",this._get_number("max_char")),this.indent_empty_lines=this._get_boolean("indent_empty_lines"),this.templating=this._get_selection_list("templating",["auto","none","angular","django","erb","handlebars","php","smarty"],["auto"])}r.prototype._get_array=function(i,s){var l=this.raw_options[i],h=s||[];return typeof l=="object"?l!==null&&typeof l.concat=="function"&&(h=l.concat()):typeof l=="string"&&(h=l.split(/[^a-zA-Z0-9_\/\-]+/)),h},r.prototype._get_boolean=function(i,s){var l=this.raw_options[i],h=l===void 0?!!s:!!l;return h},r.prototype._get_characters=function(i,s){var l=this.raw_options[i],h=s||"";return typeof l=="string"&&(h=l.replace(/\\r/,"\r").replace(/\\n/,` +`).replace(/\\t/," ")),h},r.prototype._get_number=function(i,s){var l=this.raw_options[i];s=parseInt(s,10),isNaN(s)&&(s=0);var h=parseInt(l,10);return isNaN(h)&&(h=s),h},r.prototype._get_selection=function(i,s,l){var h=this._get_selection_list(i,s,l);if(h.length!==1)throw new Error("Invalid Option Value: The option '"+i+`' can only be one of the following values: +`+s+` +You passed in: '`+this.raw_options[i]+"'");return h[0]},r.prototype._get_selection_list=function(i,s,l){if(!s||s.length===0)throw new Error("Selection list cannot be empty.");if(l=l||[s[0]],!this._is_valid_selection(l,s))throw new Error("Invalid Default Value!");var h=this._get_array(i,l);if(!this._is_valid_selection(h,s))throw new Error("Invalid Option Value: The option '"+i+`' can contain only the following values: +`+s+` +You passed in: '`+this.raw_options[i]+"'");return h},r.prototype._is_valid_selection=function(i,s){return i.length&&s.length&&!i.some(function(l){return s.indexOf(l)===-1})};function u(i,s){var l={};i=c(i);var h;for(h in i)h!==s&&(l[h]=i[h]);if(s&&i[s])for(h in i[s])l[h]=i[s][h];return l}function c(i){var s={},l;for(l in i){var h=l.replace(/-/g,"_");s[h]=i[l]}return s}e.exports.Options=r,e.exports.normalizeOpts=c,e.exports.mergeOpts=u},,function(e){var r=RegExp.prototype.hasOwnProperty("sticky");function u(c){this.__input=c||"",this.__input_length=this.__input.length,this.__position=0}u.prototype.restart=function(){this.__position=0},u.prototype.back=function(){this.__position>0&&(this.__position-=1)},u.prototype.hasNext=function(){return this.__position=0&&c=0&&i=c.length&&this.__input.substring(i-c.length,i).toLowerCase()===c},e.exports.InputScanner=u},,,,,function(e){function r(u,c){u=typeof u=="string"?u:u.source,c=typeof c=="string"?c:c.source,this.__directives_block_pattern=new RegExp(u+/ beautify( \w+[:]\w+)+ /.source+c,"g"),this.__directive_pattern=/ (\w+)[:](\w+)/g,this.__directives_end_ignore_pattern=new RegExp(u+/\sbeautify\signore:end\s/.source+c,"g")}r.prototype.get_directives=function(u){if(!u.match(this.__directives_block_pattern))return null;var c={};this.__directive_pattern.lastIndex=0;for(var i=this.__directive_pattern.exec(u);i;)c[i[1]]=i[2],i=this.__directive_pattern.exec(u);return c},r.prototype.readIgnored=function(u){return u.readUntilAfter(this.__directives_end_ignore_pattern)},e.exports.Directives=r},,function(e,r,u){var c=u(16).Beautifier,i=u(17).Options;function s(l,h){var p=new c(l,h);return p.beautify()}e.exports=s,e.exports.defaultOptions=function(){return new i}},function(e,r,u){var c=u(17).Options,i=u(2).Output,s=u(8).InputScanner,l=u(13).Directives,h=new l(/\/\*/,/\*\//),p=/\r\n|[\r\n]/,m=/\r\n|[\r\n]/g,A=/\s/,b=/(?:\s|\n)+/g,D=/\/\*(?:[\s\S]*?)((?:\*\/)|$)/g,T=/\/\/(?:[^\n\r\u2028\u2029]*)/g;function y(L,I){this._source_text=L||"",this._options=new c(I),this._ch=null,this._input=null,this.NESTED_AT_RULE={page:!0,"font-face":!0,keyframes:!0,media:!0,supports:!0,document:!0},this.CONDITIONAL_GROUP_RULE={media:!0,supports:!0,document:!0},this.NON_SEMICOLON_NEWLINE_PROPERTY=["grid-template-areas","grid-template"]}y.prototype.eatString=function(L){var I="";for(this._ch=this._input.next();this._ch;){if(I+=this._ch,this._ch==="\\")I+=this._input.next();else if(L.indexOf(this._ch)!==-1||this._ch===` +`)break;this._ch=this._input.next()}return I},y.prototype.eatWhitespace=function(L){for(var I=A.test(this._input.peek()),N=0;A.test(this._input.peek());)this._ch=this._input.next(),L&&this._ch===` +`&&(N===0||N0&&this._indentLevel--},y.prototype.beautify=function(){if(this._options.disabled)return this._source_text;var L=this._source_text,I=this._options.eol;I==="auto"&&(I=` +`,L&&p.test(L||"")&&(I=L.match(p)[0])),L=L.replace(m,` +`);var N=L.match(/^[\t ]*/)[0];this._output=new i(this._options,N),this._input=new s(L),this._indentLevel=0,this._nestedLevel=0,this._ch=null;for(var F=0,f=!1,d=!1,g=!1,R=!1,v=!1,_=this._ch,C=!1,E,k,x;E=this._input.read(b),k=E!=="",x=_,this._ch=this._input.next(),this._ch==="\\"&&this._input.hasNext()&&(this._ch+=this._input.next()),_=this._ch,this._ch;)if(this._ch==="/"&&this._input.peek()==="*"){this._output.add_new_line(),this._input.back();var M=this._input.read(D),B=h.get_directives(M);B&&B.ignore==="start"&&(M+=h.readIgnored(this._input)),this.print_string(M),this.eatWhitespace(!0),this._output.add_new_line()}else if(this._ch==="/"&&this._input.peek()==="/")this._output.space_before_token=!0,this._input.back(),this.print_string(this._input.read(T)),this.eatWhitespace(!0);else if(this._ch==="$"){this.preserveSingleSpace(k),this.print_string(this._ch);var O=this._input.peekUntilAfter(/[: ,;{}()[\]\/='"]/g);O.match(/[ :]$/)&&(O=this.eatString(": ").replace(/\s+$/,""),this.print_string(O),this._output.space_before_token=!0),F===0&&O.indexOf(":")!==-1&&(d=!0,this.indent())}else if(this._ch==="@")if(this.preserveSingleSpace(k),this._input.peek()==="{")this.print_string(this._ch+this.eatString("}"));else{this.print_string(this._ch);var z=this._input.peekUntilAfter(/[: ,;{}()[\]\/='"]/g);z.match(/[ :]$/)&&(z=this.eatString(": ").replace(/\s+$/,""),this.print_string(z),this._output.space_before_token=!0),F===0&&z.indexOf(":")!==-1?(d=!0,this.indent()):z in this.NESTED_AT_RULE?(this._nestedLevel+=1,z in this.CONDITIONAL_GROUP_RULE&&(g=!0)):F===0&&!d&&(R=!0)}else if(this._ch==="#"&&this._input.peek()==="{")this.preserveSingleSpace(k),this.print_string(this._ch+this.eatString("}"));else if(this._ch==="{")d&&(d=!1,this.outdent()),R=!1,g?(g=!1,f=this._indentLevel>=this._nestedLevel):f=this._indentLevel>=this._nestedLevel-1,this._options.newline_between_rules&&f&&this._output.previous_line&&this._output.previous_line.item(-1)!=="{"&&this._output.ensure_empty_line_above("/",","),this._output.space_before_token=!0,this._options.brace_style==="expand"?(this._output.add_new_line(),this.print_string(this._ch),this.indent(),this._output.set_indent(this._indentLevel)):(x==="("?this._output.space_before_token=!1:x!==","&&this.indent(),this.print_string(this._ch)),this.eatWhitespace(!0),this._output.add_new_line();else if(this._ch==="}")this.outdent(),this._output.add_new_line(),x==="{"&&this._output.trim(!0),d&&(this.outdent(),d=!1),this.print_string(this._ch),f=!1,this._nestedLevel&&this._nestedLevel--,this.eatWhitespace(!0),this._output.add_new_line(),this._options.newline_between_rules&&!this._output.just_added_blankline()&&this._input.peek()!=="}"&&this._output.add_new_line(!0),this._input.peek()===")"&&(this._output.trim(!0),this._options.brace_style==="expand"&&this._output.add_new_line(!0));else if(this._ch===":"){for(var U=0;U"||this._ch==="+"||this._ch==="~")&&!d&&F===0)this._options.space_around_combinator?(this._output.space_before_token=!0,this.print_string(this._ch),this._output.space_before_token=!0):(this.print_string(this._ch),this.eatWhitespace(),this._ch&&A.test(this._ch)&&(this._ch=""));else if(this._ch==="]")this.print_string(this._ch);else if(this._ch==="[")this.preserveSingleSpace(k),this.print_string(this._ch);else if(this._ch==="=")this.eatWhitespace(),this.print_string("="),A.test(this._ch)&&(this._ch="");else if(this._ch==="!"&&!this._input.lookBack("\\"))this._output.space_before_token=!0,this.print_string(this._ch);else{var K=x==='"'||x==="'";this.preserveSingleSpace(K||k),this.print_string(this._ch),!this._output.just_added_newline()&&this._input.peek()===` +`&&C&&this._output.add_new_line()}var ae=this._output.get_code(I);return ae},e.exports.Beautifier=y},function(e,r,u){var c=u(6).Options;function i(s){c.call(this,s,"css"),this.selector_separator_newline=this._get_boolean("selector_separator_newline",!0),this.newline_between_rules=this._get_boolean("newline_between_rules",!0);var l=this._get_boolean("space_around_selector_separator");this.space_around_combinator=this._get_boolean("space_around_combinator")||l;var h=this._get_selection_list("brace_style",["collapse","expand","end-expand","none","preserve-inline"]);this.brace_style="collapse";for(var p=0;p=0;s--)if(this.__items[s].match(i))return!0;return!1},r.prototype.set_indent=function(i,s){this.is_empty()&&(this.__indent_count=i||0,this.__alignment_count=s||0,this.__character_count=this.__parent.get_indent_size(this.__indent_count,this.__alignment_count))},r.prototype._set_wrap_point=function(){this.__parent.wrap_line_length&&(this.__wrap_point_index=this.__items.length,this.__wrap_point_character_count=this.__character_count,this.__wrap_point_indent_count=this.__parent.next_line.__indent_count,this.__wrap_point_alignment_count=this.__parent.next_line.__alignment_count)},r.prototype._should_wrap=function(){return this.__wrap_point_index&&this.__character_count>this.__parent.wrap_line_length&&this.__wrap_point_character_count>this.__parent.next_line.__character_count},r.prototype._allow_wrap=function(){if(this._should_wrap()){this.__parent.add_new_line();var i=this.__parent.current_line;return i.set_indent(this.__wrap_point_indent_count,this.__wrap_point_alignment_count),i.__items=this.__items.slice(this.__wrap_point_index),this.__items=this.__items.slice(0,this.__wrap_point_index),i.__character_count+=this.__character_count-this.__wrap_point_character_count,this.__character_count=this.__wrap_point_character_count,i.__items[0]===" "&&(i.__items.splice(0,1),i.__character_count-=1),!0}return!1},r.prototype.is_empty=function(){return this.__items.length===0},r.prototype.last=function(){return this.is_empty()?null:this.__items[this.__items.length-1]},r.prototype.push=function(i){this.__items.push(i);var s=i.lastIndexOf(` +`);s!==-1?this.__character_count=i.length-s:this.__character_count+=i.length},r.prototype.pop=function(){var i=null;return this.is_empty()||(i=this.__items.pop(),this.__character_count-=i.length),i},r.prototype._remove_indent=function(){this.__indent_count>0&&(this.__indent_count-=1,this.__character_count-=this.__parent.indent_size)},r.prototype._remove_wrap_indent=function(){this.__wrap_point_indent_count>0&&(this.__wrap_point_indent_count-=1)},r.prototype.trim=function(){for(;this.last()===" ";)this.__items.pop(),this.__character_count-=1},r.prototype.toString=function(){var i="";return this.is_empty()?this.__parent.indent_empty_lines&&(i=this.__parent.get_indent_string(this.__indent_count)):(i=this.__parent.get_indent_string(this.__indent_count,this.__alignment_count),i+=this.__items.join("")),i};function u(i,s){this.__cache=[""],this.__indent_size=i.indent_size,this.__indent_string=i.indent_char,i.indent_with_tabs||(this.__indent_string=new Array(i.indent_size+1).join(i.indent_char)),s=s||"",i.indent_level>0&&(s=new Array(i.indent_level+1).join(this.__indent_string)),this.__base_string=s,this.__base_string_length=s.length}u.prototype.get_indent_size=function(i,s){var l=this.__base_string_length;return s=s||0,i<0&&(l=0),l+=i*this.__indent_size,l+=s,l},u.prototype.get_indent_string=function(i,s){var l=this.__base_string;return s=s||0,i<0&&(i=0,l=""),s+=i*this.__indent_size,this.__ensure_cache(s),l+=this.__cache[s],l},u.prototype.__ensure_cache=function(i){for(;i>=this.__cache.length;)this.__add_column()},u.prototype.__add_column=function(){var i=this.__cache.length,s=0,l="";this.__indent_size&&i>=this.__indent_size&&(s=Math.floor(i/this.__indent_size),i-=s*this.__indent_size,l=new Array(s+1).join(this.__indent_string)),i&&(l+=new Array(i+1).join(" ")),this.__cache.push(l)};function c(i,s){this.__indent_cache=new u(i,s),this.raw=!1,this._end_with_newline=i.end_with_newline,this.indent_size=i.indent_size,this.wrap_line_length=i.wrap_line_length,this.indent_empty_lines=i.indent_empty_lines,this.__lines=[],this.previous_line=null,this.current_line=null,this.next_line=new r(this),this.space_before_token=!1,this.non_breaking_space=!1,this.previous_token_wrapped=!1,this.__add_outputline()}c.prototype.__add_outputline=function(){this.previous_line=this.current_line,this.current_line=this.next_line.clone_empty(),this.__lines.push(this.current_line)},c.prototype.get_line_number=function(){return this.__lines.length},c.prototype.get_indent_string=function(i,s){return this.__indent_cache.get_indent_string(i,s)},c.prototype.get_indent_size=function(i,s){return this.__indent_cache.get_indent_size(i,s)},c.prototype.is_empty=function(){return!this.previous_line&&this.current_line.is_empty()},c.prototype.add_new_line=function(i){return this.is_empty()||!i&&this.just_added_newline()?!1:(this.raw||this.__add_outputline(),!0)},c.prototype.get_code=function(i){this.trim(!0);var s=this.current_line.pop();s&&(s[s.length-1]===` +`&&(s=s.replace(/\n+$/g,"")),this.current_line.push(s)),this._end_with_newline&&this.__add_outputline();var l=this.__lines.join(` +`);return i!==` +`&&(l=l.replace(/[\n]/g,i)),l},c.prototype.set_wrap_point=function(){this.current_line._set_wrap_point()},c.prototype.set_indent=function(i,s){return i=i||0,s=s||0,this.next_line.set_indent(i,s),this.__lines.length>1?(this.current_line.set_indent(i,s),!0):(this.current_line.set_indent(),!1)},c.prototype.add_raw_token=function(i){for(var s=0;s1&&this.current_line.is_empty();)this.__lines.pop(),this.current_line=this.__lines[this.__lines.length-1],this.current_line.trim();this.previous_line=this.__lines.length>1?this.__lines[this.__lines.length-2]:null},c.prototype.just_added_newline=function(){return this.current_line.is_empty()},c.prototype.just_added_blankline=function(){return this.is_empty()||this.current_line.is_empty()&&this.previous_line.is_empty()},c.prototype.ensure_empty_line_above=function(i,s){for(var l=this.__lines.length-2;l>=0;){var h=this.__lines[l];if(h.is_empty())break;if(h.item(0).indexOf(i)!==0&&h.item(-1)!==s){this.__lines.splice(l+1,0,new r(this)),this.previous_line=this.__lines[this.__lines.length-2];break}l--}},e.exports.Output=c},function(e){function r(u,c,i,s){this.type=u,this.text=c,this.comments_before=null,this.newlines=i||0,this.whitespace_before=s||"",this.parent=null,this.next=null,this.previous=null,this.opened=null,this.closed=null,this.directives=null}e.exports.Token=r},,,function(e){function r(i,s){this.raw_options=u(i,s),this.disabled=this._get_boolean("disabled"),this.eol=this._get_characters("eol","auto"),this.end_with_newline=this._get_boolean("end_with_newline"),this.indent_size=this._get_number("indent_size",4),this.indent_char=this._get_characters("indent_char"," "),this.indent_level=this._get_number("indent_level"),this.preserve_newlines=this._get_boolean("preserve_newlines",!0),this.max_preserve_newlines=this._get_number("max_preserve_newlines",32786),this.preserve_newlines||(this.max_preserve_newlines=0),this.indent_with_tabs=this._get_boolean("indent_with_tabs",this.indent_char===" "),this.indent_with_tabs&&(this.indent_char=" ",this.indent_size===1&&(this.indent_size=4)),this.wrap_line_length=this._get_number("wrap_line_length",this._get_number("max_char")),this.indent_empty_lines=this._get_boolean("indent_empty_lines"),this.templating=this._get_selection_list("templating",["auto","none","angular","django","erb","handlebars","php","smarty"],["auto"])}r.prototype._get_array=function(i,s){var l=this.raw_options[i],h=s||[];return typeof l=="object"?l!==null&&typeof l.concat=="function"&&(h=l.concat()):typeof l=="string"&&(h=l.split(/[^a-zA-Z0-9_\/\-]+/)),h},r.prototype._get_boolean=function(i,s){var l=this.raw_options[i],h=l===void 0?!!s:!!l;return h},r.prototype._get_characters=function(i,s){var l=this.raw_options[i],h=s||"";return typeof l=="string"&&(h=l.replace(/\\r/,"\r").replace(/\\n/,` +`).replace(/\\t/," ")),h},r.prototype._get_number=function(i,s){var l=this.raw_options[i];s=parseInt(s,10),isNaN(s)&&(s=0);var h=parseInt(l,10);return isNaN(h)&&(h=s),h},r.prototype._get_selection=function(i,s,l){var h=this._get_selection_list(i,s,l);if(h.length!==1)throw new Error("Invalid Option Value: The option '"+i+`' can only be one of the following values: +`+s+` +You passed in: '`+this.raw_options[i]+"'");return h[0]},r.prototype._get_selection_list=function(i,s,l){if(!s||s.length===0)throw new Error("Selection list cannot be empty.");if(l=l||[s[0]],!this._is_valid_selection(l,s))throw new Error("Invalid Default Value!");var h=this._get_array(i,l);if(!this._is_valid_selection(h,s))throw new Error("Invalid Option Value: The option '"+i+`' can contain only the following values: +`+s+` +You passed in: '`+this.raw_options[i]+"'");return h},r.prototype._is_valid_selection=function(i,s){return i.length&&s.length&&!i.some(function(l){return s.indexOf(l)===-1})};function u(i,s){var l={};i=c(i);var h;for(h in i)h!==s&&(l[h]=i[h]);if(s&&i[s])for(h in i[s])l[h]=i[s][h];return l}function c(i){var s={},l;for(l in i){var h=l.replace(/-/g,"_");s[h]=i[l]}return s}e.exports.Options=r,e.exports.normalizeOpts=c,e.exports.mergeOpts=u},,function(e){var r=RegExp.prototype.hasOwnProperty("sticky");function u(c){this.__input=c||"",this.__input_length=this.__input.length,this.__position=0}u.prototype.restart=function(){this.__position=0},u.prototype.back=function(){this.__position>0&&(this.__position-=1)},u.prototype.hasNext=function(){return this.__position=0&&c=0&&i=c.length&&this.__input.substring(i-c.length,i).toLowerCase()===c},e.exports.InputScanner=u},function(e,r,u){var c=u(8).InputScanner,i=u(3).Token,s=u(10).TokenStream,l=u(11).WhitespacePattern,h={START:"TK_START",RAW:"TK_RAW",EOF:"TK_EOF"},p=function(m,A){this._input=new c(m),this._options=A||{},this.__tokens=null,this._patterns={},this._patterns.whitespace=new l(this._input)};p.prototype.tokenize=function(){this._input.restart(),this.__tokens=new s,this._reset();for(var m,A=new i(h.START,""),b=null,D=[],T=new s;A.type!==h.EOF;){for(m=this._get_next_token(A,b);this._is_comment(m);)T.add(m),m=this._get_next_token(A,b);T.isEmpty()||(m.comments_before=T,T=new s),m.parent=b,this._is_opening(m)?(D.push(b),b=m):b&&this._is_closing(m,b)&&(m.opened=b,b.closed=m,b=D.pop(),m.parent=b),m.previous=A,A.next=m,this.__tokens.add(m),A=m}return this.__tokens},p.prototype._is_first_token=function(){return this.__tokens.isEmpty()},p.prototype._reset=function(){},p.prototype._get_next_token=function(m,A){this._readWhitespace();var b=this._input.read(/.+/g);return b?this._create_token(h.RAW,b):this._create_token(h.EOF,"")},p.prototype._is_comment=function(m){return!1},p.prototype._is_opening=function(m){return!1},p.prototype._is_closing=function(m,A){return!1},p.prototype._create_token=function(m,A){var b=new i(m,A,this._patterns.whitespace.newline_count,this._patterns.whitespace.whitespace_before_token);return b},p.prototype._readWhitespace=function(){return this._patterns.whitespace.read()},e.exports.Tokenizer=p,e.exports.TOKEN=h},function(e){function r(u){this.__tokens=[],this.__tokens_length=this.__tokens.length,this.__position=0,this.__parent_token=u}r.prototype.restart=function(){this.__position=0},r.prototype.isEmpty=function(){return this.__tokens_length===0},r.prototype.hasNext=function(){return this.__position=0&&u/),erb:p.starting_with(/<%[^%]/).until_after(/[^%]%>/),django:p.starting_with(/{%/).until_after(/%}/),django_value:p.starting_with(/{{/).until_after(/}}/),django_comment:p.starting_with(/{#/).until_after(/#}/),smarty:p.starting_with(/{(?=[^}{\s\n])/).until_after(/[^\s\n]}/),smarty_comment:p.starting_with(/{\*/).until_after(/\*}/),smarty_literal:p.starting_with(/{literal}/).until_after(/{\/literal}/)}}s.prototype=new c,s.prototype._create=function(){return new s(this._input,this)},s.prototype._update=function(){this.__set_templated_pattern()},s.prototype.disable=function(l){var h=this._create();return h._disabled[l]=!0,h._update(),h},s.prototype.read_options=function(l){var h=this._create();for(var p in i)h._disabled[p]=l.templating.indexOf(p)===-1;return h._update(),h},s.prototype.exclude=function(l){var h=this._create();return h._excluded[l]=!0,h._update(),h},s.prototype.read=function(){var l="";this._match_pattern?l=this._input.read(this._starting_pattern):l=this._input.read(this._starting_pattern,this.__template_pattern);for(var h=this._read_template();h;)this._match_pattern?h+=this._input.read(this._match_pattern):h+=this._input.readUntil(this.__template_pattern),l+=h,h=this._read_template();return this._until_after&&(l+=this._input.readUntilAfter(this._until_pattern)),l},s.prototype.__set_templated_pattern=function(){var l=[];this._disabled.php||l.push(this.__patterns.php._starting_pattern.source),this._disabled.handlebars||l.push(this.__patterns.handlebars._starting_pattern.source),this._disabled.erb||l.push(this.__patterns.erb._starting_pattern.source),this._disabled.django||(l.push(this.__patterns.django._starting_pattern.source),l.push(this.__patterns.django_value._starting_pattern.source),l.push(this.__patterns.django_comment._starting_pattern.source)),this._disabled.smarty||l.push(this.__patterns.smarty._starting_pattern.source),this._until_pattern&&l.push(this._until_pattern.source),this.__template_pattern=this._input.get_regexp("(?:"+l.join("|")+")")},s.prototype._read_template=function(){var l="",h=this._input.peek();if(h==="<"){var p=this._input.peek(1);!this._disabled.php&&!this._excluded.php&&p==="?"&&(l=l||this.__patterns.php.read()),!this._disabled.erb&&!this._excluded.erb&&p==="%"&&(l=l||this.__patterns.erb.read())}else h==="{"&&(!this._disabled.handlebars&&!this._excluded.handlebars&&(l=l||this.__patterns.handlebars_comment.read(),l=l||this.__patterns.handlebars_unescaped.read(),l=l||this.__patterns.handlebars.read()),this._disabled.django||(!this._excluded.django&&!this._excluded.handlebars&&(l=l||this.__patterns.django_value.read()),this._excluded.django||(l=l||this.__patterns.django_comment.read(),l=l||this.__patterns.django.read())),this._disabled.smarty||this._disabled.django&&this._disabled.handlebars&&(l=l||this.__patterns.smarty_comment.read(),l=l||this.__patterns.smarty_literal.read(),l=l||this.__patterns.smarty.read()));return l},e.exports.TemplatablePattern=s},,,,function(e,r,u){var c=u(19).Beautifier,i=u(20).Options;function s(l,h,p,m){var A=new c(l,h,p,m);return A.beautify()}e.exports=s,e.exports.defaultOptions=function(){return new i}},function(e,r,u){var c=u(20).Options,i=u(2).Output,s=u(21).Tokenizer,l=u(21).TOKEN,h=/\r\n|[\r\n]/,p=/\r\n|[\r\n]/g,m=function(f,d){this.indent_level=0,this.alignment_size=0,this.max_preserve_newlines=f.max_preserve_newlines,this.preserve_newlines=f.preserve_newlines,this._output=new i(f,d)};m.prototype.current_line_has_match=function(f){return this._output.current_line.has_match(f)},m.prototype.set_space_before_token=function(f,d){this._output.space_before_token=f,this._output.non_breaking_space=d},m.prototype.set_wrap_point=function(){this._output.set_indent(this.indent_level,this.alignment_size),this._output.set_wrap_point()},m.prototype.add_raw_token=function(f){this._output.add_raw_token(f)},m.prototype.print_preserved_newlines=function(f){var d=0;f.type!==l.TEXT&&f.previous.type!==l.TEXT&&(d=f.newlines?1:0),this.preserve_newlines&&(d=f.newlines0);return d!==0},m.prototype.traverse_whitespace=function(f){return f.whitespace_before||f.newlines?(this.print_preserved_newlines(f)||(this._output.space_before_token=!0),!0):!1},m.prototype.previous_token_wrapped=function(){return this._output.previous_token_wrapped},m.prototype.print_newline=function(f){this._output.add_new_line(f)},m.prototype.print_token=function(f){f.text&&(this._output.set_indent(this.indent_level,this.alignment_size),this._output.add_token(f.text))},m.prototype.indent=function(){this.indent_level++},m.prototype.deindent=function(){this.indent_level>0&&(this.indent_level--,this._output.set_indent(this.indent_level,this.alignment_size))},m.prototype.get_full_indent=function(f){return f=this.indent_level+(f||0),f<1?"":this._output.get_indent_string(f)};var A=function(f){for(var d=null,g=f.next;g.type!==l.EOF&&f.closed!==g;){if(g.type===l.ATTRIBUTE&&g.text==="type"){g.next&&g.next.type===l.EQUALS&&g.next.next&&g.next.next.type===l.VALUE&&(d=g.next.next.text);break}g=g.next}return d},b=function(f,d){var g=null,R=null;return d.closed?(f==="script"?g="text/javascript":f==="style"&&(g="text/css"),g=A(d)||g,g.search("text/css")>-1?R="css":g.search(/module|((text|application|dojo)\/(x-)?(javascript|ecmascript|jscript|livescript|(ld\+)?json|method|aspect))/)>-1?R="javascript":g.search(/(text|application|dojo)\/(x-)?(html)/)>-1?R="html":g.search(/test\/null/)>-1&&(R="null"),R):null};function D(f,d){return d.indexOf(f)!==-1}function T(f,d,g){this.parent=f||null,this.tag=d?d.tag_name:"",this.indent_level=g||0,this.parser_token=d||null}function y(f){this._printer=f,this._current_frame=null}y.prototype.get_parser_token=function(){return this._current_frame?this._current_frame.parser_token:null},y.prototype.record_tag=function(f){var d=new T(this._current_frame,f,this._printer.indent_level);this._current_frame=d},y.prototype._try_pop_frame=function(f){var d=null;return f&&(d=f.parser_token,this._printer.indent_level=f.indent_level,this._current_frame=f.parent),d},y.prototype._get_frame=function(f,d){for(var g=this._current_frame;g&&f.indexOf(g.tag)===-1;){if(d&&d.indexOf(g.tag)!==-1){g=null;break}g=g.parent}return g},y.prototype.try_pop=function(f,d){var g=this._get_frame([f],d);return this._try_pop_frame(g)},y.prototype.indent_to_tag=function(f){var d=this._get_frame(f);d&&(this._printer.indent_level=d.indent_level)};function L(f,d,g,R){this._source_text=f||"",d=d||{},this._js_beautify=g,this._css_beautify=R,this._tag_stack=null;var v=new c(d,"html");this._options=v,this._is_wrap_attributes_force=this._options.wrap_attributes.substr(0,5)==="force",this._is_wrap_attributes_force_expand_multiline=this._options.wrap_attributes==="force-expand-multiline",this._is_wrap_attributes_force_aligned=this._options.wrap_attributes==="force-aligned",this._is_wrap_attributes_aligned_multiple=this._options.wrap_attributes==="aligned-multiple",this._is_wrap_attributes_preserve=this._options.wrap_attributes.substr(0,8)==="preserve",this._is_wrap_attributes_preserve_aligned=this._options.wrap_attributes==="preserve-aligned"}L.prototype.beautify=function(){if(this._options.disabled)return this._source_text;var f=this._source_text,d=this._options.eol;this._options.eol==="auto"&&(d=` +`,f&&h.test(f)&&(d=f.match(h)[0])),f=f.replace(p,` +`);var g=f.match(/^[\t ]*/)[0],R={text:"",type:""},v=new I,_=new m(this._options,g),C=new s(f,this._options).tokenize();this._tag_stack=new y(_);for(var E=null,k=C.next();k.type!==l.EOF;)k.type===l.TAG_OPEN||k.type===l.COMMENT?(E=this._handle_tag_open(_,k,v,R,C),v=E):k.type===l.ATTRIBUTE||k.type===l.EQUALS||k.type===l.VALUE||k.type===l.TEXT&&!v.tag_complete?E=this._handle_inside_tag(_,k,v,R):k.type===l.TAG_CLOSE?E=this._handle_tag_close(_,k,v):k.type===l.TEXT?E=this._handle_text(_,k,v):k.type===l.CONTROL_FLOW_OPEN?E=this._handle_control_flow_open(_,k):k.type===l.CONTROL_FLOW_CLOSE?E=this._handle_control_flow_close(_,k):_.add_raw_token(k),R=E,k=C.next();var x=_._output.get_code(d);return x},L.prototype._handle_control_flow_open=function(f,d){var g={text:d.text,type:d.type};return f.set_space_before_token(d.newlines||d.whitespace_before!=="",!0),d.newlines?f.print_preserved_newlines(d):f.set_space_before_token(d.newlines||d.whitespace_before!=="",!0),f.print_token(d),f.indent(),g},L.prototype._handle_control_flow_close=function(f,d){var g={text:d.text,type:d.type};return f.deindent(),d.newlines?f.print_preserved_newlines(d):f.set_space_before_token(d.newlines||d.whitespace_before!=="",!0),f.print_token(d),g},L.prototype._handle_tag_close=function(f,d,g){var R={text:d.text,type:d.type};return f.alignment_size=0,g.tag_complete=!0,f.set_space_before_token(d.newlines||d.whitespace_before!=="",!0),g.is_unformatted?f.add_raw_token(d):(g.tag_start_char==="<"&&(f.set_space_before_token(d.text[0]==="/",!0),this._is_wrap_attributes_force_expand_multiline&&g.has_wrapped_attrs&&f.print_newline(!1)),f.print_token(d)),g.indent_content&&!(g.is_unformatted||g.is_content_unformatted)&&(f.indent(),g.indent_content=!1),!g.is_inline_element&&!(g.is_unformatted||g.is_content_unformatted)&&f.set_wrap_point(),R},L.prototype._handle_inside_tag=function(f,d,g,R){var v=g.has_wrapped_attrs,_={text:d.text,type:d.type};return f.set_space_before_token(d.newlines||d.whitespace_before!=="",!0),g.is_unformatted?f.add_raw_token(d):g.tag_start_char==="{"&&d.type===l.TEXT?f.print_preserved_newlines(d)?(d.newlines=0,f.add_raw_token(d)):f.print_token(d):(d.type===l.ATTRIBUTE?f.set_space_before_token(!0):(d.type===l.EQUALS||d.type===l.VALUE&&d.previous.type===l.EQUALS)&&f.set_space_before_token(!1),d.type===l.ATTRIBUTE&&g.tag_start_char==="<"&&((this._is_wrap_attributes_preserve||this._is_wrap_attributes_preserve_aligned)&&(f.traverse_whitespace(d),v=v||d.newlines!==0),this._is_wrap_attributes_force&&g.attr_count>=this._options.wrap_attributes_min_attrs&&(R.type!==l.TAG_OPEN||this._is_wrap_attributes_force_expand_multiline)&&(f.print_newline(!1),v=!0)),f.print_token(d),v=v||f.previous_token_wrapped(),g.has_wrapped_attrs=v),_},L.prototype._handle_text=function(f,d,g){var R={text:d.text,type:"TK_CONTENT"};return g.custom_beautifier_name?this._print_custom_beatifier_text(f,d,g):g.is_unformatted||g.is_content_unformatted?f.add_raw_token(d):(f.traverse_whitespace(d),f.print_token(d)),R},L.prototype._print_custom_beatifier_text=function(f,d,g){var R=this;if(d.text!==""){var v=d.text,_,C=1,E="",k="";g.custom_beautifier_name==="javascript"&&typeof this._js_beautify=="function"?_=this._js_beautify:g.custom_beautifier_name==="css"&&typeof this._css_beautify=="function"?_=this._css_beautify:g.custom_beautifier_name==="html"&&(_=function(U,P){var j=new L(U,P,R._js_beautify,R._css_beautify);return j.beautify()}),this._options.indent_scripts==="keep"?C=0:this._options.indent_scripts==="separate"&&(C=-f.indent_level);var x=f.get_full_indent(C);if(v=v.replace(/\n[ \t]*$/,""),g.custom_beautifier_name!=="html"&&v[0]==="<"&&v.match(/^(|]]>)$/.exec(v);if(!M){f.add_raw_token(d);return}E=x+M[1]+` +`,v=M[4],M[5]&&(k=x+M[5]),v=v.replace(/\n[ \t]*$/,""),(M[2]||M[3].indexOf(` +`)!==-1)&&(M=M[3].match(/[ \t]+$/),M&&(d.whitespace_before=M[0]))}if(v)if(_){var B=function(){this.eol=` +`};B.prototype=this._options.raw_options;var O=new B;v=_(x+v,O)}else{var z=d.whitespace_before;z&&(v=v.replace(new RegExp(` +(`+z+")?","g"),` +`)),v=x+v.replace(/\n/g,` +`+x)}E&&(v?v=E+v+` +`+k:v=E+k),f.print_newline(!1),v&&(d.text=v,d.whitespace_before="",d.newlines=0,f.add_raw_token(d),f.print_newline(!0))}},L.prototype._handle_tag_open=function(f,d,g,R,v){var _=this._get_tag_open_token(d);if((g.is_unformatted||g.is_content_unformatted)&&!g.is_empty_element&&d.type===l.TAG_OPEN&&!_.is_start_tag?(f.add_raw_token(d),_.start_tag_token=this._tag_stack.try_pop(_.tag_name)):(f.traverse_whitespace(d),this._set_tag_position(f,d,_,g,R),_.is_inline_element||f.set_wrap_point(),f.print_token(d)),_.is_start_tag&&this._is_wrap_attributes_force){var C=0,E;do E=v.peek(C),E.type===l.ATTRIBUTE&&(_.attr_count+=1),C+=1;while(E.type!==l.EOF&&E.type!==l.TAG_CLOSE)}return(this._is_wrap_attributes_force_aligned||this._is_wrap_attributes_aligned_multiple||this._is_wrap_attributes_preserve_aligned)&&(_.alignment_size=d.text.length+1),!_.tag_complete&&!_.is_unformatted&&(f.alignment_size=_.alignment_size),_};var I=function(f,d){if(this.parent=f||null,this.text="",this.type="TK_TAG_OPEN",this.tag_name="",this.is_inline_element=!1,this.is_unformatted=!1,this.is_content_unformatted=!1,this.is_empty_element=!1,this.is_start_tag=!1,this.is_end_tag=!1,this.indent_content=!1,this.multiline_content=!1,this.custom_beautifier_name=null,this.start_tag_token=null,this.attr_count=0,this.has_wrapped_attrs=!1,this.alignment_size=0,this.tag_complete=!1,this.tag_start_char="",this.tag_check="",!d)this.tag_complete=!0;else{var g;this.tag_start_char=d.text[0],this.text=d.text,this.tag_start_char==="<"?(g=d.text.match(/^<([^\s>]*)/),this.tag_check=g?g[1]:""):(g=d.text.match(/^{{~?(?:[\^]|#\*?)?([^\s}]+)/),this.tag_check=g?g[1]:"",(d.text.startsWith("{{#>")||d.text.startsWith("{{~#>"))&&this.tag_check[0]===">"&&(this.tag_check===">"&&d.next!==null?this.tag_check=d.next.text.split(" ")[0]:this.tag_check=d.text.split(">")[1])),this.tag_check=this.tag_check.toLowerCase(),d.type===l.COMMENT&&(this.tag_complete=!0),this.is_start_tag=this.tag_check.charAt(0)!=="/",this.tag_name=this.is_start_tag?this.tag_check:this.tag_check.substr(1),this.is_end_tag=!this.is_start_tag||d.closed&&d.closed.text==="/>";var R=2;this.tag_start_char==="{"&&this.text.length>=3&&this.text.charAt(2)==="~"&&(R=3),this.is_end_tag=this.is_end_tag||this.tag_start_char==="{"&&(this.text.length<3||/[^#\^]/.test(this.text.charAt(R)))}};L.prototype._get_tag_open_token=function(f){var d=new I(this._tag_stack.get_parser_token(),f);return d.alignment_size=this._options.wrap_attributes_indent_size,d.is_end_tag=d.is_end_tag||D(d.tag_check,this._options.void_elements),d.is_empty_element=d.tag_complete||d.is_start_tag&&d.is_end_tag,d.is_unformatted=!d.tag_complete&&D(d.tag_check,this._options.unformatted),d.is_content_unformatted=!d.is_empty_element&&D(d.tag_check,this._options.content_unformatted),d.is_inline_element=D(d.tag_name,this._options.inline)||this._options.inline_custom_elements&&d.tag_name.includes("-")||d.tag_start_char==="{",d},L.prototype._set_tag_position=function(f,d,g,R,v){if(g.is_empty_element||(g.is_end_tag?g.start_tag_token=this._tag_stack.try_pop(g.tag_name):(this._do_optional_end_element(g)&&(g.is_inline_element||f.print_newline(!1)),this._tag_stack.record_tag(g),(g.tag_name==="script"||g.tag_name==="style")&&!(g.is_unformatted||g.is_content_unformatted)&&(g.custom_beautifier_name=b(g.tag_check,d)))),D(g.tag_check,this._options.extra_liners)&&(f.print_newline(!1),f._output.just_added_blankline()||f.print_newline(!0)),g.is_empty_element){if(g.tag_start_char==="{"&&g.tag_check==="else"){this._tag_stack.indent_to_tag(["if","unless","each"]),g.indent_content=!0;var _=f.current_line_has_match(/{{#if/);_||f.print_newline(!1)}g.tag_name==="!--"&&v.type===l.TAG_CLOSE&&R.is_end_tag&&g.text.indexOf(` +`)===-1||(g.is_inline_element||g.is_unformatted||f.print_newline(!1),this._calcluate_parent_multiline(f,g))}else if(g.is_end_tag){var C=!1;C=g.start_tag_token&&g.start_tag_token.multiline_content,C=C||!g.is_inline_element&&!(R.is_inline_element||R.is_unformatted)&&!(v.type===l.TAG_CLOSE&&g.start_tag_token===R)&&v.type!=="TK_CONTENT",(g.is_content_unformatted||g.is_unformatted)&&(C=!1),C&&f.print_newline(!1)}else g.indent_content=!g.custom_beautifier_name,g.tag_start_char==="<"&&(g.tag_name==="html"?g.indent_content=this._options.indent_inner_html:g.tag_name==="head"?g.indent_content=this._options.indent_head_inner_html:g.tag_name==="body"&&(g.indent_content=this._options.indent_body_inner_html)),!(g.is_inline_element||g.is_unformatted)&&(v.type!=="TK_CONTENT"||g.is_content_unformatted)&&f.print_newline(!1),this._calcluate_parent_multiline(f,g)},L.prototype._calcluate_parent_multiline=function(f,d){d.parent&&f._output.just_added_newline()&&!((d.is_inline_element||d.is_unformatted)&&d.parent.is_inline_element)&&(d.parent.multiline_content=!0)};var N=["address","article","aside","blockquote","details","div","dl","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hr","main","menu","nav","ol","p","pre","section","table","ul"],F=["a","audio","del","ins","map","noscript","video"];L.prototype._do_optional_end_element=function(f){var d=null;if(!(f.is_empty_element||!f.is_start_tag||!f.parent)){if(f.tag_name==="body")d=d||this._tag_stack.try_pop("head");else if(f.tag_name==="li")d=d||this._tag_stack.try_pop("li",["ol","ul","menu"]);else if(f.tag_name==="dd"||f.tag_name==="dt")d=d||this._tag_stack.try_pop("dt",["dl"]),d=d||this._tag_stack.try_pop("dd",["dl"]);else if(f.parent.tag_name==="p"&&N.indexOf(f.tag_name)!==-1){var g=f.parent.parent;(!g||F.indexOf(g.tag_name)===-1)&&(d=d||this._tag_stack.try_pop("p"))}else f.tag_name==="rp"||f.tag_name==="rt"?(d=d||this._tag_stack.try_pop("rt",["ruby","rtc"]),d=d||this._tag_stack.try_pop("rp",["ruby","rtc"])):f.tag_name==="optgroup"?d=d||this._tag_stack.try_pop("optgroup",["select"]):f.tag_name==="option"?d=d||this._tag_stack.try_pop("option",["select","datalist","optgroup"]):f.tag_name==="colgroup"?d=d||this._tag_stack.try_pop("caption",["table"]):f.tag_name==="thead"?(d=d||this._tag_stack.try_pop("caption",["table"]),d=d||this._tag_stack.try_pop("colgroup",["table"])):f.tag_name==="tbody"||f.tag_name==="tfoot"?(d=d||this._tag_stack.try_pop("caption",["table"]),d=d||this._tag_stack.try_pop("colgroup",["table"]),d=d||this._tag_stack.try_pop("thead",["table"]),d=d||this._tag_stack.try_pop("tbody",["table"])):f.tag_name==="tr"?(d=d||this._tag_stack.try_pop("caption",["table"]),d=d||this._tag_stack.try_pop("colgroup",["table"]),d=d||this._tag_stack.try_pop("tr",["table","thead","tbody","tfoot"])):(f.tag_name==="th"||f.tag_name==="td")&&(d=d||this._tag_stack.try_pop("td",["table","thead","tbody","tfoot","tr"]),d=d||this._tag_stack.try_pop("th",["table","thead","tbody","tfoot","tr"]));return f.parent=this._tag_stack.get_parser_token(),d}},e.exports.Beautifier=L},function(e,r,u){var c=u(6).Options;function i(s){c.call(this,s,"html"),this.templating.length===1&&this.templating[0]==="auto"&&(this.templating=["django","erb","handlebars","php"]),this.indent_inner_html=this._get_boolean("indent_inner_html"),this.indent_body_inner_html=this._get_boolean("indent_body_inner_html",!0),this.indent_head_inner_html=this._get_boolean("indent_head_inner_html",!0),this.indent_handlebars=this._get_boolean("indent_handlebars",!0),this.wrap_attributes=this._get_selection("wrap_attributes",["auto","force","force-aligned","force-expand-multiline","aligned-multiple","preserve","preserve-aligned"]),this.wrap_attributes_min_attrs=this._get_number("wrap_attributes_min_attrs",2),this.wrap_attributes_indent_size=this._get_number("wrap_attributes_indent_size",this.indent_size),this.extra_liners=this._get_array("extra_liners",["head","body","/html"]),this.inline=this._get_array("inline",["a","abbr","area","audio","b","bdi","bdo","br","button","canvas","cite","code","data","datalist","del","dfn","em","embed","i","iframe","img","input","ins","kbd","keygen","label","map","mark","math","meter","noscript","object","output","progress","q","ruby","s","samp","select","small","span","strong","sub","sup","svg","template","textarea","time","u","var","video","wbr","text","acronym","big","strike","tt"]),this.inline_custom_elements=this._get_boolean("inline_custom_elements",!0),this.void_elements=this._get_array("void_elements",["area","base","br","col","embed","hr","img","input","keygen","link","menuitem","meta","param","source","track","wbr","!doctype","?xml","basefont","isindex"]),this.unformatted=this._get_array("unformatted",[]),this.content_unformatted=this._get_array("content_unformatted",["pre","textarea"]),this.unformatted_content_delimiter=this._get_characters("unformatted_content_delimiter"),this.indent_scripts=this._get_selection("indent_scripts",["normal","keep","separate"])}i.prototype=new c,e.exports.Options=i},function(e,r,u){var c=u(9).Tokenizer,i=u(9).TOKEN,s=u(13).Directives,l=u(14).TemplatablePattern,h=u(12).Pattern,p={TAG_OPEN:"TK_TAG_OPEN",TAG_CLOSE:"TK_TAG_CLOSE",CONTROL_FLOW_OPEN:"TK_CONTROL_FLOW_OPEN",CONTROL_FLOW_CLOSE:"TK_CONTROL_FLOW_CLOSE",ATTRIBUTE:"TK_ATTRIBUTE",EQUALS:"TK_EQUALS",VALUE:"TK_VALUE",COMMENT:"TK_COMMENT",TEXT:"TK_TEXT",UNKNOWN:"TK_UNKNOWN",START:i.START,RAW:i.RAW,EOF:i.EOF},m=new s(/<\!--/,/-->/),A=function(b,D){c.call(this,b,D),this._current_tag_name="";var T=new l(this._input).read_options(this._options),y=new h(this._input);if(this.__patterns={word:T.until(/[\n\r\t <]/),word_control_flow_close_excluded:T.until(/[\n\r\t <}]/),single_quote:T.until_after(/'/),double_quote:T.until_after(/"/),attribute:T.until(/[\n\r\t =>]|\/>/),element_name:T.until(/[\n\r\t >\/]/),angular_control_flow_start:y.matching(/\@[a-zA-Z]+[^({]*[({]/),handlebars_comment:y.starting_with(/{{!--/).until_after(/--}}/),handlebars:y.starting_with(/{{/).until_after(/}}/),handlebars_open:y.until(/[\n\r\t }]/),handlebars_raw_close:y.until(/}}/),comment:y.starting_with(//),cdata:y.starting_with(//),conditional_comment:y.starting_with(//),processing:y.starting_with(/<\?/).until_after(/\?>/)},this._options.indent_handlebars&&(this.__patterns.word=this.__patterns.word.exclude("handlebars"),this.__patterns.word_control_flow_close_excluded=this.__patterns.word_control_flow_close_excluded.exclude("handlebars")),this._unformatted_content_delimiter=null,this._options.unformatted_content_delimiter){var L=this._input.get_literal_regexp(this._options.unformatted_content_delimiter);this.__patterns.unformatted_content_delimiter=y.matching(L).until_after(L)}};A.prototype=new c,A.prototype._is_comment=function(b){return!1},A.prototype._is_opening=function(b){return b.type===p.TAG_OPEN||b.type===p.CONTROL_FLOW_OPEN},A.prototype._is_closing=function(b,D){return b.type===p.TAG_CLOSE&&D&&((b.text===">"||b.text==="/>")&&D.text[0]==="<"||b.text==="}}"&&D.text[0]==="{"&&D.text[1]==="{")||b.type===p.CONTROL_FLOW_CLOSE&&b.text==="}"&&D.text.endsWith("{")},A.prototype._reset=function(){this._current_tag_name=""},A.prototype._get_next_token=function(b,D){var T=null;this._readWhitespace();var y=this._input.peek();return y===null?this._create_token(p.EOF,""):(T=T||this._read_open_handlebars(y,D),T=T||this._read_attribute(y,b,D),T=T||this._read_close(y,D),T=T||this._read_control_flows(y,D),T=T||this._read_raw_content(y,b,D),T=T||this._read_content_word(y,D),T=T||this._read_comment_or_cdata(y),T=T||this._read_processing(y),T=T||this._read_open(y,D),T=T||this._create_token(p.UNKNOWN,this._input.next()),T)},A.prototype._read_comment_or_cdata=function(b){var D=null,T=null,y=null;if(b==="<"){var L=this._input.peek(1);L==="!"&&(T=this.__patterns.comment.read(),T?(y=m.get_directives(T),y&&y.ignore==="start"&&(T+=m.readIgnored(this._input))):T=this.__patterns.cdata.read()),T&&(D=this._create_token(p.COMMENT,T),D.directives=y)}return D},A.prototype._read_processing=function(b){var D=null,T=null,y=null;if(b==="<"){var L=this._input.peek(1);(L==="!"||L==="?")&&(T=this.__patterns.conditional_comment.read(),T=T||this.__patterns.processing.read()),T&&(D=this._create_token(p.COMMENT,T),D.directives=y)}return D},A.prototype._read_open=function(b,D){var T=null,y=null;return(!D||D.type===p.CONTROL_FLOW_OPEN)&&b==="<"&&(T=this._input.next(),this._input.peek()==="/"&&(T+=this._input.next()),T+=this.__patterns.element_name.read(),y=this._create_token(p.TAG_OPEN,T)),y},A.prototype._read_open_handlebars=function(b,D){var T=null,y=null;return(!D||D.type===p.CONTROL_FLOW_OPEN)&&this._options.indent_handlebars&&b==="{"&&this._input.peek(1)==="{"&&(this._input.peek(2)==="!"?(T=this.__patterns.handlebars_comment.read(),T=T||this.__patterns.handlebars.read(),y=this._create_token(p.COMMENT,T)):(T=this.__patterns.handlebars_open.read(),y=this._create_token(p.TAG_OPEN,T))),y},A.prototype._read_control_flows=function(b,D){var T="",y=null;if(!this._options.templating.includes("angular")||!this._options.indent_handlebars)return y;if(b==="@"){if(T=this.__patterns.angular_control_flow_start.read(),T==="")return y;for(var L=T.endsWith("(")?1:0,I=0;!(T.endsWith("{")&&L===I);){var N=this._input.next();if(N===null)break;N==="("?L++:N===")"&&I++,T+=N}y=this._create_token(p.CONTROL_FLOW_OPEN,T)}else b==="}"&&D&&D.type===p.CONTROL_FLOW_OPEN&&(T=this._input.next(),y=this._create_token(p.CONTROL_FLOW_CLOSE,T));return y},A.prototype._read_close=function(b,D){var T=null,y=null;return D&&D.type===p.TAG_OPEN&&(D.text[0]==="<"&&(b===">"||b==="/"&&this._input.peek(1)===">")?(T=this._input.next(),b==="/"&&(T+=this._input.next()),y=this._create_token(p.TAG_CLOSE,T)):D.text[0]==="{"&&b==="}"&&this._input.peek(1)==="}"&&(this._input.next(),this._input.next(),y=this._create_token(p.TAG_CLOSE,"}}"))),y},A.prototype._read_attribute=function(b,D,T){var y=null,L="";if(T&&T.text[0]==="<")if(b==="=")y=this._create_token(p.EQUALS,this._input.next());else if(b==='"'||b==="'"){var I=this._input.next();b==='"'?I+=this.__patterns.double_quote.read():I+=this.__patterns.single_quote.read(),y=this._create_token(p.VALUE,I)}else L=this.__patterns.attribute.read(),L&&(D.type===p.EQUALS?y=this._create_token(p.VALUE,L):y=this._create_token(p.ATTRIBUTE,L));return y},A.prototype._is_content_unformatted=function(b){return this._options.void_elements.indexOf(b)===-1&&(this._options.content_unformatted.indexOf(b)!==-1||this._options.unformatted.indexOf(b)!==-1)},A.prototype._read_raw_content=function(b,D,T){var y="";if(T&&T.text[0]==="{")y=this.__patterns.handlebars_raw_close.read();else if(D.type===p.TAG_CLOSE&&D.opened.text[0]==="<"&&D.text[0]!=="/"){var L=D.opened.text.substr(1).toLowerCase();if(L==="script"||L==="style"){var I=this._read_comment_or_cdata(b);if(I)return I.type=p.TEXT,I;y=this._input.readUntil(new RegExp("","ig"))}else this._is_content_unformatted(L)&&(y=this._input.readUntil(new RegExp("","ig")))}return y?this._create_token(p.TEXT,y):null},A.prototype._read_content_word=function(b,D){var T="";if(this._options.unformatted_content_delimiter&&b===this._options.unformatted_content_delimiter[0]&&(T=this.__patterns.unformatted_content_delimiter.read()),T||(T=D&&D.type===p.CONTROL_FLOW_OPEN?this.__patterns.word_control_flow_close_excluded.read():this.__patterns.word.read()),T)return this._create_token(p.TEXT,T)},e.exports.Tokenizer=A,e.exports.TOKEN=p}],n={};function o(e){var r=n[e];if(r!==void 0)return r.exports;var u=n[e]={exports:{}};return t[e](u,u.exports,o),u.exports}var a=o(18);fn=a})();function gn(t,n){return fn(t,n,dn,mn)}function _n(t,n,o){let a=t.getText(),e=!0,r=0,u=o.tabSize||4;if(n){let s=t.offsetAt(n.start),l=s;for(;l>0&&wn(a,l-1);)l--;l===0||bn(a,l-1)?s=l:l]*$/).test(m))return a=a.substring(s,h),[{range:n,newText:a}];if(e=h===a.length,a=a.substring(s,h),s!==0){let A=t.offsetAt(q.create(n.start.line,0));r=gi(t.getText(),A,o)}}else n=W.create(q.create(0,0),t.positionAt(a.length));let c={indent_size:u,indent_char:o.insertSpaces?" ":" ",indent_empty_lines:Y(o,"indentEmptyLines",!1),wrap_line_length:Y(o,"wrapLineLength",120),unformatted:wt(o,"unformatted",void 0),content_unformatted:wt(o,"contentUnformatted",void 0),indent_inner_html:Y(o,"indentInnerHtml",!1),preserve_newlines:Y(o,"preserveNewLines",!0),max_preserve_newlines:Y(o,"maxPreserveNewLines",32786),indent_handlebars:Y(o,"indentHandlebars",!1),end_with_newline:e&&Y(o,"endWithNewline",!1),extra_liners:wt(o,"extraLiners",void 0),wrap_attributes:Y(o,"wrapAttributes","auto"),wrap_attributes_indent_size:Y(o,"wrapAttributesIndentSize",void 0),eol:` +`,indent_scripts:Y(o,"indentScripts","normal"),templating:fi(o,"all"),unformatted_content_delimiter:Y(o,"unformattedContentDelimiter","")},i=gn(mi(a),c);if(r>0){let s=o.insertSpaces?bt(" ",u*r):bt(" ",r);i=i.split(` +`).join(` +`+s),n.start.character===0&&(i=s+i)}return[{range:n,newText:i}]}function mi(t){return t.replace(/^\s+/,"")}function Y(t,n,o){if(t&&t.hasOwnProperty(n)){let a=t[n];if(a!==null)return a}return o}function wt(t,n,o){let a=Y(t,n,null);return typeof a=="string"?a.length>0?a.split(",").map(e=>e.trim().toLowerCase()):[]:o}function fi(t,n){let o=Y(t,"templating",n);return o===!0?["auto"]:o===!1||o===n||Array.isArray(o)===!1?["none"]:o}function gi(t,n,o){let a=n,e=0,r=o.tabSize||4;for(;a{"use strict";var t={470:e=>{function r(i){if(typeof i!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(i))}function u(i,s){for(var l,h="",p=0,m=-1,A=0,b=0;b<=i.length;++b){if(b2){var D=h.lastIndexOf("/");if(D!==h.length-1){D===-1?(h="",p=0):p=(h=h.slice(0,D)).length-1-h.lastIndexOf("/"),m=b,A=0;continue}}else if(h.length===2||h.length===1){h="",p=0,m=b,A=0;continue}}s&&(h.length>0?h+="/..":h="..",p=2)}else h.length>0?h+="/"+i.slice(m+1,b):h=i.slice(m+1,b),p=b-m-1;m=b,A=0}else l===46&&A!==-1?++A:A=-1}return h}var c={resolve:function(){for(var i,s="",l=!1,h=arguments.length-1;h>=-1&&!l;h--){var p;h>=0?p=arguments[h]:(i===void 0&&(i=process.cwd()),p=i),r(p),p.length!==0&&(s=p+"/"+s,l=p.charCodeAt(0)===47)}return s=u(s,!l),l?s.length>0?"/"+s:"/":s.length>0?s:"."},normalize:function(i){if(r(i),i.length===0)return".";var s=i.charCodeAt(0)===47,l=i.charCodeAt(i.length-1)===47;return(i=u(i,!s)).length!==0||s||(i="."),i.length>0&&l&&(i+="/"),s?"/"+i:i},isAbsolute:function(i){return r(i),i.length>0&&i.charCodeAt(0)===47},join:function(){if(arguments.length===0)return".";for(var i,s=0;s0&&(i===void 0?i=l:i+="/"+l)}return i===void 0?".":c.normalize(i)},relative:function(i,s){if(r(i),r(s),i===s||(i=c.resolve(i))===(s=c.resolve(s)))return"";for(var l=1;lb){if(s.charCodeAt(m+T)===47)return s.slice(m+T+1);if(T===0)return s.slice(m+T)}else p>b&&(i.charCodeAt(l+T)===47?D=T:T===0&&(D=0));break}var y=i.charCodeAt(l+T);if(y!==s.charCodeAt(m+T))break;y===47&&(D=T)}var L="";for(T=l+D+1;T<=h;++T)T!==h&&i.charCodeAt(T)!==47||(L.length===0?L+="..":L+="/..");return L.length>0?L+s.slice(m+D):(m+=D,s.charCodeAt(m)===47&&++m,s.slice(m))},_makeLong:function(i){return i},dirname:function(i){if(r(i),i.length===0)return".";for(var s=i.charCodeAt(0),l=s===47,h=-1,p=!0,m=i.length-1;m>=1;--m)if((s=i.charCodeAt(m))===47){if(!p){h=m;break}}else p=!1;return h===-1?l?"/":".":l&&h===1?"//":i.slice(0,h)},basename:function(i,s){if(s!==void 0&&typeof s!="string")throw new TypeError('"ext" argument must be a string');r(i);var l,h=0,p=-1,m=!0;if(s!==void 0&&s.length>0&&s.length<=i.length){if(s.length===i.length&&s===i)return"";var A=s.length-1,b=-1;for(l=i.length-1;l>=0;--l){var D=i.charCodeAt(l);if(D===47){if(!m){h=l+1;break}}else b===-1&&(m=!1,b=l+1),A>=0&&(D===s.charCodeAt(A)?--A==-1&&(p=l):(A=-1,p=b))}return h===p?p=b:p===-1&&(p=i.length),i.slice(h,p)}for(l=i.length-1;l>=0;--l)if(i.charCodeAt(l)===47){if(!m){h=l+1;break}}else p===-1&&(m=!1,p=l+1);return p===-1?"":i.slice(h,p)},extname:function(i){r(i);for(var s=-1,l=0,h=-1,p=!0,m=0,A=i.length-1;A>=0;--A){var b=i.charCodeAt(A);if(b!==47)h===-1&&(p=!1,h=A+1),b===46?s===-1?s=A:m!==1&&(m=1):s!==-1&&(m=-1);else if(!p){l=A+1;break}}return s===-1||h===-1||m===0||m===1&&s===h-1&&s===l+1?"":i.slice(s,h)},format:function(i){if(i===null||typeof i!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof i);return function(s,l){var h=l.dir||l.root,p=l.base||(l.name||"")+(l.ext||"");return h?h===l.root?h+p:h+"/"+p:p}(0,i)},parse:function(i){r(i);var s={root:"",dir:"",base:"",ext:"",name:""};if(i.length===0)return s;var l,h=i.charCodeAt(0),p=h===47;p?(s.root="/",l=1):l=0;for(var m=-1,A=0,b=-1,D=!0,T=i.length-1,y=0;T>=l;--T)if((h=i.charCodeAt(T))!==47)b===-1&&(D=!1,b=T+1),h===46?m===-1?m=T:y!==1&&(y=1):m!==-1&&(y=-1);else if(!D){A=T+1;break}return m===-1||b===-1||y===0||y===1&&m===b-1&&m===A+1?b!==-1&&(s.base=s.name=A===0&&p?i.slice(1,b):i.slice(A,b)):(A===0&&p?(s.name=i.slice(1,m),s.base=i.slice(1,b)):(s.name=i.slice(A,m),s.base=i.slice(A,b)),s.ext=i.slice(m,b)),A>0?s.dir=i.slice(0,A-1):p&&(s.dir="/"),s},sep:"/",delimiter:":",win32:null,posix:null};c.posix=c,e.exports=c}},n={};function o(e){var r=n[e];if(r!==void 0)return r.exports;var u=n[e]={exports:{}};return t[e](u,u.exports,o),u.exports}o.d=(e,r)=>{for(var u in r)o.o(r,u)&&!o.o(e,u)&&Object.defineProperty(e,u,{enumerable:!0,get:r[u]})},o.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),o.r=e=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var a={};(()=>{let e;o.r(a),o.d(a,{URI:()=>p,Utils:()=>R}),typeof process=="object"?e=process.platform==="win32":typeof navigator=="object"&&(e=navigator.userAgent.indexOf("Windows")>=0);let r=/^\w[\w\d+.-]*$/,u=/^\//,c=/^\/\//;function i(v,_){if(!v.scheme&&_)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${v.authority}", path: "${v.path}", query: "${v.query}", fragment: "${v.fragment}"}`);if(v.scheme&&!r.test(v.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(v.path){if(v.authority){if(!u.test(v.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(c.test(v.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}let s="",l="/",h=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class p{static isUri(_){return _ instanceof p||!!_&&typeof _.authority=="string"&&typeof _.fragment=="string"&&typeof _.path=="string"&&typeof _.query=="string"&&typeof _.scheme=="string"&&typeof _.fsPath=="string"&&typeof _.with=="function"&&typeof _.toString=="function"}scheme;authority;path;query;fragment;constructor(_,C,E,k,x,M=!1){typeof _=="object"?(this.scheme=_.scheme||s,this.authority=_.authority||s,this.path=_.path||s,this.query=_.query||s,this.fragment=_.fragment||s):(this.scheme=function(B,O){return B||O?B:"file"}(_,M),this.authority=C||s,this.path=function(B,O){switch(B){case"https":case"http":case"file":O?O[0]!==l&&(O=l+O):O=l}return O}(this.scheme,E||s),this.query=k||s,this.fragment=x||s,i(this,M))}get fsPath(){return y(this,!1)}with(_){if(!_)return this;let{scheme:C,authority:E,path:k,query:x,fragment:M}=_;return C===void 0?C=this.scheme:C===null&&(C=s),E===void 0?E=this.authority:E===null&&(E=s),k===void 0?k=this.path:k===null&&(k=s),x===void 0?x=this.query:x===null&&(x=s),M===void 0?M=this.fragment:M===null&&(M=s),C===this.scheme&&E===this.authority&&k===this.path&&x===this.query&&M===this.fragment?this:new A(C,E,k,x,M)}static parse(_,C=!1){let E=h.exec(_);return E?new A(E[2]||s,F(E[4]||s),F(E[5]||s),F(E[7]||s),F(E[9]||s),C):new A(s,s,s,s,s)}static file(_){let C=s;if(e&&(_=_.replace(/\\/g,l)),_[0]===l&&_[1]===l){let E=_.indexOf(l,2);E===-1?(C=_.substring(2),_=l):(C=_.substring(2,E),_=_.substring(E)||l)}return new A("file",C,_,s,s)}static from(_){let C=new A(_.scheme,_.authority,_.path,_.query,_.fragment);return i(C,!0),C}toString(_=!1){return L(this,_)}toJSON(){return this}static revive(_){if(_){if(_ instanceof p)return _;{let C=new A(_);return C._formatted=_.external,C._fsPath=_._sep===m?_.fsPath:null,C}}return _}}let m=e?1:void 0;class A extends p{_formatted=null;_fsPath=null;get fsPath(){return this._fsPath||(this._fsPath=y(this,!1)),this._fsPath}toString(_=!1){return _?L(this,!0):(this._formatted||(this._formatted=L(this,!1)),this._formatted)}toJSON(){let _={$mid:1};return this._fsPath&&(_.fsPath=this._fsPath,_._sep=m),this._formatted&&(_.external=this._formatted),this.path&&(_.path=this.path),this.scheme&&(_.scheme=this.scheme),this.authority&&(_.authority=this.authority),this.query&&(_.query=this.query),this.fragment&&(_.fragment=this.fragment),_}}let b={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function D(v,_,C){let E,k=-1;for(let x=0;x=97&&M<=122||M>=65&&M<=90||M>=48&&M<=57||M===45||M===46||M===95||M===126||_&&M===47||C&&M===91||C&&M===93||C&&M===58)k!==-1&&(E+=encodeURIComponent(v.substring(k,x)),k=-1),E!==void 0&&(E+=v.charAt(x));else{E===void 0&&(E=v.substr(0,x));let B=b[M];B!==void 0?(k!==-1&&(E+=encodeURIComponent(v.substring(k,x)),k=-1),E+=B):k===-1&&(k=x)}}return k!==-1&&(E+=encodeURIComponent(v.substring(k))),E!==void 0?E:v}function T(v){let _;for(let C=0;C1&&v.scheme==="file"?`//${v.authority}${v.path}`:v.path.charCodeAt(0)===47&&(v.path.charCodeAt(1)>=65&&v.path.charCodeAt(1)<=90||v.path.charCodeAt(1)>=97&&v.path.charCodeAt(1)<=122)&&v.path.charCodeAt(2)===58?_?v.path.substr(1):v.path[1].toLowerCase()+v.path.substr(2):v.path,e&&(C=C.replace(/\//g,"\\")),C}function L(v,_){let C=_?T:D,E="",{scheme:k,authority:x,path:M,query:B,fragment:O}=v;if(k&&(E+=k,E+=":"),(x||k==="file")&&(E+=l,E+=l),x){let z=x.indexOf("@");if(z!==-1){let U=x.substr(0,z);x=x.substr(z+1),z=U.lastIndexOf(":"),z===-1?E+=C(U,!1,!1):(E+=C(U.substr(0,z),!1,!1),E+=":",E+=C(U.substr(z+1),!1,!0)),E+="@"}x=x.toLowerCase(),z=x.lastIndexOf(":"),z===-1?E+=C(x,!1,!0):(E+=C(x.substr(0,z),!1,!0),E+=x.substr(z))}if(M){if(M.length>=3&&M.charCodeAt(0)===47&&M.charCodeAt(2)===58){let z=M.charCodeAt(1);z>=65&&z<=90&&(M=`/${String.fromCharCode(z+32)}:${M.substr(3)}`)}else if(M.length>=2&&M.charCodeAt(1)===58){let z=M.charCodeAt(0);z>=65&&z<=90&&(M=`${String.fromCharCode(z+32)}:${M.substr(2)}`)}E+=C(M,!0,!1)}return B&&(E+="?",E+=C(B,!1,!1)),O&&(E+="#",E+=_?O:D(O,!1,!1)),E}function I(v){try{return decodeURIComponent(v)}catch{return v.length>3?v.substr(0,3)+I(v.substr(3)):v}}let N=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function F(v){return v.match(N)?v.replace(N,_=>I(_)):v}var f=o(470);let d=f.posix||f,g="/";var R;(function(v){v.joinPath=function(_,...C){return _.with({path:d.join(_.path,...C)})},v.resolvePath=function(_,...C){let E=_.path,k=!1;E[0]!==g&&(E=g+E,k=!0);let x=d.resolve(E,...C);return k&&x[0]===g&&!_.authority&&(x=x.substring(1)),_.with({path:x})},v.dirname=function(_){if(_.path.length===0||_.path===g)return _;let C=d.dirname(_.path);return C.length===1&&C.charCodeAt(0)===46&&(C=""),_.with({path:C})},v.basename=function(_){return d.basename(_.path)},v.extname=function(_){return d.extname(_.path)}})(R||(R={}))})(),vn=a})();var{URI:yn,Utils:_r}=vn;function _t(t){let n=t[0],o=t[t.length-1];return n===o&&(n==="'"||n==='"')&&(t=t.substring(1,t.length-1)),t}function bi(t,n){return!t.length||n==="handlebars"&&/{{|}}/.test(t)?!1:/\b(w[\w\d+.-]*:\/\/)?[^\s()<>]+(?:\([\w\d]+\)|([^[:punct:]\s]|\/?))/.test(t)}function wi(t,n,o,a){if(/^\s*javascript\:/i.test(n)||/[\n\r]/.test(n))return;n=n.replace(/^\s*/g,"");let e=n.match(/^(\w[\w\d+.-]*):/);if(e){let r=e[1].toLowerCase();return r==="http"||r==="https"||r==="file"?n:void 0}return/^\#/i.test(n)?t+n:/^\/\//i.test(n)?(Z(t,"https://")?"https":"http")+":"+n.replace(/^\s*/g,""):o?o.resolveReference(n,a||t):n}function _i(t,n,o,a,e,r){let u=_t(o);if(!bi(u,t.languageId))return;u.length"u"&&(s=_t(h),s&&o&&(s=o.resolveReference(s,n.uri))),i=!1,u=void 0}else if(u==="id"){let h=_t(e.getTokenText());l[h]=e.getTokenOffset()}break}r=e.scan()}for(let h of a){let p=n.uri+"#";if(h.target&&Z(h.target,p)){let m=h.target.substring(p.length),A=l[m];if(A!==void 0){let b=n.positionAt(A);h.target=`${p}${b.line+1},${b.character+1}`}else h.target=n.uri}}return a}};function An(t,n,o){let a=t.offsetAt(n),e=o.findNodeAt(a);if(!e.tag)return[];let r=[],u=Sn(S.StartTag,t,e.start),c=typeof e.endTagStart=="number"&&Sn(S.EndTag,t,e.endTagStart);return(u&&kn(u,n)||c&&kn(c,n))&&(u&&r.push({kind:ue.Read,range:u}),c&&r.push({kind:ue.Read,range:c})),r}function Tn(t,n){return t.line{Dn(t,a,o)}),o}function Dn(t,n,o){let a=Ti(n),e=W.create(t.positionAt(n.start),t.positionAt(n.end)),r=_e.create(a,void 0,be.Field,e,e);o.push(r),n.children.forEach(u=>{r.children??(r.children=[]),Dn(t,u,r.children)})}function Ti(t){let n=t.tag;if(t.attributes){let o=t.attributes.id,a=t.attributes.class;o&&(n+=`#${o.replace(/[\"\']/g,"")}`),a&&(n+=a.replace(/[\"\']/g,"").split(/\s+/).map(e=>`.${e}`).join(""))}return n||"?"}function En(t,n,o,a){let e=t.offsetAt(n),r=a.findNodeAt(e);if(!r.tag||!ki(r,e,r.tag))return null;let u=[],c={start:t.positionAt(r.start+1),end:t.positionAt(r.start+1+r.tag.length)};if(u.push({range:c,newText:o}),r.endTagStart){let s={start:t.positionAt(r.endTagStart+2),end:t.positionAt(r.endTagStart+2+r.tag.length)};u.push({range:s,newText:o})}return{changes:{[t.uri.toString()]:u}}}function ki(t,n,o){return t.endTagStart&&t.endTagStart+2<=n&&n<=t.endTagStart+2+o.length?!0:t.start+1<=n&&n<=t.start+1+o.length}function Cn(t,n,o){let a=t.offsetAt(n),e=o.findNodeAt(a);if(!e.tag||!e.endTagStart)return null;if(e.start+1<=a&&a<=e.start+1+e.tag.length){let r=a-1-e.start+e.endTagStart+2;return t.positionAt(r)}if(e.endTagStart+2<=a&&a<=e.endTagStart+2+e.tag.length){let r=a-2-e.endTagStart+e.start+1;return t.positionAt(r)}return null}function yt(t,n,o){let a=t.offsetAt(n),e=o.findNodeAt(a),r=e.tag?e.tag.length:0;return e.endTagStart&&(e.start+1<=a&&a<=e.start+1+r||e.endTagStart+2<=a&&a<=e.endTagStart+2+r)?[W.create(t.positionAt(e.start+1),t.positionAt(e.start+1+r)),W.create(t.positionAt(e.endTagStart+2),t.positionAt(e.endTagStart+2+r))]:null}var Ue=class{constructor(n){this.dataManager=n}limitRanges(n,o){n=n.sort((h,p)=>{let m=h.startLine-p.startLine;return m===0&&(m=h.endLine-p.endLine),m});let a,e=[],r=[],u=[],c=(h,p)=>{r[h]=p,p<30&&(u[p]=(u[p]||0)+1)};for(let h=0;ha.startLine){if(p.endLine<=a.endLine)e.push(a),a=p,c(h,e.length);else if(p.startLine>a.endLine){do a=e.pop();while(a&&p.startLine>a.endLine);a&&e.push(a),a=p,c(h,e.length)}}}let i=0,s=0;for(let h=0;ho){s=h;break}i+=p}}let l=[];for(let h=0;h=0&&c[p].tagName!==i;)p--;if(p>=0){let m=c[p];c.length=p;let A=n.positionAt(e.getTokenOffset()).line,b=m.startLine,D=A-1;D>b&&s!==b&&l({startLine:b,endLine:D})}break}case S.Comment:{let p=n.positionAt(e.getTokenOffset()).line,A=e.getTokenText().match(/^\s*#(region\b)|(endregion\b)/);if(A)if(A[1])c.push({startLine:p,tagName:""});else{let b=c.length-1;for(;b>=0&&c[b].tagName.length;)b--;if(b>=0){let D=c[b];c.length=b;let T=p;p=D.startLine,T>p&&s!==p&&l({startLine:p,endLine:T,kind:oe.Region})}}else{let b=n.positionAt(e.getTokenOffset()+e.getTokenLength()).line;ph?this.limitRanges(u,h):u}};var Oe=class{constructor(n){this.htmlParser=n}getSelectionRanges(n,o){let a=this.htmlParser.parseDocument(n);return o.map(e=>this.getSelectionRange(e,n,a))}getSelectionRange(n,o,a){let e=this.getApplicableRanges(o,n,a),r,u;for(let c=e.length-1;c>=0;c--){let i=e[c];(!r||i[0]!==r[0]||i[1]!==r[1])&&(u=ce.create(W.create(o.positionAt(e[c][0]),o.positionAt(e[c][1])),u)),r=i}return u||(u=ce.create(W.create(n,n))),u}getApplicableRanges(n,o,a){let e=n.offsetAt(o),r=a.findNodeAt(e),u=this.getAllParentTagRanges(r);if(r.startTagEnd&&!r.endTagStart){if(r.startTagEnd!==r.end)return[[r.start,r.end]];let c=W.create(n.positionAt(r.startTagEnd-2),n.positionAt(r.startTagEnd));return n.getText(c)==="/>"?u.unshift([r.start+1,r.startTagEnd-2]):u.unshift([r.start+1,r.startTagEnd-1]),u=this.getAttributeLevelRanges(n,r,e).concat(u),u}return!r.startTagEnd||!r.endTagStart?u:(u.unshift([r.start,r.end]),r.start=r.endTagStart+2&&u.unshift([r.endTagStart+2,r.end-1]),u))}getAllParentTagRanges(n){let o=n,a=[];for(;o.parent;)o=o.parent,this.getNodeRanges(o).forEach(e=>a.push(e));return a}getNodeRanges(n){return n.startTagEnd&&n.endTagStart&&n.startTagEnd=c.getTokenOffset()&&u<=c.getTokenEnd()&&(l.unshift([c.getTokenOffset(),c.getTokenEnd()]),(m[0]==='"'&&m[m.length-1]==='"'||m[0]==="'"&&m[m.length-1]==="'")&&u>=c.getTokenOffset()+1&&u<=c.getTokenEnd()-1&&l.unshift([c.getTokenOffset()+1,c.getTokenEnd()-1]),l.push([p,c.getTokenEnd()]));break}}i=c.scan()}return l.map(m=>[m[0]+s,m[1]+s])}};var Tt={version:1.1,tags:[{name:"html",description:{kind:"markdown",value:"The html element represents the root of an HTML document."},attributes:[{name:"manifest",description:{kind:"markdown",value:"Specifies the URI of a resource manifest indicating resources that should be cached locally. See [Using the application cache](https://developer.mozilla.org/en-US/docs/Web/HTML/Using_the_application_cache) for details."}},{name:"version",description:'Specifies the version of the HTML [Document Type Definition](https://developer.mozilla.org/en-US/docs/Glossary/DTD "Document Type Definition: In HTML, the doctype is the required "" preamble found at the top of all documents. Its sole purpose is to prevent a browser from switching into so-called \u201Cquirks mode\u201D when rendering a document; that is, the "" doctype ensures that the browser makes a best-effort attempt at following the relevant specifications, rather than using a different rendering mode that is incompatible with some specifications.") that governs the current document. This attribute is not needed, because it is redundant with the version information in the document type declaration.'},{name:"xmlns",description:'Specifies the XML Namespace of the document. Default value is `"http://www.w3.org/1999/xhtml"`. This is required in documents parsed with XML parsers, and optional in text/html documents.'}],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/html"}]},{name:"head",description:{kind:"markdown",value:"The head element represents a collection of metadata for the Document."},attributes:[{name:"profile",description:"The URIs of one or more metadata profiles, separated by white space."}],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/head"}]},{name:"title",description:{kind:"markdown",value:"The title element represents the document's title or name. Authors should use titles that identify their documents even when they are used out of context, for example in a user's history or bookmarks, or in search results. The document's title is often different from its first heading, since the first heading does not have to stand alone when taken out of context."},attributes:[],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/title"}]},{name:"base",description:{kind:"markdown",value:"The base element allows authors to specify the document base URL for the purposes of resolving relative URLs, and the name of the default browsing context for the purposes of following hyperlinks. The element does not represent any content beyond this information."},void:!0,attributes:[{name:"href",description:{kind:"markdown",value:"The base URL to be used throughout the document for relative URL addresses. If this attribute is specified, this element must come before any other elements with attributes whose values are URLs. Absolute and relative URLs are allowed."}},{name:"target",valueSet:"target",description:{kind:"markdown",value:"A name or keyword indicating the default location to display the result when hyperlinks or forms cause navigation, for elements that do not have an explicit target reference. It is a name of, or keyword for, a _browsing context_ (for example: tab, window, or inline frame). The following keywords have special meanings:\n\n* `_self`: Load the result into the same browsing context as the current one. This value is the default if the attribute is not specified.\n* `_blank`: Load the result into a new unnamed browsing context.\n* `_parent`: Load the result into the parent browsing context of the current one. If there is no parent, this option behaves the same way as `_self`.\n* `_top`: Load the result into the top-level browsing context (that is, the browsing context that is an ancestor of the current one, and has no parent). If there is no parent, this option behaves the same way as `_self`.\n\nIf this attribute is specified, this element must come before any other elements with attributes whose values are URLs."}}],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/base"}]},{name:"link",description:{kind:"markdown",value:"The link element allows authors to link their document to other resources."},void:!0,attributes:[{name:"href",description:{kind:"markdown",value:'This attribute specifies the [URL](https://developer.mozilla.org/en-US/docs/Glossary/URL "URL: Uniform Resource Locator (URL) is a text string specifying where a resource can be found on the Internet.") of the linked resource. A URL can be absolute or relative.'}},{name:"crossorigin",valueSet:"xo",description:{kind:"markdown",value:'This enumerated attribute indicates whether [CORS](https://developer.mozilla.org/en-US/docs/Glossary/CORS "CORS: CORS (Cross-Origin Resource Sharing) is a system, consisting of transmitting HTTP headers, that determines whether browsers block frontend JavaScript code from accessing responses for cross-origin requests.") must be used when fetching the resource. [CORS-enabled images](https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_Enabled_Image) can be reused in the [``](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/canvas "Use the HTML element with either the canvas scripting API or the WebGL API to draw graphics and animations.") element without being _tainted_. The allowed values are:\n\n`anonymous`\n\nA cross-origin request (i.e. with an [`Origin`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Origin "The Origin request header indicates where a fetch originates from. It doesn\'t include any path information, but only the server name. It is sent with CORS requests, as well as with POST requests. It is similar to the Referer header, but, unlike this header, it doesn\'t disclose the whole path.") HTTP header) is performed, but no credential is sent (i.e. no cookie, X.509 certificate, or HTTP Basic authentication). If the server does not give credentials to the origin site (by not setting the [`Access-Control-Allow-Origin`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Origin "The Access-Control-Allow-Origin response header indicates whether the response can be shared with requesting code from the given origin.") HTTP header) the image will be tainted and its usage restricted.\n\n`use-credentials`\n\nA cross-origin request (i.e. with an `Origin` HTTP header) is performed along with a credential sent (i.e. a cookie, certificate, and/or HTTP Basic authentication is performed). If the server does not give credentials to the origin site (through [`Access-Control-Allow-Credentials`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Credentials "The Access-Control-Allow-Credentials response header tells browsers whether to expose the response to frontend JavaScript code when the request\'s credentials mode (Request.credentials) is "include".") HTTP header), the resource will be _tainted_ and its usage restricted.\n\nIf the attribute is not present, the resource is fetched without a [CORS](https://developer.mozilla.org/en-US/docs/Glossary/CORS "CORS: CORS (Cross-Origin Resource Sharing) is a system, consisting of transmitting HTTP headers, that determines whether browsers block frontend JavaScript code from accessing responses for cross-origin requests.") request (i.e. without sending the `Origin` HTTP header), preventing its non-tainted usage. If invalid, it is handled as if the enumerated keyword **anonymous** was used. See [CORS settings attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_settings_attributes) for additional information.'}},{name:"rel",description:{kind:"markdown",value:"This attribute names a relationship of the linked document to the current document. The attribute must be a space-separated list of the [link types values](https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types)."}},{name:"media",description:{kind:"markdown",value:"This attribute specifies the media that the linked resource applies to. Its value must be a media type / [media query](https://developer.mozilla.org/en-US/docs/Web/CSS/Media_queries). This attribute is mainly useful when linking to external stylesheets \u2014 it allows the user agent to pick the best adapted one for the device it runs on.\n\n**Notes:**\n\n* In HTML 4, this can only be a simple white-space-separated list of media description literals, i.e., [media types and groups](https://developer.mozilla.org/en-US/docs/Web/CSS/@media), where defined and allowed as values for this attribute, such as `print`, `screen`, `aural`, `braille`. HTML5 extended this to any kind of [media queries](https://developer.mozilla.org/en-US/docs/Web/CSS/Media_queries), which are a superset of the allowed values of HTML 4.\n* Browsers not supporting [CSS3 Media Queries](https://developer.mozilla.org/en-US/docs/Web/CSS/Media_queries) won't necessarily recognize the adequate link; do not forget to set fallback links, the restricted set of media queries defined in HTML 4."}},{name:"hreflang",description:{kind:"markdown",value:"This attribute indicates the language of the linked resource. It is purely advisory. Allowed values are determined by [BCP47](https://www.ietf.org/rfc/bcp/bcp47.txt). Use this attribute only if the [`href`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#attr-href) attribute is present."}},{name:"type",description:{kind:"markdown",value:'This attribute is used to define the type of the content linked to. The value of the attribute should be a MIME type such as **text/html**, **text/css**, and so on. The common use of this attribute is to define the type of stylesheet being referenced (such as **text/css**), but given that CSS is the only stylesheet language used on the web, not only is it possible to omit the `type` attribute, but is actually now recommended practice. It is also used on `rel="preload"` link types, to make sure the browser only downloads file types that it supports.'}},{name:"sizes",description:{kind:"markdown",value:"This attribute defines the sizes of the icons for visual media contained in the resource. It must be present only if the [`rel`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/link#attr-rel) contains a value of `icon` or a non-standard type such as Apple's `apple-touch-icon`. It may have the following values:\n\n* `any`, meaning that the icon can be scaled to any size as it is in a vector format, like `image/svg+xml`.\n* a white-space separated list of sizes, each in the format `__x__` or `__X__`. Each of these sizes must be contained in the resource.\n\n**Note:** Most icon formats are only able to store one single icon; therefore most of the time the [`sizes`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes#attr-sizes) contains only one entry. MS's ICO format does, as well as Apple's ICNS. ICO is more ubiquitous; you should definitely use it."}},{name:"as",description:'This attribute is only used when `rel="preload"` or `rel="prefetch"` has been set on the `` element. It specifies the type of content being loaded by the ``, which is necessary for content prioritization, request matching, application of correct [content security policy](https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP), and setting of correct [`Accept`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept "The Accept request HTTP header advertises which content types, expressed as MIME types, the client is able to understand. Using content negotiation, the server then selects one of the proposals, uses it and informs the client of its choice with the Content-Type response header. Browsers set adequate values for this header depending on\xA0the context where the request is done: when fetching a CSS stylesheet a different value is set for the request than when fetching an image,\xA0video or a script.") request header.'},{name:"importance",description:"Indicates the relative importance of the resource. Priority hints are delegated using the values:"},{name:"importance",description:'**`auto`**: Indicates\xA0**no\xA0preference**. The browser may use its own heuristics to decide the priority of the resource.\n\n**`high`**: Indicates to the\xA0browser\xA0that the resource is of\xA0**high** priority.\n\n**`low`**:\xA0Indicates to the\xA0browser\xA0that the resource is of\xA0**low** priority.\n\n**Note:** The `importance` attribute may only be used for the `` element if `rel="preload"` or `rel="prefetch"` is present.'},{name:"integrity",description:"Contains inline metadata \u2014 a base64-encoded cryptographic hash of the resource (file) you\u2019re telling the browser to fetch. The browser can use this to verify that the fetched resource has been delivered free of unexpected manipulation. See [Subresource Integrity](https://developer.mozilla.org/en-US/docs/Web/Security/Subresource_Integrity)."},{name:"referrerpolicy",description:'A string indicating which referrer to use when fetching the resource:\n\n* `no-referrer` means that the [`Referer`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referer "The Referer request header contains the address of the previous web page from which a link to the currently requested page was followed. The Referer header allows servers to identify where people are visiting them from and may use that data for analytics, logging, or optimized caching, for example.") header will not be sent.\n* `no-referrer-when-downgrade` means that no [`Referer`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referer "The Referer request header contains the address of the previous web page from which a link to the currently requested page was followed. The Referer header allows servers to identify where people are visiting them from and may use that data for analytics, logging, or optimized caching, for example.") header will be sent when navigating to an origin without TLS (HTTPS). This is a user agent\u2019s default behavior, if no policy is otherwise specified.\n* `origin` means that the referrer will be the origin of the page, which is roughly the scheme, the host, and the port.\n* `origin-when-cross-origin` means that navigating to other origins will be limited to the scheme, the host, and the port, while navigating on the same origin will include the referrer\'s path.\n* `unsafe-url` means that the referrer will include the origin and the path (but not the fragment, password, or username). This case is unsafe because it can leak origins and paths from TLS-protected resources to insecure origins.'},{name:"title",description:'The `title` attribute has special semantics on the `` element. When used on a `` it defines a [preferred or an alternate stylesheet](https://developer.mozilla.org/en-US/docs/Web/CSS/Alternative_style_sheets). Incorrectly using it may [cause the stylesheet to be ignored](https://developer.mozilla.org/en-US/docs/Correctly_Using_Titles_With_External_Stylesheets).'}],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/link"}]},{name:"meta",description:{kind:"markdown",value:"The meta element represents various kinds of metadata that cannot be expressed using the title, base, link, style, and script elements."},void:!0,attributes:[{name:"name",description:{kind:"markdown",value:`This attribute defines the name of a piece of document-level metadata. It should not be set if one of the attributes [\`itemprop\`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes#attr-itemprop), [\`http-equiv\`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta#attr-http-equiv) or [\`charset\`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta#attr-charset) is also set. + +This metadata name is associated with the value contained by the [\`content\`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta#attr-content) attribute. The possible values for the name attribute are: + +* \`application-name\` which defines the name of the application running in the web page. + + **Note:** + + * Browsers may use this to identify the application. It is different from the [\`\`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/title "The HTML Title element (<title>) defines the document's title that is shown in a browser's title bar or a page's tab.") element, which usually contain the application name, but may also contain information like the document name or a status. + * Simple web pages shouldn't define an application-name. + +* \`author\` which defines the name of the document's author. +* \`description\` which contains a short and accurate summary of the content of the page. Several browsers, like Firefox and Opera, use this as the default description of bookmarked pages. +* \`generator\` which contains the identifier of the software that generated the page. +* \`keywords\` which contains words relevant to the page's content separated by commas. +* \`referrer\` which controls the [\`Referer\` HTTP header](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referer) attached to requests sent from the document: + + Values for the \`content\` attribute of \`<meta name="referrer">\` + + \`no-referrer\` + + Do not send a HTTP \`Referrer\` header. + + \`origin\` + + Send the [origin](https://developer.mozilla.org/en-US/docs/Glossary/Origin) of the document. + + \`no-referrer-when-downgrade\` + + Send the [origin](https://developer.mozilla.org/en-US/docs/Glossary/Origin) as a referrer to URLs as secure as the current page, (https\u2192https), but does not send a referrer to less secure URLs (https\u2192http). This is the default behaviour. + + \`origin-when-cross-origin\` + + Send the full URL (stripped of parameters) for same-origin requests, but only send the [origin](https://developer.mozilla.org/en-US/docs/Glossary/Origin) for other cases. + + \`same-origin\` + + A referrer will be sent for [same-site origins](https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy), but cross-origin requests will contain no referrer information. + + \`strict-origin\` + + Only send the origin of the document as the referrer to a-priori as-much-secure destination (HTTPS->HTTPS), but don't send it to a less secure destination (HTTPS->HTTP). + + \`strict-origin-when-cross-origin\` + + Send a full URL when performing a same-origin request, only send the origin of the document to a-priori as-much-secure destination (HTTPS->HTTPS), and send no header to a less secure destination (HTTPS->HTTP). + + \`unsafe-URL\` + + Send the full URL (stripped of parameters) for same-origin or cross-origin requests. + + **Notes:** + + * Some browsers support the deprecated values of \`always\`, \`default\`, and \`never\` for referrer. + * Dynamically inserting \`<meta name="referrer">\` (with [\`document.write\`](https://developer.mozilla.org/en-US/docs/Web/API/Document/write) or [\`appendChild\`](https://developer.mozilla.org/en-US/docs/Web/API/Node/appendChild)) makes the referrer behaviour unpredictable. + * When several conflicting policies are defined, the no-referrer policy is applied. + + +This attribute may also have a value taken from the extended list defined on [WHATWG Wiki MetaExtensions page](https://wiki.whatwg.org/wiki/MetaExtensions). Although none have been formally accepted yet, a few commonly used names are: + +* \`creator\` which defines the name of the creator of the document, such as an organization or institution. If there are more than one, several [\`<meta>\`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta "The HTML <meta> element represents metadata that cannot be represented by other HTML meta-related elements, like <base>, <link>, <script>, <style> or <title>.") elements should be used. +* \`googlebot\`, a synonym of \`robots\`, is only followed by Googlebot (the indexing crawler for Google). +* \`publisher\` which defines the name of the document's publisher. +* \`robots\` which defines the behaviour that cooperative crawlers, or "robots", should use with the page. It is a comma-separated list of the values below: + + Values for the content of \`<meta name="robots">\` + + Value + + Description + + Used by + + \`index\` + + Allows the robot to index the page (default). + + All + + \`noindex\` + + Requests the robot to not index the page. + + All + + \`follow\` + + Allows the robot to follow the links on the page (default). + + All + + \`nofollow\` + + Requests the robot to not follow the links on the page. + + All + + \`none\` + + Equivalent to \`noindex, nofollow\` + + [Google](https://support.google.com/webmasters/answer/79812) + + \`noodp\` + + Prevents using the [Open Directory Project](https://www.dmoz.org/) description, if any, as the page description in search engine results. + + [Google](https://support.google.com/webmasters/answer/35624#nodmoz), [Yahoo](https://help.yahoo.com/kb/search-for-desktop/meta-tags-robotstxt-yahoo-search-sln2213.html#cont5), [Bing](https://www.bing.com/webmaster/help/which-robots-metatags-does-bing-support-5198d240) + + \`noarchive\` + + Requests the search engine not to cache the page content. + + [Google](https://developers.google.com/webmasters/control-crawl-index/docs/robots_meta_tag#valid-indexing--serving-directives), [Yahoo](https://help.yahoo.com/kb/search-for-desktop/SLN2213.html), [Bing](https://www.bing.com/webmaster/help/which-robots-metatags-does-bing-support-5198d240) + + \`nosnippet\` + + Prevents displaying any description of the page in search engine results. + + [Google](https://developers.google.com/webmasters/control-crawl-index/docs/robots_meta_tag#valid-indexing--serving-directives), [Bing](https://www.bing.com/webmaster/help/which-robots-metatags-does-bing-support-5198d240) + + \`noimageindex\` + + Requests this page not to appear as the referring page of an indexed image. + + [Google](https://developers.google.com/webmasters/control-crawl-index/docs/robots_meta_tag#valid-indexing--serving-directives) + + \`nocache\` + + Synonym of \`noarchive\`. + + [Bing](https://www.bing.com/webmaster/help/which-robots-metatags-does-bing-support-5198d240) + + **Notes:** + + * Only cooperative robots follow these rules. Do not expect to prevent e-mail harvesters with them. + * The robot still needs to access the page in order to read these rules. To prevent bandwidth consumption, use a _[robots.txt](https://developer.mozilla.org/en-US/docs/Glossary/robots.txt "robots.txt: Robots.txt is a file which is usually placed in the root of any website. It decides whether\xA0crawlers are permitted or forbidden access to the web site.")_ file. + * If you want to remove a page, \`noindex\` will work, but only after the robot visits the page again. Ensure that the \`robots.txt\` file is not preventing revisits. + * Some values are mutually exclusive, like \`index\` and \`noindex\`, or \`follow\` and \`nofollow\`. In these cases the robot's behaviour is undefined and may vary between them. + * Some crawler robots, like Google, Yahoo and Bing, support the same values for the HTTP header \`X-Robots-Tag\`; this allows non-HTML documents like images to use these rules. + +* \`slurp\`, is a synonym of \`robots\`, but only for Slurp - the crawler for Yahoo Search. +* \`viewport\`, which gives hints about the size of the initial size of the [viewport](https://developer.mozilla.org/en-US/docs/Glossary/viewport "viewport: A viewport represents a polygonal (normally rectangular) area in computer graphics that is currently being viewed. In web browser terms, it refers to the part of the document you're viewing which is currently visible in its window (or the screen, if the document is being viewed in full screen mode). Content outside the viewport is not visible onscreen until scrolled into view."). Used by mobile devices only. + + Values for the content of \`<meta name="viewport">\` + + Value + + Possible subvalues + + Description + + \`width\` + + A positive integer number, or the text \`device-width\` + + Defines the pixel width of the viewport that you want the web site to be rendered at. + + \`height\` + + A positive integer, or the text \`device-height\` + + Defines the height of the viewport. Not used by any browser. + + \`initial-scale\` + + A positive number between \`0.0\` and \`10.0\` + + Defines the ratio between the device width (\`device-width\` in portrait mode or \`device-height\` in landscape mode) and the viewport size. + + \`maximum-scale\` + + A positive number between \`0.0\` and \`10.0\` + + Defines the maximum amount to zoom in. It must be greater or equal to the \`minimum-scale\` or the behaviour is undefined. Browser settings can ignore this rule and iOS10+ ignores it by default. + + \`minimum-scale\` + + A positive number between \`0.0\` and \`10.0\` + + Defines the minimum zoom level. It must be smaller or equal to the \`maximum-scale\` or the behaviour is undefined. Browser settings can ignore this rule and iOS10+ ignores it by default. + + \`user-scalable\` + + \`yes\` or \`no\` + + If set to \`no\`, the user is not able to zoom in the webpage. The default is \`yes\`. Browser settings can ignore this rule, and iOS10+ ignores it by default. + + Specification + + Status + + Comment + + [CSS Device Adaptation + The definition of '<meta name="viewport">' in that specification.](https://drafts.csswg.org/css-device-adapt/#viewport-meta) + + Working Draft + + Non-normatively describes the Viewport META element + + See also: [\`@viewport\`](https://developer.mozilla.org/en-US/docs/Web/CSS/@viewport "The @viewport CSS at-rule lets you configure the viewport through which the document is viewed. It's primarily used for mobile devices, but is also used by desktop browsers that support features like "snap to edge" (such as Microsoft Edge).") + + **Notes:** + + * Though unstandardized, this declaration is respected by most mobile browsers due to de-facto dominance. + * The default values may vary between devices and browsers. + * To learn about this declaration in Firefox for Mobile, see [this article](https://developer.mozilla.org/en-US/docs/Mobile/Viewport_meta_tag "Mobile/Viewport meta tag").`}},{name:"http-equiv",description:{kind:"markdown",value:'Defines a pragma directive. The attribute is named `**http-equiv**(alent)` because all the allowed values are names of particular HTTP headers:\n\n* `"content-language"` \n Defines the default language of the page. It can be overridden by the [lang](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/lang) attribute on any element.\n \n **Warning:** Do not use this value, as it is obsolete. Prefer the `lang` attribute on the [`<html>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/html "The HTML <html> element represents the root (top-level element) of an HTML document, so it is also referred to as the root element. All other elements must be descendants of this element.") element.\n \n* `"content-security-policy"` \n Allows page authors to define a [content policy](https://developer.mozilla.org/en-US/docs/Web/Security/CSP/CSP_policy_directives) for the current page. Content policies mostly specify allowed server origins and script endpoints which help guard against cross-site scripting attacks.\n* `"content-type"` \n Defines the [MIME type](https://developer.mozilla.org/en-US/docs/Glossary/MIME_type) of the document, followed by its character encoding. It follows the same syntax as the HTTP `content-type` entity-header field, but as it is inside a HTML page, most values other than `text/html` are impossible. Therefore the valid syntax for its `content` is the string \'`text/html`\' followed by a character set with the following syntax: \'`; charset=_IANAcharset_`\', where `IANAcharset` is the _preferred MIME name_ for a character set as [defined by the IANA.](https://www.iana.org/assignments/character-sets)\n \n **Warning:** Do not use this value, as it is obsolete. Use the [`charset`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta#attr-charset) attribute on the [`<meta>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta "The HTML <meta> element represents metadata that cannot be represented by other HTML meta-related elements, like <base>, <link>, <script>, <style> or <title>.") element.\n \n **Note:** As [`<meta>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta "The HTML <meta> element represents metadata that cannot be represented by other HTML meta-related elements, like <base>, <link>, <script>, <style> or <title>.") can\'t change documents\' types in XHTML or HTML5\'s XHTML serialization, never set the MIME type to an XHTML MIME type with `<meta>`.\n \n* `"refresh"` \n This instruction specifies:\n * The number of seconds until the page should be reloaded - only if the [`content`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta#attr-content) attribute contains a positive integer.\n * The number of seconds until the page should redirect to another - only if the [`content`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta#attr-content) attribute contains a positive integer followed by the string \'`;url=`\', and a valid URL.\n* `"set-cookie"` \n Defines a [cookie](https://developer.mozilla.org/en-US/docs/cookie) for the page. Its content must follow the syntax defined in the [IETF HTTP Cookie Specification](https://tools.ietf.org/html/draft-ietf-httpstate-cookie-14).\n \n **Warning:** Do not use this instruction, as it is obsolete. Use the HTTP header [`Set-Cookie`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie) instead.'}},{name:"content",description:{kind:"markdown",value:"This attribute contains the value for the [`http-equiv`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta#attr-http-equiv) or [`name`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta#attr-name) attribute, depending on which is used."}},{name:"charset",description:{kind:"markdown",value:'This attribute declares the page\'s character encoding. It must contain a [standard IANA MIME name for character encodings](https://www.iana.org/assignments/character-sets). Although the standard doesn\'t request a specific encoding, it suggests:\n\n* Authors are encouraged to use [`UTF-8`](https://developer.mozilla.org/en-US/docs/Glossary/UTF-8).\n* Authors should not use ASCII-incompatible encodings to avoid security risk: browsers not supporting them may interpret harmful content as HTML. This happens with the `JIS_C6226-1983`, `JIS_X0212-1990`, `HZ-GB-2312`, `JOHAB`, the ISO-2022 family and the EBCDIC family.\n\n**Note:** ASCII-incompatible encodings are those that don\'t map the 8-bit code points `0x20` to `0x7E` to the `0x0020` to `0x007E` Unicode code points)\n\n* Authors **must not** use `CESU-8`, `UTF-7`, `BOCU-1` and/or `SCSU` as [cross-site scripting](https://developer.mozilla.org/en-US/docs/Glossary/Cross-site_scripting) attacks with these encodings have been demonstrated.\n* Authors should not use `UTF-32` because not all HTML5 encoding algorithms can distinguish it from `UTF-16`.\n\n**Notes:**\n\n* The declared character encoding must match the one the page was saved with to avoid garbled characters and security holes.\n* The [`<meta>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta "The HTML <meta> element represents metadata that cannot be represented by other HTML meta-related elements, like <base>, <link>, <script>, <style> or <title>.") element declaring the encoding must be inside the [`<head>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/head "The HTML <head> element provides general information (metadata) about the document, including its title and links to its\xA0scripts and style sheets.") element and **within the first 1024 bytes** of the HTML as some browsers only look at those bytes before choosing an encoding.\n* This [`<meta>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta "The HTML <meta> element represents metadata that cannot be represented by other HTML meta-related elements, like <base>, <link>, <script>, <style> or <title>.") element is only one part of the [algorithm to determine a page\'s character set](https://www.whatwg.org/specs/web-apps/current-work/multipage/parsing.html#encoding-sniffing-algorithm "Algorithm charset page"). The [`Content-Type` header](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Type) and any [Byte-Order Marks](https://developer.mozilla.org/en-US/docs/Glossary/Byte-Order_Mark "The definition of that term (Byte-Order Marks) has not been written yet; please consider contributing it!") override this element.\n* It is strongly recommended to define the character encoding. If a page\'s encoding is undefined, cross-scripting techniques are possible, such as the [`UTF-7` fallback cross-scripting technique](https://code.google.com/p/doctype-mirror/wiki/ArticleUtf7).\n* The [`<meta>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta "The HTML <meta> element represents metadata that cannot be represented by other HTML meta-related elements, like <base>, <link>, <script>, <style> or <title>.") element with a `charset` attribute is a synonym for the pre-HTML5 `<meta http-equiv="Content-Type" content="text/html; charset=_IANAcharset_">`, where _`IANAcharset`_ contains the value of the equivalent [`charset`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta#attr-charset) attribute. This syntax is still allowed, although no longer recommended.'}},{name:"scheme",description:"This attribute defines the scheme in which metadata is described. A scheme is a context leading to the correct interpretations of the [`content`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta#attr-content) value, like a format.\n\n**Warning:** Do not use this value, as it is obsolete. There is no replacement as there was no real usage for it."}],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/meta"}]},{name:"style",description:{kind:"markdown",value:"The style element allows authors to embed style information in their documents. The style element is one of several inputs to the styling processing model. The element does not represent content for the user."},attributes:[{name:"media",description:{kind:"markdown",value:"This attribute defines which media the style should be applied to. Its value is a [media query](https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Media_queries), which defaults to `all` if the attribute is missing."}},{name:"nonce",description:{kind:"markdown",value:"A cryptographic nonce (number used once) used to whitelist inline styles in a [style-src Content-Security-Policy](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/style-src). The server must generate a unique nonce value each time it transmits a policy. It is critical to provide a nonce that cannot be guessed as bypassing a resource\u2019s policy is otherwise trivial."}},{name:"type",description:{kind:"markdown",value:"This attribute defines the styling language as a MIME type (charset should not be specified). This attribute is optional and defaults to `text/css` if it is not specified \u2014 there is very little reason to include this in modern web documents."}},{name:"scoped",valueSet:"v"},{name:"title",description:"This attribute specifies [alternative style sheet](https://developer.mozilla.org/en-US/docs/Web/CSS/Alternative_style_sheets) sets."}],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/style"}]},{name:"body",description:{kind:"markdown",value:"The body element represents the content of the document."},attributes:[{name:"onafterprint",description:{kind:"markdown",value:"Function to call after the user has printed the document."}},{name:"onbeforeprint",description:{kind:"markdown",value:"Function to call when the user requests printing of the document."}},{name:"onbeforeunload",description:{kind:"markdown",value:"Function to call when the document is about to be unloaded."}},{name:"onhashchange",description:{kind:"markdown",value:"Function to call when the fragment identifier part (starting with the hash (`'#'`) character) of the document's current address has changed."}},{name:"onlanguagechange",description:{kind:"markdown",value:"Function to call when the preferred languages changed."}},{name:"onmessage",description:{kind:"markdown",value:"Function to call when the document has received a message."}},{name:"onoffline",description:{kind:"markdown",value:"Function to call when network communication has failed."}},{name:"ononline",description:{kind:"markdown",value:"Function to call when network communication has been restored."}},{name:"onpagehide"},{name:"onpageshow"},{name:"onpopstate",description:{kind:"markdown",value:"Function to call when the user has navigated session history."}},{name:"onstorage",description:{kind:"markdown",value:"Function to call when the storage area has changed."}},{name:"onunload",description:{kind:"markdown",value:"Function to call when the document is going away."}},{name:"alink",description:'Color of text for hyperlinks when selected. _This method is non-conforming, use CSS [`color`](https://developer.mozilla.org/en-US/docs/Web/CSS/color "The color CSS property sets the foreground color value of an element\'s text and text decorations, and sets the currentcolor value.") property in conjunction with the [`:active`](https://developer.mozilla.org/en-US/docs/Web/CSS/:active "The :active CSS pseudo-class represents an element (such as a button) that is being activated by the user.") pseudo-class instead._'},{name:"background",description:'URI of a image to use as a background. _This method is non-conforming, use CSS [`background`](https://developer.mozilla.org/en-US/docs/Web/CSS/background "The background shorthand CSS property sets all background style properties at once, such as color, image, origin and size, or repeat method.") property on the element instead._'},{name:"bgcolor",description:'Background color for the document. _This method is non-conforming, use CSS [`background-color`](https://developer.mozilla.org/en-US/docs/Web/CSS/background-color "The background-color CSS property sets the background color of an element.") property on the element instead._'},{name:"bottommargin",description:'The margin of the bottom of the body. _This method is non-conforming, use CSS [`margin-bottom`](https://developer.mozilla.org/en-US/docs/Web/CSS/margin-bottom "The margin-bottom CSS property sets the margin area on the bottom of an element. A positive value places it farther from its neighbors, while a negative value places it closer.") property on the element instead._'},{name:"leftmargin",description:'The margin of the left of the body. _This method is non-conforming, use CSS [`margin-left`](https://developer.mozilla.org/en-US/docs/Web/CSS/margin-left "The margin-left CSS property sets the margin area on the left side of an element. A positive value places it farther from its neighbors, while a negative value places it closer.") property on the element instead._'},{name:"link",description:'Color of text for unvisited hypertext links. _This method is non-conforming, use CSS [`color`](https://developer.mozilla.org/en-US/docs/Web/CSS/color "The color CSS property sets the foreground color value of an element\'s text and text decorations, and sets the currentcolor value.") property in conjunction with the [`:link`](https://developer.mozilla.org/en-US/docs/Web/CSS/:link "The :link CSS pseudo-class represents an element that has not yet been visited. It matches every unvisited <a>, <area>, or <link> element that has an href attribute.") pseudo-class instead._'},{name:"onblur",description:"Function to call when the document loses focus."},{name:"onerror",description:"Function to call when the document fails to load properly."},{name:"onfocus",description:"Function to call when the document receives focus."},{name:"onload",description:"Function to call when the document has finished loading."},{name:"onredo",description:"Function to call when the user has moved forward in undo transaction history."},{name:"onresize",description:"Function to call when the document has been resized."},{name:"onundo",description:"Function to call when the user has moved backward in undo transaction history."},{name:"rightmargin",description:'The margin of the right of the body. _This method is non-conforming, use CSS [`margin-right`](https://developer.mozilla.org/en-US/docs/Web/CSS/margin-right "The margin-right CSS property sets the margin area on the right side of an element. A positive value places it farther from its neighbors, while a negative value places it closer.") property on the element instead._'},{name:"text",description:'Foreground color of text. _This method is non-conforming, use CSS [`color`](https://developer.mozilla.org/en-US/docs/Web/CSS/color "The color CSS property sets the foreground color value of an element\'s text and text decorations, and sets the currentcolor value.") property on the element instead._'},{name:"topmargin",description:'The margin of the top of the body. _This method is non-conforming, use CSS [`margin-top`](https://developer.mozilla.org/en-US/docs/Web/CSS/margin-top "The margin-top CSS property sets the margin area on the top of an element. A positive value places it farther from its neighbors, while a negative value places it closer.") property on the element instead._'},{name:"vlink",description:'Color of text for visited hypertext links. _This method is non-conforming, use CSS [`color`](https://developer.mozilla.org/en-US/docs/Web/CSS/color "The color CSS property sets the foreground color value of an element\'s text and text decorations, and sets the currentcolor value.") property in conjunction with the [`:visited`](https://developer.mozilla.org/en-US/docs/Web/CSS/:visited "The :visited CSS pseudo-class represents links that the user has already visited. For privacy reasons, the styles that can be modified using this selector are very limited.") pseudo-class instead._'}],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/body"}]},{name:"article",description:{kind:"markdown",value:"The article element represents a complete, or self-contained, composition in a document, page, application, or site and that is, in principle, independently distributable or reusable, e.g. in syndication. This could be a forum post, a magazine or newspaper article, a blog entry, a user-submitted comment, an interactive widget or gadget, or any other independent item of content. Each article should be identified, typically by including a heading (h1\u2013h6 element) as a child of the article element."},attributes:[],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/article"}]},{name:"section",description:{kind:"markdown",value:"The section element represents a generic section of a document or application. A section, in this context, is a thematic grouping of content. Each section should be identified, typically by including a heading ( h1- h6 element) as a child of the section element."},attributes:[],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/section"}]},{name:"nav",description:{kind:"markdown",value:"The nav element represents a section of a page that links to other pages or to parts within the page: a section with navigation links."},attributes:[],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/nav"}]},{name:"aside",description:{kind:"markdown",value:"The aside element represents a section of a page that consists of content that is tangentially related to the content around the aside element, and which could be considered separate from that content. Such sections are often represented as sidebars in printed typography."},attributes:[],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/aside"}]},{name:"h1",description:{kind:"markdown",value:"The h1 element represents a section heading."},attributes:[],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/Heading_Elements"}]},{name:"h2",description:{kind:"markdown",value:"The h2 element represents a section heading."},attributes:[],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/Heading_Elements"}]},{name:"h3",description:{kind:"markdown",value:"The h3 element represents a section heading."},attributes:[],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/Heading_Elements"}]},{name:"h4",description:{kind:"markdown",value:"The h4 element represents a section heading."},attributes:[],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/Heading_Elements"}]},{name:"h5",description:{kind:"markdown",value:"The h5 element represents a section heading."},attributes:[],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/Heading_Elements"}]},{name:"h6",description:{kind:"markdown",value:"The h6 element represents a section heading."},attributes:[],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/Heading_Elements"}]},{name:"header",description:{kind:"markdown",value:"The header element represents introductory content for its nearest ancestor sectioning content or sectioning root element. A header typically contains a group of introductory or navigational aids. When the nearest ancestor sectioning content or sectioning root element is the body element, then it applies to the whole page."},attributes:[],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/header"}]},{name:"footer",description:{kind:"markdown",value:"The footer element represents a footer for its nearest ancestor sectioning content or sectioning root element. A footer typically contains information about its section such as who wrote it, links to related documents, copyright data, and the like."},attributes:[],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/footer"}]},{name:"address",description:{kind:"markdown",value:"The address element represents the contact information for its nearest article or body element ancestor. If that is the body element, then the contact information applies to the document as a whole."},attributes:[],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/address"}]},{name:"p",description:{kind:"markdown",value:"The p element represents a paragraph."},attributes:[],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/p"}]},{name:"hr",description:{kind:"markdown",value:"The hr element represents a paragraph-level thematic break, e.g. a scene change in a story, or a transition to another topic within a section of a reference book."},void:!0,attributes:[{name:"align",description:"Sets the alignment of the rule on the page. If no value is specified, the default value is `left`."},{name:"color",description:"Sets the color of the rule through color name or hexadecimal value."},{name:"noshade",description:"Sets the rule to have no shading."},{name:"size",description:"Sets the height, in pixels, of the rule."},{name:"width",description:"Sets the length of the rule on the page through a pixel or percentage value."}],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/hr"}]},{name:"pre",description:{kind:"markdown",value:"The pre element represents a block of preformatted text, in which structure is represented by typographic conventions rather than by elements."},attributes:[{name:"cols",description:'Contains the _preferred_ count of characters that a line should have. It was a non-standard synonym of [`width`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/pre#attr-width). To achieve such an effect, use CSS [`width`](https://developer.mozilla.org/en-US/docs/Web/CSS/width "The width CSS property sets an element\'s width. By default it sets the width of the content area, but if box-sizing is set to border-box, it sets the width of the border area.") instead.'},{name:"width",description:'Contains the _preferred_ count of characters that a line should have. Though technically still implemented, this attribute has no visual effect; to achieve such an effect, use CSS [`width`](https://developer.mozilla.org/en-US/docs/Web/CSS/width "The width CSS property sets an element\'s width. By default it sets the width of the content area, but if box-sizing is set to border-box, it sets the width of the border area.") instead.'},{name:"wrap",description:'Is a _hint_ indicating how the overflow must happen. In modern browser this hint is ignored and no visual effect results in its present; to achieve such an effect, use CSS [`white-space`](https://developer.mozilla.org/en-US/docs/Web/CSS/white-space "The white-space CSS property sets how white space inside an element is handled.") instead.'}],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/pre"}]},{name:"blockquote",description:{kind:"markdown",value:"The blockquote element represents content that is quoted from another source, optionally with a citation which must be within a footer or cite element, and optionally with in-line changes such as annotations and abbreviations."},attributes:[{name:"cite",description:{kind:"markdown",value:"A URL that designates a source document or message for the information quoted. This attribute is intended to point to information explaining the context or the reference for the quote."}}],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/blockquote"}]},{name:"ol",description:{kind:"markdown",value:"The ol element represents a list of items, where the items have been intentionally ordered, such that changing the order would change the meaning of the document."},attributes:[{name:"reversed",valueSet:"v",description:{kind:"markdown",value:"This Boolean attribute specifies that the items of the list are specified in reversed order."}},{name:"start",description:{kind:"markdown",value:'This integer attribute specifies the start value for numbering the individual list items. Although the ordering type of list elements might be Roman numerals, such as XXXI, or letters, the value of start is always represented as a number. To start numbering elements from the letter "C", use `<ol start="3">`.\n\n**Note**: This attribute was deprecated in HTML4, but reintroduced in HTML5.'}},{name:"type",valueSet:"lt",description:{kind:"markdown",value:"Indicates the numbering type:\n\n* `'a'` indicates lowercase letters,\n* `'A'` indicates uppercase letters,\n* `'i'` indicates lowercase Roman numerals,\n* `'I'` indicates uppercase Roman numerals,\n* and `'1'` indicates numbers (default).\n\nThe type set is used for the entire list unless a different [`type`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/li#attr-type) attribute is used within an enclosed [`<li>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/li \"The HTML <li> element is used to represent an item in a list. It must be contained in a parent element: an ordered list (<ol>), an unordered list (<ul>), or a menu (<menu>). In menus and unordered lists, list items are usually displayed using bullet points. In ordered lists, they are usually displayed with an ascending counter on the left, such as a number or letter.\") element.\n\n**Note:** This attribute was deprecated in HTML4, but reintroduced in HTML5.\n\nUnless the value of the list number matters (e.g. in legal or technical documents where items are to be referenced by their number/letter), the CSS [`list-style-type`](https://developer.mozilla.org/en-US/docs/Web/CSS/list-style-type \"The list-style-type CSS property sets the marker (such as a disc, character, or custom counter style) of a list item element.\") property should be used instead."}},{name:"compact",description:'This Boolean attribute hints that the list should be rendered in a compact style. The interpretation of this attribute depends on the user agent and it doesn\'t work in all browsers.\n\n**Warning:** Do not use this attribute, as it has been deprecated: the [`<ol>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/ol "The HTML <ol> element represents an ordered list of items, typically rendered as a numbered list.") element should be styled using [CSS](https://developer.mozilla.org/en-US/docs/CSS). To give an effect similar to the `compact` attribute, the [CSS](https://developer.mozilla.org/en-US/docs/CSS) property [`line-height`](https://developer.mozilla.org/en-US/docs/Web/CSS/line-height "The line-height CSS property sets the amount of space used for lines, such as in text. On block-level elements, it specifies the minimum height of line boxes within the element. On non-replaced inline elements, it specifies the height that is used to calculate line box height.") can be used with a value of `80%`.'}],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/ol"}]},{name:"ul",description:{kind:"markdown",value:"The ul element represents a list of items, where the order of the items is not important \u2014 that is, where changing the order would not materially change the meaning of the document."},attributes:[{name:"compact",description:'This Boolean attribute hints that the list should be rendered in a compact style. The interpretation of this attribute depends on the user agent and it doesn\'t work in all browsers.\n\n**Usage note:\xA0**Do not use this attribute, as it has been deprecated: the [`<ul>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/ul "The HTML <ul> element represents an unordered list of items, typically rendered as a bulleted list.") element should be styled using [CSS](https://developer.mozilla.org/en-US/docs/CSS). To give a similar effect as the `compact` attribute, the [CSS](https://developer.mozilla.org/en-US/docs/CSS) property [line-height](https://developer.mozilla.org/en-US/docs/CSS/line-height) can be used with a value of `80%`.'}],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/ul"}]},{name:"li",description:{kind:"markdown",value:"The li element represents a list item. If its parent element is an ol, ul, or menu element, then the element is an item of the parent element's list, as defined for those elements. Otherwise, the list item has no defined list-related relationship to any other li element."},attributes:[{name:"value",description:{kind:"markdown",value:'This integer attribute indicates the current ordinal value of the list item as defined by the [`<ol>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/ol "The HTML <ol> element represents an ordered list of items, typically rendered as a numbered list.") element. The only allowed value for this attribute is a number, even if the list is displayed with Roman numerals or letters. List items that follow this one continue numbering from the value set. The **value** attribute has no meaning for unordered lists ([`<ul>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/ul "The HTML <ul> element represents an unordered list of items, typically rendered as a bulleted list.")) or for menus ([`<menu>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/menu "The HTML <menu> element represents a group of commands that a user can perform or activate. This includes both list menus, which might appear across the top of a screen, as well as context menus, such as those that might appear underneath a button after it has been clicked.")).\n\n**Note**: This attribute was deprecated in HTML4, but reintroduced in HTML5.\n\n**Note:** Prior to Gecko\xA09.0, negative values were incorrectly converted to 0. Starting in Gecko\xA09.0 all integer values are correctly parsed.'}},{name:"type",description:'This character attribute indicates the numbering type:\n\n* `a`: lowercase letters\n* `A`: uppercase letters\n* `i`: lowercase Roman numerals\n* `I`: uppercase Roman numerals\n* `1`: numbers\n\nThis type overrides the one used by its parent [`<ol>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/ol "The HTML <ol> element represents an ordered list of items, typically rendered as a numbered list.") element, if any.\n\n**Usage note:** This attribute has been deprecated: use the CSS [`list-style-type`](https://developer.mozilla.org/en-US/docs/Web/CSS/list-style-type "The list-style-type CSS property sets the marker (such as a disc, character, or custom counter style) of a list item element.") property instead.'}],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/li"}]},{name:"dl",description:{kind:"markdown",value:"The dl element represents an association list consisting of zero or more name-value groups (a description list). A name-value group consists of one or more names (dt elements) followed by one or more values (dd elements), ignoring any nodes other than dt and dd elements. Within a single dl element, there should not be more than one dt element for each name."},attributes:[],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/dl"}]},{name:"dt",description:{kind:"markdown",value:"The dt element represents the term, or name, part of a term-description group in a description list (dl element)."},attributes:[],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/dt"}]},{name:"dd",description:{kind:"markdown",value:"The dd element represents the description, definition, or value, part of a term-description group in a description list (dl element)."},attributes:[{name:"nowrap",description:"If the value of this attribute is set to `yes`, the definition text will not wrap. The default value is `no`."}],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/dd"}]},{name:"figure",description:{kind:"markdown",value:"The figure element represents some flow content, optionally with a caption, that is self-contained (like a complete sentence) and is typically referenced as a single unit from the main flow of the document."},attributes:[],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/figure"}]},{name:"figcaption",description:{kind:"markdown",value:"The figcaption element represents a caption or legend for the rest of the contents of the figcaption element's parent figure element, if any."},attributes:[],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/figcaption"}]},{name:"main",description:{kind:"markdown",value:"The main element represents the main content of the body of a document or application. The main content area consists of content that is directly related to or expands upon the central topic of a document or central functionality of an application."},attributes:[],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/main"}]},{name:"div",description:{kind:"markdown",value:"The div element has no special meaning at all. It represents its children. It can be used with the class, lang, and title attributes to mark up semantics common to a group of consecutive elements."},attributes:[],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/div"}]},{name:"a",description:{kind:"markdown",value:"If the a element has an href attribute, then it represents a hyperlink (a hypertext anchor) labeled by its contents."},attributes:[{name:"href",description:{kind:"markdown",value:'Contains a URL or a URL fragment that the hyperlink points to.\nA URL fragment is a name preceded by a hash mark (`#`), which specifies an internal target location (an [`id`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes#attr-id) of an HTML element) within the current document. URLs are not restricted to Web (HTTP)-based documents, but can use any protocol supported by the browser. For example, [`file:`](https://en.wikipedia.org/wiki/File_URI_scheme), `ftp:`, and `mailto:` work in most browsers.\n\n**Note:** You can use `href="#top"` or the empty fragment `href="#"` to link to the top of the current page. [This behavior is specified by HTML5](https://www.w3.org/TR/html5/single-page.html#scroll-to-fragid).'}},{name:"target",valueSet:"target",description:{kind:"markdown",value:'Specifies where to display the linked URL. It is a name of, or keyword for, a _browsing context_: a tab, window, or `<iframe>`. The following keywords have special meanings:\n\n* `_self`: Load the URL into the same browsing context as the current one. This is the default behavior.\n* `_blank`: Load the URL into a new browsing context. This is usually a tab, but users can configure browsers to use new windows instead.\n* `_parent`: Load the URL into the parent browsing context of the current one. If there is no parent, this behaves the same way as `_self`.\n* `_top`: Load the URL into the top-level browsing context (that is, the "highest" browsing context that is an ancestor of the current one, and has no parent). If there is no parent, this behaves the same way as `_self`.\n\n**Note:** When using `target`, consider adding `rel="noreferrer"` to avoid exploitation of the `window.opener` API.\n\n**Note:** Linking to another page using `target="_blank"` will run the new page on the same process as your page. If the new page is executing expensive JS, your page\'s performance may suffer. To avoid this use `rel="noopener"`.'}},{name:"download",description:{kind:"markdown",value:"This attribute instructs browsers to download a URL instead of navigating to it, so the user will be prompted to save it as a local file. If the attribute has a value, it is used as the pre-filled file name in the Save prompt (the user can still change the file name if they want). There are no restrictions on allowed values, though `/` and `\\` are converted to underscores. Most file systems limit some punctuation in file names, and browsers will adjust the suggested name accordingly.\n\n**Notes:**\n\n* This attribute only works for [same-origin URLs](https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy).\n* Although HTTP(s) URLs need to be in the same-origin, [`blob:` URLs](https://developer.mozilla.org/en-US/docs/Web/API/URL.createObjectURL) and [`data:` URLs](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs) are allowed so that content generated by JavaScript, such as pictures created in an image-editor Web app, can be downloaded.\n* If the HTTP header [`Content-Disposition:`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Disposition) gives a different filename than this attribute, the HTTP header takes priority over this attribute.\n* If `Content-Disposition:` is set to `inline`, Firefox prioritizes `Content-Disposition`, like the filename case, while Chrome prioritizes the `download` attribute."}},{name:"ping",description:{kind:"markdown",value:'Contains a space-separated list of URLs to which, when the hyperlink is followed, [`POST`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/POST "The HTTP POST method sends data to the server. The type of the body of the request is indicated by the Content-Type header.") requests with the body `PING` will be sent by the browser (in the background). Typically used for tracking.'}},{name:"rel",description:{kind:"markdown",value:"Specifies the relationship of the target object to the link object. The value is a space-separated list of [link types](https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types)."}},{name:"hreflang",description:{kind:"markdown",value:'This attribute indicates the human language of the linked resource. It is purely advisory, with no built-in functionality. Allowed values are determined by [BCP47](https://www.ietf.org/rfc/bcp/bcp47.txt "Tags for Identifying Languages").'}},{name:"type",description:{kind:"markdown",value:'Specifies the media type in the form of a [MIME type](https://developer.mozilla.org/en-US/docs/Glossary/MIME_type "MIME type: A\xA0MIME type\xA0(now properly called "media type", but\xA0also sometimes "content type") is a string sent along\xA0with a file indicating the type of the file (describing the content format, for example, a sound file might be labeled\xA0audio/ogg, or an image file\xA0image/png).") for the linked URL. It is purely advisory, with no built-in functionality.'}},{name:"referrerpolicy",description:"Indicates which [referrer](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referer) to send when fetching the URL:\n\n* `'no-referrer'` means the `Referer:` header will not be sent.\n* `'no-referrer-when-downgrade'` means no `Referer:` header will be sent when navigating to an origin without HTTPS. This is the default behavior.\n* `'origin'` means the referrer will be the [origin](https://developer.mozilla.org/en-US/docs/Glossary/Origin) of the page, not including information after the domain.\n* `'origin-when-cross-origin'` meaning that navigations to other origins will be limited to the scheme, the host and the port, while navigations on the same origin will include the referrer's path.\n* `'strict-origin-when-cross-origin'`\n* `'unsafe-url'` means the referrer will include the origin and path, but not the fragment, password, or username. This is unsafe because it can leak data from secure URLs to insecure ones."}],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/a"}]},{name:"em",description:{kind:"markdown",value:"The em element represents stress emphasis of its contents."},attributes:[],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/em"}]},{name:"strong",description:{kind:"markdown",value:"The strong element represents strong importance, seriousness, or urgency for its contents."},attributes:[],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/strong"}]},{name:"small",description:{kind:"markdown",value:"The small element represents side comments such as small print."},attributes:[],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/small"}]},{name:"s",description:{kind:"markdown",value:"The s element represents contents that are no longer accurate or no longer relevant."},attributes:[],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/s"}]},{name:"cite",description:{kind:"markdown",value:"The cite element represents a reference to a creative work. It must include the title of the work or the name of the author(person, people or organization) or an URL reference, or a reference in abbreviated form as per the conventions used for the addition of citation metadata."},attributes:[],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/cite"}]},{name:"q",description:{kind:"markdown",value:"The q element represents some phrasing content quoted from another source."},attributes:[{name:"cite",description:{kind:"markdown",value:"The value of this attribute is a URL that designates a source document or message for the information quoted. This attribute is intended to point to information explaining the context or the reference for the quote."}}],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/q"}]},{name:"dfn",description:{kind:"markdown",value:"The dfn element represents the defining instance of a term. The paragraph, description list group, or section that is the nearest ancestor of the dfn element must also contain the definition(s) for the term given by the dfn element."},attributes:[],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/dfn"}]},{name:"abbr",description:{kind:"markdown",value:"The abbr element represents an abbreviation or acronym, optionally with its expansion. The title attribute may be used to provide an expansion of the abbreviation. The attribute, if specified, must contain an expansion of the abbreviation, and nothing else."},attributes:[],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/abbr"}]},{name:"ruby",description:{kind:"markdown",value:"The ruby element allows one or more spans of phrasing content to be marked with ruby annotations. Ruby annotations are short runs of text presented alongside base text, primarily used in East Asian typography as a guide for pronunciation or to include other annotations. In Japanese, this form of typography is also known as furigana. Ruby text can appear on either side, and sometimes both sides, of the base text, and it is possible to control its position using CSS. A more complete introduction to ruby can be found in the Use Cases & Exploratory Approaches for Ruby Markup document as well as in CSS Ruby Module Level 1. [RUBY-UC] [CSSRUBY]"},attributes:[],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/ruby"}]},{name:"rb",description:{kind:"markdown",value:"The rb element marks the base text component of a ruby annotation. When it is the child of a ruby element, it doesn't represent anything itself, but its parent ruby element uses it as part of determining what it represents."},attributes:[],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/rb"}]},{name:"rt",description:{kind:"markdown",value:"The rt element marks the ruby text component of a ruby annotation. When it is the child of a ruby element or of an rtc element that is itself the child of a ruby element, it doesn't represent anything itself, but its ancestor ruby element uses it as part of determining what it represents."},attributes:[],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/rt"}]},{name:"rp",description:{kind:"markdown",value:"The rp element is used to provide fallback text to be shown by user agents that don't support ruby annotations. One widespread convention is to provide parentheses around the ruby text component of a ruby annotation."},attributes:[],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/rp"}]},{name:"time",description:{kind:"markdown",value:"The time element represents its contents, along with a machine-readable form of those contents in the datetime attribute. The kind of content is limited to various kinds of dates, times, time-zone offsets, and durations, as described below."},attributes:[{name:"datetime",description:{kind:"markdown",value:"This attribute indicates the time and/or date of the element and must be in one of the formats described below."}}],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/time"}]},{name:"code",description:{kind:"markdown",value:"The code element represents a fragment of computer code. This could be an XML element name, a file name, a computer program, or any other string that a computer would recognize."},attributes:[],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/code"}]},{name:"var",description:{kind:"markdown",value:"The var element represents a variable. This could be an actual variable in a mathematical expression or programming context, an identifier representing a constant, a symbol identifying a physical quantity, a function parameter, or just be a term used as a placeholder in prose."},attributes:[],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/var"}]},{name:"samp",description:{kind:"markdown",value:"The samp element represents sample or quoted output from another program or computing system."},attributes:[],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/samp"}]},{name:"kbd",description:{kind:"markdown",value:"The kbd element represents user input (typically keyboard input, although it may also be used to represent other input, such as voice commands)."},attributes:[],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/kbd"}]},{name:"sub",description:{kind:"markdown",value:"The sub element represents a subscript."},attributes:[],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/sub"}]},{name:"sup",description:{kind:"markdown",value:"The sup element represents a superscript."},attributes:[],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/sup"}]},{name:"i",description:{kind:"markdown",value:"The i element represents a span of text in an alternate voice or mood, or otherwise offset from the normal prose in a manner indicating a different quality of text, such as a taxonomic designation, a technical term, an idiomatic phrase from another language, transliteration, a thought, or a ship name in Western texts."},attributes:[],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/i"}]},{name:"b",description:{kind:"markdown",value:"The b element represents a span of text to which attention is being drawn for utilitarian purposes without conveying any extra importance and with no implication of an alternate voice or mood, such as key words in a document abstract, product names in a review, actionable words in interactive text-driven software, or an article lede."},attributes:[],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/b"}]},{name:"u",description:{kind:"markdown",value:"The u element represents a span of text with an unarticulated, though explicitly rendered, non-textual annotation, such as labeling the text as being a proper name in Chinese text (a Chinese proper name mark), or labeling the text as being misspelt."},attributes:[],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/u"}]},{name:"mark",description:{kind:"markdown",value:"The mark element represents a run of text in one document marked or highlighted for reference purposes, due to its relevance in another context. When used in a quotation or other block of text referred to from the prose, it indicates a highlight that was not originally present but which has been added to bring the reader's attention to a part of the text that might not have been considered important by the original author when the block was originally written, but which is now under previously unexpected scrutiny. When used in the main prose of a document, it indicates a part of the document that has been highlighted due to its likely relevance to the user's current activity."},attributes:[],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/mark"}]},{name:"bdi",description:{kind:"markdown",value:"The bdi element represents a span of text that is to be isolated from its surroundings for the purposes of bidirectional text formatting. [BIDI]"},attributes:[],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/bdi"}]},{name:"bdo",description:{kind:"markdown",value:"The bdo element represents explicit text directionality formatting control for its children. It allows authors to override the Unicode bidirectional algorithm by explicitly specifying a direction override. [BIDI]"},attributes:[{name:"dir",description:"The direction in which text should be rendered in this element's contents. Possible values are:\n\n* `ltr`: Indicates that the text should go in a left-to-right direction.\n* `rtl`: Indicates that the text should go in a right-to-left direction."}],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/bdo"}]},{name:"span",description:{kind:"markdown",value:"The span element doesn't mean anything on its own, but can be useful when used together with the global attributes, e.g. class, lang, or dir. It represents its children."},attributes:[],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/span"}]},{name:"br",description:{kind:"markdown",value:"The br element represents a line break."},void:!0,attributes:[{name:"clear",description:"Indicates where to begin the next line after the break."}],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/br"}]},{name:"wbr",description:{kind:"markdown",value:"The wbr element represents a line break opportunity."},void:!0,attributes:[],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/wbr"}]},{name:"ins",description:{kind:"markdown",value:"The ins element represents an addition to the document."},attributes:[{name:"cite",description:"This attribute defines the URI of a resource that explains the change, such as a link to meeting minutes or a ticket in a troubleshooting system."},{name:"datetime",description:'This attribute indicates the time and date of the change and must be a valid date with an optional time string. If the value cannot be parsed as a date with an optional time string, the element does not have an associated time stamp. For the format of the string without a time, see [Format of a valid date string](https://developer.mozilla.org/en-US/docs/Web/HTML/Date_and_time_formats#Format_of_a_valid_date_string "Certain HTML elements use date and/or time values. The formats of the strings that specify these are described in this article.") in [Date and time formats used in HTML](https://developer.mozilla.org/en-US/docs/Web/HTML/Date_and_time_formats "Certain HTML elements use date and/or time values. The formats of the strings that specify these are described in this article."). The format of the string if it includes both date and time is covered in [Format of a valid local date and time string](https://developer.mozilla.org/en-US/docs/Web/HTML/Date_and_time_formats#Format_of_a_valid_local_date_and_time_string "Certain HTML elements use date and/or time values. The formats of the strings that specify these are described in this article.") in [Date and time formats used in HTML](https://developer.mozilla.org/en-US/docs/Web/HTML/Date_and_time_formats "Certain HTML elements use date and/or time values. The formats of the strings that specify these are described in this article.").'}],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/ins"}]},{name:"del",description:{kind:"markdown",value:"The del element represents a removal from the document."},attributes:[{name:"cite",description:{kind:"markdown",value:"A URI for a resource that explains the change (for example, meeting minutes)."}},{name:"datetime",description:{kind:"markdown",value:'This attribute indicates the time and date of the change and must be a valid date string with an optional time. If the value cannot be parsed as a date with an optional time string, the element does not have an associated time stamp. For the format of the string without a time, see [Format of a valid date string](https://developer.mozilla.org/en-US/docs/Web/HTML/Date_and_time_formats#Format_of_a_valid_date_string "Certain HTML elements use date and/or time values. The formats of the strings that specify these are described in this article.") in [Date and time formats used in HTML](https://developer.mozilla.org/en-US/docs/Web/HTML/Date_and_time_formats "Certain HTML elements use date and/or time values. The formats of the strings that specify these are described in this article."). The format of the string if it includes both date and time is covered in [Format of a valid local date and time string](https://developer.mozilla.org/en-US/docs/Web/HTML/Date_and_time_formats#Format_of_a_valid_local_date_and_time_string "Certain HTML elements use date and/or time values. The formats of the strings that specify these are described in this article.") in [Date and time formats used in HTML](https://developer.mozilla.org/en-US/docs/Web/HTML/Date_and_time_formats "Certain HTML elements use date and/or time values. The formats of the strings that specify these are described in this article.").'}}],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/del"}]},{name:"picture",description:{kind:"markdown",value:"The picture element is a container which provides multiple sources to its contained img element to allow authors to declaratively control or give hints to the user agent about which image resource to use, based on the screen pixel density, viewport size, image format, and other factors. It represents its children."},attributes:[],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/picture"}]},{name:"img",description:{kind:"markdown",value:"An img element represents an image."},void:!0,attributes:[{name:"alt",description:{kind:"markdown",value:'This attribute defines an alternative text description of the image.\n\n**Note:** Browsers do not always display the image referenced by the element. This is the case for non-graphical browsers (including those used by people with visual impairments), if the user chooses not to display images, or if the browser cannot display the image because it is invalid or an [unsupported type](#Supported_image_formats). In these cases, the browser may replace the image with the text defined in this element\'s `alt` attribute. You should, for these reasons and others, provide a useful value for `alt` whenever possible.\n\n**Note:** Omitting this attribute altogether indicates that the image is a key part of the content, and no textual equivalent is available. Setting this attribute to an empty string (`alt=""`) indicates that this image is _not_ a key part of the content (decorative), and that non-visual browsers may omit it from rendering.'}},{name:"src",description:{kind:"markdown",value:"The image URL. This attribute is mandatory for the `<img>` element. On browsers supporting `srcset`, `src` is treated like a candidate image with a pixel density descriptor `1x` unless an image with this pixel density descriptor is already defined in `srcset,` or unless `srcset` contains '`w`' descriptors."}},{name:"srcset",description:{kind:"markdown",value:"A list of one or more strings separated by commas indicating a set of possible image sources for the user agent to use. Each string is composed of:\n\n1. a URL to an image,\n2. optionally, whitespace followed by one of:\n * A width descriptor, or a positive integer directly followed by '`w`'. The width descriptor is divided by the source size given in the `sizes` attribute to calculate the effective pixel density.\n * A pixel density descriptor, which is a positive floating point number directly followed by '`x`'.\n\nIf no descriptor is specified, the source is assigned the default descriptor: `1x`.\n\nIt is incorrect to mix width descriptors and pixel density descriptors in the same `srcset` attribute. Duplicate descriptors (for instance, two sources in the same `srcset` which are both described with '`2x`') are also invalid.\n\nThe user agent selects any one of the available sources at its discretion. This provides them with significant leeway to tailor their selection based on things like user preferences or bandwidth conditions. See our [Responsive images](https://developer.mozilla.org/en-US/docs/Learn/HTML/Multimedia_and_embedding/Responsive_images) tutorial for an example."}},{name:"crossorigin",valueSet:"xo",description:{kind:"markdown",value:'This enumerated attribute indicates if the fetching of the related image must be done using CORS or not. [CORS-enabled images](https://developer.mozilla.org/en-US/docs/CORS_Enabled_Image) can be reused in the [`<canvas>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/canvas "Use the HTML <canvas> element with either the canvas scripting API or the WebGL API to draw graphics and animations.") element without being "[tainted](https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_enabled_image#What_is_a_tainted_canvas)." The allowed values are:\n`anonymous`\n\nA cross-origin request (i.e., with `Origin:` HTTP header) is performed, but no credential is sent (i.e., no cookie, X.509 certificate, or HTTP Basic authentication). If the server does not give credentials to the origin site (by not setting the [`Access-Control-Allow-Origin`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Origin "The Access-Control-Allow-Origin response header indicates whether the response can be shared with requesting code from the given origin.") HTTP header), the image will be tainted and its usage restricted.\n\n`use-credentials`\n\nA cross-origin request (i.e., with the [`Origin`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Origin "The Origin request header indicates where a fetch originates from. It doesn\'t include any path information, but only the server name. It is sent with CORS requests, as well as with POST requests. It is similar to the Referer header, but, unlike this header, it doesn\'t disclose the whole path.") HTTP header) performed along with credentials sent (i.e., a cookie, certificate, or HTTP Basic authentication). If the server does not give credentials to the origin site (through the `Access-Control-Allow-Credentials` HTTP header), the image will be tainted and its usage restricted.\n\nIf the attribute is not present, the resource is fetched without a CORS request (i.e., without sending the `Origin` HTTP header), preventing its non-tainted usage in [`<canvas>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/canvas "Use the HTML <canvas> element with either the canvas scripting API or the WebGL API to draw graphics and animations.") elements. If invalid, it is handled as if the `anonymous` value was used. See [CORS settings attributes](https://developer.mozilla.org/en-US/docs/HTML/CORS_settings_attributes) for additional information.'}},{name:"usemap",description:{kind:"markdown",value:'The partial URL (starting with \'#\') of an [image map](https://developer.mozilla.org/en-US/docs/HTML/Element/map) associated with the element.\n\n**Note:** You cannot use this attribute if the `<img>` element is a descendant of an [`<a>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a "The HTML <a> element (or anchor element) creates a hyperlink to other web pages, files, locations within the same page, email addresses, or any other URL.") or [`<button>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button "The HTML <button> element represents a clickable button, which can be used in forms or anywhere in a document that needs simple, standard button functionality.") element.'}},{name:"ismap",valueSet:"v",description:{kind:"markdown",value:'This Boolean attribute indicates that the image is part of a server-side map. If so, the precise coordinates of a click are sent to the server.\n\n**Note:** This attribute is allowed only if the `<img>` element is a descendant of an [`<a>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a "The HTML <a> element (or anchor element) creates a hyperlink to other web pages, files, locations within the same page, email addresses, or any other URL.") element with a valid [`href`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#attr-href) attribute.'}},{name:"width",description:{kind:"markdown",value:"The intrinsic width of the image in pixels."}},{name:"height",description:{kind:"markdown",value:"The intrinsic height of the image in pixels."}},{name:"decoding",valueSet:"decoding",description:{kind:"markdown",value:`Provides an image decoding hint to the browser. The allowed values are: +\`sync\` + +Decode the image synchronously for atomic presentation with other content. + +\`async\` + +Decode the image asynchronously to reduce delay in presenting other content. + +\`auto\` + +Default mode, which indicates no preference for the decoding mode. The browser decides what is best for the user.`}},{name:"loading",valueSet:"loading",description:{kind:"markdown",value:"Indicates how the browser should load the image."}},{name:"referrerpolicy",valueSet:"referrerpolicy",description:{kind:"markdown",value:"A string indicating which referrer to use when fetching the resource:\n\n* `no-referrer:` The [`Referer`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referer \"The Referer request header contains the address of the previous web page from which a link to the currently requested page was followed. The Referer header allows servers to identify where people are visiting them from and may use that data for analytics, logging, or optimized caching, for example.\") header will not be sent.\n* `no-referrer-when-downgrade:` No `Referer` header will be sent when navigating to an origin without TLS (HTTPS). This is a user agent\u2019s default behavior if no policy is otherwise specified.\n* `origin:` The `Referer` header will include the page of origin's scheme, the host, and the port.\n* `origin-when-cross-origin:` Navigating to other origins will limit the included referral data to the scheme, the host and the port, while navigating from the same origin will include the referrer's full path.\n* `unsafe-url:` The `Referer` header will include the origin and the path, but not the fragment, password, or username. This case is unsafe because it can leak origins and paths from TLS-protected resources to insecure origins."}},{name:"sizes",description:{kind:"markdown",value:"A list of one or more strings separated by commas indicating a set of source sizes. Each source size consists of:\n\n1. a media condition. This must be omitted for the last item.\n2. a source size value.\n\nSource size values specify the intended display size of the image. User agents use the current source size to select one of the sources supplied by the `srcset` attribute, when those sources are described using width ('`w`') descriptors. The selected source size affects the intrinsic size of the image (the image\u2019s display size if no CSS styling is applied). If the `srcset` attribute is absent, or contains no values with a width (`w`) descriptor, then the `sizes` attribute has no effect."}},{name:"importance",description:"Indicates the relative importance of the resource. Priority hints are delegated using the values:"},{name:"importance",description:"`auto`: Indicates\xA0**no\xA0preference**. The browser may use its own heuristics to decide the priority of the image.\n\n`high`: Indicates to the\xA0browser\xA0that the image is of\xA0**high** priority.\n\n`low`:\xA0Indicates to the\xA0browser\xA0that the image is of\xA0**low** priority."},{name:"intrinsicsize",description:"This attribute tells the browser to ignore the actual intrinsic size of the image and pretend it\u2019s the size specified in the attribute. Specifically, the image would raster at these dimensions and `naturalWidth`/`naturalHeight` on images would return the values specified in this attribute. [Explainer](https://github.com/ojanvafai/intrinsicsize-attribute), [examples](https://googlechrome.github.io/samples/intrinsic-size/index.html)"}],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/img"}]},{name:"iframe",description:{kind:"markdown",value:"The iframe element represents a nested browsing context."},attributes:[{name:"src",description:{kind:"markdown",value:'The URL of the page to embed. Use a value of `about:blank` to embed an empty page that conforms to the [same-origin policy](https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy#Inherited_origins). Also note that programatically removing an `<iframe>`\'s src attribute (e.g. via [`Element.removeAttribute()`](https://developer.mozilla.org/en-US/docs/Web/API/Element/removeAttribute "The Element method removeAttribute() removes the attribute with the specified name from the element.")) causes `about:blank` to be loaded in the frame in Firefox (from version 65), Chromium-based browsers, and Safari/iOS.'}},{name:"srcdoc",description:{kind:"markdown",value:"Inline HTML to embed, overriding the `src` attribute. If a browser does not support the `srcdoc` attribute, it will fall back to the URL in the `src` attribute."}},{name:"name",description:{kind:"markdown",value:'A targetable name for the embedded browsing context. This can be used in the `target` attribute of the [`<a>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a "The HTML <a> element (or anchor element) creates a hyperlink to other web pages, files, locations within the same page, email addresses, or any other URL."), [`<form>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form "The HTML <form> element represents a document section that contains interactive controls for submitting information to a web server."), or [`<base>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/base "The HTML <base> element specifies the base URL to use for all relative URLs contained within a document. There can be only one <base> element in a document.") elements; the `formtarget` attribute of the [`<input>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input "The HTML <input> element is used to create interactive controls for web-based forms in order to accept data from the user; a wide variety of types of input data and control widgets are available, depending on the device and user agent.") or [`<button>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button "The HTML <button> element represents a clickable button, which can be used in forms or anywhere in a document that needs simple, standard button functionality.") elements; or the `windowName` parameter in the [`window.open()`](https://developer.mozilla.org/en-US/docs/Web/API/Window/open "The\xA0Window interface\'s open() method loads the specified resource into the browsing context (window, <iframe> or tab) with the specified name. If the name doesn\'t exist, then a new window is opened and the specified resource is loaded into its browsing context.") method.'}},{name:"sandbox",valueSet:"sb",description:{kind:"markdown",value:'Applies extra restrictions to the content in the frame. The value of the attribute can either be empty to apply all restrictions, or space-separated tokens to lift particular restrictions:\n\n* `allow-forms`: Allows the resource to submit forms. If this keyword is not used, form submission is blocked.\n* `allow-modals`: Lets the resource [open modal windows](https://html.spec.whatwg.org/multipage/origin.html#sandboxed-modals-flag).\n* `allow-orientation-lock`: Lets the resource [lock the screen orientation](https://developer.mozilla.org/en-US/docs/Web/API/Screen/lockOrientation).\n* `allow-pointer-lock`: Lets the resource use the [Pointer Lock API](https://developer.mozilla.org/en-US/docs/WebAPI/Pointer_Lock).\n* `allow-popups`: Allows popups (such as `window.open()`, `target="_blank"`, or `showModalDialog()`). If this keyword is not used, the popup will silently fail to open.\n* `allow-popups-to-escape-sandbox`: Lets the sandboxed document open new windows without those windows inheriting the sandboxing. For example, this can safely sandbox an advertisement without forcing the same restrictions upon the page the ad links to.\n* `allow-presentation`: Lets the resource start a [presentation session](https://developer.mozilla.org/en-US/docs/Web/API/PresentationRequest).\n* `allow-same-origin`: If this token is not used, the resource is treated as being from a special origin that always fails the [same-origin policy](https://developer.mozilla.org/en-US/docs/Glossary/same-origin_policy "same-origin policy: The same-origin policy is a critical security mechanism that restricts how a document or script loaded from one origin can interact with a resource from another origin.").\n* `allow-scripts`: Lets the resource run scripts (but not create popup windows).\n* `allow-storage-access-by-user-activation` : Lets the resource request access to the parent\'s storage capabilities with the [Storage Access API](https://developer.mozilla.org/en-US/docs/Web/API/Storage_Access_API).\n* `allow-top-navigation`: Lets the resource navigate the top-level browsing context (the one named `_top`).\n* `allow-top-navigation-by-user-activation`: Lets the resource navigate the top-level browsing context, but only if initiated by a user gesture.\n\n**Notes about sandboxing:**\n\n* When the embedded document has the same origin as the embedding page, it is **strongly discouraged** to use both `allow-scripts` and `allow-same-origin`, as that lets the embedded document remove the `sandbox` attribute \u2014 making it no more secure than not using the `sandbox` attribute at all.\n* Sandboxing is useless if the attacker can display content outside a sandboxed `iframe` \u2014 such as if the viewer opens the frame in a new tab. Such content should be also served from a _separate origin_ to limit potential damage.\n* The `sandbox` attribute is unsupported in Internet Explorer 9 and earlier.'}},{name:"seamless",valueSet:"v"},{name:"allowfullscreen",valueSet:"v",description:{kind:"markdown",value:'Set to `true` if the `<iframe>` can activate fullscreen mode by calling the [`requestFullscreen()`](https://developer.mozilla.org/en-US/docs/Web/API/Element/requestFullscreen "The Element.requestFullscreen() method issues an asynchronous request to make the element be displayed in full-screen mode.") method.\nThis attribute is considered a legacy attribute and redefined as `allow="fullscreen"`.'}},{name:"width",description:{kind:"markdown",value:"The width of the frame in CSS pixels. Default is `300`."}},{name:"height",description:{kind:"markdown",value:"The height of the frame in CSS pixels. Default is `150`."}},{name:"allow",description:"Specifies a [feature policy](https://developer.mozilla.org/en-US/docs/Web/HTTP/Feature_Policy) for the `<iframe>`."},{name:"allowpaymentrequest",description:"Set to `true` if a cross-origin `<iframe>` should be allowed to invoke the [Payment Request API](https://developer.mozilla.org/en-US/docs/Web/API/Payment_Request_API)."},{name:"allowpaymentrequest",description:'This attribute is considered a legacy attribute and redefined as `allow="payment"`.'},{name:"csp",description:'A [Content Security Policy](https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP) enforced for the embedded resource. See [`HTMLIFrameElement.csp`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLIFrameElement/csp "The csp property of the HTMLIFrameElement interface specifies the Content Security Policy that an embedded document must agree to enforce upon itself.") for details.'},{name:"importance",description:`The download priority of the resource in the \`<iframe>\`'s \`src\` attribute. Allowed values: + +\`auto\` (default) + +No preference. The browser uses its own heuristics to decide the priority of the resource. + +\`high\` + +The resource should be downloaded before other lower-priority page resources. + +\`low\` + +The resource should be downloaded after other higher-priority page resources.`},{name:"referrerpolicy",description:'Indicates which [referrer](https://developer.mozilla.org/en-US/docs/Web/API/Document/referrer) to send when fetching the frame\'s resource:\n\n* `no-referrer`: The [`Referer`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referer "The Referer request header contains the address of the previous web page from which a link to the currently requested page was followed. The Referer header allows servers to identify where people are visiting them from and may use that data for analytics, logging, or optimized caching, for example.") header will not be sent.\n* `no-referrer-when-downgrade` (default): The [`Referer`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referer "The Referer request header contains the address of the previous web page from which a link to the currently requested page was followed. The Referer header allows servers to identify where people are visiting them from and may use that data for analytics, logging, or optimized caching, for example.") header will not be sent to [origin](https://developer.mozilla.org/en-US/docs/Glossary/origin "origin: Web content\'s origin is defined by the scheme (protocol), host (domain), and port of the URL used to access it. Two objects have the same origin only when the scheme, host, and port all match.")s without [TLS](https://developer.mozilla.org/en-US/docs/Glossary/TLS "TLS: Transport Layer Security (TLS), previously known as Secure Sockets Layer (SSL), is a protocol used by applications to communicate securely across a network, preventing tampering with and eavesdropping on email, web browsing, messaging, and other protocols.") ([HTTPS](https://developer.mozilla.org/en-US/docs/Glossary/HTTPS "HTTPS: HTTPS (HTTP Secure) is an encrypted version of the HTTP protocol. It usually uses SSL or TLS to encrypt all communication between a client and a server. This secure connection allows clients to safely exchange sensitive data with a server, for example for banking activities or online shopping.")).\n* `origin`: The sent referrer will be limited to the origin of the referring page: its [scheme](https://developer.mozilla.org/en-US/docs/Archive/Mozilla/URIScheme), [host](https://developer.mozilla.org/en-US/docs/Glossary/host "host: A host is a device connected to the Internet (or a local network). Some hosts called servers offer additional services like serving webpages or storing files and emails."), and [port](https://developer.mozilla.org/en-US/docs/Glossary/port "port: For a computer connected to a network with an IP address, a port is a communication endpoint. Ports are designated by numbers, and below 1024 each port is associated by default with a specific protocol.").\n* `origin-when-cross-origin`: The referrer sent to other origins will be limited to the scheme, the host, and the port. Navigations on the same origin will still include the path.\n* `same-origin`: A referrer will be sent for [same origin](https://developer.mozilla.org/en-US/docs/Glossary/Same-origin_policy "same origin: The same-origin policy is a critical security mechanism that restricts how a document or script loaded from one origin can interact with a resource from another origin."), but cross-origin requests will contain no referrer information.\n* `strict-origin`: Only send the origin of the document as the referrer when the protocol security level stays the same (HTTPS\u2192HTTPS), but don\'t send it to a less secure destination (HTTPS\u2192HTTP).\n* `strict-origin-when-cross-origin`: Send a full URL when performing a same-origin request, only send the origin when the protocol security level stays the same (HTTPS\u2192HTTPS), and send no header to a less secure destination (HTTPS\u2192HTTP).\n* `unsafe-url`: The referrer will include the origin _and_ the path (but not the [fragment](https://developer.mozilla.org/en-US/docs/Web/API/HTMLHyperlinkElementUtils/hash), [password](https://developer.mozilla.org/en-US/docs/Web/API/HTMLHyperlinkElementUtils/password), or [username](https://developer.mozilla.org/en-US/docs/Web/API/HTMLHyperlinkElementUtils/username)). **This value is unsafe**, because it leaks origins and paths from TLS-protected resources to insecure origins.'}],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/iframe"}]},{name:"embed",description:{kind:"markdown",value:"The embed element provides an integration point for an external (typically non-HTML) application or interactive content."},void:!0,attributes:[{name:"src",description:{kind:"markdown",value:"The URL\xA0of the resource being embedded."}},{name:"type",description:{kind:"markdown",value:"The MIME\xA0type to use to select the plug-in to instantiate."}},{name:"width",description:{kind:"markdown",value:"The displayed width of the resource, in [CSS pixels](https://drafts.csswg.org/css-values/#px). This must be an absolute value; percentages are _not_ allowed."}},{name:"height",description:{kind:"markdown",value:"The displayed height of the resource, in [CSS pixels](https://drafts.csswg.org/css-values/#px). This must be an absolute value; percentages are _not_ allowed."}}],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/embed"}]},{name:"object",description:{kind:"markdown",value:"The object element can represent an external resource, which, depending on the type of the resource, will either be treated as an image, as a nested browsing context, or as an external resource to be processed by a plugin."},attributes:[{name:"data",description:{kind:"markdown",value:"The address of the resource as a valid URL. At least one of **data** and **type** must be defined."}},{name:"type",description:{kind:"markdown",value:"The [content type](https://developer.mozilla.org/en-US/docs/Glossary/Content_type) of the resource specified by **data**. At least one of **data** and **type** must be defined."}},{name:"typemustmatch",valueSet:"v",description:{kind:"markdown",value:"This Boolean attribute indicates if the **type** attribute and the actual [content type](https://developer.mozilla.org/en-US/docs/Glossary/Content_type) of the resource must match to be used."}},{name:"name",description:{kind:"markdown",value:"The name of valid browsing context (HTML5), or the name of the control (HTML 4)."}},{name:"usemap",description:{kind:"markdown",value:"A hash-name reference to a [`<map>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/map \"The HTML <map> element is used with <area> elements to define an image map (a clickable link area).\") element; that is a '#' followed by the value of a [`name`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/map#attr-name) of a map element."}},{name:"form",description:{kind:"markdown",value:'The form element, if any, that the object element is associated with (its _form owner_). The value of the attribute must be an ID of a [`<form>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form "The HTML <form> element represents a document section that contains interactive controls for submitting information to a web server.") element in the same document.'}},{name:"width",description:{kind:"markdown",value:"The width of the display resource, in [CSS pixels](https://drafts.csswg.org/css-values/#px). -- (Absolute values only. [NO percentages](https://html.spec.whatwg.org/multipage/embedded-content.html#dimension-attributes))"}},{name:"height",description:{kind:"markdown",value:"The height of the displayed resource, in [CSS pixels](https://drafts.csswg.org/css-values/#px). -- (Absolute values only. [NO percentages](https://html.spec.whatwg.org/multipage/embedded-content.html#dimension-attributes))"}},{name:"archive",description:"A space-separated list of URIs for archives of resources for the object."},{name:"border",description:"The width of a border around the control, in pixels."},{name:"classid",description:"The URI of the object's implementation. It can be used together with, or in place of, the **data** attribute."},{name:"codebase",description:"The base path used to resolve relative URIs specified by **classid**, **data**, or **archive**. If not specified, the default is the base URI of the current document."},{name:"codetype",description:"The content type of the data specified by **classid**."},{name:"declare",description:"The presence of this Boolean attribute makes this element a declaration only. The object must be instantiated by a subsequent `<object>` element. In HTML5, repeat the <object> element completely each that that the resource is reused."},{name:"standby",description:"A message that the browser can show while loading the object's implementation and data."},{name:"tabindex",description:"The position of the element in the tabbing navigation order for the current document."}],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/object"}]},{name:"param",description:{kind:"markdown",value:"The param element defines parameters for plugins invoked by object elements. It does not represent anything on its own."},void:!0,attributes:[{name:"name",description:{kind:"markdown",value:"Name of the parameter."}},{name:"value",description:{kind:"markdown",value:"Specifies the value of the parameter."}},{name:"type",description:'Only used if the `valuetype` is set to "ref". Specifies the MIME type of values found at the URI specified by value.'},{name:"valuetype",description:`Specifies the type of the \`value\` attribute. Possible values are: + +* data: Default value. The value is passed to the object's implementation as a string. +* ref: The value is a URI to a resource where run-time values are stored. +* object: An ID of another [\`<object>\`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/object "The HTML <object> element represents an external resource, which can be treated as an image, a nested browsing context, or a resource to be handled by a plugin.") in the same document.`}],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/param"}]},{name:"video",description:{kind:"markdown",value:"A video element is used for playing videos or movies, and audio files with captions."},attributes:[{name:"src"},{name:"crossorigin",valueSet:"xo"},{name:"poster"},{name:"preload",valueSet:"pl"},{name:"autoplay",valueSet:"v",description:{kind:"markdown",value:'A Boolean attribute; if specified, the video automatically begins to play back as soon as it can do so without stopping to finish loading the data.\n**Note**: Sites that automatically play audio (or video with an audio track) can be an unpleasant experience for users, so it should be avoided when possible. If you must offer autoplay functionality, you should make it opt-in (requiring a user to specifically enable it). However, this can be useful when creating media elements whose source will be set at a later time, under user control.\n\nTo disable video autoplay, `autoplay="false"` will not work; the video will autoplay if the attribute is there in the `<video>` tag at all. To remove autoplay the attribute needs to be removed altogether.\n\nIn some browsers (e.g. Chrome 70.0) autoplay is not working if no `muted` attribute is present.'}},{name:"mediagroup"},{name:"loop",valueSet:"v"},{name:"muted",valueSet:"v"},{name:"controls",valueSet:"v"},{name:"width"},{name:"height"}],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/video"}]},{name:"audio",description:{kind:"markdown",value:"An audio element represents a sound or audio stream."},attributes:[{name:"src",description:{kind:"markdown",value:'The URL of the audio to embed. This is subject to [HTTP access controls](https://developer.mozilla.org/en-US/docs/HTTP_access_control). This is optional; you may instead use the [`<source>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/source "The HTML <source> element specifies multiple media resources for the <picture>, the <audio> element, or the <video> element.") element within the audio block to specify the audio to embed.'}},{name:"crossorigin",valueSet:"xo",description:{kind:"markdown",value:'This enumerated attribute indicates whether to use CORS to fetch the related image. [CORS-enabled resources](https://developer.mozilla.org/en-US/docs/CORS_Enabled_Image) can be reused in the [`<canvas>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/canvas "Use the HTML <canvas> element with either the canvas scripting API or the WebGL API to draw graphics and animations.") element without being _tainted_. The allowed values are:\n\nanonymous\n\nSends a cross-origin request without a credential. In other words, it sends the `Origin:` HTTP header without a cookie, X.509 certificate, or performing HTTP Basic authentication. If the server does not give credentials to the origin site (by not setting the `Access-Control-Allow-Origin:` HTTP header), the image will be _tainted_, and its usage restricted.\n\nuse-credentials\n\nSends a cross-origin request with a credential. In other words, it sends the `Origin:` HTTP header with a cookie, a certificate, or performing HTTP Basic authentication. If the server does not give credentials to the origin site (through `Access-Control-Allow-Credentials:` HTTP header), the image will be _tainted_ and its usage restricted.\n\nWhen not present, the resource is fetched without a CORS request (i.e. without sending the `Origin:` HTTP header), preventing its non-tainted used in [`<canvas>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/canvas "Use the HTML <canvas> element with either the canvas scripting API or the WebGL API to draw graphics and animations.") elements. If invalid, it is handled as if the enumerated keyword **anonymous** was used. See [CORS settings attributes](https://developer.mozilla.org/en-US/docs/HTML/CORS_settings_attributes) for additional information.'}},{name:"preload",valueSet:"pl",description:{kind:"markdown",value:"This enumerated attribute is intended to provide a hint to the browser about what the author thinks will lead to the best user experience. It may have one of the following values:\n\n* `none`: Indicates that the audio should not be preloaded.\n* `metadata`: Indicates that only audio metadata (e.g. length) is fetched.\n* `auto`: Indicates that the whole audio file can be downloaded, even if the user is not expected to use it.\n* _empty string_: A synonym of the `auto` value.\n\nIf not set, `preload`'s default value is browser-defined (i.e. each browser may have its own default value). The spec advises it to be set to `metadata`.\n\n**Usage notes:**\n\n* The `autoplay` attribute has precedence over\xA0`preload`. If `autoplay` is specified, the browser would obviously need to start downloading the audio for playback.\n* The browser is not forced by the specification to follow the value of this attribute; it is a mere hint."}},{name:"autoplay",valueSet:"v",description:{kind:"markdown",value:`A Boolean attribute:\xA0if specified, the audio will automatically begin playback as soon as it can do so, without waiting for the entire audio file to finish downloading. + +**Note**: Sites that automatically play audio (or videos with an audio track) can be an unpleasant experience for users, so should be avoided when possible. If you must offer autoplay functionality, you should make it opt-in (requiring a user to specifically enable it). However, this can be useful when creating media elements whose source will be set at a later time, under user control.`}},{name:"mediagroup"},{name:"loop",valueSet:"v",description:{kind:"markdown",value:"A Boolean attribute:\xA0if specified, the audio player will\xA0automatically seek back to the start\xA0upon reaching the end of the audio."}},{name:"muted",valueSet:"v",description:{kind:"markdown",value:"A Boolean attribute that indicates whether the audio will be initially silenced. Its default value is `false`."}},{name:"controls",valueSet:"v",description:{kind:"markdown",value:"If this attribute is present, the browser will offer controls to allow the user to control audio playback, including volume, seeking, and pause/resume playback."}}],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/audio"}]},{name:"source",description:{kind:"markdown",value:"The source element allows authors to specify multiple alternative media resources for media elements. It does not represent anything on its own."},void:!0,attributes:[{name:"src",description:{kind:"markdown",value:'Required for [`<audio>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/audio "The HTML <audio> element is used to embed sound content in documents. It may contain one or more audio sources, represented using the src attribute or the <source> element:\xA0the browser will choose the most suitable one. It can also be the destination for streamed media, using a MediaStream.") and [`<video>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/video "The HTML Video element (<video>) embeds a media player which supports video playback into the document."), address of the media resource. The value of this attribute is ignored when the `<source>` element is placed inside a [`<picture>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/picture "The HTML <picture> element contains zero or more <source> elements and one <img> element to provide versions of an image for different display/device scenarios.") element.'}},{name:"type",description:{kind:"markdown",value:"The MIME-type of the resource, optionally with a `codecs` parameter. See [RFC 4281](https://tools.ietf.org/html/rfc4281) for information about how to specify codecs."}},{name:"sizes",description:'Is a list of source sizes that describes the final rendered width of the image represented by the source. Each source size consists of a comma-separated list of media condition-length pairs. This information is used by the browser to determine, before laying the page out, which image defined in [`srcset`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/source#attr-srcset) to use. \nThe `sizes` attribute has an effect only when the [`<source>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/source "The HTML <source> element specifies multiple media resources for the <picture>, the <audio> element, or the <video> element.") element is the direct child of a [`<picture>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/picture "The HTML <picture> element contains zero or more <source> elements and one <img> element to provide versions of an image for different display/device scenarios.") element.'},{name:"srcset",description:"A list of one or more strings separated by commas indicating a set of possible images represented by the source for the browser to use. Each string is composed of:\n\n1. one URL to an image,\n2. a width descriptor, that is a positive integer directly followed by `'w'`. The default value, if missing, is the infinity.\n3. a pixel density descriptor, that is a positive floating number directly followed by `'x'`. The default value, if missing, is `1x`.\n\nEach string in the list must have at least a width descriptor or a pixel density descriptor to be valid. Among the list, there must be only one string containing the same tuple of width descriptor and pixel density descriptor. \nThe browser chooses the most adequate image to display at a given point of time. \nThe `srcset` attribute has an effect only when the [`<source>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/source \"The HTML <source> element specifies multiple media resources for the <picture>, the <audio> element, or the <video> element.\") element is the direct child of a [`<picture>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/picture \"The HTML <picture> element contains zero or more <source> elements and one <img> element to provide versions of an image for different display/device scenarios.\") element."},{name:"media",description:'[Media query](https://developer.mozilla.org/en-US/docs/CSS/Media_queries) of the resource\'s intended media; this should be used only in a [`<picture>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/picture "The HTML <picture> element contains zero or more <source> elements and one <img> element to provide versions of an image for different display/device scenarios.") element.'}],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/source"}]},{name:"track",description:{kind:"markdown",value:"The track element allows authors to specify explicit external timed text tracks for media elements. It does not represent anything on its own."},void:!0,attributes:[{name:"default",valueSet:"v",description:{kind:"markdown",value:"This attribute indicates that the track should be enabled unless the user's preferences indicate that another track is more appropriate. This may only be used on one `track` element per media element."}},{name:"kind",valueSet:"tk",description:{kind:"markdown",value:"How the text track is meant to be used. If omitted the default kind is `subtitles`. If the attribute is not present, it will use the `subtitles`. If the attribute contains an invalid value, it will use `metadata`. (Versions of Chrome earlier than 52 treated an invalid value as `subtitles`.)\xA0The following keywords are allowed:\n\n* `subtitles`\n * Subtitles provide translation of content that cannot be understood by the viewer. For example dialogue or text that is not English in an English language film.\n * Subtitles may contain additional content, usually extra background information. For example the text at the beginning of the Star Wars films, or the date, time, and location of a scene.\n* `captions`\n * Closed captions provide a transcription and possibly a translation of audio.\n * It may include important non-verbal information such as music cues or sound effects. It may indicate the cue's source (e.g. music, text, character).\n * Suitable for users who are deaf or when the sound is muted.\n* `descriptions`\n * Textual description of the video content.\n * Suitable for users who are blind or where the video cannot be seen.\n* `chapters`\n * Chapter titles are intended to be used when the user is navigating the media resource.\n* `metadata`\n * Tracks used by scripts. Not visible to the user."}},{name:"label",description:{kind:"markdown",value:"A user-readable title of the text track which is used by the browser when listing available text tracks."}},{name:"src",description:{kind:"markdown",value:'Address of the track (`.vtt` file). Must be a valid URL. This attribute must be specified and its URL value must have the same origin as the document \u2014 unless the [`<audio>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/audio "The HTML <audio> element is used to embed sound content in documents. It may contain one or more audio sources, represented using the src attribute or the <source> element:\xA0the browser will choose the most suitable one. It can also be the destination for streamed media, using a MediaStream.") or [`<video>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/video "The HTML Video element (<video>) embeds a media player which supports video playback into the document.") parent element of the `track` element has a [`crossorigin`](https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_settings_attributes) attribute.'}},{name:"srclang",description:{kind:"markdown",value:"Language of the track text data. It must be a valid [BCP 47](https://r12a.github.io/app-subtags/) language tag. If the `kind` attribute is set to\xA0`subtitles,` then `srclang` must be defined."}}],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/track"}]},{name:"map",description:{kind:"markdown",value:"The map element, in conjunction with an img element and any area element descendants, defines an image map. The element represents its children."},attributes:[{name:"name",description:{kind:"markdown",value:"The name attribute gives the map a name so that it can be referenced. The attribute must be present and must have a non-empty value with no space characters. The value of the name attribute must not be a compatibility-caseless match for the value of the name attribute of another map element in the same document. If the id attribute is also specified, both attributes must have the same value."}}],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/map"}]},{name:"area",description:{kind:"markdown",value:"The area element represents either a hyperlink with some text and a corresponding area on an image map, or a dead area on an image map."},void:!0,attributes:[{name:"alt"},{name:"coords"},{name:"shape",valueSet:"sh"},{name:"href"},{name:"target",valueSet:"target"},{name:"download"},{name:"ping"},{name:"rel"},{name:"hreflang"},{name:"type"},{name:"accesskey",description:"Specifies a keyboard navigation accelerator for the element. Pressing ALT or a similar key in association with the specified character selects the form control correlated with that key sequence. Page designers are forewarned to avoid key sequences already bound to browsers. This attribute is global since HTML5."}],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/area"}]},{name:"table",description:{kind:"markdown",value:"The table element represents data with more than one dimension, in the form of a table."},attributes:[{name:"border"},{name:"align",description:'This enumerated attribute indicates how the table must be aligned inside the containing document. It may have the following values:\n\n* left: the table is displayed on the left side of the document;\n* center: the table is displayed in the center of the document;\n* right: the table is displayed on the right side of the document.\n\n**Usage Note**\n\n* **Do not use this attribute**, as it has been deprecated. The [`<table>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/table "The HTML <table> element represents tabular data \u2014 that is, information presented in a two-dimensional table comprised of rows and columns of cells containing data.") element should be styled using [CSS](https://developer.mozilla.org/en-US/docs/CSS). Set [`margin-left`](https://developer.mozilla.org/en-US/docs/Web/CSS/margin-left "The margin-left CSS property sets the margin area on the left side of an element. A positive value places it farther from its neighbors, while a negative value places it closer.") and [`margin-right`](https://developer.mozilla.org/en-US/docs/Web/CSS/margin-right "The margin-right CSS property sets the margin area on the right side of an element. A positive value places it farther from its neighbors, while a negative value places it closer.") to `auto` or [`margin`](https://developer.mozilla.org/en-US/docs/Web/CSS/margin "The margin CSS property sets the margin area on all four sides of an element. It is a shorthand for margin-top, margin-right, margin-bottom, and margin-left.") to `0 auto` to achieve an effect that is similar to the align attribute.\n* Prior to Firefox 4, Firefox also supported the `middle`, `absmiddle`, and `abscenter` values as synonyms of `center`, in quirks mode only.'}],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/table"}]},{name:"caption",description:{kind:"markdown",value:"The caption element represents the title of the table that is its parent, if it has a parent and that is a table element."},attributes:[{name:"align",description:`This enumerated attribute indicates how the caption must be aligned with respect to the table. It may have one of the following values: + +\`left\` + +The caption is displayed to the left of the table. + +\`top\` + +The caption is displayed above the table. + +\`right\` + +The caption is displayed to the right of the table. + +\`bottom\` + +The caption is displayed below the table. + +**Usage note:** Do not use this attribute, as it has been deprecated. The [\`<caption>\`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/caption "The HTML Table Caption element (<caption>) specifies the caption (or title) of a table, and if used is always the first child of a <table>.") element should be styled using the [CSS](https://developer.mozilla.org/en-US/docs/CSS) properties [\`caption-side\`](https://developer.mozilla.org/en-US/docs/Web/CSS/caption-side "The caption-side CSS property puts the content of a table's <caption> on the specified side. The values are relative to the writing-mode of the table.") and [\`text-align\`](https://developer.mozilla.org/en-US/docs/Web/CSS/text-align "The text-align CSS property sets the horizontal alignment of an inline or table-cell box. This means it works like vertical-align but in the horizontal direction.").`}],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/caption"}]},{name:"colgroup",description:{kind:"markdown",value:"The colgroup element represents a group of one or more columns in the table that is its parent, if it has a parent and that is a table element."},attributes:[{name:"span"},{name:"align",description:'This enumerated attribute specifies how horizontal alignment of each column cell content will be handled. Possible values are:\n\n* `left`, aligning the content to the left of the cell\n* `center`, centering the content in the cell\n* `right`, aligning the content to the right of the cell\n* `justify`, inserting spaces into the textual content so that the content is justified in the cell\n* `char`, aligning the textual content on a special character with a minimal offset, defined by the [`char`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/col#attr-char) and [`charoff`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/col#attr-charoff) attributes Unimplemented (see [bug\xA02212](https://bugzilla.mozilla.org/show_bug.cgi?id=2212 "character alignment not implemented (align=char, charoff=, text-align:<string>)")).\n\nIf this attribute is not set, the `left` value is assumed. The descendant [`<col>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/col "The HTML <col> element defines a column within a table and is used for defining common semantics on all common cells. It is generally found within a <colgroup> element.") elements may override this value using their own [`align`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/col#attr-align) attribute.\n\n**Note:** Do not use this attribute as it is obsolete (not supported) in the latest standard.\n\n* To achieve the same effect as the `left`, `center`, `right` or `justify` values:\n * Do not try to set the [`text-align`](https://developer.mozilla.org/en-US/docs/Web/CSS/text-align "The text-align CSS property sets the horizontal alignment of an inline or table-cell box. This means it works like vertical-align but in the horizontal direction.") property on a selector giving a [`<colgroup>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/colgroup "The HTML <colgroup> element defines a group of columns within a table.") element. Because [`<td>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/td "The HTML <td> element defines a cell of a table that contains data. It participates in the table model.") elements are not descendant of the [`<colgroup>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/colgroup "The HTML <colgroup> element defines a group of columns within a table.") element, they won\'t inherit it.\n * If the table doesn\'t use a [`colspan`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/td#attr-colspan) attribute, use one `td:nth-child(an+b)` CSS selector per column, where a is the total number of the columns in the table and b is the ordinal position of this column in the table. Only after this selector the [`text-align`](https://developer.mozilla.org/en-US/docs/Web/CSS/text-align "The text-align CSS property sets the horizontal alignment of an inline or table-cell box. This means it works like vertical-align but in the horizontal direction.") property can be used.\n * If the table does use a [`colspan`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/td#attr-colspan) attribute, the effect can be achieved by combining adequate CSS attribute selectors like `[colspan=n]`, though this is not trivial.\n* To achieve the same effect as the `char` value, in CSS3, you can use the value of the [`char`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/colgroup#attr-char) as the value of the [`text-align`](https://developer.mozilla.org/en-US/docs/Web/CSS/text-align "The text-align CSS property sets the horizontal alignment of an inline or table-cell box. This means it works like vertical-align but in the horizontal direction.") property Unimplemented.'}],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/colgroup"}]},{name:"col",description:{kind:"markdown",value:"If a col element has a parent and that is a colgroup element that itself has a parent that is a table element, then the col element represents one or more columns in the column group represented by that colgroup."},void:!0,attributes:[{name:"span"},{name:"align",description:'This enumerated attribute specifies how horizontal alignment of each column cell content will be handled. Possible values are:\n\n* `left`, aligning the content to the left of the cell\n* `center`, centering the content in the cell\n* `right`, aligning the content to the right of the cell\n* `justify`, inserting spaces into the textual content so that the content is justified in the cell\n* `char`, aligning the textual content on a special character with a minimal offset, defined by the [`char`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/col#attr-char) and [`charoff`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/col#attr-charoff) attributes Unimplemented (see [bug\xA02212](https://bugzilla.mozilla.org/show_bug.cgi?id=2212 "character alignment not implemented (align=char, charoff=, text-align:<string>)")).\n\nIf this attribute is not set, its value is inherited from the [`align`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/colgroup#attr-align) of the [`<colgroup>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/colgroup "The HTML <colgroup> element defines a group of columns within a table.") element this `<col>` element belongs too. If there are none, the `left` value is assumed.\n\n**Note:** Do not use this attribute as it is obsolete (not supported) in the latest standard.\n\n* To achieve the same effect as the `left`, `center`, `right` or `justify` values:\n * Do not try to set the [`text-align`](https://developer.mozilla.org/en-US/docs/Web/CSS/text-align "The text-align CSS property sets the horizontal alignment of an inline or table-cell box. This means it works like vertical-align but in the horizontal direction.") property on a selector giving a [`<col>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/col "The HTML <col> element defines a column within a table and is used for defining common semantics on all common cells. It is generally found within a <colgroup> element.") element. Because [`<td>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/td "The HTML <td> element defines a cell of a table that contains data. It participates in the table model.") elements are not descendant of the [`<col>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/col "The HTML <col> element defines a column within a table and is used for defining common semantics on all common cells. It is generally found within a <colgroup> element.") element, they won\'t inherit it.\n * If the table doesn\'t use a [`colspan`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/td#attr-colspan) attribute, use the `td:nth-child(an+b)` CSS selector. Set `a` to zero and `b` to the position of the column in the table, e.g. `td:nth-child(2) { text-align: right; }` to right-align the second column.\n * If the table does use a [`colspan`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/td#attr-colspan) attribute, the effect can be achieved by combining adequate CSS attribute selectors like `[colspan=n]`, though this is not trivial.\n* To achieve the same effect as the `char` value, in CSS3, you can use the value of the [`char`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/col#attr-char) as the value of the [`text-align`](https://developer.mozilla.org/en-US/docs/Web/CSS/text-align "The text-align CSS property sets the horizontal alignment of an inline or table-cell box. This means it works like vertical-align but in the horizontal direction.") property Unimplemented.'}],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/col"}]},{name:"tbody",description:{kind:"markdown",value:"The tbody element represents a block of rows that consist of a body of data for the parent table element, if the tbody element has a parent and it is a table."},attributes:[{name:"align",description:'This enumerated attribute specifies how horizontal alignment of each cell content will be handled. Possible values are:\n\n* `left`, aligning the content to the left of the cell\n* `center`, centering the content in the cell\n* `right`, aligning the content to the right of the cell\n* `justify`, inserting spaces into the textual content so that the content is justified in the cell\n* `char`, aligning the textual content on a special character with a minimal offset, defined by the [`char`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/tbody#attr-char) and [`charoff`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/tbody#attr-charoff) attributes.\n\nIf this attribute is not set, the `left` value is assumed.\n\n**Note:** Do not use this attribute as it is obsolete (not supported) in the latest standard.\n\n* To achieve the same effect as the `left`, `center`, `right` or `justify` values, use the CSS [`text-align`](https://developer.mozilla.org/en-US/docs/Web/CSS/text-align "The text-align CSS property sets the horizontal alignment of an inline or table-cell box. This means it works like vertical-align but in the horizontal direction.") property on it.\n* To achieve the same effect as the `char` value, in CSS3, you can use the value of the [`char`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/tbody#attr-char) as the value of the [`text-align`](https://developer.mozilla.org/en-US/docs/Web/CSS/text-align "The text-align CSS property sets the horizontal alignment of an inline or table-cell box. This means it works like vertical-align but in the horizontal direction.") property Unimplemented.'}],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/tbody"}]},{name:"thead",description:{kind:"markdown",value:"The thead element represents the block of rows that consist of the column labels (headers) for the parent table element, if the thead element has a parent and it is a table."},attributes:[{name:"align",description:'This enumerated attribute specifies how horizontal alignment of each cell content will be handled. Possible values are:\n\n* `left`, aligning the content to the left of the cell\n* `center`, centering the content in the cell\n* `right`, aligning the content to the right of the cell\n* `justify`, inserting spaces into the textual content so that the content is justified in the cell\n* `char`, aligning the textual content on a special character with a minimal offset, defined by the [`char`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/thead#attr-char) and [`charoff`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/thead#attr-charoff) attributes Unimplemented (see [bug\xA02212](https://bugzilla.mozilla.org/show_bug.cgi?id=2212 "character alignment not implemented (align=char, charoff=, text-align:<string>)")).\n\nIf this attribute is not set, the `left` value is assumed.\n\n**Note:** Do not use this attribute as it is obsolete (not supported) in the latest standard.\n\n* To achieve the same effect as the `left`, `center`, `right` or `justify` values, use the CSS [`text-align`](https://developer.mozilla.org/en-US/docs/Web/CSS/text-align "The text-align CSS property sets the horizontal alignment of an inline or table-cell box. This means it works like vertical-align but in the horizontal direction.") property on it.\n* To achieve the same effect as the `char` value, in CSS3, you can use the value of the [`char`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/thead#attr-char) as the value of the [`text-align`](https://developer.mozilla.org/en-US/docs/Web/CSS/text-align "The text-align CSS property sets the horizontal alignment of an inline or table-cell box. This means it works like vertical-align but in the horizontal direction.") property Unimplemented.'}],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/thead"}]},{name:"tfoot",description:{kind:"markdown",value:"The tfoot element represents the block of rows that consist of the column summaries (footers) for the parent table element, if the tfoot element has a parent and it is a table."},attributes:[{name:"align",description:'This enumerated attribute specifies how horizontal alignment of each cell content will be handled. Possible values are:\n\n* `left`, aligning the content to the left of the cell\n* `center`, centering the content in the cell\n* `right`, aligning the content to the right of the cell\n* `justify`, inserting spaces into the textual content so that the content is justified in the cell\n* `char`, aligning the textual content on a special character with a minimal offset, defined by the [`char`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/tbody#attr-char) and [`charoff`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/tbody#attr-charoff) attributes Unimplemented (see [bug\xA02212](https://bugzilla.mozilla.org/show_bug.cgi?id=2212 "character alignment not implemented (align=char, charoff=, text-align:<string>)")).\n\nIf this attribute is not set, the `left` value is assumed.\n\n**Note:** Do not use this attribute as it is obsolete (not supported) in the latest standard.\n\n* To achieve the same effect as the `left`, `center`, `right` or `justify` values, use the CSS [`text-align`](https://developer.mozilla.org/en-US/docs/Web/CSS/text-align "The text-align CSS property sets the horizontal alignment of an inline or table-cell box. This means it works like vertical-align but in the horizontal direction.") property on it.\n* To achieve the same effect as the `char` value, in CSS3, you can use the value of the [`char`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/tfoot#attr-char) as the value of the [`text-align`](https://developer.mozilla.org/en-US/docs/Web/CSS/text-align "The text-align CSS property sets the horizontal alignment of an inline or table-cell box. This means it works like vertical-align but in the horizontal direction.") property Unimplemented.'}],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/tfoot"}]},{name:"tr",description:{kind:"markdown",value:"The tr element represents a row of cells in a table."},attributes:[{name:"align",description:'A [`DOMString`](https://developer.mozilla.org/en-US/docs/Web/API/DOMString "DOMString is a UTF-16 String. As JavaScript already uses such strings, DOMString is mapped directly to a String.") which specifies how the cell\'s context should be aligned horizontally within the cells in the row; this is shorthand for using `align` on every cell in the row individually. Possible values are:\n\n`left`\n\nAlign the content of each cell at its left edge.\n\n`center`\n\nCenter the contents of each cell between their left and right edges.\n\n`right`\n\nAlign the content of each cell at its right edge.\n\n`justify`\n\nWiden whitespaces within the text of each cell so that the text fills the full width of each cell (full justification).\n\n`char`\n\nAlign each cell in the row on a specific character (such that each row in the column that is configured this way will horizontally align its cells on that character). This uses the [`char`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/tr#attr-char) and [`charoff`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/tr#attr-charoff) to establish the alignment character (typically "." or "," when aligning numerical data) and the number of characters that should follow the alignment character. This alignment type was never widely supported.\n\nIf no value is expressly set for `align`, the parent node\'s value is inherited.\n\nInstead of using the obsolete `align` attribute, you should instead use the CSS [`text-align`](https://developer.mozilla.org/en-US/docs/Web/CSS/text-align "The text-align CSS property sets the horizontal alignment of an inline or table-cell box. This means it works like vertical-align but in the horizontal direction.") property to establish `left`, `center`, `right`, or `justify` alignment for the row\'s cells. To apply character-based alignment, set the CSS [`text-align`](https://developer.mozilla.org/en-US/docs/Web/CSS/text-align "The text-align CSS property sets the horizontal alignment of an inline or table-cell box. This means it works like vertical-align but in the horizontal direction.") property to the alignment character (such as `"."` or `","`).'}],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/tr"}]},{name:"td",description:{kind:"markdown",value:"The td element represents a data cell in a table."},attributes:[{name:"colspan"},{name:"rowspan"},{name:"headers"},{name:"abbr",description:`This attribute contains a short abbreviated description of the cell's content. Some user-agents, such as speech readers, may present this description before the content itself. + +**Note:** Do not use this attribute as it is obsolete in the latest standard. Alternatively, you can put the abbreviated description inside the cell and place the long content in the **title** attribute.`},{name:"align",description:'This enumerated attribute specifies how the cell content\'s horizontal alignment will be handled. Possible values are:\n\n* `left`: The content is aligned to the left of the cell.\n* `center`: The content is centered in the cell.\n* `right`: The content is aligned to the right of the cell.\n* `justify` (with text only): The content is stretched out inside the cell so that it covers its entire width.\n* `char` (with text only): The content is aligned to a character inside the `<th>` element with minimal offset. This character is defined by the [`char`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/td#attr-char) and [`charoff`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/td#attr-charoff) attributes Unimplemented (see [bug\xA02212](https://bugzilla.mozilla.org/show_bug.cgi?id=2212 "character alignment not implemented (align=char, charoff=, text-align:<string>)")).\n\nThe default value when this attribute is not specified is `left`.\n\n**Note:** Do not use this attribute as it is obsolete in the latest standard.\n\n* To achieve the same effect as the `left`, `center`, `right` or `justify` values, apply the CSS [`text-align`](https://developer.mozilla.org/en-US/docs/Web/CSS/text-align "The text-align CSS property sets the horizontal alignment of an inline or table-cell box. This means it works like vertical-align but in the horizontal direction.") property to the element.\n* To achieve the same effect as the `char` value, give the [`text-align`](https://developer.mozilla.org/en-US/docs/Web/CSS/text-align "The text-align CSS property sets the horizontal alignment of an inline or table-cell box. This means it works like vertical-align but in the horizontal direction.") property the same value you would use for the [`char`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/td#attr-char). Unimplemented in CSS3.'},{name:"axis",description:"This attribute contains a list of space-separated strings. Each string is the `id` of a group of cells that this header applies to.\n\n**Note:** Do not use this attribute as it is obsolete in the latest standard."},{name:"bgcolor",description:`This attribute defines the background color of each cell in a column. It consists of a 6-digit hexadecimal code as defined in [sRGB](https://www.w3.org/Graphics/Color/sRGB) and is prefixed by '#'. This attribute may be used with one of sixteen predefined color strings: + +\xA0 + +\`black\` = "#000000" + +\xA0 + +\`green\` = "#008000" + +\xA0 + +\`silver\` = "#C0C0C0" + +\xA0 + +\`lime\` = "#00FF00" + +\xA0 + +\`gray\` = "#808080" + +\xA0 + +\`olive\` = "#808000" + +\xA0 + +\`white\` = "#FFFFFF" + +\xA0 + +\`yellow\` = "#FFFF00" + +\xA0 + +\`maroon\` = "#800000" + +\xA0 + +\`navy\` = "#000080" + +\xA0 + +\`red\` = "#FF0000" + +\xA0 + +\`blue\` = "#0000FF" + +\xA0 + +\`purple\` = "#800080" + +\xA0 + +\`teal\` = "#008080" + +\xA0 + +\`fuchsia\` = "#FF00FF" + +\xA0 + +\`aqua\` = "#00FFFF" + +**Note:** Do not use this attribute, as it is non-standard and only implemented in some versions of Microsoft Internet Explorer: The [\`<td>\`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/td "The HTML <td> element defines a cell of a table that contains data. It participates in the table model.") element should be styled using [CSS](https://developer.mozilla.org/en-US/docs/CSS). To create a similar effect use the [\`background-color\`](https://developer.mozilla.org/en-US/docs/Web/CSS/background-color "The background-color CSS property sets the background color of an element.") property in [CSS](https://developer.mozilla.org/en-US/docs/CSS) instead.`}],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/td"}]},{name:"th",description:{kind:"markdown",value:"The th element represents a header cell in a table."},attributes:[{name:"colspan"},{name:"rowspan"},{name:"headers"},{name:"scope",valueSet:"s"},{name:"sorted"},{name:"abbr",description:{kind:"markdown",value:"This attribute contains a short abbreviated description of the cell's content. Some user-agents, such as speech readers, may present this description before the content itself."}},{name:"align",description:'This enumerated attribute specifies how the cell content\'s horizontal alignment will be handled. Possible values are:\n\n* `left`: The content is aligned to the left of the cell.\n* `center`: The content is centered in the cell.\n* `right`: The content is aligned to the right of the cell.\n* `justify` (with text only): The content is stretched out inside the cell so that it covers its entire width.\n* `char` (with text only): The content is aligned to a character inside the `<th>` element with minimal offset. This character is defined by the [`char`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/th#attr-char) and [`charoff`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/th#attr-charoff) attributes.\n\nThe default value when this attribute is not specified is `left`.\n\n**Note:** Do not use this attribute as it is obsolete in the latest standard.\n\n* To achieve the same effect as the `left`, `center`, `right` or `justify` values, apply the CSS [`text-align`](https://developer.mozilla.org/en-US/docs/Web/CSS/text-align "The text-align CSS property sets the horizontal alignment of an inline or table-cell box. This means it works like vertical-align but in the horizontal direction.") property to the element.\n* To achieve the same effect as the `char` value, give the [`text-align`](https://developer.mozilla.org/en-US/docs/Web/CSS/text-align "The text-align CSS property sets the horizontal alignment of an inline or table-cell box. This means it works like vertical-align but in the horizontal direction.") property the same value you would use for the [`char`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/th#attr-char). Unimplemented in CSS3.'},{name:"axis",description:"This attribute contains a list of space-separated strings. Each string is the `id` of a group of cells that this header applies to.\n\n**Note:** Do not use this attribute as it is obsolete in the latest standard: use the [`scope`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/th#attr-scope) attribute instead."},{name:"bgcolor",description:`This attribute defines the background color of each cell in a column. It consists of a 6-digit hexadecimal code as defined in [sRGB](https://www.w3.org/Graphics/Color/sRGB) and is prefixed by '#'. This attribute may be used with one of sixteen predefined color strings: + +\xA0 + +\`black\` = "#000000" + +\xA0 + +\`green\` = "#008000" + +\xA0 + +\`silver\` = "#C0C0C0" + +\xA0 + +\`lime\` = "#00FF00" + +\xA0 + +\`gray\` = "#808080" + +\xA0 + +\`olive\` = "#808000" + +\xA0 + +\`white\` = "#FFFFFF" + +\xA0 + +\`yellow\` = "#FFFF00" + +\xA0 + +\`maroon\` = "#800000" + +\xA0 + +\`navy\` = "#000080" + +\xA0 + +\`red\` = "#FF0000" + +\xA0 + +\`blue\` = "#0000FF" + +\xA0 + +\`purple\` = "#800080" + +\xA0 + +\`teal\` = "#008080" + +\xA0 + +\`fuchsia\` = "#FF00FF" + +\xA0 + +\`aqua\` = "#00FFFF" + +**Note:** Do not use this attribute, as it is non-standard and only implemented in some versions of Microsoft Internet Explorer: The [\`<th>\`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/th "The HTML <th> element defines a cell as header of a group of table cells. The exact nature of this group is defined by the scope and headers attributes.") element should be styled using [CSS](https://developer.mozilla.org/en-US/docs/Web/CSS). To create a similar effect use the [\`background-color\`](https://developer.mozilla.org/en-US/docs/Web/CSS/background-color "The background-color CSS property sets the background color of an element.") property in [CSS](https://developer.mozilla.org/en-US/docs/Web/CSS) instead.`}],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/th"}]},{name:"form",description:{kind:"markdown",value:"The form element represents a collection of form-associated elements, some of which can represent editable values that can be submitted to a server for processing."},attributes:[{name:"accept-charset",description:{kind:"markdown",value:'A space- or comma-delimited list of character encodings that the server accepts. The browser uses them in the order in which they are listed. The default value, the reserved string `"UNKNOWN"`, indicates the same encoding as that of the document containing the form element. \nIn previous versions of HTML, the different character encodings could be delimited by spaces or commas. In HTML5, only spaces are allowed as delimiters.'}},{name:"action",description:{kind:"markdown",value:'The URI of a program that processes the form information. This value can be overridden by a [`formaction`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#attr-formaction) attribute on a [`<button>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button "The HTML <button> element represents a clickable button, which can be used in forms or anywhere in a document that needs simple, standard button functionality.") or [`<input>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input "The HTML <input> element is used to create interactive controls for web-based forms in order to accept data from the user; a wide variety of types of input data and control widgets are available, depending on the device and user agent.") element.'}},{name:"autocomplete",valueSet:"o",description:{kind:"markdown",value:"Indicates whether input elements can by default have their values automatically completed by the browser. This setting can be overridden by an `autocomplete` attribute on an element belonging to the form. Possible values are:\n\n* `off`: The user must explicitly enter a value into each field for every use, or the document provides its own auto-completion method; the browser does not automatically complete entries.\n* `on`: The browser can automatically complete values based on values that the user has previously entered in the form.\n\nFor most modern browsers (including Firefox 38+, Google Chrome 34+, IE 11+) setting the autocomplete attribute will not prevent a browser's password manager from asking the user if they want to store login fields (username and password), if the user permits the storage the browser will autofill the login the next time the user visits the page. See [The autocomplete attribute and login fields](https://developer.mozilla.org/en-US/docs/Web/Security/Securing_your_site/Turning_off_form_autocompletion#The_autocomplete_attribute_and_login_fields).\n**Note:** If you set `autocomplete` to `off` in a form because the document provides its own auto-completion, then you should also set `autocomplete` to `off` for each of the form's `input` elements that the document can auto-complete. For details, see the note regarding Google Chrome in the [Browser Compatibility chart](#compatChart)."}},{name:"enctype",valueSet:"et",description:{kind:"markdown",value:'When the value of the `method` attribute is `post`, enctype is the [MIME type](https://en.wikipedia.org/wiki/Mime_type) of content that is used to submit the form to the server. Possible values are:\n\n* `application/x-www-form-urlencoded`: The default value if the attribute is not specified.\n* `multipart/form-data`: The value used for an [`<input>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input "The HTML <input> element is used to create interactive controls for web-based forms in order to accept data from the user; a wide variety of types of input data and control widgets are available, depending on the device and user agent.") element with the `type` attribute set to "file".\n* `text/plain`: (HTML5)\n\nThis value can be overridden by a [`formenctype`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#attr-formenctype) attribute on a [`<button>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button "The HTML <button> element represents a clickable button, which can be used in forms or anywhere in a document that needs simple, standard button functionality.") or [`<input>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input "The HTML <input> element is used to create interactive controls for web-based forms in order to accept data from the user; a wide variety of types of input data and control widgets are available, depending on the device and user agent.") element.'}},{name:"method",valueSet:"m",description:{kind:"markdown",value:'The [HTTP](https://developer.mozilla.org/en-US/docs/Web/HTTP) method that the browser uses to submit the form. Possible values are:\n\n* `post`: Corresponds to the HTTP [POST method](https://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9.5) ; form data are included in the body of the form and sent to the server.\n* `get`: Corresponds to the HTTP [GET method](https://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9.3); form data are appended to the `action` attribute URI with a \'?\' as separator, and the resulting URI is sent to the server. Use this method when the form has no side-effects and contains only ASCII characters.\n* `dialog`: Use when the form is inside a\xA0[`<dialog>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/dialog "The HTML <dialog> element represents a dialog box or other interactive component, such as an inspector or window.") element to close the dialog when submitted.\n\nThis value can be overridden by a [`formmethod`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#attr-formmethod) attribute on a [`<button>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button "The HTML <button> element represents a clickable button, which can be used in forms or anywhere in a document that needs simple, standard button functionality.") or [`<input>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input "The HTML <input> element is used to create interactive controls for web-based forms in order to accept data from the user; a wide variety of types of input data and control widgets are available, depending on the device and user agent.") element.'}},{name:"name",description:{kind:"markdown",value:"The name of the form. In HTML 4, its use is deprecated (`id` should be used instead). It must be unique among the forms in a document and not just an empty string in HTML 5."}},{name:"novalidate",valueSet:"v",description:{kind:"markdown",value:'This Boolean attribute indicates that the form is not to be validated when submitted. If this attribute is not specified (and therefore the form is validated), this default setting can be overridden by a [`formnovalidate`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#attr-formnovalidate) attribute on a [`<button>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button "The HTML <button> element represents a clickable button, which can be used in forms or anywhere in a document that needs simple, standard button functionality.") or [`<input>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input "The HTML <input> element is used to create interactive controls for web-based forms in order to accept data from the user; a wide variety of types of input data and control widgets are available, depending on the device and user agent.") element belonging to the form.'}},{name:"target",valueSet:"target",description:{kind:"markdown",value:'A name or keyword indicating where to display the response that is received after submitting the form. In HTML 4, this is the name/keyword for a frame. In HTML5, it is a name/keyword for a _browsing context_ (for example, tab, window, or inline frame). The following keywords have special meanings:\n\n* `_self`: Load the response into the same HTML 4 frame (or HTML5 browsing context) as the current one. This value is the default if the attribute is not specified.\n* `_blank`: Load the response into a new unnamed HTML 4 window or HTML5 browsing context.\n* `_parent`: Load the response into the HTML 4 frameset parent of the current frame, or HTML5 parent browsing context of the current one. If there is no parent, this option behaves the same way as `_self`.\n* `_top`: HTML 4: Load the response into the full original window, and cancel all other frames. HTML5: Load the response into the top-level browsing context (i.e., the browsing context that is an ancestor of the current one, and has no parent). If there is no parent, this option behaves the same way as `_self`.\n* _iframename_: The response is displayed in a named [`<iframe>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe "The HTML Inline Frame element (<iframe>) represents a nested browsing context, embedding another HTML page into the current one.").\n\nHTML5: This value can be overridden by a [`formtarget`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#attr-formtarget) attribute on a [`<button>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button "The HTML <button> element represents a clickable button, which can be used in forms or anywhere in a document that needs simple, standard button functionality.") or [`<input>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input "The HTML <input> element is used to create interactive controls for web-based forms in order to accept data from the user; a wide variety of types of input data and control widgets are available, depending on the device and user agent.") element.'}},{name:"accept",description:'A comma-separated list of content types that the server accepts.\n\n**Usage note:** This attribute has been removed in HTML5 and should no longer be used. Instead, use the [`accept`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#attr-accept) attribute of the specific [`<input>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input "The HTML <input> element is used to create interactive controls for web-based forms in order to accept data from the user; a wide variety of types of input data and control widgets are available, depending on the device and user agent.") element.'},{name:"autocapitalize",description:"This is a nonstandard attribute used by iOS Safari Mobile which controls whether and how the text value for textual form control descendants should be automatically capitalized as it is entered/edited by the user. If the `autocapitalize` attribute is specified on an individual form control descendant, it trumps the form-wide `autocapitalize` setting. The non-deprecated values are available in iOS 5 and later. The default value is `sentences`. Possible values are:\n\n* `none`: Completely disables automatic capitalization\n* `sentences`: Automatically capitalize the first letter of sentences.\n* `words`: Automatically capitalize the first letter of words.\n* `characters`: Automatically capitalize all characters.\n* `on`: Deprecated since iOS 5.\n* `off`: Deprecated since iOS 5."}],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/form"}]},{name:"label",description:{kind:"markdown",value:"The label element represents a caption in a user interface. The caption can be associated with a specific form control, known as the label element's labeled control, either using the for attribute, or by putting the form control inside the label element itself."},attributes:[{name:"form",description:{kind:"markdown",value:'The [`<form>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form "The HTML <form> element represents a document section that contains interactive controls for submitting information to a web server.") element with which the label is associated (its _form owner_). If specified, the value of the attribute is the `id` of a [`<form>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form "The HTML <form> element represents a document section that contains interactive controls for submitting information to a web server.") element in the same document. This lets you place label elements anywhere within a document, not just as descendants of their form elements.'}},{name:"for",description:{kind:"markdown",value:"The [`id`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes#attr-id) of a [labelable](https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Content_categories#Form_labelable) form-related element in the same document as the `<label>` element. The first element in the document with an `id` matching the value of the `for` attribute is the _labeled control_ for this label element, if it is a labelable element. If it is\xA0not labelable then the `for` attribute has no effect. If there are other elements which also match the `id` value, later in the document, they are not considered.\n\n**Note**: A `<label>` element can have both a `for` attribute and a contained control element, as long as the `for` attribute points to the contained control element."}}],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/label"}]},{name:"input",description:{kind:"markdown",value:"The input element represents a typed data field, usually with a form control to allow the user to edit the data."},void:!0,attributes:[{name:"accept"},{name:"alt"},{name:"autocomplete",valueSet:"inputautocomplete"},{name:"autofocus",valueSet:"v"},{name:"checked",valueSet:"v"},{name:"dirname"},{name:"disabled",valueSet:"v"},{name:"form"},{name:"formaction"},{name:"formenctype",valueSet:"et"},{name:"formmethod",valueSet:"fm"},{name:"formnovalidate",valueSet:"v"},{name:"formtarget"},{name:"height"},{name:"inputmode",valueSet:"im"},{name:"list"},{name:"max"},{name:"maxlength"},{name:"min"},{name:"minlength"},{name:"multiple",valueSet:"v"},{name:"name"},{name:"pattern"},{name:"placeholder"},{name:"readonly",valueSet:"v"},{name:"required",valueSet:"v"},{name:"size"},{name:"src"},{name:"step"},{name:"type",valueSet:"t"},{name:"value"},{name:"width"}],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/input"}]},{name:"button",description:{kind:"markdown",value:"The button element represents a button labeled by its contents."},attributes:[{name:"autofocus",valueSet:"v",description:{kind:"markdown",value:"This Boolean attribute lets you specify that the button should have input focus when the page loads, unless the user overrides it, for example by typing in a different control. Only one form-associated element in a document can have this attribute specified."}},{name:"disabled",valueSet:"v",description:{kind:"markdown",value:'This Boolean attribute indicates that the user cannot interact with the button. If this attribute is not specified, the button inherits its setting from the containing element, for example [`<fieldset>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/fieldset "The HTML <fieldset> element is used to group several controls as well as labels (<label>) within a web form."); if there is no containing element with the **disabled** attribute set, then the button is enabled.\n\nFirefox will, unlike other browsers, by default, [persist the dynamic disabled state](https://stackoverflow.com/questions/5985839/bug-with-firefox-disabled-attribute-of-input-not-resetting-when-refreshing) of a [`<button>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button "The HTML <button> element represents a clickable button, which can be used in forms or anywhere in a document that needs simple, standard button functionality.") across page loads. Use the [`autocomplete`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#attr-autocomplete) attribute to control this feature.'}},{name:"form",description:{kind:"markdown",value:'The form element that the button is associated with (its _form owner_). The value of the attribute must be the **id** attribute of a [`<form>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form "The HTML <form> element represents a document section that contains interactive controls for submitting information to a web server.") element in the same document. If this attribute is not specified, the `<button>` element will be associated to an ancestor [`<form>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form "The HTML <form> element represents a document section that contains interactive controls for submitting information to a web server.") element, if one exists. This attribute enables you to associate `<button>` elements to [`<form>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form "The HTML <form> element represents a document section that contains interactive controls for submitting information to a web server.") elements anywhere within a document, not just as descendants of [`<form>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form "The HTML <form> element represents a document section that contains interactive controls for submitting information to a web server.") elements.'}},{name:"formaction",description:{kind:"markdown",value:"The URI of a program that processes the information submitted by the button. If specified, it overrides the [`action`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form#attr-action) attribute of the button's form owner."}},{name:"formenctype",valueSet:"et",description:{kind:"markdown",value:'If the button is a submit button, this attribute specifies the type of content that is used to submit the form to the server. Possible values are:\n\n* `application/x-www-form-urlencoded`: The default value if the attribute is not specified.\n* `multipart/form-data`: Use this value if you are using an [`<input>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input "The HTML <input> element is used to create interactive controls for web-based forms in order to accept data from the user; a wide variety of types of input data and control widgets are available, depending on the device and user agent.") element with the [`type`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#attr-type) attribute set to `file`.\n* `text/plain`\n\nIf this attribute is specified, it overrides the [`enctype`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form#attr-enctype) attribute of the button\'s form owner.'}},{name:"formmethod",valueSet:"fm",description:{kind:"markdown",value:"If the button is a submit button, this attribute specifies the HTTP method that the browser uses to submit the form. Possible values are:\n\n* `post`: The data from the form are included in the body of the form and sent to the server.\n* `get`: The data from the form are appended to the **form** attribute URI, with a '?' as a separator, and the resulting URI is sent to the server. Use this method when the form has no side-effects and contains only ASCII characters.\n\nIf specified, this attribute overrides the [`method`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form#attr-method) attribute of the button's form owner."}},{name:"formnovalidate",valueSet:"v",description:{kind:"markdown",value:"If the button is a submit button, this Boolean attribute specifies that the form is not to be validated when it is submitted. If this attribute is specified, it overrides the [`novalidate`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form#attr-novalidate) attribute of the button's form owner."}},{name:"formtarget",description:{kind:"markdown",value:"If the button is a submit button, this attribute is a name or keyword indicating where to display the response that is received after submitting the form. This is a name of, or keyword for, a _browsing context_ (for example, tab, window, or inline frame). If this attribute is specified, it overrides the [`target`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form#attr-target) attribute of the button's form owner. The following keywords have special meanings:\n\n* `_self`: Load the response into the same browsing context as the current one. This value is the default if the attribute is not specified.\n* `_blank`: Load the response into a new unnamed browsing context.\n* `_parent`: Load the response into the parent browsing context of the current one. If there is no parent, this option behaves the same way as `_self`.\n* `_top`: Load the response into the top-level browsing context (that is, the browsing context that is an ancestor of the current one, and has no parent). If there is no parent, this option behaves the same way as `_self`."}},{name:"name",description:{kind:"markdown",value:"The name of the button, which is submitted with the form data."}},{name:"type",valueSet:"bt",description:{kind:"markdown",value:"The type of the button. Possible values are:\n\n* `submit`: The button submits the form data to the server. This is the default if the attribute is not specified, or if the attribute is dynamically changed to an empty or invalid value.\n* `reset`: The button resets all the controls to their initial values.\n* `button`: The button has no default behavior. It can have client-side scripts associated with the element's events, which are triggered when the events occur."}},{name:"value",description:{kind:"markdown",value:"The initial value of the button. It defines the value associated with the button which is submitted with the form data. This value is passed to the server in params when the form is submitted."}},{name:"autocomplete",description:'The use of this attribute on a [`<button>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button "The HTML <button> element represents a clickable button, which can be used in forms or anywhere in a document that needs simple, standard button functionality.") is nonstandard and Firefox-specific. By default, unlike other browsers, [Firefox persists the dynamic disabled state](https://stackoverflow.com/questions/5985839/bug-with-firefox-disabled-attribute-of-input-not-resetting-when-refreshing) of a [`<button>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button "The HTML <button> element represents a clickable button, which can be used in forms or anywhere in a document that needs simple, standard button functionality.") across page loads. Setting the value of this attribute to `off` (i.e. `autocomplete="off"`) disables this feature. See [bug\xA0654072](https://bugzilla.mozilla.org/show_bug.cgi?id=654072 "if disabled state is changed with javascript, the normal state doesn\'t return after refreshing the page").'}],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/button"}]},{name:"select",description:{kind:"markdown",value:"The select element represents a control for selecting amongst a set of options."},attributes:[{name:"autocomplete",valueSet:"inputautocomplete",description:{kind:"markdown",value:'A [`DOMString`](https://developer.mozilla.org/en-US/docs/Web/API/DOMString "DOMString is a UTF-16 String. As JavaScript already uses such strings, DOMString is mapped directly to a String.") providing a hint for a [user agent\'s](https://developer.mozilla.org/en-US/docs/Glossary/user_agent "user agent\'s: A user agent is a computer program representing a person, for example, a browser in a Web context.") autocomplete feature. See [The HTML autocomplete attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete) for a complete list of values and details on how to use autocomplete.'}},{name:"autofocus",valueSet:"v",description:{kind:"markdown",value:"This Boolean attribute lets you specify that a form control should have input focus when the page loads. Only one form element in a document can have the `autofocus` attribute."}},{name:"disabled",valueSet:"v",description:{kind:"markdown",value:"This Boolean attribute indicates that the user cannot interact with the control. If this attribute is not specified, the control inherits its setting from the containing element, for example `fieldset`; if there is no containing element with the `disabled` attribute set, then the control is enabled."}},{name:"form",description:{kind:"markdown",value:'This attribute lets you specify the form element to\xA0which\xA0the select element is associated\xA0(that is, its "form owner"). If this attribute is specified, its value must be the same as the `id` of a form element in the same document. This enables you to place select elements anywhere within a document, not just as descendants of their form elements.'}},{name:"multiple",valueSet:"v",description:{kind:"markdown",value:"This Boolean attribute indicates that multiple options can be selected in the list. If it is not specified, then only one option can be selected at a time. When `multiple` is specified, most browsers will show a scrolling list box instead of a single line dropdown."}},{name:"name",description:{kind:"markdown",value:"This attribute is used to specify the name of the control."}},{name:"required",valueSet:"v",description:{kind:"markdown",value:"A Boolean attribute indicating that an option with a non-empty string value must be selected."}},{name:"size",description:{kind:"markdown",value:"If the control is presented as a scrolling list box (e.g. when `multiple` is specified), this attribute represents the number of rows in the list that should be visible at one time. Browsers are not required to present a select element as a scrolled list box. The default value is 0.\n\n**Note:** According to the HTML5 specification, the default value for size should be 1; however, in practice, this has been found to break some web sites, and no other browser currently does that, so Mozilla has opted to continue to return 0 for the time being with Firefox."}}],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/select"}]},{name:"datalist",description:{kind:"markdown",value:"The datalist element represents a set of option elements that represent predefined options for other controls. In the rendering, the datalist element represents nothing and it, along with its children, should be hidden."},attributes:[],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/datalist"}]},{name:"optgroup",description:{kind:"markdown",value:"The optgroup element represents a group of option elements with a common label."},attributes:[{name:"disabled",valueSet:"v",description:{kind:"markdown",value:"If this Boolean attribute is set, none of the items in this option group is selectable. Often browsers grey out such control and it won't receive any browsing events, like mouse clicks or focus-related ones."}},{name:"label",description:{kind:"markdown",value:"The name of the group of options, which the browser can use when labeling the options in the user interface. This attribute is mandatory if this element is used."}}],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/optgroup"}]},{name:"option",description:{kind:"markdown",value:"The option element represents an option in a select element or as part of a list of suggestions in a datalist element."},attributes:[{name:"disabled",valueSet:"v",description:{kind:"markdown",value:'If this Boolean attribute is set, this option is not checkable. Often browsers grey out such control and it won\'t receive any browsing event, like mouse clicks or focus-related ones. If this attribute is not set, the element can still be disabled if one of its ancestors is a disabled [`<optgroup>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/optgroup "The HTML <optgroup> element creates a grouping of options within a <select> element.") element.'}},{name:"label",description:{kind:"markdown",value:"This attribute is text for the label indicating the meaning of the option. If the `label` attribute isn't defined, its value is that of the element text content."}},{name:"selected",valueSet:"v",description:{kind:"markdown",value:'If present, this Boolean attribute indicates that the option is initially selected. If the `<option>` element is the descendant of a [`<select>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select "The HTML <select> element represents a control that provides a menu of options") element whose [`multiple`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select#attr-multiple) attribute is not set, only one single `<option>` of this [`<select>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select "The HTML <select> element represents a control that provides a menu of options") element may have the `selected` attribute.'}},{name:"value",description:{kind:"markdown",value:"The content of this attribute represents the value to be submitted with the form, should this option be selected.\xA0If this attribute is omitted, the value is taken from the text content of the option element."}}],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/option"}]},{name:"textarea",description:{kind:"markdown",value:"The textarea element represents a multiline plain text edit control for the element's raw value. The contents of the control represent the control's default value."},attributes:[{name:"autocomplete",valueSet:"inputautocomplete",description:{kind:"markdown",value:'This attribute indicates whether the value of the control can be automatically completed by the browser. Possible values are:\n\n* `off`: The user must explicitly enter a value into this field for every use, or the document provides its own auto-completion method; the browser does not automatically complete the entry.\n* `on`: The browser can automatically complete the value based on values that the user has entered during previous uses.\n\nIf the `autocomplete` attribute is not specified on a `<textarea>` element, then the browser uses the `autocomplete` attribute value of the `<textarea>` element\'s form owner. The form owner is either the [`<form>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form "The HTML <form> element represents a document section that contains interactive controls for submitting information to a web server.") element that this `<textarea>` element is a descendant of or the form element whose `id` is specified by the `form` attribute of the input element. For more information, see the [`autocomplete`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form#attr-autocomplete) attribute in [`<form>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form "The HTML <form> element represents a document section that contains interactive controls for submitting information to a web server.").'}},{name:"autofocus",valueSet:"v",description:{kind:"markdown",value:"This Boolean attribute lets you specify that a form control should have input focus when the page loads. Only one form-associated element in a document can have this attribute specified."}},{name:"cols",description:{kind:"markdown",value:"The visible width of the text control, in average character widths. If it is specified, it must be a positive integer. If it is not specified, the default value is `20`."}},{name:"dirname"},{name:"disabled",valueSet:"v",description:{kind:"markdown",value:'This Boolean attribute indicates that the user cannot interact with the control. If this attribute is not specified, the control inherits its setting from the containing element, for example [`<fieldset>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/fieldset "The HTML <fieldset> element is used to group several controls as well as labels (<label>) within a web form."); if there is no containing element when the `disabled` attribute is set, the control is enabled.'}},{name:"form",description:{kind:"markdown",value:'The form element that the `<textarea>` element is associated with (its "form owner"). The value of the attribute must be the `id` of a form element in the same document. If this attribute is not specified, the `<textarea>` element must be a descendant of a form element. This attribute enables you to place `<textarea>` elements anywhere within a document, not just as descendants of form elements.'}},{name:"inputmode",valueSet:"im"},{name:"maxlength",description:{kind:"markdown",value:"The maximum number of characters (unicode code points) that the user can enter. If this value isn't specified, the user can enter an unlimited number of characters."}},{name:"minlength",description:{kind:"markdown",value:"The minimum number of characters (unicode code points) required that the user should enter."}},{name:"name",description:{kind:"markdown",value:"The name of the control."}},{name:"placeholder",description:{kind:"markdown",value:'A hint to the user of what can be entered in the control. Carriage returns or line-feeds within the placeholder text must be treated as line breaks when rendering the hint.\n\n**Note:** Placeholders should only be used to show an example of the type of data that should be entered into a form; they are _not_ a substitute for a proper [`<label>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/label "The HTML <label> element represents a caption for an item in a user interface.") element tied to the input. See [Labels and placeholders](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Labels_and_placeholders "The HTML <input> element is used to create interactive controls for web-based forms in order to accept data from the user; a wide variety of types of input data and control widgets are available, depending on the device and user agent.") in [<input>: The Input (Form Input) element](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input "The HTML <input> element is used to create interactive controls for web-based forms in order to accept data from the user; a wide variety of types of input data and control widgets are available, depending on the device and user agent.") for a full explanation.'}},{name:"readonly",valueSet:"v",description:{kind:"markdown",value:"This Boolean attribute indicates that the user cannot modify the value of the control. Unlike the `disabled` attribute, the `readonly` attribute does not prevent the user from clicking or selecting in the control. The value of a read-only control is still submitted with the form."}},{name:"required",valueSet:"v",description:{kind:"markdown",value:"This attribute specifies that the user must fill in a value before submitting a form."}},{name:"rows",description:{kind:"markdown",value:"The number of visible text lines for the control."}},{name:"wrap",valueSet:"w",description:{kind:"markdown",value:"Indicates how the control wraps text. Possible values are:\n\n* `hard`: The browser automatically inserts line breaks (CR+LF) so that each line has no more than the width of the control; the `cols` attribute must also be specified for this to take effect.\n* `soft`: The browser ensures that all line breaks in the value consist of a CR+LF pair, but does not insert any additional line breaks.\n* `off` : Like `soft` but changes appearance to `white-space: pre` so line segments exceeding `cols` are not wrapped and the `<textarea>` becomes horizontally scrollable.\n\nIf this attribute is not specified, `soft` is its default value."}},{name:"autocapitalize",description:"This is a non-standard attribute supported by WebKit on iOS (therefore nearly all browsers running on iOS, including Safari, Firefox, and Chrome), which controls whether and how the text value should be automatically capitalized as it is entered/edited by the user. The non-deprecated values are available in iOS 5 and later. Possible values are:\n\n* `none`: Completely disables automatic capitalization.\n* `sentences`: Automatically capitalize the first letter of sentences.\n* `words`: Automatically capitalize the first letter of words.\n* `characters`: Automatically capitalize all characters.\n* `on`: Deprecated since iOS 5.\n* `off`: Deprecated since iOS 5."},{name:"spellcheck",description:"Specifies whether the `<textarea>` is subject to spell checking by the underlying browser/OS. the value can be:\n\n* `true`: Indicates that the element needs to have its spelling and grammar checked.\n* `default` : Indicates that the element is to act according to a default behavior, possibly based on the parent element's own `spellcheck` value.\n* `false` : Indicates that the element should not be spell checked."}],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/textarea"}]},{name:"output",description:{kind:"markdown",value:"The output element represents the result of a calculation performed by the application, or the result of a user action."},attributes:[{name:"for",description:{kind:"markdown",value:"A space-separated list of other elements\u2019 [`id`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/id)s, indicating that those elements contributed input values to (or otherwise affected) the calculation."}},{name:"form",description:{kind:"markdown",value:'The [form element](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form) that this element is associated with (its "form owner"). The value of the attribute must be an `id` of a form element in the same document. If this attribute is not specified, the output element must be a descendant of a form element. This attribute enables you to place output elements anywhere within a document, not just as descendants of their form elements.'}},{name:"name",description:{kind:"markdown",value:'The name of the element, exposed in the [`HTMLFormElement`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLFormElement "The HTMLFormElement interface represents a <form> element in the DOM; it allows access to and in some cases modification of aspects of the form, as well as access to its component elements.") API.'}}],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/output"}]},{name:"progress",description:{kind:"markdown",value:"The progress element represents the completion progress of a task. The progress is either indeterminate, indicating that progress is being made but that it is not clear how much more work remains to be done before the task is complete (e.g. because the task is waiting for a remote host to respond), or the progress is a number in the range zero to a maximum, giving the fraction of work that has so far been completed."},attributes:[{name:"value",description:{kind:"markdown",value:"This attribute specifies how much of the task that has been completed. It must be a valid floating point number between 0 and `max`, or between 0 and 1 if `max` is omitted. If there is no `value` attribute, the progress bar is indeterminate; this indicates that an activity is ongoing with no indication of how long it is expected to take."}},{name:"max",description:{kind:"markdown",value:"This attribute describes how much work the task indicated by the `progress` element requires. The `max` attribute, if present, must have a value greater than zero and be a valid floating point number. The default value is 1."}}],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/progress"}]},{name:"meter",description:{kind:"markdown",value:"The meter element represents a scalar measurement within a known range, or a fractional value; for example disk usage, the relevance of a query result, or the fraction of a voting population to have selected a particular candidate."},attributes:[{name:"value",description:{kind:"markdown",value:"The current numeric value. This must be between the minimum and maximum values (`min` attribute and `max` attribute) if they are specified. If unspecified or malformed, the value is 0. If specified, but not within the range given by the `min` attribute and `max` attribute, the value is equal to the nearest end of the range.\n\n**Usage note:** Unless the `value` attribute is between `0` and `1` (inclusive), the `min` and `max` attributes should define the range so that the `value` attribute's value is within it."}},{name:"min",description:{kind:"markdown",value:"The lower numeric bound of the measured range. This must be less than the maximum value (`max` attribute), if specified. If unspecified, the minimum value is 0."}},{name:"max",description:{kind:"markdown",value:"The upper numeric bound of the measured range. This must be greater than the minimum value (`min` attribute), if specified. If unspecified, the maximum value is 1."}},{name:"low",description:{kind:"markdown",value:"The upper numeric bound of the low end of the measured range. This must be greater than the minimum value (`min` attribute), and it also must be less than the high value and maximum value (`high` attribute and `max` attribute, respectively), if any are specified. If unspecified, or if less than the minimum value, the `low` value is equal to the minimum value."}},{name:"high",description:{kind:"markdown",value:"The lower numeric bound of the high end of the measured range. This must be less than the maximum value (`max` attribute), and it also must be greater than the low value and minimum value (`low` attribute and **min** attribute, respectively), if any are specified. If unspecified, or if greater than the maximum value, the `high` value is equal to the maximum value."}},{name:"optimum",description:{kind:"markdown",value:"This attribute indicates the optimal numeric value. It must be within the range (as defined by the `min` attribute and `max` attribute). When used with the `low` attribute and `high` attribute, it gives an indication where along the range is considered preferable. For example, if it is between the `min` attribute and the `low` attribute, then the lower range is considered preferred."}},{name:"form",description:"This attribute associates the element with a `form` element that has ownership of the `meter` element. For example, a `meter` might be displaying a range corresponding to an `input` element of `type` _number_. This attribute is only used if the `meter` element is being used as a form-associated element; even then, it may be omitted if the element appears as a descendant of a `form` element."}],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/meter"}]},{name:"fieldset",description:{kind:"markdown",value:"The fieldset element represents a set of form controls optionally grouped under a common name."},attributes:[{name:"disabled",valueSet:"v",description:{kind:"markdown",value:"If this Boolean attribute is set, all form controls that are descendants of the `<fieldset>`, are disabled, meaning they are not editable and won't be submitted along with the `<form>`. They won't receive any browsing events, like mouse clicks or focus-related events. By default browsers display such controls grayed out. Note that form elements inside the [`<legend>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/legend \"The HTML <legend> element represents a caption for the content of its parent <fieldset>.\") element won't be disabled."}},{name:"form",description:{kind:"markdown",value:'This attribute takes the value of the `id` attribute of a [`<form>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form "The HTML <form> element represents a document section that contains interactive controls for submitting information to a web server.") element you want the `<fieldset>` to be part of, even if it is not inside the form.'}},{name:"name",description:{kind:"markdown",value:'The name associated with the group.\n\n**Note**: The caption for the fieldset is given by the first [`<legend>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/legend "The HTML <legend> element represents a caption for the content of its parent <fieldset>.") element nested inside it.'}}],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/fieldset"}]},{name:"legend",description:{kind:"markdown",value:"The legend element represents a caption for the rest of the contents of the legend element's parent fieldset element, if any."},attributes:[],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/legend"}]},{name:"details",description:{kind:"markdown",value:"The details element represents a disclosure widget from which the user can obtain additional information or controls."},attributes:[{name:"open",valueSet:"v",description:{kind:"markdown",value:"This Boolean attribute indicates whether or not the details \u2014 that is, the contents of the `<details>` element \u2014 are currently visible. The default, `false`, means the details are not visible."}}],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/details"}]},{name:"summary",description:{kind:"markdown",value:"The summary element represents a summary, caption, or legend for the rest of the contents of the summary element's parent details element, if any."},attributes:[],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/summary"}]},{name:"dialog",description:{kind:"markdown",value:"The dialog element represents a part of an application that a user interacts with to perform a task, for example a dialog box, inspector, or window."},attributes:[{name:"open",description:"Indicates that the dialog is active and available for interaction. When the `open` attribute is not set, the dialog shouldn't be shown to the user."}],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/dialog"}]},{name:"script",description:{kind:"markdown",value:"The script element allows authors to include dynamic script and data blocks in their documents. The element does not represent content for the user."},attributes:[{name:"src",description:{kind:"markdown",value:"This attribute specifies the URI of an external script; this can be used as an alternative to embedding a script directly within a document.\n\nIf a `script` element has a `src` attribute specified, it should not have a script embedded inside its tags."}},{name:"type",description:{kind:"markdown",value:'This attribute indicates the type of script represented. The value of this attribute will be in one of the following categories:\n\n* **Omitted or a JavaScript MIME type:** For HTML5-compliant browsers this indicates the script is JavaScript. HTML5 specification urges authors to omit the attribute rather than provide a redundant MIME type. In earlier browsers, this identified the scripting language of the embedded or imported (via the `src` attribute) code. JavaScript MIME types are [listed in the specification](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types#JavaScript_types).\n* **`module`:** For HTML5-compliant browsers the code is treated as a JavaScript module. The processing of the script contents is not affected by the `charset` and `defer` attributes. For information on using `module`, see [ES6 in Depth: Modules](https://hacks.mozilla.org/2015/08/es6-in-depth-modules/). Code may behave differently when the `module` keyword is used.\n* **Any other value:** The embedded content is treated as a data block which won\'t be processed by the browser. Developers must use a valid MIME type that is not a JavaScript MIME type to denote data blocks. The `src` attribute will be ignored.\n\n**Note:** in Firefox you could specify the version of JavaScript contained in a `<script>` element by including a non-standard `version` parameter inside the `type` attribute \u2014 for example `type="text/javascript;version=1.8"`. This has been removed in Firefox 59 (see [bug\xA01428745](https://bugzilla.mozilla.org/show_bug.cgi?id=1428745 "FIXED: Remove support for version parameter from script loader")).'}},{name:"charset"},{name:"async",valueSet:"v",description:{kind:"markdown",value:`This is a Boolean attribute indicating that the browser should, if possible, load the script asynchronously. + +This attribute must not be used if the \`src\` attribute is absent (i.e. for inline scripts). If it is included in this case it will have no effect. + +Browsers usually assume the worst case scenario and load scripts synchronously, (i.e. \`async="false"\`) during HTML parsing. + +Dynamically inserted scripts (using [\`document.createElement()\`](https://developer.mozilla.org/en-US/docs/Web/API/Document/createElement "In an HTML document, the document.createElement() method creates the HTML element specified by tagName, or an HTMLUnknownElement if tagName isn't recognized.")) load asynchronously by default, so to turn on synchronous loading (i.e. scripts load in the order they were inserted) set \`async="false"\`. + +See [Browser compatibility](#Browser_compatibility) for notes on browser support. See also [Async scripts for asm.js](https://developer.mozilla.org/en-US/docs/Games/Techniques/Async_scripts).`}},{name:"defer",valueSet:"v",description:{kind:"markdown",value:'This Boolean attribute is set to indicate to a browser that the script is meant to be executed after the document has been parsed, but before firing [`DOMContentLoaded`](https://developer.mozilla.org/en-US/docs/Web/Events/DOMContentLoaded "/en-US/docs/Web/Events/DOMContentLoaded").\n\nScripts with the `defer` attribute will prevent the `DOMContentLoaded` event from firing until the script has loaded and finished evaluating.\n\nThis attribute must not be used if the `src` attribute is absent (i.e. for inline scripts), in this case it would have no effect.\n\nTo achieve a similar effect for dynamically inserted scripts use `async="false"` instead. Scripts with the `defer` attribute will execute in the order in which they appear in the document.'}},{name:"crossorigin",valueSet:"xo",description:{kind:"markdown",value:'Normal `script` elements pass minimal information to the [`window.onerror`](https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/onerror "The onerror property of the GlobalEventHandlers mixin is an EventHandler that processes error events.") for scripts which do not pass the standard [CORS](https://developer.mozilla.org/en-US/docs/Glossary/CORS "CORS: CORS (Cross-Origin Resource Sharing) is a system, consisting of transmitting HTTP headers, that determines whether browsers block frontend JavaScript code from accessing responses for cross-origin requests.") checks. To allow error logging for sites which use a separate domain for static media, use this attribute. See [CORS settings attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_settings_attributes) for a more descriptive explanation of its valid arguments.'}},{name:"nonce",description:{kind:"markdown",value:"A cryptographic nonce (number used once) to list the allowed inline scripts in a [script-src Content-Security-Policy](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/script-src). The server must generate a unique nonce value each time it transmits a policy. It is critical to provide a nonce that cannot be guessed as bypassing a resource's policy is otherwise trivial."}},{name:"integrity",description:"This attribute contains inline metadata that a user agent can use to verify that a fetched resource has been delivered free of unexpected manipulation. See [Subresource Integrity](https://developer.mozilla.org/en-US/docs/Web/Security/Subresource_Integrity)."},{name:"nomodule",description:"This Boolean attribute is set to indicate that the script should not be executed in browsers that support [ES2015 modules](https://hacks.mozilla.org/2015/08/es6-in-depth-modules/) \u2014 in effect, this can be used to serve fallback scripts to older browsers that do not support modular JavaScript code."},{name:"referrerpolicy",description:'Indicates which [referrer](https://developer.mozilla.org/en-US/docs/Web/API/Document/referrer) to send when fetching the script, or resources fetched by the script:\n\n* `no-referrer`: The [`Referer`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referer "The Referer request header contains the address of the previous web page from which a link to the currently requested page was followed. The Referer header allows servers to identify where people are visiting them from and may use that data for analytics, logging, or optimized caching, for example.") header will not be sent.\n* `no-referrer-when-downgrade` (default): The [`Referer`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referer "The Referer request header contains the address of the previous web page from which a link to the currently requested page was followed. The Referer header allows servers to identify where people are visiting them from and may use that data for analytics, logging, or optimized caching, for example.") header will not be sent to [origin](https://developer.mozilla.org/en-US/docs/Glossary/origin "origin: Web content\'s origin is defined by the scheme (protocol), host (domain), and port of the URL used to access it. Two objects have the same origin only when the scheme, host, and port all match.")s without [TLS](https://developer.mozilla.org/en-US/docs/Glossary/TLS "TLS: Transport Layer Security (TLS), previously known as Secure Sockets Layer (SSL), is a protocol used by applications to communicate securely across a network, preventing tampering with and eavesdropping on email, web browsing, messaging, and other protocols.") ([HTTPS](https://developer.mozilla.org/en-US/docs/Glossary/HTTPS "HTTPS: HTTPS (HTTP Secure) is an encrypted version of the HTTP protocol. It usually uses SSL or TLS to encrypt all communication between a client and a server. This secure connection allows clients to safely exchange sensitive data with a server, for example for banking activities or online shopping.")).\n* `origin`: The sent referrer will be limited to the origin of the referring page: its [scheme](https://developer.mozilla.org/en-US/docs/Archive/Mozilla/URIScheme), [host](https://developer.mozilla.org/en-US/docs/Glossary/host "host: A host is a device connected to the Internet (or a local network). Some hosts called servers offer additional services like serving webpages or storing files and emails."), and [port](https://developer.mozilla.org/en-US/docs/Glossary/port "port: For a computer connected to a network with an IP address, a port is a communication endpoint. Ports are designated by numbers, and below 1024 each port is associated by default with a specific protocol.").\n* `origin-when-cross-origin`: The referrer sent to other origins will be limited to the scheme, the host, and the port. Navigations on the same origin will still include the path.\n* `same-origin`: A referrer will be sent for [same origin](https://developer.mozilla.org/en-US/docs/Glossary/Same-origin_policy "same origin: The same-origin policy is a critical security mechanism that restricts how a document or script loaded from one origin can interact with a resource from another origin."), but cross-origin requests will contain no referrer information.\n* `strict-origin`: Only send the origin of the document as the referrer when the protocol security level stays the same (e.g. HTTPS\u2192HTTPS), but don\'t send it to a less secure destination (e.g. HTTPS\u2192HTTP).\n* `strict-origin-when-cross-origin`: Send a full URL when performing a same-origin request, but only send the origin when the protocol security level stays the same (e.g.HTTPS\u2192HTTPS), and send no header to a less secure destination (e.g. HTTPS\u2192HTTP).\n* `unsafe-url`: The referrer will include the origin _and_ the path (but not the [fragment](https://developer.mozilla.org/en-US/docs/Web/API/HTMLHyperlinkElementUtils/hash), [password](https://developer.mozilla.org/en-US/docs/Web/API/HTMLHyperlinkElementUtils/password), or [username](https://developer.mozilla.org/en-US/docs/Web/API/HTMLHyperlinkElementUtils/username)). **This value is unsafe**, because it leaks origins and paths from TLS-protected resources to insecure origins.\n\n**Note**: An empty string value (`""`) is both the default value, and a fallback value if `referrerpolicy` is not supported. If `referrerpolicy` is not explicitly specified on the `<script>` element, it will adopt a higher-level referrer policy, i.e. one set on the whole document or domain. If a higher-level policy is not available,\xA0the empty string is treated as being equivalent to `no-referrer-when-downgrade`.'},{name:"text",description:"Like the `textContent` attribute, this attribute sets the text content of the element. Unlike the `textContent` attribute, however, this attribute is evaluated as executable code after the node is inserted into the DOM."}],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/script"}]},{name:"noscript",description:{kind:"markdown",value:"The noscript element represents nothing if scripting is enabled, and represents its children if scripting is disabled. It is used to present different markup to user agents that support scripting and those that don't support scripting, by affecting how the document is parsed."},attributes:[],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/noscript"}]},{name:"template",description:{kind:"markdown",value:"The template element is used to declare fragments of HTML that can be cloned and inserted in the document by script."},attributes:[],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/template"}]},{name:"canvas",description:{kind:"markdown",value:"The canvas element provides scripts with a resolution-dependent bitmap canvas, which can be used for rendering graphs, game graphics, art, or other visual images on the fly."},attributes:[{name:"width",description:{kind:"markdown",value:"The width of the coordinate space in CSS pixels. Defaults to 300."}},{name:"height",description:{kind:"markdown",value:"The height of the coordinate space in CSS pixels. Defaults to 150."}},{name:"moz-opaque",description:"Lets the canvas know whether or not translucency will be a factor. If the canvas knows there's no translucency, painting performance can be optimized. This is only supported by Mozilla-based browsers; use the standardized [`canvas.getContext('2d', { alpha: false })`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement/getContext \"The HTMLCanvasElement.getContext() method returns a drawing context on the canvas, or null if the context identifier is not supported.\") instead."}],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/canvas"}]},{name:"slot",description:{kind:"markdown",value:"The slot element is a placeholder inside a web component that you can fill with your own markup, which lets you create separate DOM trees and present them together."},attributes:[{name:"name",description:{kind:"markdown",value:"The slot's name.\nA **named slot** is a `<slot>` element with a `name` attribute."}}],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/slot"}]},{name:"data",description:{kind:"markdown",value:"The data element links a given piece of content with a machine-readable translation."},attributes:[{name:"value",description:{kind:"markdown",value:"This attribute specifies the machine-readable translation of the content of the element."}}],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/data"}]},{name:"hgroup",description:{kind:"markdown",value:"The hgroup element represents a heading and related content. It groups a single h1\u2013h6 element with one or more p."},attributes:[],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/hgroup"}]},{name:"menu",description:{kind:"markdown",value:"The menu element represents an unordered list of interactive items."},attributes:[],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/menu"}]}],globalAttributes:[{name:"accesskey",description:{kind:"markdown",value:"Provides a hint for generating a keyboard shortcut for the current element. This attribute consists of a space-separated list of characters. The browser should use the first one that exists on the computer keyboard layout."},references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Global_attributes/accesskey"}]},{name:"autocapitalize",description:{kind:"markdown",value:"Controls whether and how text input is automatically capitalized as it is entered/edited by the user. It can have the following values:\n\n* `off` or `none`, no autocapitalization is applied (all letters default to lowercase)\n* `on` or `sentences`, the first letter of each sentence defaults to a capital letter; all other letters default to lowercase\n* `words`, the first letter of each word defaults to a capital letter; all other letters default to lowercase\n* `characters`, all letters should default to uppercase"},references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Global_attributes/autocapitalize"}]},{name:"class",description:{kind:"markdown",value:'A space-separated list of the classes of the element. Classes allows CSS and JavaScript to select and access specific elements via the [class selectors](https://developer.mozilla.org/docs/Web/CSS/Class_selectors) or functions like the method [`Document.getElementsByClassName()`](https://developer.mozilla.org/docs/Web/API/Document/getElementsByClassName "returns an array-like object of all child elements which have all of the given class names.").'},references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Global_attributes/class"}]},{name:"contenteditable",description:{kind:"markdown",value:"An enumerated attribute indicating if the element should be editable by the user. If so, the browser modifies its widget to allow editing. The attribute must take one of the following values:\n\n* `true` or the _empty string_, which indicates that the element must be editable;\n* `false`, which indicates that the element must not be editable."},references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Global_attributes/contenteditable"}]},{name:"contextmenu",description:{kind:"markdown",value:'The `[**id**](#attr-id)` of a [`<menu>`](https://developer.mozilla.org/docs/Web/HTML/Element/menu "The HTML <menu> element represents a group of commands that a user can perform or activate. This includes both list menus, which might appear across the top of a screen, as well as context menus, such as those that might appear underneath a button after it has been clicked.") to use as the contextual menu for this element.'},references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Global_attributes/contextmenu"}]},{name:"dir",description:{kind:"markdown",value:"An enumerated attribute indicating the directionality of the element's text. It can have the following values:\n\n* `ltr`, which means _left to right_ and is to be used for languages that are written from the left to the right (like English);\n* `rtl`, which means _right to left_ and is to be used for languages that are written from the right to the left (like Arabic);\n* `auto`, which lets the user agent decide. It uses a basic algorithm as it parses the characters inside the element until it finds a character with a strong directionality, then it applies that directionality to the whole element."},valueSet:"d",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Global_attributes/dir"}]},{name:"draggable",description:{kind:"markdown",value:"An enumerated attribute indicating whether the element can be dragged, using the [Drag and Drop API](https://developer.mozilla.org/docs/DragDrop/Drag_and_Drop). It can have the following values:\n\n* `true`, which indicates that the element may be dragged\n* `false`, which indicates that the element may not be dragged."},valueSet:"b",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Global_attributes/draggable"}]},{name:"dropzone",description:{kind:"markdown",value:"An enumerated attribute indicating what types of content can be dropped on an element, using the [Drag and Drop API](https://developer.mozilla.org/docs/DragDrop/Drag_and_Drop). It can have the following values:\n\n* `copy`, which indicates that dropping will create a copy of the element that was dragged\n* `move`, which indicates that the element that was dragged will be moved to this new location.\n* `link`, will create a link to the dragged data."}},{name:"exportparts",description:{kind:"markdown",value:"Used to transitively export shadow parts from a nested shadow tree into a containing light tree."},references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Global_attributes/exportparts"}]},{name:"hidden",description:{kind:"markdown",value:"A Boolean attribute indicates that the element is not yet, or is no longer, _relevant_. For example, it can be used to hide elements of the page that can't be used until the login process has been completed. The browser won't render such elements. This attribute must not be used to hide content that could legitimately be shown."},valueSet:"v",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Global_attributes/hidden"}]},{name:"id",description:{kind:"markdown",value:"Defines a unique identifier (ID) which must be unique in the whole document. Its purpose is to identify the element when linking (using a fragment identifier), scripting, or styling (with CSS)."},references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Global_attributes/id"}]},{name:"inputmode",description:{kind:"markdown",value:'Provides a hint to browsers as to the type of virtual keyboard configuration to use when editing this element or its contents. Used primarily on [`<input>`](https://developer.mozilla.org/docs/Web/HTML/Element/input "The HTML <input> element is used to create interactive controls for web-based forms in order to accept data from the user; a wide variety of types of input data and control widgets are available, depending on the device and user agent.") elements, but is usable on any element while in `[contenteditable](https://developer.mozilla.org/docs/Web/HTML/Global_attributes#attr-contenteditable)` mode.'},references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Global_attributes/inputmode"}]},{name:"is",description:{kind:"markdown",value:"Allows you to specify that a standard HTML element should behave like a registered custom built-in element (see [Using custom elements](https://developer.mozilla.org/docs/Web/Web_Components/Using_custom_elements) for more details)."},references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Global_attributes/is"}]},{name:"itemid",description:{kind:"markdown",value:"The unique, global identifier of an item."},references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Global_attributes/itemid"}]},{name:"itemprop",description:{kind:"markdown",value:"Used to add properties to an item. Every HTML element may have an `itemprop` attribute specified, where an `itemprop` consists of a name and value pair."},references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Global_attributes/itemprop"}]},{name:"itemref",description:{kind:"markdown",value:"Properties that are not descendants of an element with the `itemscope` attribute can be associated with the item using an `itemref`. It provides a list of element ids (not `itemid`s) with additional properties elsewhere in the document."},references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Global_attributes/itemref"}]},{name:"itemscope",description:{kind:"markdown",value:"`itemscope` (usually) works along with `[itemtype](https://developer.mozilla.org/docs/Web/HTML/Global_attributes#attr-itemtype)` to specify that the HTML contained in a block is about a particular item. `itemscope` creates the Item and defines the scope of the `itemtype` associated with it. `itemtype` is a valid URL of a vocabulary (such as [schema.org](https://schema.org/)) that describes the item and its properties context."},valueSet:"v",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Global_attributes/itemscope"}]},{name:"itemtype",description:{kind:"markdown",value:"Specifies the URL of the vocabulary that will be used to define `itemprop`s (item properties) in the data structure. `[itemscope](https://developer.mozilla.org/docs/Web/HTML/Global_attributes#attr-itemscope)` is used to set the scope of where in the data structure the vocabulary set by `itemtype` will be active."},references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Global_attributes/itemtype"}]},{name:"lang",description:{kind:"markdown",value:"Helps define the language of an element: the language that non-editable elements are in, or the language that editable elements should be written in by the user. The attribute contains one \u201Clanguage tag\u201D (made of hyphen-separated \u201Clanguage subtags\u201D) in the format defined in [_Tags for Identifying Languages (BCP47)_](https://www.ietf.org/rfc/bcp/bcp47.txt). [**xml:lang**](#attr-xml:lang) has priority over it."},references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Global_attributes/lang"}]},{name:"part",description:{kind:"markdown",value:'A space-separated list of the part names of the element. Part names allows CSS to select and style specific elements in a shadow tree via the [`::part`](https://developer.mozilla.org/docs/Web/CSS/::part "The ::part CSS pseudo-element represents any element within a shadow tree that has a matching part attribute.") pseudo-element.'},references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Global_attributes/part"}]},{name:"role",valueSet:"roles"},{name:"slot",description:{kind:"markdown",value:"Assigns a slot in a [shadow DOM](https://developer.mozilla.org/docs/Web/Web_Components/Shadow_DOM) shadow tree to an element: An element with a `slot` attribute is assigned to the slot created by the [`<slot>`](https://developer.mozilla.org/docs/Web/HTML/Element/slot \"The HTML <slot> element\u2014part of the Web Components technology suite\u2014is a placeholder inside a web component that you can fill with your own markup, which lets you create separate DOM trees and present them together.\") element whose `[name](https://developer.mozilla.org/docs/Web/HTML/Element/slot#attr-name)` attribute's value matches that `slot` attribute's value."},references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Global_attributes/slot"}]},{name:"spellcheck",description:{kind:"markdown",value:"An enumerated attribute defines whether the element may be checked for spelling errors. It may have the following values:\n\n* `true`, which indicates that the element should be, if possible, checked for spelling errors;\n* `false`, which indicates that the element should not be checked for spelling errors."},valueSet:"b",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Global_attributes/spellcheck"}]},{name:"style",description:{kind:"markdown",value:'Contains [CSS](https://developer.mozilla.org/docs/Web/CSS) styling declarations to be applied to the element. Note that it is recommended for styles to be defined in a separate file or files. This attribute and the [`<style>`](https://developer.mozilla.org/docs/Web/HTML/Element/style "The HTML <style> element contains style information for a document, or part of a document.") element have mainly the purpose of allowing for quick styling, for example for testing purposes.'},references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Global_attributes/style"}]},{name:"tabindex",description:{kind:"markdown",value:`An integer attribute indicating if the element can take input focus (is _focusable_), if it should participate to sequential keyboard navigation, and if so, at what position. It can take several values: + +* a _negative value_ means that the element should be focusable, but should not be reachable via sequential keyboard navigation; +* \`0\` means that the element should be focusable and reachable via sequential keyboard navigation, but its relative order is defined by the platform convention; +* a _positive value_ means that the element should be focusable and reachable via sequential keyboard navigation; the order in which the elements are focused is the increasing value of the [**tabindex**](#attr-tabindex). If several elements share the same tabindex, their relative order follows their relative positions in the document.`},references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Global_attributes/tabindex"}]},{name:"title",description:{kind:"markdown",value:"Contains a text representing advisory information related to the element it belongs to. Such information can typically, but not necessarily, be presented to the user as a tooltip."},references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Global_attributes/title"}]},{name:"translate",description:{kind:"markdown",value:"An enumerated attribute that is used to specify whether an element's attribute values and the values of its [`Text`](https://developer.mozilla.org/docs/Web/API/Text \"The Text interface represents the textual content of Element or Attr. If an element has no markup within its content, it has a single child implementing Text that contains the element's text. However, if the element contains markup, it is parsed into information items and Text nodes that form its children.\") node children are to be translated when the page is localized, or whether to leave them unchanged. It can have the following values:\n\n* empty string and `yes`, which indicates that the element will be translated.\n* `no`, which indicates that the element will not be translated."},valueSet:"y",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Global_attributes/translate"}]},{name:"onabort",description:{kind:"markdown",value:"The loading of a resource has been aborted."}},{name:"onblur",description:{kind:"markdown",value:"An element has lost focus (does not bubble)."}},{name:"oncanplay",description:{kind:"markdown",value:"The user agent can play the media, but estimates that not enough data has been loaded to play the media up to its end without having to stop for further buffering of content."}},{name:"oncanplaythrough",description:{kind:"markdown",value:"The user agent can play the media up to its end without having to stop for further buffering of content."}},{name:"onchange",description:{kind:"markdown",value:"The change event is fired for <input>, <select>, and <textarea> elements when a change to the element's value is committed by the user."}},{name:"onclick",description:{kind:"markdown",value:"A pointing device button has been pressed and released on an element."}},{name:"oncontextmenu",description:{kind:"markdown",value:"The right button of the mouse is clicked (before the context menu is displayed)."}},{name:"ondblclick",description:{kind:"markdown",value:"A pointing device button is clicked twice on an element."}},{name:"ondrag",description:{kind:"markdown",value:"An element or text selection is being dragged (every 350ms)."}},{name:"ondragend",description:{kind:"markdown",value:"A drag operation is being ended (by releasing a mouse button or hitting the escape key)."}},{name:"ondragenter",description:{kind:"markdown",value:"A dragged element or text selection enters a valid drop target."}},{name:"ondragleave",description:{kind:"markdown",value:"A dragged element or text selection leaves a valid drop target."}},{name:"ondragover",description:{kind:"markdown",value:"An element or text selection is being dragged over a valid drop target (every 350ms)."}},{name:"ondragstart",description:{kind:"markdown",value:"The user starts dragging an element or text selection."}},{name:"ondrop",description:{kind:"markdown",value:"An element is dropped on a valid drop target."}},{name:"ondurationchange",description:{kind:"markdown",value:"The duration attribute has been updated."}},{name:"onemptied",description:{kind:"markdown",value:"The media has become empty; for example, this event is sent if the media has already been loaded (or partially loaded), and the load() method is called to reload it."}},{name:"onended",description:{kind:"markdown",value:"Playback has stopped because the end of the media was reached."}},{name:"onerror",description:{kind:"markdown",value:"A resource failed to load."}},{name:"onfocus",description:{kind:"markdown",value:"An element has received focus (does not bubble)."}},{name:"onformchange"},{name:"onforminput"},{name:"oninput",description:{kind:"markdown",value:"The value of an element changes or the content of an element with the attribute contenteditable is modified."}},{name:"oninvalid",description:{kind:"markdown",value:"A submittable element has been checked and doesn't satisfy its constraints."}},{name:"onkeydown",description:{kind:"markdown",value:"A key is pressed down."}},{name:"onkeypress",description:{kind:"markdown",value:"A key is pressed down and that key normally produces a character value (use input instead)."}},{name:"onkeyup",description:{kind:"markdown",value:"A key is released."}},{name:"onload",description:{kind:"markdown",value:"A resource and its dependent resources have finished loading."}},{name:"onloadeddata",description:{kind:"markdown",value:"The first frame of the media has finished loading."}},{name:"onloadedmetadata",description:{kind:"markdown",value:"The metadata has been loaded."}},{name:"onloadstart",description:{kind:"markdown",value:"Progress has begun."}},{name:"onmousedown",description:{kind:"markdown",value:"A pointing device button (usually a mouse) is pressed on an element."}},{name:"onmousemove",description:{kind:"markdown",value:"A pointing device is moved over an element."}},{name:"onmouseout",description:{kind:"markdown",value:"A pointing device is moved off the element that has the listener attached or off one of its children."}},{name:"onmouseover",description:{kind:"markdown",value:"A pointing device is moved onto the element that has the listener attached or onto one of its children."}},{name:"onmouseup",description:{kind:"markdown",value:"A pointing device button is released over an element."}},{name:"onmousewheel"},{name:"onmouseenter",description:{kind:"markdown",value:"A pointing device is moved onto the element that has the listener attached."}},{name:"onmouseleave",description:{kind:"markdown",value:"A pointing device is moved off the element that has the listener attached."}},{name:"onpause",description:{kind:"markdown",value:"Playback has been paused."}},{name:"onplay",description:{kind:"markdown",value:"Playback has begun."}},{name:"onplaying",description:{kind:"markdown",value:"Playback is ready to start after having been paused or delayed due to lack of data."}},{name:"onprogress",description:{kind:"markdown",value:"In progress."}},{name:"onratechange",description:{kind:"markdown",value:"The playback rate has changed."}},{name:"onreset",description:{kind:"markdown",value:"A form is reset."}},{name:"onresize",description:{kind:"markdown",value:"The document view has been resized."}},{name:"onreadystatechange",description:{kind:"markdown",value:"The readyState attribute of a document has changed."}},{name:"onscroll",description:{kind:"markdown",value:"The document view or an element has been scrolled."}},{name:"onseeked",description:{kind:"markdown",value:"A seek operation completed."}},{name:"onseeking",description:{kind:"markdown",value:"A seek operation began."}},{name:"onselect",description:{kind:"markdown",value:"Some text is being selected."}},{name:"onshow",description:{kind:"markdown",value:"A contextmenu event was fired on/bubbled to an element that has a contextmenu attribute"}},{name:"onstalled",description:{kind:"markdown",value:"The user agent is trying to fetch media data, but data is unexpectedly not forthcoming."}},{name:"onsubmit",description:{kind:"markdown",value:"A form is submitted."}},{name:"onsuspend",description:{kind:"markdown",value:"Media data loading has been suspended."}},{name:"ontimeupdate",description:{kind:"markdown",value:"The time indicated by the currentTime attribute has been updated."}},{name:"onvolumechange",description:{kind:"markdown",value:"The volume has changed."}},{name:"onwaiting",description:{kind:"markdown",value:"Playback has stopped because of a temporary lack of data."}},{name:"onpointercancel",description:{kind:"markdown",value:"The pointer is unlikely to produce any more events."}},{name:"onpointerdown",description:{kind:"markdown",value:"The pointer enters the active buttons state."}},{name:"onpointerenter",description:{kind:"markdown",value:"Pointing device is moved inside the hit-testing boundary."}},{name:"onpointerleave",description:{kind:"markdown",value:"Pointing device is moved out of the hit-testing boundary."}},{name:"onpointerlockchange",description:{kind:"markdown",value:"The pointer was locked or released."}},{name:"onpointerlockerror",description:{kind:"markdown",value:"It was impossible to lock the pointer for technical reasons or because the permission was denied."}},{name:"onpointermove",description:{kind:"markdown",value:"The pointer changed coordinates."}},{name:"onpointerout",description:{kind:"markdown",value:"The pointing device moved out of hit-testing boundary or leaves detectable hover range."}},{name:"onpointerover",description:{kind:"markdown",value:"The pointing device is moved into the hit-testing boundary."}},{name:"onpointerup",description:{kind:"markdown",value:"The pointer leaves the active buttons state."}},{name:"aria-activedescendant",references:[{name:"WAI-ARIA Reference",url:"https://www.w3.org/TR/wai-aria-1.1/#aria-activedescendant"}],description:{kind:"markdown",value:"Identifies the currently active element when DOM focus is on a [`composite`](https://www.w3.org/TR/wai-aria-1.1/#composite) widget, [`textbox`](https://www.w3.org/TR/wai-aria-1.1/#textbox), [`group`](https://www.w3.org/TR/wai-aria-1.1/#group), or [`application`](https://www.w3.org/TR/wai-aria-1.1/#application)."}},{name:"aria-atomic",valueSet:"b",references:[{name:"WAI-ARIA Reference",url:"https://www.w3.org/TR/wai-aria-1.1/#aria-atomic"}],description:{kind:"markdown",value:"Indicates whether [assistive technologies](https://www.w3.org/TR/wai-aria-1.1/#dfn-assistive-technology) will present all, or only parts of, the changed region based on the change notifications defined by the [`aria-relevant`](https://www.w3.org/TR/wai-aria-1.1/#aria-relevant) attribute."}},{name:"aria-autocomplete",valueSet:"autocomplete",references:[{name:"WAI-ARIA Reference",url:"https://www.w3.org/TR/wai-aria-1.1/#aria-autocomplete"}],description:{kind:"markdown",value:"Indicates whether inputting text could trigger display of one or more predictions of the user's intended value for an input and specifies how predictions would be presented if they are made."}},{name:"aria-busy",valueSet:"b",references:[{name:"WAI-ARIA Reference",url:"https://www.w3.org/TR/wai-aria-1.1/#aria-busy"}],description:{kind:"markdown",value:"Indicates an element is being modified and that assistive technologies _MAY_ want to wait until the modifications are complete before exposing them to the user."}},{name:"aria-checked",valueSet:"tristate",references:[{name:"WAI-ARIA Reference",url:"https://www.w3.org/TR/wai-aria-1.1/#aria-checked"}],description:{kind:"markdown",value:'Indicates the current "checked" [state](https://www.w3.org/TR/wai-aria-1.1/#dfn-state) of checkboxes, radio buttons, and other [widgets](https://www.w3.org/TR/wai-aria-1.1/#dfn-widget). See related [`aria-pressed`](https://www.w3.org/TR/wai-aria-1.1/#aria-pressed) and [`aria-selected`](https://www.w3.org/TR/wai-aria-1.1/#aria-selected).'}},{name:"aria-colcount",references:[{name:"WAI-ARIA Reference",url:"https://www.w3.org/TR/wai-aria-1.1/#aria-colcount"}],description:{kind:"markdown",value:"Defines the total number of columns in a [`table`](https://www.w3.org/TR/wai-aria-1.1/#table), [`grid`](https://www.w3.org/TR/wai-aria-1.1/#grid), or [`treegrid`](https://www.w3.org/TR/wai-aria-1.1/#treegrid). See related [`aria-colindex`](https://www.w3.org/TR/wai-aria-1.1/#aria-colindex)."}},{name:"aria-colindex",references:[{name:"WAI-ARIA Reference",url:"https://www.w3.org/TR/wai-aria-1.1/#aria-colindex"}],description:{kind:"markdown",value:"Defines an [element's](https://www.w3.org/TR/wai-aria-1.1/#dfn-element) column index or position with respect to the total number of columns within a [`table`](https://www.w3.org/TR/wai-aria-1.1/#table), [`grid`](https://www.w3.org/TR/wai-aria-1.1/#grid), or [`treegrid`](https://www.w3.org/TR/wai-aria-1.1/#treegrid). See related [`aria-colcount`](https://www.w3.org/TR/wai-aria-1.1/#aria-colcount) and [`aria-colspan`](https://www.w3.org/TR/wai-aria-1.1/#aria-colspan)."}},{name:"aria-colspan",references:[{name:"WAI-ARIA Reference",url:"https://www.w3.org/TR/wai-aria-1.1/#aria-colspan"}],description:{kind:"markdown",value:"Defines the number of columns spanned by a cell or gridcell within a [`table`](https://www.w3.org/TR/wai-aria-1.1/#table), [`grid`](https://www.w3.org/TR/wai-aria-1.1/#grid), or [`treegrid`](https://www.w3.org/TR/wai-aria-1.1/#treegrid). See related [`aria-colindex`](https://www.w3.org/TR/wai-aria-1.1/#aria-colindex) and [`aria-rowspan`](https://www.w3.org/TR/wai-aria-1.1/#aria-rowspan)."}},{name:"aria-controls",references:[{name:"WAI-ARIA Reference",url:"https://www.w3.org/TR/wai-aria-1.1/#aria-controls"}],description:{kind:"markdown",value:"Identifies the [element](https://www.w3.org/TR/wai-aria-1.1/#dfn-element) (or elements) whose contents or presence are controlled by the current element. See related [`aria-owns`](https://www.w3.org/TR/wai-aria-1.1/#aria-owns)."}},{name:"aria-current",valueSet:"current",references:[{name:"WAI-ARIA Reference",url:"https://www.w3.org/TR/wai-aria-1.1/#aria-current"}],description:{kind:"markdown",value:"Indicates the [element](https://www.w3.org/TR/wai-aria-1.1/#dfn-element) that represents the current item within a container or set of related elements."}},{name:"aria-describedby",references:[{name:"WAI-ARIA Reference",url:"https://www.w3.org/TR/wai-aria-1.1/#aria-describedby"}],description:{kind:"markdown",value:"Identifies the [element](https://www.w3.org/TR/wai-aria-1.1/#dfn-element) (or elements) that describes the [object](https://www.w3.org/TR/wai-aria-1.1/#dfn-object). See related [`aria-labelledby`](https://www.w3.org/TR/wai-aria-1.1/#aria-labelledby)."}},{name:"aria-disabled",valueSet:"b",references:[{name:"WAI-ARIA Reference",url:"https://www.w3.org/TR/wai-aria-1.1/#aria-disabled"}],description:{kind:"markdown",value:"Indicates that the [element](https://www.w3.org/TR/wai-aria-1.1/#dfn-element) is [perceivable](https://www.w3.org/TR/wai-aria-1.1/#dfn-perceivable) but disabled, so it is not editable or otherwise [operable](https://www.w3.org/TR/wai-aria-1.1/#dfn-operable). See related [`aria-hidden`](https://www.w3.org/TR/wai-aria-1.1/#aria-hidden) and [`aria-readonly`](https://www.w3.org/TR/wai-aria-1.1/#aria-readonly)."}},{name:"aria-dropeffect",valueSet:"dropeffect",references:[{name:"WAI-ARIA Reference",url:"https://www.w3.org/TR/wai-aria-1.1/#aria-dropeffect"}],description:{kind:"markdown",value:"\\[Deprecated in ARIA 1.1\\] Indicates what functions can be performed when a dragged object is released on the drop target."}},{name:"aria-errormessage",references:[{name:"WAI-ARIA Reference",url:"https://www.w3.org/TR/wai-aria-1.1/#aria-errormessage"}],description:{kind:"markdown",value:"Identifies the [element](https://www.w3.org/TR/wai-aria-1.1/#dfn-element) that provides an error message for the [object](https://www.w3.org/TR/wai-aria-1.1/#dfn-object). See related [`aria-invalid`](https://www.w3.org/TR/wai-aria-1.1/#aria-invalid) and [`aria-describedby`](https://www.w3.org/TR/wai-aria-1.1/#aria-describedby)."}},{name:"aria-expanded",valueSet:"u",references:[{name:"WAI-ARIA Reference",url:"https://www.w3.org/TR/wai-aria-1.1/#aria-expanded"}],description:{kind:"markdown",value:"Indicates whether the element, or another grouping element it controls, is currently expanded or collapsed."}},{name:"aria-flowto",references:[{name:"WAI-ARIA Reference",url:"https://www.w3.org/TR/wai-aria-1.1/#aria-flowto"}],description:{kind:"markdown",value:"Identifies the next [element](https://www.w3.org/TR/wai-aria-1.1/#dfn-element) (or elements) in an alternate reading order of content which, at the user's discretion, allows assistive technology to override the general default of reading in document source order."}},{name:"aria-grabbed",valueSet:"u",references:[{name:"WAI-ARIA Reference",url:"https://www.w3.org/TR/wai-aria-1.1/#aria-grabbed"}],description:{kind:"markdown",value:`\\[Deprecated in ARIA 1.1\\] Indicates an element's "grabbed" [state](https://www.w3.org/TR/wai-aria-1.1/#dfn-state) in a drag-and-drop operation.`}},{name:"aria-haspopup",valueSet:"haspopup",references:[{name:"WAI-ARIA Reference",url:"https://www.w3.org/TR/wai-aria-1.1/#aria-haspopup"}],description:{kind:"markdown",value:"Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by an [element](https://www.w3.org/TR/wai-aria-1.1/#dfn-element)."}},{name:"aria-hidden",valueSet:"b",references:[{name:"WAI-ARIA Reference",url:"https://www.w3.org/TR/wai-aria-1.1/#aria-hidden"}],description:{kind:"markdown",value:"Indicates whether the [element](https://www.w3.org/TR/wai-aria-1.1/#dfn-element) is exposed to an accessibility API. See related [`aria-disabled`](https://www.w3.org/TR/wai-aria-1.1/#aria-disabled)."}},{name:"aria-invalid",valueSet:"invalid",references:[{name:"WAI-ARIA Reference",url:"https://www.w3.org/TR/wai-aria-1.1/#aria-invalid"}],description:{kind:"markdown",value:"Indicates the entered value does not conform to the format expected by the application. See related [`aria-errormessage`](https://www.w3.org/TR/wai-aria-1.1/#aria-errormessage)."}},{name:"aria-label",references:[{name:"WAI-ARIA Reference",url:"https://www.w3.org/TR/wai-aria-1.1/#aria-label"}],description:{kind:"markdown",value:"Defines a string value that labels the current element. See related [`aria-labelledby`](https://www.w3.org/TR/wai-aria-1.1/#aria-labelledby)."}},{name:"aria-labelledby",references:[{name:"WAI-ARIA Reference",url:"https://www.w3.org/TR/wai-aria-1.1/#aria-labelledby"}],description:{kind:"markdown",value:"Identifies the [element](https://www.w3.org/TR/wai-aria-1.1/#dfn-element) (or elements) that labels the current element. See related [`aria-describedby`](https://www.w3.org/TR/wai-aria-1.1/#aria-describedby)."}},{name:"aria-level",references:[{name:"WAI-ARIA Reference",url:"https://www.w3.org/TR/wai-aria-1.1/#aria-level"}],description:{kind:"markdown",value:"Defines the hierarchical level of an [element](https://www.w3.org/TR/wai-aria-1.1/#dfn-element) within a structure."}},{name:"aria-live",valueSet:"live",references:[{name:"WAI-ARIA Reference",url:"https://www.w3.org/TR/wai-aria-1.1/#aria-live"}],description:{kind:"markdown",value:"Indicates that an [element](https://www.w3.org/TR/wai-aria-1.1/#dfn-element) will be updated, and describes the types of updates the [user agents](https://www.w3.org/TR/wai-aria-1.1/#dfn-user-agent), [assistive technologies](https://www.w3.org/TR/wai-aria-1.1/#dfn-assistive-technology), and user can expect from the [live region](https://www.w3.org/TR/wai-aria-1.1/#dfn-live-region)."}},{name:"aria-modal",valueSet:"b",references:[{name:"WAI-ARIA Reference",url:"https://www.w3.org/TR/wai-aria-1.1/#aria-modal"}],description:{kind:"markdown",value:"Indicates whether an [element](https://www.w3.org/TR/wai-aria-1.1/#dfn-element) is modal when displayed."}},{name:"aria-multiline",valueSet:"b",references:[{name:"WAI-ARIA Reference",url:"https://www.w3.org/TR/wai-aria-1.1/#aria-multiline"}],description:{kind:"markdown",value:"Indicates whether a text box accepts multiple lines of input or only a single line."}},{name:"aria-multiselectable",valueSet:"b",references:[{name:"WAI-ARIA Reference",url:"https://www.w3.org/TR/wai-aria-1.1/#aria-multiselectable"}],description:{kind:"markdown",value:"Indicates that the user may select more than one item from the current selectable descendants."}},{name:"aria-orientation",valueSet:"orientation",references:[{name:"WAI-ARIA Reference",url:"https://www.w3.org/TR/wai-aria-1.1/#aria-orientation"}],description:{kind:"markdown",value:"Indicates whether the element's orientation is horizontal, vertical, or unknown/ambiguous."}},{name:"aria-owns",references:[{name:"WAI-ARIA Reference",url:"https://www.w3.org/TR/wai-aria-1.1/#aria-owns"}],description:{kind:"markdown",value:"Identifies an [element](https://www.w3.org/TR/wai-aria-1.1/#dfn-element) (or elements) in order to define a visual, functional, or contextual parent/child [relationship](https://www.w3.org/TR/wai-aria-1.1/#dfn-relationship) between DOM elements where the DOM hierarchy cannot be used to represent the relationship. See related [`aria-controls`](https://www.w3.org/TR/wai-aria-1.1/#aria-controls)."}},{name:"aria-placeholder",references:[{name:"WAI-ARIA Reference",url:"https://www.w3.org/TR/wai-aria-1.1/#aria-placeholder"}],description:{kind:"markdown",value:"Defines a short hint (a word or short phrase) intended to aid the user with data entry when the control has no value. A hint could be a sample value or a brief description of the expected format."}},{name:"aria-posinset",references:[{name:"WAI-ARIA Reference",url:"https://www.w3.org/TR/wai-aria-1.1/#aria-posinset"}],description:{kind:"markdown",value:"Defines an [element](https://www.w3.org/TR/wai-aria-1.1/#dfn-element)'s number or position in the current set of listitems or treeitems. Not required if all elements in the set are present in the DOM. See related [`aria-setsize`](https://www.w3.org/TR/wai-aria-1.1/#aria-setsize)."}},{name:"aria-pressed",valueSet:"tristate",references:[{name:"WAI-ARIA Reference",url:"https://www.w3.org/TR/wai-aria-1.1/#aria-pressed"}],description:{kind:"markdown",value:'Indicates the current "pressed" [state](https://www.w3.org/TR/wai-aria-1.1/#dfn-state) of toggle buttons. See related [`aria-checked`](https://www.w3.org/TR/wai-aria-1.1/#aria-checked) and [`aria-selected`](https://www.w3.org/TR/wai-aria-1.1/#aria-selected).'}},{name:"aria-readonly",valueSet:"b",references:[{name:"WAI-ARIA Reference",url:"https://www.w3.org/TR/wai-aria-1.1/#aria-readonly"}],description:{kind:"markdown",value:"Indicates that the [element](https://www.w3.org/TR/wai-aria-1.1/#dfn-element) is not editable, but is otherwise [operable](https://www.w3.org/TR/wai-aria-1.1/#dfn-operable). See related [`aria-disabled`](https://www.w3.org/TR/wai-aria-1.1/#aria-disabled)."}},{name:"aria-relevant",valueSet:"relevant",references:[{name:"WAI-ARIA Reference",url:"https://www.w3.org/TR/wai-aria-1.1/#aria-relevant"}],description:{kind:"markdown",value:"Indicates what notifications the user agent will trigger when the accessibility tree within a live region is modified. See related [`aria-atomic`](https://www.w3.org/TR/wai-aria-1.1/#aria-atomic)."}},{name:"aria-required",valueSet:"b",references:[{name:"WAI-ARIA Reference",url:"https://www.w3.org/TR/wai-aria-1.1/#aria-required"}],description:{kind:"markdown",value:"Indicates that user input is required on the [element](https://www.w3.org/TR/wai-aria-1.1/#dfn-element) before a form may be submitted."}},{name:"aria-roledescription",references:[{name:"WAI-ARIA Reference",url:"https://www.w3.org/TR/wai-aria-1.1/#aria-roledescription"}],description:{kind:"markdown",value:"Defines a human-readable, author-localized description for the [role](https://www.w3.org/TR/wai-aria-1.1/#dfn-role) of an [element](https://www.w3.org/TR/wai-aria-1.1/#dfn-element)."}},{name:"aria-rowcount",references:[{name:"WAI-ARIA Reference",url:"https://www.w3.org/TR/wai-aria-1.1/#aria-rowcount"}],description:{kind:"markdown",value:"Defines the total number of rows in a [`table`](https://www.w3.org/TR/wai-aria-1.1/#table), [`grid`](https://www.w3.org/TR/wai-aria-1.1/#grid), or [`treegrid`](https://www.w3.org/TR/wai-aria-1.1/#treegrid). See related [`aria-rowindex`](https://www.w3.org/TR/wai-aria-1.1/#aria-rowindex)."}},{name:"aria-rowindex",references:[{name:"WAI-ARIA Reference",url:"https://www.w3.org/TR/wai-aria-1.1/#aria-rowindex"}],description:{kind:"markdown",value:"Defines an [element's](https://www.w3.org/TR/wai-aria-1.1/#dfn-element) row index or position with respect to the total number of rows within a [`table`](https://www.w3.org/TR/wai-aria-1.1/#table), [`grid`](https://www.w3.org/TR/wai-aria-1.1/#grid), or [`treegrid`](https://www.w3.org/TR/wai-aria-1.1/#treegrid). See related [`aria-rowcount`](https://www.w3.org/TR/wai-aria-1.1/#aria-rowcount) and [`aria-rowspan`](https://www.w3.org/TR/wai-aria-1.1/#aria-rowspan)."}},{name:"aria-rowspan",references:[{name:"WAI-ARIA Reference",url:"https://www.w3.org/TR/wai-aria-1.1/#aria-rowspan"}],description:{kind:"markdown",value:"Defines the number of rows spanned by a cell or gridcell within a [`table`](https://www.w3.org/TR/wai-aria-1.1/#table), [`grid`](https://www.w3.org/TR/wai-aria-1.1/#grid), or [`treegrid`](https://www.w3.org/TR/wai-aria-1.1/#treegrid). See related [`aria-rowindex`](https://www.w3.org/TR/wai-aria-1.1/#aria-rowindex) and [`aria-colspan`](https://www.w3.org/TR/wai-aria-1.1/#aria-colspan)."}},{name:"aria-selected",valueSet:"u",references:[{name:"WAI-ARIA Reference",url:"https://www.w3.org/TR/wai-aria-1.1/#aria-selected"}],description:{kind:"markdown",value:'Indicates the current "selected" [state](https://www.w3.org/TR/wai-aria-1.1/#dfn-state) of various [widgets](https://www.w3.org/TR/wai-aria-1.1/#dfn-widget). See related [`aria-checked`](https://www.w3.org/TR/wai-aria-1.1/#aria-checked) and [`aria-pressed`](https://www.w3.org/TR/wai-aria-1.1/#aria-pressed).'}},{name:"aria-setsize",references:[{name:"WAI-ARIA Reference",url:"https://www.w3.org/TR/wai-aria-1.1/#aria-setsize"}],description:{kind:"markdown",value:"Defines the number of items in the current set of listitems or treeitems. Not required if all elements in the set are present in the DOM. See related [`aria-posinset`](https://www.w3.org/TR/wai-aria-1.1/#aria-posinset)."}},{name:"aria-sort",valueSet:"sort",references:[{name:"WAI-ARIA Reference",url:"https://www.w3.org/TR/wai-aria-1.1/#aria-sort"}],description:{kind:"markdown",value:"Indicates if items in a table or grid are sorted in ascending or descending order."}},{name:"aria-valuemax",references:[{name:"WAI-ARIA Reference",url:"https://www.w3.org/TR/wai-aria-1.1/#aria-valuemax"}],description:{kind:"markdown",value:"Defines the maximum allowed value for a range [widget](https://www.w3.org/TR/wai-aria-1.1/#dfn-widget)."}},{name:"aria-valuemin",references:[{name:"WAI-ARIA Reference",url:"https://www.w3.org/TR/wai-aria-1.1/#aria-valuemin"}],description:{kind:"markdown",value:"Defines the minimum allowed value for a range [widget](https://www.w3.org/TR/wai-aria-1.1/#dfn-widget)."}},{name:"aria-valuenow",references:[{name:"WAI-ARIA Reference",url:"https://www.w3.org/TR/wai-aria-1.1/#aria-valuenow"}],description:{kind:"markdown",value:"Defines the current value for a range [widget](https://www.w3.org/TR/wai-aria-1.1/#dfn-widget). See related [`aria-valuetext`](https://www.w3.org/TR/wai-aria-1.1/#aria-valuetext)."}},{name:"aria-valuetext",references:[{name:"WAI-ARIA Reference",url:"https://www.w3.org/TR/wai-aria-1.1/#aria-valuetext"}],description:{kind:"markdown",value:"Defines the human readable text alternative of [`aria-valuenow`](https://www.w3.org/TR/wai-aria-1.1/#aria-valuenow) for a range [widget](https://www.w3.org/TR/wai-aria-1.1/#dfn-widget)."}},{name:"aria-details",description:{kind:"markdown",value:"Identifies the [element](https://www.w3.org/TR/wai-aria-1.1/#dfn-element) that provides a detailed, extended description for the [object](https://www.w3.org/TR/wai-aria-1.1/#dfn-object). See related [`aria-describedby`](https://www.w3.org/TR/wai-aria-1.1/#aria-describedby)."}},{name:"aria-keyshortcuts",description:{kind:"markdown",value:"Indicates keyboard shortcuts that an author has implemented to activate or give focus to an element."}}],valueSets:[{name:"b",values:[{name:"true"},{name:"false"}]},{name:"u",values:[{name:"true"},{name:"false"},{name:"undefined"}]},{name:"o",values:[{name:"on"},{name:"off"}]},{name:"y",values:[{name:"yes"},{name:"no"}]},{name:"w",values:[{name:"soft"},{name:"hard"}]},{name:"d",values:[{name:"ltr"},{name:"rtl"},{name:"auto"}]},{name:"m",values:[{name:"get",description:{kind:"markdown",value:"Corresponds to the HTTP [GET method](https://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9.3); form data are appended to the `action` attribute URI with a '?' as separator, and the resulting URI is sent to the server. Use this method when the form has no side-effects and contains only ASCII characters."}},{name:"post",description:{kind:"markdown",value:"Corresponds to the HTTP [POST method](https://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9.5); form data are included in the body of the form and sent to the server."}},{name:"dialog",description:{kind:"markdown",value:"Use when the form is inside a [`<dialog>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/dialog) element to close the dialog when submitted."}}]},{name:"fm",values:[{name:"get"},{name:"post"}]},{name:"s",values:[{name:"row"},{name:"col"},{name:"rowgroup"},{name:"colgroup"}]},{name:"t",values:[{name:"hidden"},{name:"text"},{name:"search"},{name:"tel"},{name:"url"},{name:"email"},{name:"password"},{name:"datetime"},{name:"date"},{name:"month"},{name:"week"},{name:"time"},{name:"datetime-local"},{name:"number"},{name:"range"},{name:"color"},{name:"checkbox"},{name:"radio"},{name:"file"},{name:"submit"},{name:"image"},{name:"reset"},{name:"button"}]},{name:"im",values:[{name:"verbatim"},{name:"latin"},{name:"latin-name"},{name:"latin-prose"},{name:"full-width-latin"},{name:"kana"},{name:"kana-name"},{name:"katakana"},{name:"numeric"},{name:"tel"},{name:"email"},{name:"url"}]},{name:"bt",values:[{name:"button"},{name:"submit"},{name:"reset"},{name:"menu"}]},{name:"lt",values:[{name:"1"},{name:"a"},{name:"A"},{name:"i"},{name:"I"}]},{name:"mt",values:[{name:"context"},{name:"toolbar"}]},{name:"mit",values:[{name:"command"},{name:"checkbox"},{name:"radio"}]},{name:"et",values:[{name:"application/x-www-form-urlencoded"},{name:"multipart/form-data"},{name:"text/plain"}]},{name:"tk",values:[{name:"subtitles"},{name:"captions"},{name:"descriptions"},{name:"chapters"},{name:"metadata"}]},{name:"pl",values:[{name:"none"},{name:"metadata"},{name:"auto"}]},{name:"sh",values:[{name:"circle"},{name:"default"},{name:"poly"},{name:"rect"}]},{name:"xo",values:[{name:"anonymous"},{name:"use-credentials"}]},{name:"target",values:[{name:"_self"},{name:"_blank"},{name:"_parent"},{name:"_top"}]},{name:"sb",values:[{name:"allow-forms"},{name:"allow-modals"},{name:"allow-pointer-lock"},{name:"allow-popups"},{name:"allow-popups-to-escape-sandbox"},{name:"allow-same-origin"},{name:"allow-scripts"},{name:"allow-top-navigation"}]},{name:"tristate",values:[{name:"true"},{name:"false"},{name:"mixed"},{name:"undefined"}]},{name:"inputautocomplete",values:[{name:"additional-name"},{name:"address-level1"},{name:"address-level2"},{name:"address-level3"},{name:"address-level4"},{name:"address-line1"},{name:"address-line2"},{name:"address-line3"},{name:"bday"},{name:"bday-year"},{name:"bday-day"},{name:"bday-month"},{name:"billing"},{name:"cc-additional-name"},{name:"cc-csc"},{name:"cc-exp"},{name:"cc-exp-month"},{name:"cc-exp-year"},{name:"cc-family-name"},{name:"cc-given-name"},{name:"cc-name"},{name:"cc-number"},{name:"cc-type"},{name:"country"},{name:"country-name"},{name:"current-password"},{name:"email"},{name:"family-name"},{name:"fax"},{name:"given-name"},{name:"home"},{name:"honorific-prefix"},{name:"honorific-suffix"},{name:"impp"},{name:"language"},{name:"mobile"},{name:"name"},{name:"new-password"},{name:"nickname"},{name:"off"},{name:"on"},{name:"organization"},{name:"organization-title"},{name:"pager"},{name:"photo"},{name:"postal-code"},{name:"sex"},{name:"shipping"},{name:"street-address"},{name:"tel-area-code"},{name:"tel"},{name:"tel-country-code"},{name:"tel-extension"},{name:"tel-local"},{name:"tel-local-prefix"},{name:"tel-local-suffix"},{name:"tel-national"},{name:"transaction-amount"},{name:"transaction-currency"},{name:"url"},{name:"username"},{name:"work"}]},{name:"autocomplete",values:[{name:"inline"},{name:"list"},{name:"both"},{name:"none"}]},{name:"current",values:[{name:"page"},{name:"step"},{name:"location"},{name:"date"},{name:"time"},{name:"true"},{name:"false"}]},{name:"dropeffect",values:[{name:"copy"},{name:"move"},{name:"link"},{name:"execute"},{name:"popup"},{name:"none"}]},{name:"invalid",values:[{name:"grammar"},{name:"false"},{name:"spelling"},{name:"true"}]},{name:"live",values:[{name:"off"},{name:"polite"},{name:"assertive"}]},{name:"orientation",values:[{name:"vertical"},{name:"horizontal"},{name:"undefined"}]},{name:"relevant",values:[{name:"additions"},{name:"removals"},{name:"text"},{name:"all"},{name:"additions text"}]},{name:"sort",values:[{name:"ascending"},{name:"descending"},{name:"none"},{name:"other"}]},{name:"roles",values:[{name:"alert"},{name:"alertdialog"},{name:"button"},{name:"checkbox"},{name:"dialog"},{name:"gridcell"},{name:"link"},{name:"log"},{name:"marquee"},{name:"menuitem"},{name:"menuitemcheckbox"},{name:"menuitemradio"},{name:"option"},{name:"progressbar"},{name:"radio"},{name:"scrollbar"},{name:"searchbox"},{name:"slider"},{name:"spinbutton"},{name:"status"},{name:"switch"},{name:"tab"},{name:"tabpanel"},{name:"textbox"},{name:"timer"},{name:"tooltip"},{name:"treeitem"},{name:"combobox"},{name:"grid"},{name:"listbox"},{name:"menu"},{name:"menubar"},{name:"radiogroup"},{name:"tablist"},{name:"tree"},{name:"treegrid"},{name:"application"},{name:"article"},{name:"cell"},{name:"columnheader"},{name:"definition"},{name:"directory"},{name:"document"},{name:"feed"},{name:"figure"},{name:"group"},{name:"heading"},{name:"img"},{name:"list"},{name:"listitem"},{name:"math"},{name:"none"},{name:"note"},{name:"presentation"},{name:"region"},{name:"row"},{name:"rowgroup"},{name:"rowheader"},{name:"separator"},{name:"table"},{name:"term"},{name:"text"},{name:"toolbar"},{name:"banner"},{name:"complementary"},{name:"contentinfo"},{name:"form"},{name:"main"},{name:"navigation"},{name:"region"},{name:"search"},{name:"doc-abstract"},{name:"doc-acknowledgments"},{name:"doc-afterword"},{name:"doc-appendix"},{name:"doc-backlink"},{name:"doc-biblioentry"},{name:"doc-bibliography"},{name:"doc-biblioref"},{name:"doc-chapter"},{name:"doc-colophon"},{name:"doc-conclusion"},{name:"doc-cover"},{name:"doc-credit"},{name:"doc-credits"},{name:"doc-dedication"},{name:"doc-endnote"},{name:"doc-endnotes"},{name:"doc-epigraph"},{name:"doc-epilogue"},{name:"doc-errata"},{name:"doc-example"},{name:"doc-footnote"},{name:"doc-foreword"},{name:"doc-glossary"},{name:"doc-glossref"},{name:"doc-index"},{name:"doc-introduction"},{name:"doc-noteref"},{name:"doc-notice"},{name:"doc-pagebreak"},{name:"doc-pagelist"},{name:"doc-part"},{name:"doc-preface"},{name:"doc-prologue"},{name:"doc-pullquote"},{name:"doc-qna"},{name:"doc-subtitle"},{name:"doc-tip"},{name:"doc-toc"}]},{name:"metanames",values:[{name:"application-name"},{name:"author"},{name:"description"},{name:"format-detection"},{name:"generator"},{name:"keywords"},{name:"publisher"},{name:"referrer"},{name:"robots"},{name:"theme-color"},{name:"viewport"}]},{name:"haspopup",values:[{name:"false",description:{kind:"markdown",value:"(default) Indicates the element does not have a popup."}},{name:"true",description:{kind:"markdown",value:"Indicates the popup is a menu."}},{name:"menu",description:{kind:"markdown",value:"Indicates the popup is a menu."}},{name:"listbox",description:{kind:"markdown",value:"Indicates the popup is a listbox."}},{name:"tree",description:{kind:"markdown",value:"Indicates the popup is a tree."}},{name:"grid",description:{kind:"markdown",value:"Indicates the popup is a grid."}},{name:"dialog",description:{kind:"markdown",value:"Indicates the popup is a dialog."}}]},{name:"decoding",values:[{name:"sync"},{name:"async"},{name:"auto"}]},{name:"loading",values:[{name:"eager",description:{kind:"markdown",value:"Loads the image immediately, regardless of whether or not the image is currently within the visible viewport (this is the default value)."}},{name:"lazy",description:{kind:"markdown",value:"Defers loading the image until it reaches a calculated distance from the viewport, as defined by the browser. The intent is to avoid the network and storage bandwidth needed to handle the image until it's reasonably certain that it will be needed. This generally improves the performance of the content in most typical use cases."}}]},{name:"referrerpolicy",values:[{name:"no-referrer"},{name:"no-referrer-when-downgrade"},{name:"origin"},{name:"origin-when-cross-origin"},{name:"same-origin"},{name:"strict-origin"},{name:"strict-origin-when-cross-origin"},{name:"unsafe-url"}]}]};var Be=class{constructor(n){this.dataProviders=[],this.setDataProviders(n.useDefaultDataProvider!==!1,n.customDataProviders||[])}setDataProviders(n,o){this.dataProviders=[],n&&this.dataProviders.push(new pe("html5",Tt)),this.dataProviders.push(...o)}getDataProviders(){return this.dataProviders}isVoidElement(n,o){return!!n&&ln(o,n.toLowerCase(),(a,e)=>a.localeCompare(e))>=0}getVoidElements(n){let o=Array.isArray(n)?n:this.getDataProviders().filter(e=>e.isApplicable(n)),a=[];return o.forEach(e=>{e.provideTags().filter(r=>r.void).forEach(r=>a.push(r.name))}),a.sort()}isPathAttribute(n,o){if(o==="src"||o==="href")return!0;let a=Si[n];return a?typeof a=="string"?a===o:a.indexOf(o)!==-1:!1}},Si={a:"href",area:"href",body:"background",blockquote:"cite",del:"cite",form:"action",frame:["src","longdesc"],img:["src","longdesc"],ins:"cite",link:"href",object:"data",q:"cite",script:"src",audio:"src",button:"formaction",command:"icon",embed:"src",html:"manifest",input:["src","formaction"],source:"src",track:"src",video:["src","poster"]};var Ai={};function Ln(t=Ai){let n=new Be(t),o=new Ie(t,n),a=new ze(t,n),e=new Me(n),r=new Oe(e),u=new Ue(n),c=new We(n);return{setDataProviders:n.setDataProviders.bind(n),createScanner:V,parseHTMLDocument:e.parseDocument.bind(e),doComplete:a.doComplete.bind(a),doComplete2:a.doComplete2.bind(a),setCompletionParticipants:a.setCompletionParticipants.bind(a),doHover:o.doHover.bind(o),format:_n,findDocumentHighlights:An,findDocumentLinks:c.findDocumentLinks.bind(c),findDocumentSymbols:xn,findDocumentSymbols2:vt,getFoldingRanges:u.getFoldingRanges.bind(u),getSelectionRanges:r.getSelectionRanges.bind(r),doQuoteComplete:a.doQuoteComplete.bind(a),doTagComplete:a.doTagComplete.bind(a),doRename:En,findMatchingTagPosition:Cn,findOnTypeRenameRanges:yt,findLinkedEditingRanges:yt}}function Mn(t,n){return new pe(t,n)}var Ne=class{constructor(n,o){this._ctx=n,this._languageSettings=o.languageSettings,this._languageId=o.languageId;let a=this._languageSettings.data,e=a?.useDefaultDataProvider,r=[];if(a?.dataProviders)for(let u in a.dataProviders)r.push(Mn(u,a.dataProviders[u]));this._languageService=Ln({useDefaultDataProvider:e,customDataProviders:r})}async doComplete(n,o){let a=this._getTextDocument(n);if(!a)return null;let e=this._languageService.parseHTMLDocument(a);return Promise.resolve(this._languageService.doComplete(a,o,e,this._languageSettings&&this._languageSettings.suggest))}async format(n,o,a){let e=this._getTextDocument(n);if(!e)return[];let r={...this._languageSettings.format,...a},u=this._languageService.format(e,o,r);return Promise.resolve(u)}async doHover(n,o){let a=this._getTextDocument(n);if(!a)return null;let e=this._languageService.parseHTMLDocument(a),r=this._languageService.doHover(a,o,e);return Promise.resolve(r)}async findDocumentHighlights(n,o){let a=this._getTextDocument(n);if(!a)return[];let e=this._languageService.parseHTMLDocument(a),r=this._languageService.findDocumentHighlights(a,o,e);return Promise.resolve(r)}async findDocumentLinks(n){let o=this._getTextDocument(n);if(!o)return[];let a=this._languageService.findDocumentLinks(o,null);return Promise.resolve(a)}async findDocumentSymbols(n){let o=this._getTextDocument(n);if(!o)return[];let a=this._languageService.parseHTMLDocument(o),e=this._languageService.findDocumentSymbols(o,a);return Promise.resolve(e)}async getFoldingRanges(n,o){let a=this._getTextDocument(n);if(!a)return[];let e=this._languageService.getFoldingRanges(a,o);return Promise.resolve(e)}async getSelectionRanges(n,o){let a=this._getTextDocument(n);if(!a)return[];let e=this._languageService.getSelectionRanges(a,o);return Promise.resolve(e)}async doRename(n,o,a){let e=this._getTextDocument(n);if(!e)return null;let r=this._languageService.parseHTMLDocument(e),u=this._languageService.doRename(e,o,a,r);return Promise.resolve(u)}_getTextDocument(n){let o=this._ctx.getMirrorModels();for(let a of o)if(a.uri.toString()===n)return ve.create(n,this._languageId,a.version,a.getValue());return null}};function Di(t,n){return new Ne(t,n)}return Un(Ei);})(); +return moduleExports; +}); diff --git a/src/control/content/js/monaco-editor/min/vs/loader.js b/src/control/content/js/monaco-editor/min/vs/loader.js new file mode 100644 index 0000000..5a7247b --- /dev/null +++ b/src/control/content/js/monaco-editor/min/vs/loader.js @@ -0,0 +1,11 @@ +"use strict";/*!----------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Version: 0.52.0-rc2(3c7eb57085d23d24c3b5527c45324440ea55c865) + * Released under the MIT license + * https://github.com/microsoft/vscode/blob/main/LICENSE.txt + *-----------------------------------------------------------*/const _amdLoaderGlobal=this,_commonjsGlobal=typeof global=="object"?global:{};var AMDLoader;(function(u){u.global=_amdLoaderGlobal;class y{get isWindows(){return this._detect(),this._isWindows}get isNode(){return this._detect(),this._isNode}get isElectronRenderer(){return this._detect(),this._isElectronRenderer}get isWebWorker(){return this._detect(),this._isWebWorker}get isElectronNodeIntegrationWebWorker(){return this._detect(),this._isElectronNodeIntegrationWebWorker}constructor(){this._detected=!1,this._isWindows=!1,this._isNode=!1,this._isElectronRenderer=!1,this._isWebWorker=!1,this._isElectronNodeIntegrationWebWorker=!1}_detect(){this._detected||(this._detected=!0,this._isWindows=y._isWindows(),this._isNode=typeof module<"u"&&!!module.exports,this._isElectronRenderer=typeof process<"u"&&typeof process.versions<"u"&&typeof process.versions.electron<"u"&&process.type==="renderer",this._isWebWorker=typeof u.global.importScripts=="function",this._isElectronNodeIntegrationWebWorker=this._isWebWorker&&typeof process<"u"&&typeof process.versions<"u"&&typeof process.versions.electron<"u"&&process.type==="worker")}static _isWindows(){return typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.indexOf("Windows")>=0?!0:typeof process<"u"?process.platform==="win32":!1}}u.Environment=y})(AMDLoader||(AMDLoader={}));var AMDLoader;(function(u){class y{constructor(r,c,a){this.type=r,this.detail=c,this.timestamp=a}}u.LoaderEvent=y;class m{constructor(r){this._events=[new y(1,"",r)]}record(r,c){this._events.push(new y(r,c,u.Utilities.getHighPerformanceTimestamp()))}getEvents(){return this._events}}u.LoaderEventRecorder=m;class p{record(r,c){}getEvents(){return[]}}p.INSTANCE=new p,u.NullLoaderEventRecorder=p})(AMDLoader||(AMDLoader={}));var AMDLoader;(function(u){class y{static fileUriToFilePath(p,h){if(h=decodeURI(h).replace(/%23/g,"#"),p){if(/^file:\/\/\//.test(h))return h.substr(8);if(/^file:\/\//.test(h))return h.substr(5)}else if(/^file:\/\//.test(h))return h.substr(7);return h}static startsWith(p,h){return p.length>=h.length&&p.substr(0,h.length)===h}static endsWith(p,h){return p.length>=h.length&&p.substr(p.length-h.length)===h}static containsQueryString(p){return/^[^\#]*\?/gi.test(p)}static isAbsolutePath(p){return/^((http:\/\/)|(https:\/\/)|(file:\/\/)|(\/))/.test(p)}static forEachProperty(p,h){if(p){let r;for(r in p)p.hasOwnProperty(r)&&h(r,p[r])}}static isEmpty(p){let h=!0;return y.forEachProperty(p,()=>{h=!1}),h}static recursiveClone(p){if(!p||typeof p!="object"||p instanceof RegExp||!Array.isArray(p)&&Object.getPrototypeOf(p)!==Object.prototype)return p;let h=Array.isArray(p)?[]:{};return y.forEachProperty(p,(r,c)=>{c&&typeof c=="object"?h[r]=y.recursiveClone(c):h[r]=c}),h}static generateAnonymousModule(){return"===anonymous"+y.NEXT_ANONYMOUS_ID+++"==="}static isAnonymousModule(p){return y.startsWith(p,"===anonymous")}static getHighPerformanceTimestamp(){return this.PERFORMANCE_NOW_PROBED||(this.PERFORMANCE_NOW_PROBED=!0,this.HAS_PERFORMANCE_NOW=u.global.performance&&typeof u.global.performance.now=="function"),this.HAS_PERFORMANCE_NOW?u.global.performance.now():Date.now()}}y.NEXT_ANONYMOUS_ID=1,y.PERFORMANCE_NOW_PROBED=!1,y.HAS_PERFORMANCE_NOW=!1,u.Utilities=y})(AMDLoader||(AMDLoader={}));var AMDLoader;(function(u){function y(h){if(h instanceof Error)return h;const r=new Error(h.message||String(h)||"Unknown Error");return h.stack&&(r.stack=h.stack),r}u.ensureError=y;class m{static validateConfigurationOptions(r){function c(a){if(a.phase==="loading"){console.error('Loading "'+a.moduleId+'" failed'),console.error(a),console.error("Here are the modules that depend on it:"),console.error(a.neededBy);return}if(a.phase==="factory"){console.error('The factory function of "'+a.moduleId+'" has thrown an exception'),console.error(a),console.error("Here are the modules that depend on it:"),console.error(a.neededBy);return}}if(r=r||{},typeof r.baseUrl!="string"&&(r.baseUrl=""),typeof r.isBuild!="boolean"&&(r.isBuild=!1),typeof r.paths!="object"&&(r.paths={}),typeof r.config!="object"&&(r.config={}),typeof r.catchError>"u"&&(r.catchError=!1),typeof r.recordStats>"u"&&(r.recordStats=!1),typeof r.urlArgs!="string"&&(r.urlArgs=""),typeof r.onError!="function"&&(r.onError=c),Array.isArray(r.ignoreDuplicateModules)||(r.ignoreDuplicateModules=[]),r.baseUrl.length>0&&(u.Utilities.endsWith(r.baseUrl,"/")||(r.baseUrl+="/")),typeof r.cspNonce!="string"&&(r.cspNonce=""),typeof r.preferScriptTags>"u"&&(r.preferScriptTags=!1),r.nodeCachedData&&typeof r.nodeCachedData=="object"&&(typeof r.nodeCachedData.seed!="string"&&(r.nodeCachedData.seed="seed"),(typeof r.nodeCachedData.writeDelay!="number"||r.nodeCachedData.writeDelay<0)&&(r.nodeCachedData.writeDelay=1e3*7),!r.nodeCachedData.path||typeof r.nodeCachedData.path!="string")){const a=y(new Error("INVALID cached data configuration, 'path' MUST be set"));a.phase="configuration",r.onError(a),r.nodeCachedData=void 0}return r}static mergeConfigurationOptions(r=null,c=null){let a=u.Utilities.recursiveClone(c||{});return u.Utilities.forEachProperty(r,(t,e)=>{t==="ignoreDuplicateModules"&&typeof a.ignoreDuplicateModules<"u"?a.ignoreDuplicateModules=a.ignoreDuplicateModules.concat(e):t==="paths"&&typeof a.paths<"u"?u.Utilities.forEachProperty(e,(i,s)=>a.paths[i]=s):t==="config"&&typeof a.config<"u"?u.Utilities.forEachProperty(e,(i,s)=>a.config[i]=s):a[t]=u.Utilities.recursiveClone(e)}),m.validateConfigurationOptions(a)}}u.ConfigurationOptionsUtil=m;class p{constructor(r,c){if(this._env=r,this.options=m.mergeConfigurationOptions(c),this._createIgnoreDuplicateModulesMap(),this._createSortedPathsRules(),this.options.baseUrl===""&&this.options.nodeRequire&&this.options.nodeRequire.main&&this.options.nodeRequire.main.filename&&this._env.isNode){let a=this.options.nodeRequire.main.filename,t=Math.max(a.lastIndexOf("/"),a.lastIndexOf("\\"));this.options.baseUrl=a.substring(0,t+1)}}_createIgnoreDuplicateModulesMap(){this.ignoreDuplicateModulesMap={};for(let r=0;r<this.options.ignoreDuplicateModules.length;r++)this.ignoreDuplicateModulesMap[this.options.ignoreDuplicateModules[r]]=!0}_createSortedPathsRules(){this.sortedPathsRules=[],u.Utilities.forEachProperty(this.options.paths,(r,c)=>{Array.isArray(c)?this.sortedPathsRules.push({from:r,to:c}):this.sortedPathsRules.push({from:r,to:[c]})}),this.sortedPathsRules.sort((r,c)=>c.from.length-r.from.length)}cloneAndMerge(r){return new p(this._env,m.mergeConfigurationOptions(r,this.options))}getOptionsLiteral(){return this.options}_applyPaths(r){let c;for(let a=0,t=this.sortedPathsRules.length;a<t;a++)if(c=this.sortedPathsRules[a],u.Utilities.startsWith(r,c.from)){let e=[];for(let i=0,s=c.to.length;i<s;i++)e.push(c.to[i]+r.substr(c.from.length));return e}return[r]}_addUrlArgsToUrl(r){return u.Utilities.containsQueryString(r)?r+"&"+this.options.urlArgs:r+"?"+this.options.urlArgs}_addUrlArgsIfNecessaryToUrl(r){return this.options.urlArgs?this._addUrlArgsToUrl(r):r}_addUrlArgsIfNecessaryToUrls(r){if(this.options.urlArgs)for(let c=0,a=r.length;c<a;c++)r[c]=this._addUrlArgsToUrl(r[c]);return r}moduleIdToPaths(r){if(this._env.isNode&&this.options.amdModulesPattern instanceof RegExp&&!this.options.amdModulesPattern.test(r))return this.isBuild()?["empty:"]:["node|"+r];let c=r,a;if(!u.Utilities.endsWith(c,".js")&&!u.Utilities.isAbsolutePath(c)){a=this._applyPaths(c);for(let t=0,e=a.length;t<e;t++)this.isBuild()&&a[t]==="empty:"||(u.Utilities.isAbsolutePath(a[t])||(a[t]=this.options.baseUrl+a[t]),!u.Utilities.endsWith(a[t],".js")&&!u.Utilities.containsQueryString(a[t])&&(a[t]=a[t]+".js"))}else!u.Utilities.endsWith(c,".js")&&!u.Utilities.containsQueryString(c)&&(c=c+".js"),a=[c];return this._addUrlArgsIfNecessaryToUrls(a)}requireToUrl(r){let c=r;return u.Utilities.isAbsolutePath(c)||(c=this._applyPaths(c)[0],u.Utilities.isAbsolutePath(c)||(c=this.options.baseUrl+c)),this._addUrlArgsIfNecessaryToUrl(c)}isBuild(){return this.options.isBuild}shouldInvokeFactory(r){return!!(!this.options.isBuild||u.Utilities.isAnonymousModule(r)||this.options.buildForceInvokeFactory&&this.options.buildForceInvokeFactory[r])}isDuplicateMessageIgnoredFor(r){return this.ignoreDuplicateModulesMap.hasOwnProperty(r)}getConfigForModule(r){if(this.options.config)return this.options.config[r]}shouldCatchError(){return this.options.catchError}shouldRecordStats(){return this.options.recordStats}onError(r){this.options.onError(r)}}u.Configuration=p})(AMDLoader||(AMDLoader={}));var AMDLoader;(function(u){class y{constructor(e){this._env=e,this._scriptLoader=null,this._callbackMap={}}load(e,i,s,n){if(!this._scriptLoader)if(this._env.isWebWorker)this._scriptLoader=new h;else if(this._env.isElectronRenderer){const{preferScriptTags:d}=e.getConfig().getOptionsLiteral();d?this._scriptLoader=new m:this._scriptLoader=new r(this._env)}else this._env.isNode?this._scriptLoader=new r(this._env):this._scriptLoader=new m;let l={callback:s,errorback:n};if(this._callbackMap.hasOwnProperty(i)){this._callbackMap[i].push(l);return}this._callbackMap[i]=[l],this._scriptLoader.load(e,i,()=>this.triggerCallback(i),d=>this.triggerErrorback(i,d))}triggerCallback(e){let i=this._callbackMap[e];delete this._callbackMap[e];for(let s=0;s<i.length;s++)i[s].callback()}triggerErrorback(e,i){let s=this._callbackMap[e];delete this._callbackMap[e];for(let n=0;n<s.length;n++)s[n].errorback(i)}}class m{attachListeners(e,i,s){let n=()=>{e.removeEventListener("load",l),e.removeEventListener("error",d)},l=o=>{n(),i()},d=o=>{n(),s(o)};e.addEventListener("load",l),e.addEventListener("error",d)}load(e,i,s,n){if(/^node\|/.test(i)){let l=e.getConfig().getOptionsLiteral(),d=c(e.getRecorder(),l.nodeRequire||u.global.nodeRequire),o=i.split("|"),_=null;try{_=d(o[1])}catch(f){n(f);return}e.enqueueDefineAnonymousModule([],()=>_),s()}else{let l=document.createElement("script");l.setAttribute("async","async"),l.setAttribute("type","text/javascript"),this.attachListeners(l,s,n);const{trustedTypesPolicy:d}=e.getConfig().getOptionsLiteral();d&&(i=d.createScriptURL(i)),l.setAttribute("src",i);const{cspNonce:o}=e.getConfig().getOptionsLiteral();o&&l.setAttribute("nonce",o),document.getElementsByTagName("head")[0].appendChild(l)}}}function p(t){const{trustedTypesPolicy:e}=t.getConfig().getOptionsLiteral();try{return(e?self.eval(e.createScript("","true")):new Function("true")).call(self),!0}catch{return!1}}class h{constructor(){this._cachedCanUseEval=null}_canUseEval(e){return this._cachedCanUseEval===null&&(this._cachedCanUseEval=p(e)),this._cachedCanUseEval}load(e,i,s,n){if(/^node\|/.test(i)){const l=e.getConfig().getOptionsLiteral(),d=c(e.getRecorder(),l.nodeRequire||u.global.nodeRequire),o=i.split("|");let _=null;try{_=d(o[1])}catch(f){n(f);return}e.enqueueDefineAnonymousModule([],function(){return _}),s()}else{const{trustedTypesPolicy:l}=e.getConfig().getOptionsLiteral();if(!(/^((http:)|(https:)|(file:))/.test(i)&&i.substring(0,self.origin.length)!==self.origin)&&this._canUseEval(e)){fetch(i).then(o=>{if(o.status!==200)throw new Error(o.statusText);return o.text()}).then(o=>{o=`${o} +//# sourceURL=${i}`,(l?self.eval(l.createScript("",o)):new Function(o)).call(self),s()}).then(void 0,n);return}try{l&&(i=l.createScriptURL(i)),importScripts(i),s()}catch(o){n(o)}}}}class r{constructor(e){this._env=e,this._didInitialize=!1,this._didPatchNodeRequire=!1}_init(e){this._didInitialize||(this._didInitialize=!0,this._fs=e("fs"),this._vm=e("vm"),this._path=e("path"),this._crypto=e("crypto"))}_initNodeRequire(e,i){const{nodeCachedData:s}=i.getConfig().getOptionsLiteral();if(!s||this._didPatchNodeRequire)return;this._didPatchNodeRequire=!0;const n=this,l=e("module");function d(o){const _=o.constructor;let f=function(v){try{return o.require(v)}finally{}};return f.resolve=function(v,E){return _._resolveFilename(v,o,!1,E)},f.resolve.paths=function(v){return _._resolveLookupPaths(v,o)},f.main=process.mainModule,f.extensions=_._extensions,f.cache=_._cache,f}l.prototype._compile=function(o,_){const f=l.wrap(o.replace(/^#!.*/,"")),g=i.getRecorder(),v=n._getCachedDataPath(s,_),E={filename:_};let I;try{const D=n._fs.readFileSync(v);I=D.slice(0,16),E.cachedData=D.slice(16),g.record(60,v)}catch{g.record(61,v)}const C=new n._vm.Script(f,E),P=C.runInThisContext(E),w=n._path.dirname(_),R=d(this),U=[this.exports,R,this,_,w,process,_commonjsGlobal,Buffer],b=P.apply(this.exports,U);return n._handleCachedData(C,f,v,!E.cachedData,i),n._verifyCachedData(C,f,v,I,i),b}}load(e,i,s,n){const l=e.getConfig().getOptionsLiteral(),d=c(e.getRecorder(),l.nodeRequire||u.global.nodeRequire),o=l.nodeInstrumenter||function(f){return f};this._init(d),this._initNodeRequire(d,e);let _=e.getRecorder();if(/^node\|/.test(i)){let f=i.split("|"),g=null;try{g=d(f[1])}catch(v){n(v);return}e.enqueueDefineAnonymousModule([],()=>g),s()}else{i=u.Utilities.fileUriToFilePath(this._env.isWindows,i);const f=this._path.normalize(i),g=this._getElectronRendererScriptPathOrUri(f),v=!!l.nodeCachedData,E=v?this._getCachedDataPath(l.nodeCachedData,i):void 0;this._readSourceAndCachedData(f,E,_,(I,C,P,w)=>{if(I){n(I);return}let R;C.charCodeAt(0)===r._BOM?R=r._PREFIX+C.substring(1)+r._SUFFIX:R=r._PREFIX+C+r._SUFFIX,R=o(R,f);const U={filename:g,cachedData:P},b=this._createAndEvalScript(e,R,U,s,n);this._handleCachedData(b,R,E,v&&!P,e),this._verifyCachedData(b,R,E,w,e)})}}_createAndEvalScript(e,i,s,n,l){const d=e.getRecorder();d.record(31,s.filename);const o=new this._vm.Script(i,s),_=o.runInThisContext(s),f=e.getGlobalAMDDefineFunc();let g=!1;const v=function(){return g=!0,f.apply(null,arguments)};return v.amd=f.amd,_.call(u.global,e.getGlobalAMDRequireFunc(),v,s.filename,this._path.dirname(s.filename)),d.record(32,s.filename),g?n():l(new Error(`Didn't receive define call in ${s.filename}!`)),o}_getElectronRendererScriptPathOrUri(e){if(!this._env.isElectronRenderer)return e;let i=e.match(/^([a-z])\:(.*)/i);return i?`file:///${(i[1].toUpperCase()+":"+i[2]).replace(/\\/g,"/")}`:`file://${e}`}_getCachedDataPath(e,i){const s=this._crypto.createHash("md5").update(i,"utf8").update(e.seed,"utf8").update(process.arch,"").digest("hex"),n=this._path.basename(i).replace(/\.js$/,"");return this._path.join(e.path,`${n}-${s}.code`)}_handleCachedData(e,i,s,n,l){e.cachedDataRejected?this._fs.unlink(s,d=>{l.getRecorder().record(62,s),this._createAndWriteCachedData(e,i,s,l),d&&l.getConfig().onError(d)}):n&&this._createAndWriteCachedData(e,i,s,l)}_createAndWriteCachedData(e,i,s,n){let l=Math.ceil(n.getConfig().getOptionsLiteral().nodeCachedData.writeDelay*(1+Math.random())),d=-1,o=0,_;const f=()=>{setTimeout(()=>{_||(_=this._crypto.createHash("md5").update(i,"utf8").digest());const g=e.createCachedData();if(!(g.length===0||g.length===d||o>=5)){if(g.length<d){f();return}d=g.length,this._fs.writeFile(s,Buffer.concat([_,g]),v=>{v&&n.getConfig().onError(v),n.getRecorder().record(63,s),f()})}},l*Math.pow(4,o++))};f()}_readSourceAndCachedData(e,i,s,n){if(!i)this._fs.readFile(e,{encoding:"utf8"},n);else{let l,d,o,_=2;const f=g=>{g?n(g):--_===0&&n(void 0,l,d,o)};this._fs.readFile(e,{encoding:"utf8"},(g,v)=>{l=v,f(g)}),this._fs.readFile(i,(g,v)=>{!g&&v&&v.length>0?(o=v.slice(0,16),d=v.slice(16),s.record(60,i)):s.record(61,i),f()})}}_verifyCachedData(e,i,s,n,l){n&&(e.cachedDataRejected||setTimeout(()=>{const d=this._crypto.createHash("md5").update(i,"utf8").digest();n.equals(d)||(l.getConfig().onError(new Error(`FAILED TO VERIFY CACHED DATA, deleting stale '${s}' now, but a RESTART IS REQUIRED`)),this._fs.unlink(s,o=>{o&&l.getConfig().onError(o)}))},Math.ceil(5e3*(1+Math.random()))))}}r._BOM=65279,r._PREFIX="(function (require, define, __filename, __dirname) { ",r._SUFFIX=` +});`;function c(t,e){if(e.__$__isRecorded)return e;const i=function(n){t.record(33,n);try{return e(n)}finally{t.record(34,n)}};return i.__$__isRecorded=!0,i}u.ensureRecordedNodeRequire=c;function a(t){return new y(t)}u.createScriptLoader=a})(AMDLoader||(AMDLoader={}));var AMDLoader;(function(u){class y{constructor(t){let e=t.lastIndexOf("/");e!==-1?this.fromModulePath=t.substr(0,e+1):this.fromModulePath=""}static _normalizeModuleId(t){let e=t,i;for(i=/\/\.\//;i.test(e);)e=e.replace(i,"/");for(e=e.replace(/^\.\//g,""),i=/\/(([^\/])|([^\/][^\/\.])|([^\/\.][^\/])|([^\/][^\/][^\/]+))\/\.\.\//;i.test(e);)e=e.replace(i,"/");return e=e.replace(/^(([^\/])|([^\/][^\/\.])|([^\/\.][^\/])|([^\/][^\/][^\/]+))\/\.\.\//,""),e}resolveModule(t){let e=t;return u.Utilities.isAbsolutePath(e)||(u.Utilities.startsWith(e,"./")||u.Utilities.startsWith(e,"../"))&&(e=y._normalizeModuleId(this.fromModulePath+e)),e}}y.ROOT=new y(""),u.ModuleIdResolver=y;class m{constructor(t,e,i,s,n,l){this.id=t,this.strId=e,this.dependencies=i,this._callback=s,this._errorback=n,this.moduleIdResolver=l,this.exports={},this.error=null,this.exportsPassedIn=!1,this.unresolvedDependenciesCount=this.dependencies.length,this._isComplete=!1}static _safeInvokeFunction(t,e){try{return{returnedValue:t.apply(u.global,e),producedError:null}}catch(i){return{returnedValue:null,producedError:i}}}static _invokeFactory(t,e,i,s){return t.shouldInvokeFactory(e)?t.shouldCatchError()?this._safeInvokeFunction(i,s):{returnedValue:i.apply(u.global,s),producedError:null}:{returnedValue:null,producedError:null}}complete(t,e,i,s){this._isComplete=!0;let n=null;if(this._callback)if(typeof this._callback=="function"){t.record(21,this.strId);let l=m._invokeFactory(e,this.strId,this._callback,i);n=l.producedError,t.record(22,this.strId),!n&&typeof l.returnedValue<"u"&&(!this.exportsPassedIn||u.Utilities.isEmpty(this.exports))&&(this.exports=l.returnedValue)}else this.exports=this._callback;if(n){let l=u.ensureError(n);l.phase="factory",l.moduleId=this.strId,l.neededBy=s(this.id),this.error=l,e.onError(l)}this.dependencies=null,this._callback=null,this._errorback=null,this.moduleIdResolver=null}onDependencyError(t){return this._isComplete=!0,this.error=t,this._errorback?(this._errorback(t),!0):!1}isComplete(){return this._isComplete}}u.Module=m;class p{constructor(){this._nextId=0,this._strModuleIdToIntModuleId=new Map,this._intModuleIdToStrModuleId=[],this.getModuleId("exports"),this.getModuleId("module"),this.getModuleId("require")}getMaxModuleId(){return this._nextId}getModuleId(t){let e=this._strModuleIdToIntModuleId.get(t);return typeof e>"u"&&(e=this._nextId++,this._strModuleIdToIntModuleId.set(t,e),this._intModuleIdToStrModuleId[e]=t),e}getStrModuleId(t){return this._intModuleIdToStrModuleId[t]}}class h{constructor(t){this.id=t}}h.EXPORTS=new h(0),h.MODULE=new h(1),h.REQUIRE=new h(2),u.RegularDependency=h;class r{constructor(t,e,i){this.id=t,this.pluginId=e,this.pluginParam=i}}u.PluginDependency=r;class c{constructor(t,e,i,s,n=0){this._env=t,this._scriptLoader=e,this._loaderAvailableTimestamp=n,this._defineFunc=i,this._requireFunc=s,this._moduleIdProvider=new p,this._config=new u.Configuration(this._env),this._hasDependencyCycle=!1,this._modules2=[],this._knownModules2=[],this._inverseDependencies2=[],this._inversePluginDependencies2=new Map,this._currentAnonymousDefineCall=null,this._recorder=null,this._buildInfoPath=[],this._buildInfoDefineStack=[],this._buildInfoDependencies=[],this._requireFunc.moduleManager=this}reset(){return new c(this._env,this._scriptLoader,this._defineFunc,this._requireFunc,this._loaderAvailableTimestamp)}getGlobalAMDDefineFunc(){return this._defineFunc}getGlobalAMDRequireFunc(){return this._requireFunc}static _findRelevantLocationInStack(t,e){let i=l=>l.replace(/\\/g,"/"),s=i(t),n=e.split(/\n/);for(let l=0;l<n.length;l++){let d=n[l].match(/(.*):(\d+):(\d+)\)?$/);if(d){let o=d[1],_=d[2],f=d[3],g=Math.max(o.lastIndexOf(" ")+1,o.lastIndexOf("(")+1);if(o=o.substr(g),o=i(o),o===s){let v={line:parseInt(_,10),col:parseInt(f,10)};return v.line===1&&(v.col-=53),v}}}throw new Error("Could not correlate define call site for needle "+t)}getBuildInfo(){if(!this._config.isBuild())return null;let t=[],e=0;for(let i=0,s=this._modules2.length;i<s;i++){let n=this._modules2[i];if(!n)continue;let l=this._buildInfoPath[n.id]||null,d=this._buildInfoDefineStack[n.id]||null,o=this._buildInfoDependencies[n.id];t[e++]={id:n.strId,path:l,defineLocation:l&&d?c._findRelevantLocationInStack(l,d):null,dependencies:o,shim:null,exports:n.exports}}return t}getRecorder(){return this._recorder||(this._config.shouldRecordStats()?this._recorder=new u.LoaderEventRecorder(this._loaderAvailableTimestamp):this._recorder=u.NullLoaderEventRecorder.INSTANCE),this._recorder}getLoaderEvents(){return this.getRecorder().getEvents()}enqueueDefineAnonymousModule(t,e){if(this._currentAnonymousDefineCall!==null)throw new Error("Can only have one anonymous define call per script file");let i=null;this._config.isBuild()&&(i=new Error("StackLocation").stack||null),this._currentAnonymousDefineCall={stack:i,dependencies:t,callback:e}}defineModule(t,e,i,s,n,l=new y(t)){let d=this._moduleIdProvider.getModuleId(t);if(this._modules2[d]){this._config.isDuplicateMessageIgnoredFor(t)||console.warn("Duplicate definition of module '"+t+"'");return}let o=new m(d,t,this._normalizeDependencies(e,l),i,s,l);this._modules2[d]=o,this._config.isBuild()&&(this._buildInfoDefineStack[d]=n,this._buildInfoDependencies[d]=(o.dependencies||[]).map(_=>this._moduleIdProvider.getStrModuleId(_.id))),this._resolve(o)}_normalizeDependency(t,e){if(t==="exports")return h.EXPORTS;if(t==="module")return h.MODULE;if(t==="require")return h.REQUIRE;let i=t.indexOf("!");if(i>=0){let s=e.resolveModule(t.substr(0,i)),n=e.resolveModule(t.substr(i+1)),l=this._moduleIdProvider.getModuleId(s+"!"+n),d=this._moduleIdProvider.getModuleId(s);return new r(l,d,n)}return new h(this._moduleIdProvider.getModuleId(e.resolveModule(t)))}_normalizeDependencies(t,e){let i=[],s=0;for(let n=0,l=t.length;n<l;n++)i[s++]=this._normalizeDependency(t[n],e);return i}_relativeRequire(t,e,i,s){if(typeof e=="string")return this.synchronousRequire(e,t);this.defineModule(u.Utilities.generateAnonymousModule(),e,i,s,null,t)}synchronousRequire(t,e=new y(t)){let i=this._normalizeDependency(t,e),s=this._modules2[i.id];if(!s)throw new Error("Check dependency list! Synchronous require cannot resolve module '"+t+"'. This is the first mention of this module!");if(!s.isComplete())throw new Error("Check dependency list! Synchronous require cannot resolve module '"+t+"'. This module has not been resolved completely yet.");if(s.error)throw s.error;return s.exports}configure(t,e){let i=this._config.shouldRecordStats();e?this._config=new u.Configuration(this._env,t):this._config=this._config.cloneAndMerge(t),this._config.shouldRecordStats()&&!i&&(this._recorder=null)}getConfig(){return this._config}_onLoad(t){if(this._currentAnonymousDefineCall!==null){let e=this._currentAnonymousDefineCall;this._currentAnonymousDefineCall=null,this.defineModule(this._moduleIdProvider.getStrModuleId(t),e.dependencies,e.callback,null,e.stack)}}_createLoadError(t,e){let i=this._moduleIdProvider.getStrModuleId(t),s=(this._inverseDependencies2[t]||[]).map(l=>this._moduleIdProvider.getStrModuleId(l));const n=u.ensureError(e);return n.phase="loading",n.moduleId=i,n.neededBy=s,n}_onLoadError(t,e){const i=this._createLoadError(t,e);this._modules2[t]||(this._modules2[t]=new m(t,this._moduleIdProvider.getStrModuleId(t),[],()=>{},null,null));let s=[];for(let d=0,o=this._moduleIdProvider.getMaxModuleId();d<o;d++)s[d]=!1;let n=!1,l=[];for(l.push(t),s[t]=!0;l.length>0;){let d=l.shift(),o=this._modules2[d];o&&(n=o.onDependencyError(i)||n);let _=this._inverseDependencies2[d];if(_)for(let f=0,g=_.length;f<g;f++){let v=_[f];s[v]||(l.push(v),s[v]=!0)}}n||this._config.onError(i)}_hasDependencyPath(t,e){let i=this._modules2[t];if(!i)return!1;let s=[];for(let l=0,d=this._moduleIdProvider.getMaxModuleId();l<d;l++)s[l]=!1;let n=[];for(n.push(i),s[t]=!0;n.length>0;){let d=n.shift().dependencies;if(d)for(let o=0,_=d.length;o<_;o++){let f=d[o];if(f.id===e)return!0;let g=this._modules2[f.id];g&&!s[f.id]&&(s[f.id]=!0,n.push(g))}}return!1}_findCyclePath(t,e,i){if(t===e||i===50)return[t];let s=this._modules2[t];if(!s)return null;let n=s.dependencies;if(n)for(let l=0,d=n.length;l<d;l++){let o=this._findCyclePath(n[l].id,e,i+1);if(o!==null)return o.push(t),o}return null}_createRequire(t){let e=(i,s,n)=>this._relativeRequire(t,i,s,n);return e.toUrl=i=>this._config.requireToUrl(t.resolveModule(i)),e.getStats=()=>this.getLoaderEvents(),e.hasDependencyCycle=()=>this._hasDependencyCycle,e.config=(i,s=!1)=>{this.configure(i,s)},e.__$__nodeRequire=u.global.nodeRequire,e}_loadModule(t){if(this._modules2[t]||this._knownModules2[t])return;this._knownModules2[t]=!0;let e=this._moduleIdProvider.getStrModuleId(t),i=this._config.moduleIdToPaths(e),s=/^@[^\/]+\/[^\/]+$/;this._env.isNode&&(e.indexOf("/")===-1||s.test(e))&&i.push("node|"+e);let n=-1,l=d=>{if(n++,n>=i.length)this._onLoadError(t,d);else{let o=i[n],_=this.getRecorder();if(this._config.isBuild()&&o==="empty:"){this._buildInfoPath[t]=o,this.defineModule(this._moduleIdProvider.getStrModuleId(t),[],null,null,null),this._onLoad(t);return}_.record(10,o),this._scriptLoader.load(this,o,()=>{this._config.isBuild()&&(this._buildInfoPath[t]=o),_.record(11,o),this._onLoad(t)},f=>{_.record(12,o),l(f)})}};l(null)}_loadPluginDependency(t,e){if(this._modules2[e.id]||this._knownModules2[e.id])return;this._knownModules2[e.id]=!0;let i=s=>{this.defineModule(this._moduleIdProvider.getStrModuleId(e.id),[],s,null,null)};i.error=s=>{this._config.onError(this._createLoadError(e.id,s))},t.load(e.pluginParam,this._createRequire(y.ROOT),i,this._config.getOptionsLiteral())}_resolve(t){let e=t.dependencies;if(e)for(let i=0,s=e.length;i<s;i++){let n=e[i];if(n===h.EXPORTS){t.exportsPassedIn=!0,t.unresolvedDependenciesCount--;continue}if(n===h.MODULE){t.unresolvedDependenciesCount--;continue}if(n===h.REQUIRE){t.unresolvedDependenciesCount--;continue}let l=this._modules2[n.id];if(l&&l.isComplete()){if(l.error){t.onDependencyError(l.error);return}t.unresolvedDependenciesCount--;continue}if(this._hasDependencyPath(n.id,t.id)){this._hasDependencyCycle=!0,console.warn("There is a dependency cycle between '"+this._moduleIdProvider.getStrModuleId(n.id)+"' and '"+this._moduleIdProvider.getStrModuleId(t.id)+"'. The cyclic path follows:");let d=this._findCyclePath(n.id,t.id,0)||[];d.reverse(),d.push(n.id),console.warn(d.map(o=>this._moduleIdProvider.getStrModuleId(o)).join(` => +`)),t.unresolvedDependenciesCount--;continue}if(this._inverseDependencies2[n.id]=this._inverseDependencies2[n.id]||[],this._inverseDependencies2[n.id].push(t.id),n instanceof r){let d=this._modules2[n.pluginId];if(d&&d.isComplete()){this._loadPluginDependency(d.exports,n);continue}let o=this._inversePluginDependencies2.get(n.pluginId);o||(o=[],this._inversePluginDependencies2.set(n.pluginId,o)),o.push(n),this._loadModule(n.pluginId);continue}this._loadModule(n.id)}t.unresolvedDependenciesCount===0&&this._onModuleComplete(t)}_onModuleComplete(t){let e=this.getRecorder();if(t.isComplete())return;let i=t.dependencies,s=[];if(i)for(let o=0,_=i.length;o<_;o++){let f=i[o];if(f===h.EXPORTS){s[o]=t.exports;continue}if(f===h.MODULE){s[o]={id:t.strId,config:()=>this._config.getConfigForModule(t.strId)};continue}if(f===h.REQUIRE){s[o]=this._createRequire(t.moduleIdResolver);continue}let g=this._modules2[f.id];if(g){s[o]=g.exports;continue}s[o]=null}const n=o=>(this._inverseDependencies2[o]||[]).map(_=>this._moduleIdProvider.getStrModuleId(_));t.complete(e,this._config,s,n);let l=this._inverseDependencies2[t.id];if(this._inverseDependencies2[t.id]=null,l)for(let o=0,_=l.length;o<_;o++){let f=l[o],g=this._modules2[f];g.unresolvedDependenciesCount--,g.unresolvedDependenciesCount===0&&this._onModuleComplete(g)}let d=this._inversePluginDependencies2.get(t.id);if(d){this._inversePluginDependencies2.delete(t.id);for(let o=0,_=d.length;o<_;o++)this._loadPluginDependency(t.exports,d[o])}}}u.ModuleManager=c})(AMDLoader||(AMDLoader={}));var define,AMDLoader;(function(u){const y=new u.Environment;let m=null;const p=function(a,t,e){typeof a!="string"&&(e=t,t=a,a=null),(typeof t!="object"||!Array.isArray(t))&&(e=t,t=null),t||(t=["require","exports","module"]),a?m.defineModule(a,t,e,null,null):m.enqueueDefineAnonymousModule(t,e)};p.amd={jQuery:!0};const h=function(a,t=!1){m.configure(a,t)},r=function(){if(arguments.length===1){if(arguments[0]instanceof Object&&!Array.isArray(arguments[0])){h(arguments[0]);return}if(typeof arguments[0]=="string")return m.synchronousRequire(arguments[0])}if((arguments.length===2||arguments.length===3)&&Array.isArray(arguments[0])){m.defineModule(u.Utilities.generateAnonymousModule(),arguments[0],arguments[1],arguments[2],null);return}throw new Error("Unrecognized require call")};r.config=h,r.getConfig=function(){return m.getConfig().getOptionsLiteral()},r.reset=function(){m=m.reset()},r.getBuildInfo=function(){return m.getBuildInfo()},r.getStats=function(){return m.getLoaderEvents()},r.define=p;function c(){if(typeof u.global.require<"u"||typeof require<"u"){const a=u.global.require||require;if(typeof a=="function"&&typeof a.resolve=="function"){const t=u.ensureRecordedNodeRequire(m.getRecorder(),a);u.global.nodeRequire=t,r.nodeRequire=t,r.__$__nodeRequire=t}}y.isNode&&!y.isElectronRenderer&&!y.isElectronNodeIntegrationWebWorker?module.exports=r:(y.isElectronRenderer||(u.global.define=p),u.global.require=r)}u.init=c,(typeof u.global.define!="function"||!u.global.define.amd)&&(m=new u.ModuleManager(y,u.createScriptLoader(y),p,r,u.Utilities.getHighPerformanceTimestamp()),typeof u.global.require<"u"&&typeof u.global.require!="function"&&r.config(u.global.require),define=function(){return p.apply(null,arguments)},define.amd=p.amd,typeof doNotInitLoader>"u"&&c())})(AMDLoader||(AMDLoader={})); + +//# sourceMappingURL=../../min-maps/vs/loader.js.map \ No newline at end of file diff --git a/src/control/settings/app.js b/src/control/settings/app.js new file mode 100644 index 0000000..e0f987d --- /dev/null +++ b/src/control/settings/app.js @@ -0,0 +1,99 @@ +(function(angular, buildfire) { + // 1. Create a new module for the settings section + var webContentPluginSettingsApp = angular.module('webContentPluginSettings', []); + + // 2. Create the controller, injecting the necessary services + webContentPluginSettingsApp.controller('webContentPluginSettingsCtrl', ['$scope', '$log', controller]); + + function controller($scope, $log) { + var dataChanged = false; + $scope.datastoreInitialized = false; + + // 3. Define the possible view types and subtypes + $scope.viewType = { + NATIVE_IN_APP: 'Native In App', + IN_APP_POPUP: 'In app popup', + EXTERNAL_BROWSER: 'External browser' + }; + + $scope.viewSubtype = { + IFRAME: 'iFrame', + NATIVE_WEBVIEW: 'Native webview' + }; + + // 4. Load existing data from the datastore + buildfire.datastore.get(function(err, result) { + if (err) return console.error('Error: ', err); + + $scope.datastoreInitialized = true; + + // Check if there is existing data + if (result && result.data && !angular.equals({}, result.data) && result.id) { + $scope.data = result.data; + $scope.id = result.id; + + // Handle backward compatibility for older data structures + if (typeof result.data.content.openInApp !== 'undefined' && typeof result.data.content.openInApp !== 'object') { + $scope.data.content.view = result.data.content.openInApp + ? $scope.viewType.NATIVE_IN_APP + : $scope.viewType.IN_APP_POPUP; + } + + // Set default view if undefined + if (!$scope.data.content.view) { + $scope.data.content.view = $scope.viewType.IN_APP_POPUP; + } + + // If 'In Feature' is selected but no subtype is set, default to iFrame + if ($scope.data.content.view === $scope.viewType.NATIVE_IN_APP && !$scope.data.content.viewSubtype) { + $scope.data.content.viewSubtype = $scope.viewSubtype.NATIVE_WEBVIEW; + } + } else { + // Initialize with default data if none exists + $scope.data = { + content: { + url: '', + view: $scope.viewType.IN_APP_POPUP, + viewSubtype: null + } + }; + } + + // 5. Watch for any changes in the data model + $scope.$watch('data', function(newObj, oldObj) { + if (angular.equals(newObj, oldObj) || newObj === undefined) { + dataChanged = false; + } else { + dataChanged = true; + } + }, true); + + if (!$scope.$$phase && !$scope.$root.$$phase) { + $scope.$apply(); + } + }); + + // 6. Function to handle changes and save data + $scope.changeViewType = function() { + dataChanged = true; + + // When switching to 'In Feature', default to the iFrame subtype if not already set + if ($scope.data.content.view === $scope.viewType.NATIVE_IN_APP && !$scope.data.content.viewSubtype) { + $scope.data.content.viewSubtype = $scope.viewSubtype.NATIVE_WEBVIEW; + } + + if ($scope.data.content.openInApp !== undefined) { + $scope.data.content.openInApp = null; + } + + // Save the updated data + buildfire.datastore.save($scope.data, function(err, result) { + if (err || !result) { + $log.error('Error saving the widget details: ', err); + } else { + $log.info('Widget details saved'); + } + }); + }; + } +})(window.angular, window.buildfire); \ No newline at end of file diff --git a/src/control/settings/assets/css/style.css b/src/control/settings/assets/css/style.css new file mode 100644 index 0000000..5603d7f --- /dev/null +++ b/src/control/settings/assets/css/style.css @@ -0,0 +1,18 @@ +.radio-block { + display: block !important; + padding-bottom: 5px; +} +.note { + padding: 12px 20px; + margin-top: 15px; + margin-bottom: 15px; + background: #F5F5F5; +} +.note .bold { + font-weight: 600; +} +.image-container img { + margin: 10px; + border-radius: 8px; + box-shadow: 0 0 8px 2px rgba(0,0,0,0.10); +} \ No newline at end of file diff --git a/src/control/settings/index.html b/src/control/settings/index.html index 61d9657..89dddd7 100644 --- a/src/control/settings/index.html +++ b/src/control/settings/index.html @@ -1,10 +1,78 @@ <!DOCTYPE html> -<html> -<head lang="en"> +<html ng-app="webContentPluginSettings"> + <head lang="en"> <meta charset="UTF-8"> - <title> - - - no settings - + Settings + + + + + + + +
    + +
    +
    + Native Webview Preview + Popup Window Preview + External Browser Preview +
    +
    +
    + + +
    +
    + + +
    +
    +
    + + +
    +
    + + +
    +
    +
    + Some websites may not work correctly when opened inside the app, especially in the built-in browser view. This is often due to Apple’s security rules or website settings from companies like Google and Amazon that block their pages from being shown in this way. If your webpage doesn’t load or work as expected, we recommend trying one of the other viewing options available. +
    +
    + Native Webview is a new feature that works around iFrame issues. If the iFrame option isn’t working, try using Native Webview instead. +
    Note: This feature will only work for apps with builds submitted to Apple App Store and Google Play Store after 5, August 2025. For older builds the app will default to "In Popup Window" option.
    +
    +
    + + +
    +
    +
    For the best experience, link to mobile-optimized and secure (HTTPS) content. If your webpage includes payment processing, it must open outside of the app—otherwise, Apple may reject your app during review. Also, be aware that some websites only display their mobile layout on actual mobile devices.
    +
    Note: If you’re accepting payments, use a Deep Link to redirect users back into your app after the transaction is complete.
    +
    +
    +
    +
    + \ No newline at end of file diff --git a/src/widget/index.html b/src/widget/index.html index 2d546cf..a2ca3b7 100755 --- a/src/widget/index.html +++ b/src/widget/index.html @@ -29,7 +29,7 @@ .modal-header, .cancel-confirmation { display: none; } - #webviewReload { + #webContentReload { display: none; width: 100%; height: 100%; @@ -50,7 +50,7 @@

    Success!

    -
    +

    Click here to reload

    diff --git a/src/widget/widget.js b/src/widget/widget.js index 13f1b76..c1ed1cc 100644 --- a/src/widget/widget.js +++ b/src/widget/widget.js @@ -21,6 +21,25 @@ const setFlags = (content) => { }; const render = (content) => { + // Prevent infinite loop: only fetch context if not already fetched + if (content.isCustomContent && !content._contextFetched) { + buildfire.getContext(function(err, context) { + if (err) { + console.error('Error getting context:', err); + return; + } + var cmsHost = context.endPoints.cmsHost; + var url = cmsHost + '/cms/sdk/widget/' + context.appId + '/' + context.pluginId + '/' + context.instanceId + '/primary/' + context.liveMode; + content.url = url; + content._contextFetched = true; // Mark as fetched + render(content); // Re-render with updated URL + }); + return; // Stop further execution until context is fetched + } + // Remove the flag after using it, so future renders are clean + if (content._contextFetched) { + delete content._contextFetched; + } const handleWindow = ({openWindow, displayIniFrame, shouldOpenPluginInboundWebview, displaySuccessMessage}) => { if(openWindow){ @@ -45,9 +64,9 @@ const render = (content) => { buildfire.navigation.openWindow({url: content.url, target: "_plugin", windowFeatures: "pushToHistory=true"}); buildfire.messaging.onReceivedBroadcast = (event) => { if (event.message === 'webview hidden') { - document.getElementById('webviewReload').style.display = 'none'; + document.getElementById('webContentReload').style.display = 'none'; } else if (event.message === 'webview closed') { - document.getElementById('webviewReload').style.display = 'flex'; + document.getElementById('webContentReload').style.display = 'flex'; } }; }); @@ -95,7 +114,7 @@ const render = (content) => { }; const renderiFrame = (props) =>{ - let currentIframe = window.document.getElementById('webviewIframe'); + let currentIframe = window.document.getElementById('webContentIframe'); if (currentIframe) { currentIframe.remove(); } @@ -150,7 +169,7 @@ const renderiFrame = (props) =>{ } let iFrame = window.document.createElement('iframe'); - iFrame.id = 'webviewIframe'; + iFrame.id = 'webContentIframe'; iFrame.allow = "autoplay; camera; microphone; geolocation; fullscreen; picture-in-picture"; iFrame.src = props.url; iFrame.scrolling = props.isIOS ? 'yes' : 'auto'; @@ -170,7 +189,12 @@ const renderiFrame = (props) =>{ }; buildfire.spinner.show(); -buildfire.datastore.onUpdate(event => render(event.data.content)); +buildfire.datastore.onUpdate(event => { + // prevent re-rendering if it's custom content, where we send reload event when needed + if (event.data.content.isCustomContent != true) { + render(event.data.content); + } +}); buildfire.datastore.get((err, result) => { if (err) { console.error("error: ", err); @@ -196,11 +220,15 @@ buildfire.datastore.get((err, result) => { } }); buildfire.messaging.onReceivedMessage = message => { - if (message.tag === 'mixedContent' && message.url) { - return mixedContentWarning(message.url); - } - if (message.tag === 'displayWarning') { - return showPopup(); + if (message.tag === 'reloadWebContent') { + buildfire.datastore.get((err, result) => { + if (err || !result.data || !result.data.content) return; + render(result.data.content); + }); + } else if (message.tag === 'mixedContent' && message.url) { + mixedContentWarning(message.url); + } else if (message.tag === 'displayWarning') { + showPopup(); } }; From 4dc64073b6642fdb1768012aad77e4a44c4ec2c4 Mon Sep 17 00:00:00 2001 From: ahasnawi <70672687+ahasnawi@users.noreply.github.com> Date: Tue, 23 Dec 2025 19:57:32 +0300 Subject: [PATCH 2/4] change plugin description and ai prompts examples --- plugin.json | 2 +- src/control/content/app.js | 40 +++-------------------- src/control/content/assets/css/style.css | 6 +--- src/control/content/index.html | 2 +- src/control/content/js/dialogs/dialogs.js | 6 ++-- 5 files changed, 10 insertions(+), 46 deletions(-) diff --git a/plugin.json b/plugin.json index e3a2fcb..fa8be6a 100644 --- a/plugin.json +++ b/plugin.json @@ -1,7 +1,7 @@ { "author":"Buildfire" ,"pluginName":"Web Content" - ,"pluginDescription":"Seamlessly embed web content into your mobile app with the Web Content plugin, enabling smooth integration of external websites, pages, and interactive elements." + ,"pluginDescription":"Seamlessly embed external website pages as native screens in your app. Also, use our coding terminal or AI assistant to create custom content and interactive elements." ,"pluginKeywords":"document,page,iframe,instagram,website" ,"supportEmail":"support@buildfire.com" ,"supportSite":"https://learn.appdocumentation.com/en/articles/1691379-webview-tutorial" diff --git a/src/control/content/app.js b/src/control/content/app.js index 8468572..0ec1ff1 100644 --- a/src/control/content/app.js +++ b/src/control/content/app.js @@ -48,7 +48,6 @@ // check for disclaimer acknowledgment disclaimerAcknowledged = $scope.data?.content?.disclaimerAcknowledged; conversationId = $scope.data?.content?.conversationId || null; - toggleAssistantSectionVisibility(!!conversationId); if (!disclaimerAcknowledged) { window.dialogs.showDisclaimerDialog(() => { dataChanged = true; @@ -75,22 +74,6 @@ editor.onDidChangeModelContent(onChange); } - // toggle assistant section visibility - function toggleAssistantSectionVisibility(visible) { - const assistantContainer = document.querySelector('.assistant-container'); - if (assistantContainer) { - if (visible) { - assistantContainer.style.display = 'block'; - assistantContainer.classList.add('visible'); - } else { - assistantContainer.classList.remove('visible'); - setTimeout(() => { - assistantContainer.style.display = 'none'; - }, 300); - } - } - } - buildfire.datastore.get(function(err, result) { if (err) return console.error('Error: ', err); @@ -133,7 +116,8 @@ url: '', html: defaultHTML, isCustomContent: false, // Default to URL mode - autoReload: true // Default auto-reload to true + autoReload: true, // Default auto-reload to true + view: $scope.viewType.IN_APP_POPUP // Default to popup }, }; var autoReloadSwitch = document.getElementById('autoReloadSwitch'); @@ -292,7 +276,8 @@ }); return; } - buildfire.analytics.trackAction('webcontent-plugin-ai-update'); + const actionName = conversationId ? 'webcontent-plugin-ai-update' : 'webcontent-plugin-ai-generate'; + buildfire.analytics.trackAction(actionName); window.ai.generateAiCode({ message: userMessage, conversationId: conversationId }, (err, result) => { if (err) { buildfire.dialog.alert({ @@ -308,22 +293,6 @@ } } - // toggle assistant section visibility - function toggleAssistantSectionVisibility(visible) { - const assistantContainer = document.querySelector('.assistant-container'); - if (assistantContainer) { - if (visible) { - assistantContainer.style.display = 'block'; - assistantContainer.classList.add('visible'); - } else { - assistantContainer.classList.remove('visible'); - setTimeout(() => { - assistantContainer.style.display = 'none'; - }, 300); - } - } - } - // toggle assistant toast visibility function toggleAssistantToastVisibility(visible) { const assistantToast = document.querySelector('.assistant-toast'); @@ -389,7 +358,6 @@ if (result) { setEditorContent(window.monacoEditorInstance, result.response); toggleUndoButtonVisibility(savedHtml); - toggleAssistantSectionVisibility(true); if (result.conversationId) { conversationId = result.conversationId; } diff --git a/src/control/content/assets/css/style.css b/src/control/content/assets/css/style.css index 55e1c5d..5414e22 100644 --- a/src/control/content/assets/css/style.css +++ b/src/control/content/assets/css/style.css @@ -128,11 +128,7 @@ p.note { left: 12px; position: absolute; right: 12px; - z-index: -1; - opacity: 0; - visibility: hidden; - transition: opacity 0.3s ease, visibility 0s 0.3s; - display: none; + z-index: 5; } .assistant-toast { backdrop-filter: blur(10px); diff --git a/src/control/content/index.html b/src/control/content/index.html index ef76743..bb658ab 100644 --- a/src/control/content/index.html +++ b/src/control/content/index.html @@ -39,7 +39,7 @@ ng-model="data.content.isCustomContent" ng-value="true" ng-change="onModeChange()"> - +
    diff --git a/src/control/content/js/dialogs/dialogs.js b/src/control/content/js/dialogs/dialogs.js index 24066de..5df4ec5 100644 --- a/src/control/content/js/dialogs/dialogs.js +++ b/src/control/content/js/dialogs/dialogs.js @@ -102,9 +102,9 @@ window.dialogs = {
    Examples of Prompts
      -
    • Create a weather plugin that fetches data from a public API and displays current weather conditions.
    • -
    • Build a quiz plugin that presents multiple-choice questions and provides feedback on answers.
    • -
    • Design a testimonials plugin that displays user reviews in a carousel format.
    • +
    • Create an interactive mortgage calculator with input fields for loan amount, interest rate, and term length.
    • +
    • Build a restaurant menu page with categories, dish descriptions, prices, and high-quality food images.
    • +
    • Design a live event countdown timer with registration details and an embedded video stream.
    From 3e2a25a676aebc9e2889153fdf54aa561c9fbdf5 Mon Sep 17 00:00:00 2001 From: ahasnawi <70672687+ahasnawi@users.noreply.github.com> Date: Wed, 24 Dec 2025 19:20:44 +0300 Subject: [PATCH 3/4] Change market place images and do files minification and reflect review feedback --- package.json | 1 + plugin.json | 2 +- src/control/content/app.js | 34 ++-- src/control/content/index.html | 10 +- .../content/js/{ai/ai.js => AIService.js} | 43 +++-- .../{dialogs/dialogs.js => DialogsService.js} | 27 +-- src/control/settings/index.html | 6 +- src/resources/1-Plugin.png | Bin 209679 -> 168643 bytes src/resources/2-Benefits.png | Bin 284429 -> 245940 bytes src/resources/3-Use-Cases.png | Bin 285574 -> 275950 bytes src/resources/4-Content-Tab.png | Bin 275604 -> 302975 bytes src/resources/5-Analytics-Tab.png | Bin 316258 -> 0 bytes src/resources/5-Custom-Content.png | Bin 0 -> 983493 bytes src/widget/index.html | 2 +- webpack/build.config.js | 175 +++++++++++++++++- 15 files changed, 239 insertions(+), 61 deletions(-) rename src/control/content/js/{ai/ai.js => AIService.js} (53%) rename src/control/content/js/{dialogs/dialogs.js => DialogsService.js} (89%) delete mode 100644 src/resources/5-Analytics-Tab.png create mode 100644 src/resources/5-Custom-Content.png diff --git a/package.json b/package.json index 8a40b50..11839e6 100644 --- a/package.json +++ b/package.json @@ -27,6 +27,7 @@ "html-webpack-plugin": "^2.30.1", "mocha": "^5.0.1", "style-loader": "^0.20.1", + "uglify-js": "^3.14.5", "webpack": "^3.11.0", "webpack-dev-server": "^2.9.2", "zip-webpack-plugin": "^2.0.0" diff --git a/plugin.json b/plugin.json index fa8be6a..db8f95b 100644 --- a/plugin.json +++ b/plugin.json @@ -44,7 +44,7 @@ }, { "type": "image-resource", - "path": "5-Analytics-Tab.png" + "path": "5-Custom-Content.png" } ], "webpack": 8080 diff --git a/src/control/content/app.js b/src/control/content/app.js index 0ec1ff1..9470f8a 100644 --- a/src/control/content/app.js +++ b/src/control/content/app.js @@ -1,14 +1,15 @@ (function(angular, buildfire) { var webContentPluginApp = angular.module('webContentPlugin', []); - webContentPluginApp.controller('webContentPluginCtrl', ['$scope', '$log', '$timeout', controller]); + webContentPluginApp.controller('webContentPluginCtrl', ['$scope', '$log', '$timeout', 'aiService', 'dialogService', controller]); - function controller($scope, $log, $timeout) { + function controller($scope, $log, $timeout, aiService, dialogService) { var dataChanged = false; var modeChanged = false; var disclaimerAcknowledged = null; var savedHtml = ''; var conversationId = null; + var monacoEditorInstance = null; $scope.datastoreInitialized = false; $scope.urlValid = false; $scope.urlInValid = false; @@ -39,23 +40,23 @@ function setupMonaco() { require.config({ paths: { 'vs': `${baseUrl}js/monaco-editor/min/vs` } }); require(['vs/editor/editor.main'], function () { - window.monacoEditorInstance = monaco.editor.create(editorElement, { + monacoEditorInstance = monaco.editor.create(editorElement, { value: $scope.data.content.html || '', language: 'html', theme: 'vs-dark', automaticLayout: true }); // check for disclaimer acknowledgment - disclaimerAcknowledged = $scope.data?.content?.disclaimerAcknowledged; - conversationId = $scope.data?.content?.conversationId || null; + disclaimerAcknowledged = $scope.data && $scope.data.content && $scope.data.content.disclaimerAcknowledged; + conversationId = ($scope.data && $scope.data.content && $scope.data.content.conversationId) || null; if (!disclaimerAcknowledged) { - window.dialogs.showDisclaimerDialog(() => { + dialogService.showDisclaimerDialog(() => { dataChanged = true; disclaimerAcknowledged = true; $scope.saveData(); }); } - registerAutoSave(window.monacoEditorInstance); + registerAutoSave(monacoEditorInstance); }); } } @@ -223,7 +224,7 @@ if (!$scope.datastoreInitialized) return; // Initialize Monaco if switching to custom content mode - if ($scope.data.content.isCustomContent && !window.monacoEditorInstance) { + if ($scope.data.content.isCustomContent && !monacoEditorInstance) { initializeMonaco(); } @@ -267,7 +268,7 @@ // continue AI conversation function continueAIConversation(prompt) { const limit = 50000; - const html = window.monacoEditorInstance.getValue().trim(); + const html = monacoEditorInstance.getValue().trim(); if (prompt) { const userMessage = html + '\n\n' + prompt; if (userMessage.length > limit) { @@ -278,7 +279,7 @@ } const actionName = conversationId ? 'webcontent-plugin-ai-update' : 'webcontent-plugin-ai-generate'; buildfire.analytics.trackAction(actionName); - window.ai.generateAiCode({ message: userMessage, conversationId: conversationId }, (err, result) => { + aiService.generateAiCode({ message: userMessage, conversationId: conversationId }, (err, result) => { if (err) { buildfire.dialog.alert({ message: 'Error generating AI response.', @@ -286,7 +287,8 @@ return; } savedHtml = html; - setEditorContent(window.monacoEditorInstance, result.response); + if (result.conversationId) conversationId = result.conversationId; + setEditorContent(monacoEditorInstance, result.response); toggleUndoButtonVisibility(savedHtml); toggleAssistantToastVisibility(true); }); @@ -347,8 +349,8 @@ }); createWithAiBtnEl.addEventListener('click', function () { - const html = window.monacoEditorInstance.getValue().trim(); - window.dialogs.showAiDialog({conversationId}, (err, result) => { + const html = monacoEditorInstance.getValue().trim(); + dialogService.showAiDialog({conversationId}, (err, result) => { if (err) { buildfire.dialog.toast({ message: err, @@ -356,7 +358,7 @@ } else { savedHtml = html; if (result) { - setEditorContent(window.monacoEditorInstance, result.response); + setEditorContent(monacoEditorInstance, result.response); toggleUndoButtonVisibility(savedHtml); if (result.conversationId) { conversationId = result.conversationId; @@ -367,8 +369,8 @@ }); undoBtnEl.addEventListener('click', function () { - if (savedHtml && window.monacoEditorInstance) { - window.monacoEditorInstance.setValue(savedHtml); + if (savedHtml && monacoEditorInstance) { + monacoEditorInstance.setValue(savedHtml); savedHtml = ''; } toggleUndoButtonVisibility(savedHtml); diff --git a/src/control/content/index.html b/src/control/content/index.html index bb658ab..30f16b7 100644 --- a/src/control/content/index.html +++ b/src/control/content/index.html @@ -5,17 +5,21 @@ content + + - + - - + + + + diff --git a/src/control/content/js/ai/ai.js b/src/control/content/js/AIService.js similarity index 53% rename from src/control/content/js/ai/ai.js rename to src/control/content/js/AIService.js index 77aa3b6..b6f6219 100644 --- a/src/control/content/js/ai/ai.js +++ b/src/control/content/js/AIService.js @@ -1,38 +1,41 @@ -const PROMPT_ID = 'pmpt_6938b78842888194b3b1401fee724f360e7139e8dfaae44f'; -window.ai = { - persistentConversation: null, - init: function() { - window.ai.persistentConversation = new buildfire.ai.persistentConversation(); - }, - generateAiCode: function(options, callback) { - window.ai.persistentConversation.fetchTextResponse({ +angular.module('webContentPlugin').service('aiService', function() { + const PROMPT_ID = 'pmpt_6938b78842888194b3b1401fee724f360e7139e8dfaae44f'; + let persistentConversation = null; + + this.init = function() { + persistentConversation = new buildfire.ai.persistentConversation(); + }; + + this.generateAiCode = function(options, callback) { + persistentConversation.fetchTextResponse({ message: options.message, promptId: PROMPT_ID, conversationId: options.conversationId || null, loadingMessage: 'Your code is being generated. This may take a couple minutes', }, (err, res) => { if (err) return callback(err); - + if (!res || !res.data || !res.data.response || !res.data.response.length || - !window.ai._extractHtmlContent(res.data.response) + !this._extractHtmlContent(res.data.response) ) { return callback('No response from AI'); } - const aiResponse = window.ai._extractHtmlContent(res.data.response); + const aiResponse = this._extractHtmlContent(res.data.response); callback(null, {response: aiResponse, conversationId: res.data.conversationId}); }); - }, - deleteConversation: function(conversationId, callback) { - window.ai.persistentConversation.deleteConversation({conversationId}, (err, res) => { + }; + + this.deleteConversation = function(conversationId, callback) { + persistentConversation.deleteConversation({conversationId}, (err, res) => { if (err) { if (callback) callback(err); return; } if (callback) callback(null, res); }); - }, - - _extractHtmlContent: function(htmlString) { + }; + + this._extractHtmlContent = function(htmlString) { // Remove everything before or let result = htmlString.replace(/^[\s\S]*?(|)/i, '$1'); @@ -40,7 +43,7 @@ window.ai = { result = result.replace(/(<\/html>)[\s\S]*$/i, '$1'); return result; - } -}; + }; -window.ai.init(); + this.init(); +}); \ No newline at end of file diff --git a/src/control/content/js/dialogs/dialogs.js b/src/control/content/js/DialogsService.js similarity index 89% rename from src/control/content/js/dialogs/dialogs.js rename to src/control/content/js/DialogsService.js index 5df4ec5..c689979 100644 --- a/src/control/content/js/dialogs/dialogs.js +++ b/src/control/content/js/DialogsService.js @@ -1,5 +1,5 @@ -window.dialogs = { - showDisclaimerDialog: function (callback) { +angular.module('webContentPlugin').service('dialogService', ['aiService', function(aiService) { + this.showDisclaimerDialog = function (callback) { function closeDialog() { if (callback) callback(); if (backdrop) { @@ -18,12 +18,12 @@ window.dialogs = { dialogContainer.innerHTML = `
    -
    Create your own plugin
    +
    Create your own content

    ⚠️ Warning

    - We don't review, test, or guarantee the performance or security of custom code. By using this plugin, you're taking ownership of how your custom code behaves in your app. + We don't review, test, or guarantee the performance or security of custom code. By using this feature, you're taking ownership of how your custom code behaves in your app.

    Any technical issues that may arise from custom code will not be covered by our support team. @@ -61,8 +61,9 @@ window.dialogs = { closeDialog(); }); } - }, - showAiDialog: function (options, callback) { + }; + + this.showAiDialog = function (options, callback) { const limit = 10000; showDialog(); @@ -93,7 +94,7 @@ window.dialogs = {

    - +
    @@ -131,7 +132,7 @@ window.dialogs = { return; } buildfire.analytics.trackAction('webcontent-plugin-ai-generate'); - window.ai.generateAiCode({ message: aiPrompt.value }, (err, res) => { + aiService.generateAiCode({ message: aiPrompt.value }, (err, res) => { if (err || !res) { buildfire.dialog.alert({ message: 'Error generating AI response.', @@ -139,7 +140,7 @@ window.dialogs = { return; } if (options.conversationId) { - window.ai.deleteConversation(options.conversationId); + aiService.deleteConversation(options.conversationId); } closeDialog(res); }); @@ -165,5 +166,5 @@ window.dialogs = { }); }); } - } -}; \ No newline at end of file + }; +}]); \ No newline at end of file diff --git a/src/control/settings/index.html b/src/control/settings/index.html index 89dddd7..dafd04f 100644 --- a/src/control/settings/index.html +++ b/src/control/settings/index.html @@ -4,10 +4,14 @@ Settings + - + + + +
    diff --git a/src/resources/1-Plugin.png b/src/resources/1-Plugin.png index 6203646aa43d3d780b1d428a5200bcbb7719ecd3..b1bd24243cd00d0947f250080cb615ea29fc15b9 100644 GIT binary patch literal 168643 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
    !(2 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≥E@kKy!UuHH6SbVss{w&?*V# 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 literal 209679 zcmeFYc|6qZ`#!8v6lG09VL~XzmVJrFE;5NCWE=awuTyqn>@f+2A;}g)XhtDRXe?PL zB-!_DS?9S%_viEdeV^C&d7j_%`};HZ>waZ;&wJk2b)DCF9_Mi!SIiw<^|NQ#&QMTL zoYmBT!6_)H9#c?IN>d*PzpUs^fvYJfF?rY;V0zcdF5YsfZ2FjdDy#o*}J-Mk?&|>>FVvJ009sCcNETU|Guq@=RY$A z<_zj*;RY2I79o%7=t66&e_!Y3?csFv<X#JbNzp~ z^}ql8-@X9M?(N(E{*M3gS)85!{S}^Gsy<*C|4hjLc(td2zncvdZsY0d?O|o3>H{A0 z3VAecvbQ{JEWBJj3|w8E{Q5!tn6LLgAn*%K4Js2@Ul^WfOWee zBqA;(CS@QdDtkjhR#fzwh^VZH$lptEyIR{L{Qt*GZ^(*@|F=s)+*n(9S^R%qY;7fr zaP@Gu07JHSwy?Ev`CN?PcNge|#VErXvT1tcJZOST6s6_QYKq_kVtJvgbOA16d0za(pX5tjG&% zV-5M|*Y^L%Gw}DezIHa?rvER?{r56YSA>_Zg@=u@EtswUjevrJ$A^;l;@^=#|L=o5 z`rH4qZ~t{UNCxB||DA}yn}4S=8yAqjJV2uA4ox~iaYE>mCQRAD@5SQ5gG7!80i1tA zW;lEkg1Z!$v@L}wB96a#aBs9Vs)JNO!}rg;Sp8Sc0Ct*n1jUtIUBROMCq`7IraT4+U->rBx01dQ_dX&%AK z$NW5EBqbVcm|DR5K-l|0zQe;EUl_gEv7^-cH~%{Seo*#bZz&dasbBurpC572-#qc} zzka;Q_4w4k-#vbElj7{Z-%*@+Lc#W5?@k>*Ch=eIXep1|{ntBIYRc~adM85vpD+B^ zZ2V_R{}VL-#KM2J#eXu*KcVoST>7v4NI~(RZSlXmEgJm?u7P>edqUr=qawesN%2^* zlMwJv!Op&60P4E@w$pOl#>IbT*N2V#yC7ZapkqJQtjA*x4;}0b)Q+nE$1!qoe?$!E zSx0?&$zXqM(fT0j>ERwu;X=L0(Z?6H$W>gi@KXPu+(8Pqi!2|1$hRNjhw(eBr-fj> zN7s~R0{HM4_gYDAIrv7)7_E}zCWFdQ*{IwJa}$a`5QX308O23YM7Iuu=`PVXN1o7L z>FmCea6UnPNM4>d`7eO*3*jc;<1;H$qy;^tKC^wvq%>+$IyRR-mMvbbxc_&s63Qy` z+VJCcwO*XT?!d46(gy#oE&&QKS9x*J>L;qo%E}AE4>Pi|;&b`aw0Id~ti^`+o@?+pJ*(nAnF1dX zX=_nSc+mWnHb}~Edf}EFpWA-pfUUc`JAGvY6b{u|&hnX`JK5b*J;C*^zY8~F8(6q~ zBc*-l#mLgT9WilY2lVY2qEO2GC&bt_1l&XdCsFjzHkdT-E?tp#XRd6ukB*|`yn!F<=KToPdx00B**i06` z3*Aj4$ghn*>b|PsGjckk@T<3}fQ@8k*OUj0C)~}{w@IQUBP}hBi&~O{V=>TDD$W7x zz+}6J^=)Ofvd!*7tnUQzrL-d|hn;+ag1)=xN@gGsCf1|cHA{V*wO`o-e5s%0+8<5Z zkTQV3A3Z;|T-##vZA~&>@9phX=M3JM&UF3y_3Jr0I!=WEFE6ie-lID^JGHg7^}Z`( zwVtglYPctjPJ&erLMzc`A2%XCcjI)vvlwsHKBlA78m77EtAg8U@-aTS z`%+?{F$TT6z;HVH!P&xQisntXc4cWVcS^9E`7V{_p} z2G?1lqN1+y@qyr?iBJ(kR}ESZ`ELonH66ScyNF?P|9){IvDPS6sLt^>&kE(ya6a~t zx3N#vVSufbowM^&dc*z{(X|2h{=M{#8{WGcbJk-1lP&RJAj8AMX!J!0qsoTxqj7q= z%~GG0m0_*S@DJ3XN;xwJ!Nf1S+jR%MU#}&ul-(&fmQRoq`f<5=*IEo66BAQWAv);2 zL{)-a&bcYzz4r67THe~~X~DJo-;9)9Q>G4EEb?j=N=6-mW(m_tqYHoI85>Ra$cPxD+#!L zsv%^_840GLIAnfGe@(k)G=?M{q@|tDT-?}|+eTR4oiM9TkIH zYu+tHO0KkJSEYn4W^vryUR-XR`J{<~N2pAEd~yOj)K+3{>N~2aF_SNyoM6}N?gp&P z_T=0lG7q`b;NHv}_6Ruldy!2IbF{j1P%6_?x^wPb*~1#`eVF*#bgi;N zk&WTp{ZSrws>l!Zc=h#DdIvDoiu;{2>tJrHixcP@-CvwN-)+30oi5x(AW$hkimPz- zE_BvLw!4q-HB5NU-I$v7p3vB+INy!yp;@Y_w)Lugc=_VR;TqTRCnu=X)Ya4A7OXAq zPK9&4qwIAlN+FN#9WBh`Cn}&1lzZBxSv6g3REA&wD);p1(Br%;GPTGxwGwJtcmnhPY%#FLNNNTa?qOXsPj_b=>xt6@su1^4z2} zj5*RGug9*2s1hB3b6KHMrdLhsdg}ag(toV2t?k#ZU-;lXu(8$E)wMCbv$L-UWMgwh zXq!Z;e1A&g{nm0z@)lhOEaJcpGXJ%=`qo&FHaC6Q#W-i?GomCaXL;YgHAq-5IM~q8 zFh6xG-+(o;#IR%fb9L{quDF7NY1yDN4GIRa=$jaOUFdV^OoYk`tzlUT9mA&Zw{GL@ zuP;t2-zhRME_rsgEO>k+OI*7E4$5BNRkTh(w(Z?Hc#+rYk54IA^>p?03j5}K>PL$+ zmp^wa422!V!w)o>7a&B^Z$C|5(g@oO@C*q#Tpq12E-pq*zJ2@l;d{4<86}dxVA}H+ zFBbd7wjF2#hbwM7H;PnUXh=ZCUs4S6v$Xsv6*4K6A%mLqsW&a|f0mx^44r#=0XkB< zDK$0Z7Nf9v@8&oZsYY{dwx)7YK0iL^){1q4(5-V#-KGGxY_4REfqtx;$@OXSxm4uQ~LtULiT!p&i;QHd-fEztq$5CFg zS%jIZSFa{;Duw)6wJ?z#<-8?_vZ@bqvTN=c?+*~)`q8P=;>A}@b&DHTc2|iZK<6(~ znj~i_+oowYcc+I&Y_~X(L5Bz1N0_Dw79Jk>Fl7lEdt>J3hcq|rf~_P zxO@rA1yXHG_pp;>dWVe|+DTGQLV~=YP~=WWwSrgu=zuXXW_{<$KZeU0BH><}^YPo`$ed`9D{O6T$NeVb zBO*?YZ#(Bh!pnI(`yKkLN9-gs@hg?0b2lF&xR<4My2B?zD^Eq&f$HAvOpnb2p*%T%USS`P?NvvhPsTiiykc7)0&cMhWC>pT1aWO&I6@v0^vrp=T$ zu0-)$BL>f_Bre?%!rVp=OEy=>c#;;HEEtbMSuzZ4=xnrc$yQ3vzO{{w4R~mO|D7_@ zZduvGS}_TUUv(~mX<{uyhU~@*AfBqKzBx%cx9MMI3z$kXG7H(6vKFf?FLyiK--(Eb z`21OwSm<5(4uAM|=P)>*Z?y`<3M7E-n3vL&bm@Ywt}Y%tYN2kH76$I=>B))QU&Cmp zJ7C$^Cj+vVCM`@JG&a1>oj_+!wJ#t#&MS6M&Y(rSZe1r%*gA z<)<9dPENz#a{ZKtKd55EPO>N_RecQHUNY0isWbqm+lgAh|M~f}47W7`a+INwk<#vL zo}SWymyHc(&=FgcddM@CbmJ@a%Za&L6lY-@RVQY%tp#n^e>Q+mwI*=dPA?3WnS&HC zf^{6dRjkFAa_iPDu%dVPhpO2@uC)F7LMCu)vAa8QAi&>WCP_o*_U$PTnZRI8(vNs{ z!~4{+xzcGK(Hf5M*xc9R#&3m?10x&Hl_&3zRVfOJOl6RJ%=rf~j)N|wpBEaqaw{q- z8umLHs!DRy)zmy^gsP8^_JfPi<)xw@{}-O-yf++*m<1P#=w~oB?3xKPtGj7IrC@@BHZ<`pm&A zf#Z%?G%z>JA&7zy8sYT-^xt{fQ~TZd}YqE!jAnW zr;Nw1V)KLfPhnJOe;XTBfg3k&q_tb;r?zAq!tLZfzI5Jri{;B5)58voDpO-hf|v1i zSN)a$K7A&+Z~G+H!fN$!u-1QlKyKxORb0&EpOTs}S>NS{0KbM=f`>OQncfR2F*GqY zj?Ilm19*$yEOEUg>qUk|0Ea1;7&_JvD=yI$+xAh^k=hW^8s+)%$0UBLQ26auU%si$ zh}+AVDXVa)^?)QvyZ!iBT!!EM-2u&!^Ih(e8h>bN8b5hoAgv4GT(J%cZFlz_z7+qp z&lehY`^$87biOTYqS0tj>f=zTfb5!A%(6*|EqC&IK+R}jEx|6-wXhQIb~3lBQGe=0 zU5SyMWO7;a;yN1O;tg^h6bST_cw=1Rv-5i@Q_8iPxa3oRFo--D)YjIn&QSxSGY~8> zEH*1ED=8T+Ws5p@Dd1pp@agBDn+t=493|J3)U&mouvQcWL5M{G^?WZhz8VmM7KY6?li*=OuF+HD9$6rP;Q zDL-9rGnAJyE2qHc?8s$V@Kr!G@a9jd?7jC(UkvrO_3~2LE?+)e_H76R9g6Rm{|p&C zVBkG!w&KI^B5U#4iHQl&by&5caA4d3cMcd6y1FoZb9w3sh|1HDGsmr>Q#8-3=3`k@ z{IZ!tgUpGl8p9V;L{L`T;gkF-7yhERA+ko{cV>~xV2g#)SOCKu@hUqjD|n%#CgXv? z=D`XQi9jF#{8J-n6>V;k;{@aq5uRKlv*69yp1f^PdOT;o?(YY&MsBauatGW9%Y1vY z=9gRjv8n^APp9Q&D7(vJ2(<iJi^OyRUpW66jt^32RV8#GI020OI>4g8;fKX=oB*Ch+102-J-YFsp^&1!Cp<_lL}?>Is*@o-NhBuHpFmKqO@??v=>5 z>_R6aJF7T&uRA|VuH#0eecyuqQEWac1F4uoFY0#ADVmqOAUpXvB;r3IWP8NNNoqcgvwH^H^)AX@Gi?~T;M|(17$!3a$mTja zK}(M29f(S$opwE8(>fRoppokEYEdu693*)s{!S|cyKf8^SOYHtDTxNug!ZbtWqW9y zUe@H~+%`((L_%R4cS(D;<%YaXt6*HN?iCc_faM5{d=x&4-gE3XwKbJrVh5B+I|Qg{ zoq=%rc;E^S1kcqR!d1o?GL(L6AP5pY=s2ifVGjpt@HZ3`f!<_q9es;L1*mfA6O!OU+0pdcCV zdC>8Iq7O}t1;~5KqX*Gls$IP`>>eEra{L1Ud-K<+S?PbP+^WdYh$S++q*0^}gn4VY7 zg4huwPRxlPEw$4r0LtWVfHbn#r*zO~SutcM5welTi6t&sR=iGqo|WY+nR)HnHFpjv z_V|gUBqK9_URv@tF7L6UPa3Ebr$MxOqaSRas+q5ux?Jzm_*EoK_j&YdiQBatX?y}X zg)vO%AhR^J%Hg-^LWO;%Poqt-X4ufVKq{rAK7)oM?D?Siugmh~$& z<8Smn&txM=CZqNO9byrb*-l8f}j?2Hm7n=Wx2Y zqWAna!1)N9ePBJMY%9#}5!;)0p9|L zqU8_10gqP%!`PVBAH3&tQ^jP{$wZ00sdG^}IXWQy?GRpbbWpd&EAZN8JpWU_BMJS{ z3b}*MF^Ad!miB-g4q)gG*pSsQPM(x@&^ne4f|nz9q_-EIXQo#GwXpr%4G>~pZ@GN z;tzKhu*OS!<0L$N?)~d5XCfvhEHaf>#v4dJqX*D5nvYwR!%CvG+h4L+4-jiS^^d7*%hi($t6{2@Zo*n0D=fZosCBnB~u_4pm__Yy7fMUmOE3wtf4rzF`53ZYtC1f zqAR%Y6Rjo$t|IO!`8vXaf7#3|C#TS4#?ImiODUXL|2{7w_BqbR*&cH_;Ft_jT`+PFHHx*l&mz64p$DwR?gC;H{Pi)Wz1#bCz^3| zUdNn$xnkQb`MCP*R{dsA7K-CvQ*drmk2FWxdOLWGB3m5y{YmuUjuL4GaCE52hMmlY z_9+izN8+--g~gNTeV@ILpTYp>pO0skQj|d|qH+r>kMl5}=3}{)vX^j)eW%40zqMIL zmvf-?>Q40ClZbOw5-o}P-_B0lmtS`Dtxm4y)c(}hogVKzN&8V!sn|KkWN5j%JpS@j zupZk(o_ee5DFPM}X0~_itGV0we$DDm>>g?8>(@|P23{GE8X%LY>gwC+z3(3CVyy3K zIoxY!?LC$>w7a$5Ht1;e6BK{Dl7^iw*O6mZfhVqx;4cCYGC2wIDS&=ChZ}``eNkd) z0}ggM?M&!)fTAx_jyh9$d&FfU#OC`7;UAC9Bf`y-5)@7e@r)Vv-rk^jCn7VoFyZvB zAJ!r#r8_w&KY`2u^bN^O&}|q9;y~*?SZbP?g&q!iM#mX(S(jIWL53%W|C#1*dD)$; z-k!XT5hYemPFLQi#tYSMF>U3oqfaV0gwSZ&N%Pb5lHbeEcTYcI;ef&5^skQZ4&OYv z!SeF>?wa=S^oCsF@qj+wGeoxNn6^Ir!1MXyehhD2aQ5`{Y+u7Ghcx4BJd|sE+7-mk z6ASCqa4m!)=#|@3u8#Z9WU1vPbs^H=SFT*a$m!oOarXGHUyRuxpLUFjUIv>M+X6}SBg z%ZrK=b@s@3pdD3r@Dfu}Cyp!hnclg0zWZlSN93nlCpY@CNHduskM0~hkeTsp2!7XO zEReQofHxRXdXdu9v2Ka9yiu6m9LezW_Qsl(<;Z%!F)S{5`xazz zGHV)UW@@V7xB4>moq=GM5;DZW!5lI%%&EWK{3}vx#_Y;D1dGbZE9!XBZvxK__g!hp z`G7*+{LZnn6huVajxA|1XPB|J;egoS&C$x5hs{Q#*Mb`ii+Awm*IDQ;$!-8v%u9Gm zlKsraVv=p;$j!~!C_1Eq|7_x37cvMWJqMrbu@G}!N!_O8Xl88$i>PR&DK+u%P4KJA z5U#^n1Z4Ed*@>qSXJ&=KivLXsAt$|TYgHJN9$Br>aPzcw>TDLrr=8#ZWh)`4Jvdfq z_%!qs1H-Vc`qpOqm~7BA`W$z-#a-dFgiCThpiVkqWhEpw+GJ+|t6O9MAhBzHpMcf< zqCK3%;-+Y)H7#10J3JL0t!sV`lS+U5{9m6~AeA5h;CEH%#jo-H`Sk0j`TkQRL!^al z)?o*rb_@ikq;<&*x1+Oj3A~6>`Ho;(WKc9sJ z&wBnmcG536c+`88i+XqAC1~H6V!{UkEG#Unt-pDjLVBOaz@P!uOVatwIP1E;Gj)OL zT4W6#ycW4%1HR<;aI><212)u2vd1YB9k-3#2YfQXL-3-FEuw1;(Rt9@q{I+w9G`3F z<6}sj)Naku3b0WZLOeG2wnI+IpB@^P)>E{zSoczMH@z2x)E<2^4Mcm0rEZO@gAt?P9s6=g50k1w z|Flc*_Ft)NITYyZLqNwUN@b!n*0OJUTQj!%8E{B|MTeT>KU7tv>J|o%o12=NnwyvP zJHS%A5E1n8YE1=%obw`1j1fZ?CEq2^pNS$JBG& zLg5B)Oe(r~Fsbhv&IM38XOowlLd5QCrP(oxq1se9?3Z*bdc+xNVKG5CTqK|_E0EP- zpe)XK)QZpoz9p}RI+Tk#G)R$CHR-_6@nC3U=hbYjQk+HtobOgEUdCtMVBs3lk2~pp zTttdjG%v$;cE@+^rb z$ig1qva>z|Iup?XiNw8)<`<+=+I?R`Jmsw+83olYy$#zg>vRM z>r$@Ka7Q<@b*|%hAXzj#6rS;r!Q{uk!d5HSaJ{o)^jI-@(r8OwmB%~TjgEaj=CC$lb3C2no&G z4QCjW+n#+*qw7n$pp9H52{vq*Xy3K9m1d_-|G-m8-`V13?#CUoc<;MPBK_zdop6|@ zh&JLAPX;B;{CEFfw-+hGg8JxajopH{A#9Ca)v@lR|E9%@q*ZBTz*{o-9Nw#?75*ErQw|Rd`4;UktM{E&{aK7I5#-h6o zJ0=Z)S;=a*UOYcueYUOo%r>~?TWM4tKOilc0O`Cd)qs}w7R>5OrpKN8O3WgD`4T$- z2n711l|2hqVJH-kc_n3K4F_99{EBVmFn=t-!V8;q19b8@&wz5`E;>4{!eXP(zvAd| zS0CP_IY;65f*$RlUZyoYb|89v>PxVaEkhr!peCo5M@J3c4rOEwrNXI`lf$`|iBo&; z{+f)2u95911#kKdnN^Ydt;nE1s}q1`2Hgnl*|VSBfoUd`tGq{CTuF1ulYj@!HyFBj zgbK5&XltiaI5%Y7x-ufmsVQQIV)fVJIh(lCP2KkboPzd$IF^lauz5UFdhqZek8?i! zZOx#b5^WP8l|afKW}uD%W|6M#V2lAIscp)GiHT`5Kq0d$(jr5{Z|eb$S0ko^>Tj zkvVCz_JsKkPr74-3^&Y#zbOA#Mzl_0TIKiE?}sh5)u+}O5~!8g+2Ui>$42j@JZ%dU z&%}wpTQMU^Y_AZFwfpA|MtC5q3`|$Uo=-}vH}y-SFg+^NQC1MRQz3FS;1K$ZfxSV| zTta|5oCQVSNG%ZFt)eNA{(X%fQAAbW_INvYe4p@OTo-cHcH-Z0(kREngp z#g`3m4L_pBk(w~Ip#@bqEFXL8xiIR3?v=8HXRUvzlzu!_;z3+wbnN2jeYWtjN#voi zF`%roGc!HORKe>}7wGlt`S2oOjsU$Eu>f`t_4JGO9qgb#b+%m{C@w^EZGDeIN)GVSC2v$DLt-s z`Wg5AFJ>*TySoKwvT(t)s)2=tg`FULze7oBDMAblWKWR206WG-4JGAFK^mHI538!04 zgAE^$J!mIUE#=ABSpAI)>>tvA>-jSg*YK`7Qk$U)KY9sBU8AzzMfGMK{>Doj2unW8 z-sj`t=}` ztX+vW*7y=TyUG3gtQRlFOiELSe*XL!=z{=?c*&YxX8~LT&_vE%mIr468Atvc0auFS zc8?WGjN%6Bn{P3TH0SvE2o#Is4s8pNmy^5+zZ7ZWF^~7iIGlIN+MZ{2^;)6sRO%e z>?18bC)1eP4tj1~0Qo zxa(9T0R36nI^yG-tllv5lcA{cU~xI>fmFzD*q12I(x5-$r3TV2DF)|0>s;3muNX?o zF)&BeUm0}G4B%uU%E9$H7Ssa0LqaS{D(;jNpl}7L4($>Q6@H7nr*SepRzBXWZwVEH zB9)h(dn3hICMSDJ61^WMC48Cm9L({bIE7}64z+I8wHwSNrP`*ysq21&sXIZmuUQ6jsMEY(-xHC z-nlxI-6tfC+zl=MIE{A zMul3ZPPB)q6TREh0(s<%ZXwnlar*3Z7ZP!=pUBWQ0jFk(A#ff5ei&zFq@@X}dn)|R z9sakarPCg@DzDz#_t`qh90f>VOXa1B(-hgFL>@ye#?TA_+9n_$UqG&102T?5=-aKu zXq$i?gi={HOPKkL@A7xh>um;PRrg&pq~=zgvGe@xi}ba&&L4Hzc3694#Ha!aFBdg1 z-+kEdMS_%}Q5%{+Ej^v#t5>=g#01iwV60N63wAsZ}#-e zZ)9>^iRP`C9kWccN_&}Pv`tDOsjsIsG(5lj2BYmQb@2?8s&2(6r)nQoK7~ zBq*`GpOY;ieS>b#q&kr^vn3D4ecpSK`a@UZHN6-jgC z2^V=DUPWcvQzPK5$t_#2n8MB1>Yjl{x3;t_N*@EynLBOrOH?cA)KZKjHak{G!xK_^f z)I-^gvAY{rb3OpOPxZNgmkYFn#M|*p2S7~!b*(JF@&R0n`jbh0ooZtAq%`d zdGYPij0Ywrj*^-2YI(y>V;}qh)v)wX2!+1F-p@fU0#$eGI(K^uwR8(k@Y3lO)_^{2KyexS=a0i%B|^wB{RT_Bdw!YUDbSz?V| z0F%d|E~6zV@GET6U$LBKTk(<=t)^yt%YNWW*VnHhub>p!4BRl;EXBaB>$mmlv(-)P zNTbClDW^t}Z^pnF%MFvv1R^2;kH9Iy79W5cbEyG7JxV?BwFAr_OaZ;lK3v~f`YiHd$U?}#t`dsnZd)y2|4oYk=%kWeW}_H0$*@L_@bik zC*Jw}ewXBdd``if3+$W>Jh}WH9O_#BQ(w}6wQGkgzya4kpciKR z0iY`>8U5hD4&*yG)0jTg-^9ywNTQ=)j(i254;9$T6g zyom5NY}u6on58*dJ32b>E5sgZka@skad0pUo5rD?8R`x|Y6b#S4&lPn&nmAHwF)G?LJM5P z?c}_GYbq@wqQAc%I)CyL#pX6*4(Zl(0E6f&`Yiq_x|^z{Z|=ED$dHNQkIhe&^v%x5 zh@Ko`Q6{2ROAKjL|NDv>o0;Lpz&Jm7L6Tl18lg`F-E3e7qPgMi|(63*rscAR+Hz- zL`yFXhFu^5!-EO`A+lkk6JfBt{FHPhYrg^gon8*z3N@v+aqYB3_^44=fU_&2q7!v4 z82AHY<1=JV)Bzg+?01I6m>b)q`{GS9M>!2lkmFgLgu5 zVO&EENF?wct>CsF4sHe`<;0nb3>+4*gOQPuy>nH;l=ldMPec(mHW5xs;=n;=}XAJgj8@{Li1c1G}OrpVo7I zH#Lz9Gh=|*_SsvLhvpFaX6+zZhn>3J3M$kB`AdhubK8r*B#YW)JPjUa5(2wgM02K!c{ip2%5n8Eh$Yl%e`_!87 zL=m*8xWD|)?#kFDMKkR*!I;pjmhwl*Y8vZpvRXuY=21kBNpf_Y{(27FGkY@eKGKkP z{a~43QUqOY0D9|dvtGTKYOLU%ty@Z{tS=8Qql?&_0B^>PN|w+xMmT(>dZN~cO+X;M zBemnRwU}mb77OKRKC$Ldo{E<~rqC{%{mmeQJ{7y>Zn^e>8dgaAbtiEaWrwDIT3`xD z)K8APV$-XgaL!-702fv$pk#AjRL0~1=b$(6pw*9>-M0tY)b82BlxL}Q2GJwyZu5=G%@N1Y*uAyBgUd=Do zEv>Clk&ywH>@5;z@7=5%AOx8D2w4z!lDQzQ?u;?v3w5yOPPi6^nE{+A6dv6MRA`*2 zKJyM98s3Je1ePmzn!dUoyO-(Pr4}^5RMUgYNhqNt-NHVg-2#dvwL=C~`FX)8R7Aw- zdDk?cFhzmE9YP%nima1llZf>+@CyzPKVVk=tL`WRX?qL8E!&^exq({=URfNj1V?3n zW4L+;2)KYv&jKbF2{wJ^3eoMHt@r-1H+e>Wb^k)gj2|{!540+7kNM~xJT+8@AVS|0 zZ{KIstZf(7*cg3eTTc?OX^ec3<;&K=Y#=)tStjRGLKvqSBH$_XnHlu!wFT}8rg2QsCnbNW?tjJut6`G({A$Bwt#>Ktp;dC6 z-ujMpW)N|msaoi1)1pXyi?p%tn>;l7wE&D4wUC|n)PLq0Dg0c>)vwRmZWDEXX4P(v zUPjcreRII}^yp&@KmqP|@Zov_2!yFG=LLY;@9uL1oF1)wMDiWm;zw8(V6pQ+Ljc=g zdU{%(@HAJ$Q9(>hOjb4koFa2hQxX@i)GQRAG~exQYtvwjtY&4}qAu|+f5)iG@amC| zNI=?~>Y?H37`T>IoRDXA;0sZ{Bn?_RI=ZuGPjjcjQIq+7_L-t1b7&dr<0ak|_jPy} zzu7l-pMJl0!66Qy+B~YglTGVw*)@+4^~W|AZh!2oHWz0A-mXPpUKCXQ`pnpkK8dTx zq2{M_b`IHlN3Ir+QMrKOD?Fn2goT7G?j9*tLyqLuR<)(vxp{}|jtUA2LLm6iI=gt+ zjvR2P1pnbf5I7DZjao@pQhJn9fS(H=SBLha)9K>_!wUb&U)8p>~CD>lYL!h z1+nV_uhR*QhFpSP7m9S35R+t^d*5Rx!FHD2flAqJefoBZsGtxzoqZe&y+iQ`nhXa7 zzdA51w2)2bz&RTq7guEr>X3l751m+EM0VTz>SjXO>u_5$FvUiw!x7k;Q6<#xX;g=3{L8PVYMnQboM2m zck;bQ#7-u4Ol^8sJqZ~bj&IHm5gAqRx+PFWwmB2Oea;@!z`y}Bo3Eo5GCg%&MPqm; z<(+YfLrMCxXP{j0rGSPTFjkIBd-#RAoRD4nyq?*r{i7uP7>8c&$aK%4tboP^W?on?Oh&9F!+M`elAl8>F_wk!NjW1bP7{gS`;Xh%t4ZMQzY zD*jf)(q5-pIRl;f_SyQdXQ#i=>5JX!}OLJ0>8oj?}lEy{oCAs$J>2?_LPrvMC*KVY+L29~(k7N9rZznRe z9O_?W@3WH_7#yUDXapOua+Fc4MNM56Ivy{Qy!?9&C88Z zhhC@a#!u9x%MqU&5{*9LC)_#8%E}1f;4OhLxUdPb>G(Ew036jkvd>7P!nn$pUQJ3@ z%V4?I+>&lE$)P4$&U}4VPtl}1;CRWU>~00!$N<5I>0RH@*v~B@a3y*CDQ~mZ(BcaT z;>9N>M^_DiV_3!|E$;GSV#zvu0BNyCszi&>PD72A%J24DJ=DXvl6YXt-vEcipAa#z>ImFDp)OjZx^p70#Qp8oLKrkd@8znGhP(o?S0Qt z2tynCaT`EMQ3VAB0DATgKR>+yOsMUhMFz3aKo!Fdm*-{fXhY8*DMdUqL&NfF zh>Q0rZm;O*xbDuk@!ZOA2BysWunLCQXdclDhNOjv&a|Hrw{5cy3LzvmtkDB%#)RFj zkDWXbsXWo~E_;W@7!TKw5Kzm|I^ZmcPrdUMSMFw@);1h0xguXdFCPVewg9j#EUKz> zfB*g)_^#d!J7JB};A-GlB|0O6UgbMD6TN-l+=)U*pW{?~p@nfeGqBC{>t3LSVCHQM zoQHD4latmY)Ir-2J#?xYX6-oxRLaX2!hwsa7XYXO{mS7^pYvxK;Xol_p5UIEio zf_bheUwVgy`q;^U_=JF|^>0!yF{9y5%DAkLTV5}`?|-j*?qB2SbQ88=nD=*)A+R?jivk+IF&Wz=@hv-5yc6bDD!%slKa;k zN}5Crv@Xf}l^YfVS)(l7+W84r(dYy!Oh*L(_z?pxdi) zqMjP1=|b%~N!FqFwKsw<)AFXp)5P$DV}!+80%)1oD<*%gN95x_oo*5d+8*^SGp+Xl zOu0#o%V+oNm@4OS_V~yw=Q3=l^Xgb|cam*dS9 z2n(`v=54}y)c`PL0t(N3V}Xi10gr9TdiNFwH$Q3z99d<*c=5sg`x=FP%Jg<6VBi1w z^9SfO4vu|J!QX8k@d;$XRBr1fpio<})6`f(AZYty;6*J~Uw9_ksTtWzMWS=t#u!xS zQzS?9QSdkEibRTC5Dvh|T)Hp-D2Y_EK;3AfF~)5 zVXyC+QR#=>`C`58lYjjqs0a$SM^GSAxdI&-^!HWe<%u8+g?@n(K#DmHzAI)pvqGU$ z-756{?Tu~SXjh?(plfJm6?z)PGh+tt(s!&6eLl0c&0m}|tkQ;9US!a}e!f22gac#n z#8}5V(a4WnLZIOg?LH;kM&H^gR?fd(PD5*4}gffJHgab&2z<@L|bW2FL zgft@3UD7>tr*wCBgMvtdw1U8U2JZj2-nnbtb(iMc``^&c}|UmV;htAEz!A z34an;H5D-hjs^Zc8`?GRf~nwef4Wx`Y*j1vhd#fBt}qW6t5p0qMiae@yhyy`R_V<+ z6M-Q5dFa#O^&^leuF_x*HQ+--+KQS>|MRyDlW$F+oRVlJJ8q64fX}qMY?WINXr|u< z^SJ%7sh9=1+~*MeB{-Qb$Rx_pRd`-sff}Pr>EOmQUGyE8RGyold_YHqPQ;=(5G#0~ zUoN`t)+i8d%K6T0HUQnkXTsB8-?>APi7i#6-~xy@fFn)m#ijI*CJBY`clvgV;Gn{Q zxPMKcSK2|ByPwwh$z2PWFC58@fj0Y_=k@B`Yp2wydQkT(m}F#^myt0kx;YJ~fXXFU zGE%p;Z#K_f6u`%h;u?f!h{Mdv3fvsP791-@yL{IElId%It(FxivIB{gG|+Ha!R_p> zNAj$hYbBW%x!t7%uzrjje2QQScGqsV}~+!;*#d8_gW0M>+qvA)F%4CPzvF3tV2Iu)4ZBC|Ur`4Dj3FxUQltG`W-c-9{M!WSIawM3DamJAVFQVC&<2=AQu^ zx}aJF=p9BCy_y60KJ5vn%l%8Osw(85o`hLFXlQ!WHoK>o`sa&UZmS!C=HIwAy8Y4( zl|DgkAzLmkx#t4BC-2XH5^CW3OZeYsx3)AbRZdJ^b>^0Ilc}D$$fGg1YeA=P7ay0D zK3bt`_Vl`M&FcEWCwZH%;V>Gm#`4zKm)H_`xtT+g3V_li?WUHX0 zZ`k4wcD?F;xRrT))l{C6R7jX2f5q^YBfg9BMc$#D} zT?O*EzL?qXGI+&!hPdu;6qqT?@2CPKqVPnRQvW`z8mqJqTZu~)#3#ImJNU!nTW@3c z_oJDui>V^l7?@$l zNpI~D)1tP7Elc`1%uGxj0EbcbAZ?W!h|p@aih;ATq{N!qnxM@ww0c)K{;}A|yP&iW zwMo48Cd;!GKe;uZyeDwPv8wUw>XuLDF$lvQc5!(3W}^z9l_Ut9=Ez>8xh|$YbqlZJ z)bP_I6;t3%CK2(`Bke8&mg?0%U?ckn@&C;&+=$4z-QQD1n!tjK(+;wcW>xuB0DA$Z zn3YwrMv)Z`J||M&@5ly4&<$5gi9Rq0wu@KCq|@gxTI#34hq7k(Z*6S)XeD}k zt%yO&1u~y53BvYk!^&q*eb{rS#_N8)#+H|oL?3FpTE41jPT(K?-SC>uzeo6NU7*X+ z+ei{d6Cw&@iW#k=)9xdYGC*G^WS=-MyevtS0=Nrcl)A}6S55&{XzH*uFh+sR6Z|Rx zYKSwWd$T(382!2CYgr;dYXvoE!T>b(`eJj|i0TJvz`r@Sd&>DMMh;kiVNwC&Wu`dcXq&pTdV_+n`P$}0VB=`;s_fhrnb2%wg9 z!TZ3v%t*2c^}F=T_$h^0L5fBKGkQRRhYK;$=z4bU%X}*m)W${zhI{PnL3TW66{(ki zqyp9x$e0E;RrxFvzA__m#iUVEWLDP7MN9#=+m+`<`vkMF0cU^;}WP`Rbo@k)=+^;jM;n5r@_k#q|qb8)+cq(7n0& z->hvCU>k`=gk;r7NvShBr@VpXM*H~98jZmFK>hV{`QNW}cH>;7$j~Dj2O9qL-6_F& zV+S*hkWhyt2^xR~X+FWd{sCO_yFTwU>oQ-U9v@fx!63r3g>bVVd9eKk60I01V7@@+ z#kslwunGe5-h)Qinm6gQmSR6FpwsY)2Q|6+#p+s+y*Dq4mdY8|*w!ejp2RYVc=r6q z16f$F+jof~{MVwYy686TEYLwi+_$H%x6Tgjj{}{LgvQ4rbG6vIBp#;xFxwMu6fv!@ zeTmm4CYpD4oppGV zfo@Kx#Jct#dPFoZ+81xniA)O@v+*xmFoP0ek2p1YcKi z27DQfs9=UT__YBYVDqwLqE!y=MKCWipICSYNFiBrS- z=tra!jqh_*Rzj&Ss2hzzmd`i3W%VTp#^L&EG-4O#p0Ck$3z*%5R8=;*cr)f24y&YV)S2FE6CLh&2H~0PCgxz2DV|^Y4&x)(vr2+1D@%0BEafB4I z|Dn;cPncj+;0e6d7!I3rbX%^uQ`vY(hk=SjjS1s{OiWVi%?z7C%FA|`K~V`*H+|Nf zL0kwm0FX1_TldxbcA{al$qgc5=qjGe>-MRcx{I>Qi|2H3;AFQcZK$i;TBHX{&Svc_ z(2#n5#B5)@JIW)=$sm zLJ&U!l%jXJLn-`9bxPQy@Dd;B-8w((?;w>!Fbn|EFf^dkyki+$#xQxxn3f!z_*CKV zk60TBRb{kyKwRZBI(QHMcYGrJDkVAY6)Q%n!wg>A2~yGJ)758hCmo8FWZuX7r!-@k zP)Pt4MRc8~=kstjxRg|0ovu2MRGy5{PdP|y^lAM29en&U=|#b2l(1MU5&?hzE5YRC5bY!NlTd>mk30JaHn?WA^0d?tPQqlG_B)_zZc6DLIc zGauQH*VDJS-4t3Nx^$H;m@KafpOC$)JxvQzKvh$k$wBsSPUWZD;Tx!DYC48 zZd84za^1Oj8O zD_-SBYO~nBq20U*?^H!0D5W*v#HsT*;eGqYuJUVa;AXO2<*Q_{xLc0zxi5wF-T`vu-bT5#t zQn2oDGCc+L*p?$MR2sJfWN|d&b9aCMJQN>}hh5%&hyU<&17$AMv%an_@V}d%Zufk3 z=M>MVoLYDmWiFQAGX=|pVRr7zxD<&jJZ(blR#<)R=UYS0Is%iO8{JnH+aC0o31L6{~eKh4Ap^?SUCjZ92 zgoQN)|B4Vu+qH%iy-MJ@35z=}$Px!$QON#9V{tO4ZMELH1#6Q5@nbB;R!LUzL-pG)NA_DO~g+TxOuNheF49$u~1zK2zE8*S;#e$u`BGz z2k);9f!6`=MVQa{g$l;OAH~Si98NE~3?0hGkY!+G2cO>y$iV#Q1l2_Ifu*ahMP|lq z+^#Gx3QB#CW7zenlkD{gS2cCFohU+1Nb z;&}?;k_63tWW&ynfqSDJZ__A@P@}%wy;Y>+T~Pn{iip-=Vgrb_hHM@VGsAdy7Fsk z&4pFYiC5TEl)9S(z~EgZQ(J$s&wa^f&H8P<*to(21$WlMyhG&%nNxamO2n0<$(pJY z%76ofnrrP+luHK#voLH?V;Y^LbwG+#SOoiVw{2laG}~_ZGhtx=+A2t?c5w6EpLT6~ z6xMkj|DgE<38|}uoRRxDR^@H_{7~b!5$+3Kmf_K># zzLE~uz0udcSOGM|^~=>}$6^f7XKWAOw5-&A9HhQ(5a1=5-6 zQDg&sEsye>i%+jUPdJyV#>{$R{rs_8+8hHbaU3J1_6ct*)7*b(%p21$Uz&ef8!3q) z3|0&(s%X3p@-trR89*(ijwA2Z6Ye6_f|hE|%2&HKwp?}-6FQiuP8yV0Y%X&id({vE zE(XKJuool3AJnXj+45Rh{x5-xoNN*WlUq;ci<(i-gBa)*-$t7Dr&iSN^hRZt?Bkp3FHnv;cYkCc_?DRJrHu>4ZK2e^YeM#S79&md&Sj^8QH`UMo5{x0 zrxp!vCV`Rm1_E?KGBz_FbT808pS9RHYbG9E9lHzAM#CEi)lPFp!gATFkN)nsN!z+z zljW^&8y#f1`Vl}v4XV>Mb;A~mlti&PCwA)x+q(Ls!m(s!+9YYnN!m)OHc12TMI`?A zm*^13p!zG>SM=lWyArDKWL^`=MSymkGrlh)}s!Fl8IF0h)BiD<+RVtsPxOTrOMC|no{`w zh;lNl{+oQc#T^Rujf;k70WX8ptj?Ac0|Ph6?i~=a5Pk0z$VTU2rv@q)@VVXCQHAZ? z5g3W+JMY)x6DxEVx=fYZ7Dd0?EvuD?d$nR`Z!lyT0gkBN`Vf8cG{^b}^E&JER`Vfm z9Cu5Vqd=!pl1Qju+w@nr=mL{OLEFgLJIr zWJOMZf08U?nrl`xDPQ>=ISybT!uNrLvXOG6 z5esmugxGdm>wwb&OjQw+qW-nRCilaBV?UhHsxQAmF4~FY5bO%s*heP409LZ6HRZ}M z@O*4tr`5xnt$q~bp?>ITXf#}FF?9Nx>GFvh2-f?kGZ2d@TvPku?h85k?{Q#Fm!Ru4 z*zV7~RcG=U5ucAVB)dZx5zgep?e^z;nWTL8zV_4XwBNtf)<=2_SS#7I{M-+%on#91`0zNG|fI|5W_kcgF?$O~31Rz?fz9x*Y z9Ly8izjq;y=VZ?LRE`NpETO7f9P`x^X5dM!)k=GKJ7NW*I?5P#WiF3PhFGCCm#} zA7J*)>ZyiPb`oR1?6MY&9)C{ih$Sz3Jk=9MnI2ZS4-}YxW$M#e&_8aM^T_xvHWOLQ6)A7g>blce%t4x-L7a+UW~I=7MZC}EqE+pLS08B_Zd*a;~q z2eF9?kwluz?PAZS2}Iwqno#_zw(xlHBY|T2i@o0fLAvcN!y1AB-e(duC>Xl>5~sHp zgK8&~@Ne069h?DNwG2!F;0t5mFu?svlmVxWReOf_q`rU`EsPhP^ba5fIG|!MruXFC z3Zy{0?vn_FYt?k6()QY_7*zBmA~t7V$PCl~c*W6~MC4m>0Y5Fm;!o3*#>dd;NXs;N zi&XvK&7r%F?5=yiORlz5;Zko1@Oip`q9WVs)v@t+GgqcD+pzB3Yd8jwW`L{;3~CtdBlkz{Y82b} z;6aF0%4c`>cg-9BW%PXfoA}`>%=!yP{wpH*7n&mv#0x zcGslXoP3p-=j#fe;z&+k^Ok(M`I1JJCi*-XzI}`qPvGpdH&iIggUOKjEMBIGpNIng zc!^Cr_nU&{t3)XZ=83@0l_obDM8kZB%i?uu%8q8XG>ld;{`bGnYf_MiTt1yDjmAkS zULx~dBlu9O-Gm8;QNC$lm8jeXx=6L(hhBC`3b7v+(QLvTF`&mmshius1^9vmOW_9{^Ie5THTqzw{Atw} zBK3w1^a?{U(g?eP$-2dd{%vu_w3gEw@w6tI^K47>xZ7IJ}86jOoU<#=QIOtDrbQPTE3*rxloBXm9gMNns%=H6mJX12A8IN-I`=BV`?^ zj)tS-Qo3y-b|#N1o0@bUv_HdW@NqicNVg6iAHfT`uhU zbOq!E_JRl0J`x`Rmo7WI0>FS*=C(52>p=i`NI`J6_kOQX2?+8}=HXIBRnVVx#WZ=* z`r^k8i4Kn8O}?AS-4D*>k7tk4hicQ77}EDXbSO4Zc3P#vq5-EJzjBH9M?9J#V z4Kw#k3|Sn7M!D4L9#Y-}M5b|w6aU(uUzWn({H>bg(OAlM*9%>q*ShgpN82%}=A9zs!vl`yT)!W3W z(eP%TrH{KWLw@FJAcF2VNb>SC;Re4o2pEG*NOd#C@#xEMOOUFTKht~jJ{ZIC5nw1-L4n>{Ft4UB(zRIfLP^D zSwBhLCts+QznvUZH;~GPu-HuG%wu2Ada{dYIBX0BlhXuha|T^`W5OTwQs227j5gZrR&31md(u z!pzXn@Z&c(q(yIx;^{CA!TC@!-(dFF;dNY!Cof_)mKuKpYFI_JFK7$G~5463|9R848r`1|+Rl8*r{eHi)U7bKfqlcxZcU-^0#RFMTY-PieaQ&UKu zx<_kiY9^-Ud_7gD)ru{k@d3_424Z?i4j!I(^$DQTR|A@10{kisDt2iG+FtI^kllat z&dwWcR~#e=k6orZKW+#f49`2sKP2gt-6gjSMaH{7cn7hk~k zUgc(xfW?m_8i>KF*c)4-#)>2poy-Gw4qncGXW6R7e}06`kCh%MC-@VIO%x^W`53ny z|2q2n4yT$TLr7}LCbjM)jLZz-iWpIGQfidL4t<8v_OgNhQKJ^6fI_y|s6_b3T9{>a z7)wbq*7(}t?*pp*1+`=;n6YnO@nnwE%G${Dx|R@KJT!JgPEf0mPOPJ3 zS6)`?+~(5|bH5Q2B-5>3mTvm3Mjlm0na_vv+(T$%{mS&5)cY8yQFi|NJjd=>uiJ0A z_dB1R&#NSPxwHDF?-rc|j2g!G6r#WJRU~wFDx;8zWzTd@&`jI!H5V)P58DJpQj6buxhV8PzhRA zBYwoHlPrw`{V*^_ni=meF;18oM+8o&P!03$lzYUensmqs(30W}_NLZlYr~D)!%I%u z(+-QzOT4PtX~^j2_%$%f7lpp4sjJtz%_fhwZW5yFxY=^YoR8spHkEC&>-f3Mfm2z;c=coZD^2_e$1;9~H>YLeH0MH{4 z>(^?PD`mXQ0-kp9b_c*Dk^Twi;8fvvJ++7?mqYYaeuf9c^^)MvvqRzVOrW%;j(IFi z7xkhb2Jp5fCy##`LSv+Wm880Q%1S=$YaYP+9}$U-{`^V9J~()Ae$E?!=~~_mJawHQ zOTq?{mjU*HbaYY%2D+FZh*+!!jo$xq$D#GA6PEyb-2~X2|QhOW{j5!4a;!}3#-0( ze!la!$6rfThHhh}bC2?@ay!Dc{(3z5MrVn_&kBMK3P>=9h_8Ma7G{G+;fZ7Da}N0S z;)|F7Erh=$_b%*IZt?ost@OfO{}w4A3uEr4&KM!l!@dZk*_se` zvco3vsr$7qTQX;BP`=<)m+>{~6g|7~Z53Di)Lg{a{rZ818L1_$>?rC=Px`CFPXVlm z&FhBOA9@3tHKDv&(+|hA@(#{teoAAWN4?-!ezIcN(W}J!f@pLEV-2evKy{Ul2t6de zl2xvR*6L_u;G6G$v#0haS@f|&FH84U9eI!}4M=8$weW8$_0rTrbt2bC1;^VtIYYWl z0OWB#R+^A(+UPl4mVeIYq#_89X|xC-9A?14n@yfmN)&Bn8F?}?Q+C|9@IUK zy}Ou_tl8MOB`^0dmA=HBxk+O{_wVtZXC3eLn+v}t_NMD(P3h(jBh2`hz{RX*ZK%+3 z=R-f9q@Nn8QF}ymA+L3E`o-?VsF4#_=^LTZOSO3C#-8T+=cin!6yPQRZe}HV2Z20Wb>{W2avF7?7Fz$`p>Kj=h{oJzg zB1l$PqaoYl?l$6RnK|jZ3x;g!1%<9DkHjLT0=Po~WQcied;3dFjG^E@5<_E1lS2d+ zt7T&(LATp>NBN$HQ=sxH_d`^8py2rikh*T2I7&<9Jpiq4l9@n`-0Nu59`L-KKYsiJ zNO-p77k7ZS>Y}N6Axp*=fNj>f?L5kek=Psvl`HcipICN>h`-fSOPF7M64bHbwT8O- zrof-tyCx7UWp96dssMkQE7)zlIOpzlJqk*>`cjnc)5YY^k?^^t!AOu_(EQeIMIL_= zXM%|FUvr~%`o+=cl61AdcZEapX2lE;6qy<{SY~ znE@P}>nXF6#Lj=AQ7nHQHe72&{9ZA8IUJ7|`5|_$k}@Pma#;Jbt=!YJs!_t!QG2lVxUn0Acw*tdjneXVoU7UZq zyXiI+W&)iM=6&?MqtWQ2GlQF{#h?ABfqn1u@dl@4s)!k$Zzi-vh)2RE;Hm7-m<({=^nsOAVV<~pP8I70DJL3k z;AnSiLCQhOfpBX-9sv9FQ!=tBIMCCIXZ~UVShJXG7-nWF8a2jC*sVM9WX$kT-!@tar$W5e==zV2SMw+|bM8=?Twt1O9 z9{LZ)hL|-iKW{brdx~>;*1h4RBXn4`Nlex8+i>)3b5N`f?l2>nZ^-$3p@-`0W~agC zIN^j@ZLL;a)`s=|m@C%|4LOD44u;B*rnL9o=u_FzC*!Q^8zRh>!9cgEQI`F;~qW!KK!$Xg!GG?!!#ereV1lxKb+T6pcLQyb${c~xhv zjP6fj3v`MbS(dEF)dGKg-E?E0lwg49r~6A_^bWK&jp8<~m-gEWsyoK1N76y2K1H)x zGB%o0nzW8i`)4XnGX+pu3}w(N)X>#!#pcy(+pbGoDNUz31F%3~hFvWaA}KKuD7^um zSjhQsW?UQZW~07CkE~vWgSQd*$fE7EYbMQ@nVG@i6MS+ez1yd9BeR!sZDq=*yHv3@ zxkK4Ppj~{0oO!a8%T+jA8d5kSBW%Jzd&;U*dyS?{3nGcW_o@e)g2ekMQ zB$18^cycs~B7x(a@Fk%_kxIS$e6x}{7L}3l`+`Y0qk(yRJP6LtMs)SnBy-a%b$eS| zE43dO`Nnv`Y5KR#tgVR^3lbG|g0KLom_#sNBuB>JyXDP52&eI+ykz?9QuorVT8qW+ z>`;%iFWBu*(Px299rW-6{%Hq!ikW5Ce;?3Cri&Lblp^B|2)al)@A8C!>j1i~HM#dsK0*RWDU2!@Kt=M*wDNnnNVuV&KN=Ybssl_tfLe8r zY)XWn_w6s7`0%)RvOaawfaY(^@`%l+S*B+6JS(*{8vXK{Cl8C;9#tczxBvcVIX<9` zZOmqwFkjYtLrnz5r;W@5$S&PS6+>n_T?*r@wJC%fJgu*gR;@SNnXRUDlO%pFhPklJsQP zjSU*Jp{0BrTK~BpN;v*mz+KO}^p1TSae&W}=JTE-`qgmhpZL&--3xu!*G_%e0lD*c z&p)9g`1>zuXUxjKD)0}8C&qV5J>w{OqxTEsF+iKC95_RfL*{5{j@r$Xc=rhGR)CtY zaF!G(bnrw##q7pV#2vaBAkE-=sdUtAhd|nXEX*hD#wahnFu>=u4D<&Szy{008cSeFCBmndjR8ptT2>!bF{>--)o)`Xd)*{vtHRNzzV1Q(7o(t9U6Dp`mLonJ4j+A`B9XAMw=p zrwha=uOaRbMilWZBX%UI55piUTFM>j!rnEdH;jwuF$#gzThcN3f))# zC+FA0OYYsO%FEYxuaiFPQO@$w(CGO*&i3ky459y4Q+-}FH)U2(RMl*zxouWZJz1Au z?T|*F%Z(y@ic#*QMny$KLuI&JSU>dV@__Cs?in4`Cm$T0VRYPt1=l^ERQA29hM|il zAt~*~>!=0ptHRvgVCWVevniW_%)256s90MXrYxK@5b-nzd`>o_1H}z zE@KT&C2g3O}7IpMlOU{EH&{23zceUMiD)_|;nHyZ!e%4)bP%z6qKYc$I&>E|rPCz%4nvnxd;Na6SdAzE-?@9a`(qDs<=1q_mUx%{D9z z9ZW|XOj~a9VCeZd`$sF03xd;&&RVo5?YVU_so zJejwT`Rd(^#1ZMcP{@Xq_jbaoDL4Vei09|^Q6JTPbgdVRgpUmZpFv3gA0Zej$>&6o z3rXV3noe`Hx`A#OAm+t0(aNPzE1#0i#K#)d6pt=!r| zs`!e~U|_ndAI5)FtPtMb=L4L^_j(TF6<)A%(!#qPYWG2%?*bG?;}jg$d_Gx!3H zqF|^y%A(zi&r^gPT^!k%3D2E|fDHzqL7JXY@~4)--qNZz0=6#a8;= z6qv!ocgE*CH3wqHLQe*@KSl^9je6hcdeXX)@&Z~PtU=yN)PxHvd60KNgfIrSaRnYf z*2uO#1Ek%P&%eIn6+iW&M6otR1_3WhT%dLRikCUsLb~n0piUUq6_?MDkZmS2k-Nqo zQz+$4hn2u+l8}*~Ph;l&Oah|Za5ZwElKPq>RlL%&PGmuEo5?u&d6BJ(fZ+S5gmG5B z6O3Fu_YKSe{;2H#YOjoBudIjeF84 zFkOW>ObM%Udk4ts-f&PTe$bQ2m;MlO*})Ev{1`GH(Rb@l}0O{9YVBE zuTFjUqVYx6&D<&MZQ|KequvsU`ATEV4ac)uzRny<4j{a_D;G*IP$Mj`E{*`n!m_UM zp1AD8E^Lt8+MYkc5>m3?8t?cODJJ`Njw8D|Tgr0xamYzc%Cn@r(CZ)5X=v(`YeNmu zR|6&Ibd>9wGsTs*xE;U3-bQ`RWvr~cV!tRLYk0=tgs73f%7J8BQ^@;a!kXD1~sHA z#Otae;soJK$KkT`>Y~QM7!S4Udzf`{98V(CE;MUwTw(f_ntoGV0#m#f{&vRM0z{_hFQ-8=T(Q}G$4HSbL>7tpo{sX3O~T4--h`6#=oRADR}c55hu=y{rtxJjqmK z?vC0E)%;SX;7BNzs+(~9_G*Zi?$Ou@#mz{4M+X~!6qN6gpAVN}^&U#!{Gkae_`|ea zA|rTQABd-)>2mY4p$f=#)<6uXwWKHXS$rE=?BswC3{$ z(%70iU=a+E7!mdm=u`Gm6}iG}Xx9rJhfA|zge7sdWl^r>5qY4RXZ_Y6tc~i?%FxCo zHL~gDb4hGs&}b`zuJXq#OU+6$!Xc|hDvUOS%DMX|SPb-&F1o(_bpxXEFq7-+Ux0v$V-fegN8U*m>kAPbuE_pnO2d4g9}A()by;@&4U&DEhf zyK~id%0e)U=YB~PXFklmlBx2L`KqB4f^qT>!&`WqLp_$y_1VpDj9A{p0_s4BfsDC3 zN|A#F%HovuR1MF&&hvRyF5I-os2f(O0%@!=2Dm2VTsQxZ2?cVhIST$dE_;bfC}w0J zqYNko!O+eXLbO)n-^m~D8Q(LcAknYn3ETZ1i~V)(d_KPbp-$n>KVNLAiC3qgxXW_C z_Q-jR)L_7bgRLv>nfXA8*^|EB+c|O%`8EuqWtM^Ryu0GXxtm~^89tg3UK|KH0hp*! zvRgdUHW8>BoZ=A6hvc_|IffieKa_KCGNO!s8Xtjj1eDG+7;3~G zcdrYLc@K17JfRdD;nse`g9Wb43p*z)PB{bdYo@1pD2*EWY6CGU{@8?MdUt(WwD zRh*-%PW%A+s|yu{TgZ5AxGr_n?l#EG-P|nMC(ObZF@p}t5jPhH{-%|1^OldE-6gJn z{U_)u3k9WUdSPHf`}^t*at)=f?AO(;n*a8Hu@Ocx_IG{vOp^0rwo%O@nY$c}4}=6J~86E<<~zDr`&46SAt9P(;)T7%wR4F@_{-2e9(p}P6X z*M>4XQdPso_TcKYv_x#?b&B%t)wR3A-ictZ@|(+7ec1Wf(xyFyyNW~lualfT@bZSZgAn)u{M(dPcR!|GG7 zJ=SM=I6a!LWDSBbMZS7Gs%Ep8?5=8M#hkIdGFN4}n^Vy~Bq*%ySb2MG%*cc`%E(=Y zKoKE~kmF&;Ae6e8V_W9y`0daOdaSsN+mUg3hf!3Xd;&}I-y zpA89EQ9o&GU0ZTV$j-~}BaO=1!)x6}+qo${p}cmwX`Ydmqo52vvg0rXz(wW`-xX)( zPOvC!J#aBj;X@Z9XlQ##W^pmXQS?RF@$%sIdN;tLh=Q_VO7CQ)_lbq_^)}%;$(XUD zh?mEA$g6 z2cK#>w34+F?`GV;8Qy%qm(_QXL;a=h&)18F#*r+cPt*$X88O;;f)?td>0YEM+@=w2 z0+79dP(}908{Gir%ktUT6~$3sgHEOXuU&(G(us8TQv zyWKCdAh#eWC;|^~_3jcF>xlF}xqvy%lC!7D#X4ray2DG%SA!?&)Y>-xK`u$6&cSQR z{mt!8{SgL;A}FurMTOZ*VkgIiB!WhVwVww++=yv?@_Bj+x8%#0zbsBw`oF(FByL!# zU;Ap0eLnl_zn$@SII@c>N?H!430~p8{^&`8$w})AdB(fHaDU>$!|>gM^ju;OkH7y* z-aHp}qHxRkqch^M`E+`p^~7s$WnH19m-2QV-QN00!}sv4c{D*3 z{`<*cx2e~@-RpOS(MwVqNs+x<@ZRDh5Z*S#>#Xe1Mi9RnVt6@C5`GY`oQtcV9;7SEDRSLn~cp+!Z_?4y_F*M1hg2M-gc;8eDL4_Wmxz6QE&Oq z*@Y}!6i8|CCO`CRH>x-wt&@H~G8pm$bSf-o8gIO#9xJ9$smAosj~cY*p`qyj{|POF z%^Sv>R5i*Xa&uy09HL8MJt(rShUd)Q@;4n-?{h1_Yh}>0d^HEHJb=Z10c0CNYw#ye zp3q3H#2bOD6cK4l;`vYv+V6lr=j5?n?wrgvv*UoC(y0+6w5qfS>`>$~3< zmn49PSjL?UFiMXfKaLL%$9wcBCp9A+nw@W!bJmbe6_7#SZ|ClQ32d_R$-KZ7Jo&Rt zQc|+fjL5DOD|`UTiAnVSEOgPq9DD+|^pdy6xn*yye!=qqr3eh$oqO`szlK;i*# zNY2v3U}!V4QG_gZy;kwU!UACBSj?2_?Jd+!YddL!{)9O-`DtB)=MY_GW#Fj?tR5XW z+zzy!^!2^pye!{X1gf@ALOhz6_s>+7lrX&U2mlQW9vL1U9vcfV&$)c)`{;`SRD2X_ zVhUhn7#SH40mA#}s31Q-fjlzX6qE?=-Ma_CJm5xvQymJ0-v9i`F>5@^{^mXNnnKQR z?T4tuUf9Mp^Zk8&$evlqu7vFDJh`-#iZ;UVY{0@u)B>}PvbYGo%mmxpX=czD>?*9RKhWo2cRmcA6mGgO~) zss}L4naMey0+FK%$9-1%Ot}M`ai1*_N=U|06xIluU`N<^gCWeQ_$nm+?g#gCI&$-<>FEY zx5`F=lvl4v5UjbRQ2Aeja9u{=dS~5~eS-Zwc8wTs} z$EOBY!)yEI8@O@6D+P_FUHB=ZdST43Oa>a1Ifg;AJFZJ0aCHT(!9i}iW`5A~rm(7Mz-5Vx6EAYoMdv9R`RWL#)}2}Cfe ztHP#h-;`|A$_5%qkLKpWLJI(r05tL@ZUd{(>1}2P1|H`_Ls{7n8cC9%FJEzvc&%9e ztbueCXu7Nqeg*Udd%?)KaUh3d3El(HZj`A%nom*KCF(OSU0_E04-kfliHX77C}&c{ zw|^6MV^l@?E`r>X$oU=`d!35#7^$dCMbb)x@^Y@KU7`!xc7MhhXdb8EiB&VdsL*bC zuVfm$2?`)sf|Q9Qh;+XbaFVOCUv}m0o`CMl$X8oecQ}C|xrrNmhnczgrH4?AP*6th z{+F@y6LLPs!n(QyD4irh^Z3onjWTi%xi)_zG9A1&y~5nMzhHG%=dcZ;&&Q}hFBA=o z4A1Zc)e&mYV-SplpxsXlgJ3pY^;lMq#@#Z5?ms=w?Rdps4vjNB`}WT+E-tIK7cupNVmvD&Gg#|qlQZbOpS`8E(_|k%daJF?+;3+d zi{n3+xNrc3hv0_i>Z_-GYp_eE3$B%gcnmfFUS5HT-O&My>YeB#8N0pbWMoIZ7Q~BZ zB_foIcfqVDA|e|3>H4qr16{?=PGthBtO5}*tq5K0uqW&fnQ*|5EjXUAY7C=er8(c1 zr5!%M_ot*tay}?9utBHf8AkGCg*R7vlMM%1`tm+#e6d?4ck?@5p+KmP!W-|)Iil^` za*eKFU!x43or;R1hgcOkZkn>PfXBa&dU{l0rSH|V;Tu7|QZdff;n+XyYQgsc(82qCmF|A42FD|SHL&4UQ*2bZy^%T$H%KCC1L(+gY~Sl?WW zMu6Y%BmJ$RYh)C8u2>hvw^#MSsUyo^Q&W!}c2(g`5mxLhqYpIb3XbP>FoVH-T9JE< ziOxS6_eSQcE%`kDaT^S*A3Y8cH*2+BdcXmprUtE`K}a?$Q)BVK-H42g1oZg(m7hS9 zMEXPR7XJT^S?_Pww>yt-ey$#0EFyuwQd;!BU{&(XN*_rB?K0`B4r1^X4u~d{;A|(W+7QKJFy-42Gmv6p{(n4x5hl{B4 z-jjc!i}grzTOQY*Q5X+IUOKs?84>e$=?woEnn)+Pkv&n%`&mBlCLcd5I$entQp64a z{oBT`U3immSS>MFF>!&lsq`6!U@9ve9UTkH9t5XJ5_j!LIW|=kagfMowf?ibY>Xx}eP+TP=7vpVN!`pIfbJbUzHf z0*V1yYhoS7epfA0ocmpB0AB8g^SG_RSF^`+o`QA=kbp5UF};!el4X|7qsXjKoegCz*pcJZS)#yhOPa9+@t!nf`No4jaNn z?gu$Jz%e_(AI4hVa<{nZ9M>K-bClbDV?-fSJbv)klwTPC55!l{LlZD)iHTpCPciAR zxqZ6)Iv>bsSf&OR8o(EjkDrgug*OzKCiJfbhJ@@E?hR{!9gdn>+@MkB)Z;?isW&Na z(9NxsD=F*bTU0w!C;bk4{yQyxK)!5Nq6RW};pUFK>64ymgc6ZN#KaDuV>ublecACs zm4eoH+{WWLDGs1a2I!9TSO&K9XzlF0ubZSVb$<^R6{Q_>(BRtgOy8JXFmlFZDqRkDR5AuB3n zq$pcfHYqbB(ja7Ig+$4gE!p>R^8S1u_x%Ul=MTMm$8}xj^*Ud#=Qxhz`FuhH>X*)>Y2|5`6{RD1J<$1 z#~kifBBWpp%!(FxZ2p8MV9~7%gR@7o%gYcZEuQN1Z}aqNEWrF!jG{rO!K%J^#h=1i zcR5RrxfkeVF$sKa<7W&+OoqmZ2uUaAYjc#lRrMS~yg2+0Z#xB@2zu*(_!+lVUxb~0 z;pxV+A`@`@iw&elp`A~^^;i0M{gv0V*spiCGN-1c>6Uv)-ir!mo%+==upVAn?mYR! zxet@*52&rWT~B6d3G(Fwp|LbSfoQXTehF^4Q;>W|+cn`XFVf8#nwl;GqpCEBjiaN- zZWKu{2lY&t7vDmk@|(J$`%JE1zm67XR1_4=gTsUK1#iP8wb%D@Z!iI%6z}}VN|GgO z$dr6O)(DreG12ErTRZKDyaP8^YRNqgKeJp>?9euSySIIh#IIbrf<&VF>XjJ4__6|~ zIcB*olf4z`>CYuxa$rQ}j>o%Bq65nOXnRnxw&NB=u2?I-1R8q!8J^Zm+Cw?43MdLg z5T~N3xFh_AT5N5h)P=K)8#xZW?8SvD0yfN}AKB#AAUS{c{(Y&LF9PVT4ZIu?Nmq|o zV+j9HYHDhiZONY}^2`cμE6Hx>kXC}elh$UO`UoLg`s_xagd;iJOy-C(3M245UyxwQpn-Uu8!X89$Y554SXUMPgXP!G!* z34K47b$8*atKesZ!?)SzKIc5FB;<$3X3n?604&MVis5h$Eu8wRJG@gNUw z+r4`?tP=h#{C=Z0Q#bdDi3xPApe~o4-R{NYA0gF0fByUgv?s{g5FDkarz0q980=d) zt;`B_@^0N9GL)(m>N2E)e(x51(wKKy>zvGUWW{=q@yaU}*kgEbxw@(tKa zy=Tb6q(^=FdXv8{+7$bQaUZ?Ilui5?mnEi z6O#bxC(q4y?q0EQ=?ZBp^<%gE9Te@5@QF^tjJacGOL03N8L?^`A$T5*0*MTDVbXGHesU1H@)>;a#K8;)2 zM-sQ0ER6P~?xzDMMh`Y8HIQaW5a1Tt!7*XoUQ%#sRg&$ z)AkrBN}0meop3e$Fq2B`=|bggMyZnXIioCmBtr+aE_^ZHZQ~;RKD2yp&k5Q?>o@Uk z3o84;eV26O<%EeG@#=o4Z;FUH|Ut%%m`D4CFppPbLz)+H~P< zUjF$4m#Tc>vV@19?y;<%TBK}rCsRK3?fVt(qvfCPZLG(U2ZKgrB(8o)O6r;4FARA< zJV$?E4~anz8PkdnX>B8QUETQyvl|(a*fxN_t|Hpnh1a?+XlgnDn&_(v8jT$}+v77X zcC)d&&zbZc8`r^rHqZLeLCzNG&r$ND`xT5o9$Md*GUxA;FvcBi7QEJ)u3a0-ExWC9vBoT8aZ}K`k#NO`ZBEPXTK3LnK*JO7vN(-q9dT;vP zy$j!ggd883x)sJSkLyj5gZ05%8#(_Yb|*OGxI{G)Lp?nlUm=x@v@~^^q};9Obn)kW zkLMAc5EbD_gN;KfQv%vvrh#>va&vgHC9tw#M>;w>yt&|a_=YFWql3Mx^;v1xscdOC z4nU(3jzXgVSP*SscxQIoIe^Aj-9@HO6Q%q(D(a%z+VL%o%j|6F@f)|#bSPreP(prulI5^3)WpaF*&Pi+>P(kZMZb> zX{dbttw@;2B=O++fkQ~Arg!G2cUc_Vw3eYXH1x#r-*cy!)7we96+@ULB5j8%7=o?V zcculw&PztHD$M${r8-pMJO4?V6RLIddr#N4>%?V}9SIwE`8ICL)^}{A!vgry!$$_% zS~fTwl4zFyw)pzHH4^1Z>whEuknvqdqW|~*OhnfBf0yHW>h-_>{r~TU@7T^*pEVDn z_}?eFvj2Z?m@-BZl!tR?#wNX8WaxFtcW3+T@wJVejMsSK>67H`JD(+#%=g?{AaBEC z5kJU{+r-$r=c^HIBVpk=&nY(xR+4FJTe1P?rTRZAMg*VMXtoXpQgAj4s@PD*$*F6l z(fd~Z>)~$Rbzw7!<7R2M%T&fU*Voyr0EUa?8nEF6j!nKqpk;4Ak_d3>3gBh+ZS`R2K;k`mBHX{P{D6 zm8PbOxGy@EWX3kga%}T{2h$*=Vy&;8|MH^zXo!vAzyE!ep>ZPXx$Ii{&y6u0z9<~EdNHQ?lGGKdTrIt1YMQ)E{vkHD67tl7qw138$Hp~kN z3B(qpc=OYLPOv^y2!f#p`gAa7h@yI$vl z>18_AEU13f`(3F~>jb8yGEfFrUmY2{{{Ou_>KB&EG;$y$p=#S_0_>bG^y$-x}E`jXd8oM~JepW=9k;5#|DZF1M$ALsw>S%;xoj?0gV*HX;1 zWOshqd~E#VO?71B{=AfS;V(mbIEH@mvB=SWc8~LqBM{-IRZiEJ$zrNHnjCcmKDCGp z6Yow!a*fC%#aQYT*n~B-TSw;@DajRrBmHlWjE??sT9RWv`k{S>SKHB)zjE0_I@_N0eT4EXjf{L;)By|! zJ$^hRKK?RN38XlShb{b$b##!jtraCC{6f(Oj_wCvY7k{5Z%m|pk(pIuVqJIw$8yCu zL#|aM>O3Ez%o_uAjo!Kj0u~NtP0rA<>sOtM+7ZmEec?i+GQ0n$_ZM4VFWFb0)?Y^+ zAlHLAcHE=V42fAhyuzzjL@n+2QWpmom!f1#a9EgQ@D}U`@_F9coSun6+2Edu9<+x~ z*UmT_z`%FqUTxKcU~XzW=8iqgjOjX^gnOGet2`c=tM$lw;^y`P#|^(slPg`R%a3 z9~ddV>UR`G(W@Ny%dzb)29xvMWiSRP=FgK1;p5~w^r8b+KAT4Zvnaw}QjpPrJ5 z)uq*mR?jjGU8CLfdzBiV&&iwoS(Trvjpbb&OY4y?GHbPZvfaG0`SQc$!4GB3dSJpC=ES}szyfE{EwV@$Xt7GiE;%AKZV!`A|ViI_A@_nHK@?T7% zv*z4!`hw9XwYAw4zRIl-UmD7Wc*rosf(|~77MrU+8f#PYUC^R84#QesQwQ!dyfwXso~)w(2DT!n-(iJduG*}$Jkw%3E)ZH1XCUCmh0)Q4p=3}iI%ZBFB?d3sFq0F}Ix(_fV4xePVmNIK-+UUu4tGOE=qU(a*fm|$T3=m3pe z{Qc6!HxW(->NK6=HSfKtx9o|&M9)0omtaxYHBmhJQr3qYUJ}(z_kDdeZ|{VdpF-^( zS3c$61vh%n$Ah>(za~@Nvm`3B6USUPPYa8e<|=G<`Q^<>qsnCKww9{Z#%%bho)Z#htEYp-~ew~q=jP&!)u6Y6-sU$?wT zxX#Vl!)J_-@wQB#+WJ?Wy$UZA*F1TF9Elf}FViYD2Z_?fTH@qP@FpD@i#XX!xqNBEZap^lKs?i`ukk+cG=qM5|Aax*g-$3 z#!5-@@YGx7kNEWML@W4(fha29zM{eB{($dmYV=U;4-0|*dMPSV!k6FQmAw786lAkU zxhDY9$mAH2>%ZcCnL!={Sr-*u$mU(mDl!yzUz`PCm=8!5w0zI49`^(ejW^1owfH~S z6HgYjS|0ckQP|@lov2U+oEs=Kyv$nRkYtjlQ zwGsyqzm;`i6z6%uUIb0BSY))dTQjoDTz`Ll0wemvZKiH{DjVX0mHD2D_UxW)&y`Ui zXL#a7Oy%?hx>n-!N3X=`8oE7y_{kt-)e_EUvS;t!5AWaWmE~DzTerV-AB?%R zI6tw5PR3k(d{3mKLPBO5JXdp*lg+-rxlS!P``F`Ktoz>%3{_xcVOgs+Ud=Hs_Xv2M zC?8Y?Pr?&6+9c1ybkY_B?eQJf@Y0ajSkJL%$SWo7R)4eX}hu8Q$m?F%c zM0=w8=aNf)$6s!vrcM#SM9>0md|G!gKv757r4V)%*k*c`LnfJValJ`lM)10>y?3^r z4Pti39>O#Sr=BwR7K(nn1A~;?o95vcO0WAVyvAAH7`!Ap)AW?DP5%4<%ZyzcA#(k2 zw^r|7>gO2Rf=$+wZ++3p$w^l?g2S&tV&;o=_FD)z5)u-au@!NAzKYSxflXjzV*@+a z`Rej%Sy|beH|H=&5Ch~G=;_0rKKlZJsLNbH364vK}e$DUjNX`kXYCQu3x88T8py93Xk0|s*UIODa?D*qmyP?*7 zg+uK*rnRf{R>kB z@?{h?rB(HzumUp@OQvg%Q&3QpFHb8$vohtXd{)y#)&m;@=VHMPr;vLrlEV+w-SG>V z9K5`-QtqxA8hdDYGt#Y2Fy!Rq3^c?V>*|WyeizATt+9pS_ z6^}Jv77r1JfiJ`-L&5Wc{wp0ZRqM(pKj6T43oHWv@#D4qH}+B92eG<^f=)U7#Lr0U zmqnP7z)eRHBPG^{)DC-^d!4i*?895vn_!!@V~EfQLRT`rnF&PlcM1(JD9} z;DdyDdU}zLmNv`it=Q3{zKl-IXYL^na~y)$3wgXc4c2H1ahY95j_GVL;6T_n80VF# zAkPDW7Q3D;#OBW4u6o2YQ94tP`M;Qc4mZT%hkIN_EXv~Cd#7ZgOdL4~e8`6V2Xa{K4cTgJeD^)q+j_h}g5HEcj4RCj%wzyY)R7qbdHW}D<=R0r`m z7Z7y8eI&%kSB%cRG$^`(2kyDp9Gj4sh`GV63X#drLPKFUl2cPTz_4J~DuwaX)z&6X zY&}u=wYfRFbh?IRWk?>trrm;0(-haSV=gmwC&6;4UAQpdR5JYDD9@q^At3RM0|F=& zg28w+SuDd>p0xRPDYpX(fdmd1=Y-RIm)? zz_!K1$x9RE(xRdrX1T9t(#y}5Z4g$HL_63a!LuQju+t`0kGkQ3y6npT%q*DIMLugw zIS<#;WbylEh4QY<3!}6b4P+H&@y)9lqWDc~8skqR0BE)P(_M1XG|c;;O-D{Y`fBLB zHM@Dr?Y-fx?q|Wl8b(IXBO;1WRSO=7@_>jvdNR0?+eXi?G1S3z!8)~mST+A!XR>gtYM z^Yh@U(|Cf@i^>rhU>xpFurIJ6gb0q;?-w@nDz=u})F*nU5_e=nh<^&Y{(z2wuEe<5 zakx6X{WlOdp)i0>ik>))M+&VuF%VCs#5v*OTu@50`P=v5+WwsfCxC98r`}=Lr zDJV=iOSD`sxwoBqSmrHe@yN-^Y5806M?g|_A=_vLUd=_~IlZwPABJs-sW;Yb)(t%$ zEi#4Zd0=pmn&Ct*D1W7M=R}+*d!e`~Tlw1sd%m=?%Ch#a3d4Laoj4bK#$I(!+d%GMJv22ma2J2ayKnbD zyEtt=Ja9KX9R?70h+y+1c8X0?3hMGDW| z2+|C*9}3|~aZ1G}N<((2b zX~^|bap>;oPgnMxv^9WIMMb49QplQ$St9(&lk0Ut?I4=xm*BB##4V%Y=rF_SHWEB& zonSVi05Q?hY8x1oqG}w$;|}jj{1Mn06_=r z409tZZz+&@);U*}+wt{%x zrnRA>F{cq&^mHph#;U;mm{wQ-i-qY=4G{uWwuQ|~0Bqm}GSjWjo~?wi;HoZw6a+;q9{+y+ z`s5GRmBr=v6Y=pkFo>suUjTfBp2Tf&I3?pkmMeh{%uh&LwQ#IN8wx%<@a)0J%(0Ya zg<}}h(=zWxM`$lVYXWHKBEW>zg+XitMGSG()!p}9#5+cErLV$gD+U-hL)T=y{ENQ) z-zQ!~o0{v22g0)xv*bq6fuZO||F_pBI2{miP7FZsfY^q(G5F)4Q31e|h=xC7>U80MC)M6c_;&c6>rBhVjkAHSrjgI%C&uCZ~LZ zchi59MjKP{8b7&FFLP~-D zPyIKb#A|YM#2%uS`gc(B4VD_mUJ}Aq$BYj)!cofXa_Y13YZr~(wV@oYN8V_QNvk<`9|-CSe;da)_U1O7Mp#fxt?!n&d5|9<%s=#LircYqE^*}u|L1)NQ+GutbNSw-{k^h3=l z4a70R6zmg~Hyj)YM+<-BIa#q48wX({@p2;6)D1;6{BO4TydA6*p|ydnk5N6^z0lip z8>5xifW;B{4Pv?`!@VPJIhQInasFJZv-9}ixKcMqFS??qqa)(Ex(t&GKfGoxy`+2N z27ha==XCW^%%N`sbVk?@1PW1gXEjyQ(~Hrg4$vM%Pu+mB1C_`C7cFjb7O+v(~4Qu?z)2zikqLi6s3oW?kpL&3@S!@fOxCNXZ9RRJ^a zZkbFvOTc@;DptX7GcnS!D`;pr&OUf@gcv!8d>o56I51H8@gpK)^}8vSdhVy+CR-9g zk!|U4a!a0I?x#IWdyh;lR8f-8bWol>veNinRs9j&{{2dqr;vprhCjBeMUeaC$y@C& z4Ka!oX4{PocZ4jF7icU6Z|NjZFnAx$e+-ambzLizguVv%gshu_o`*73t!?W^*HYH+ zgELzs`lp;3OrT3yMARrB$S9|NQ%j2`%U6EEZAHshNgeAm){nWXa3?QPQj~&en3!T7 zKek6MTOT0+rHEC3%`;>($*0VIXnz=;lbUPM43d~Whg?iZ1qhdF$_!$Fe;EIH0`5CA zGZTPaaeVw8A-d(SPTjWid6v!3-KMLbKBeId!ra#bNSybcm*B&BhUwAHxIl!C{TWKT z?jp34QwQjW3$N1|e=-vT0K!1<0$;;JTa|l!_Ej|577%7i3Rwj?%Ne2U7 z10P*U`fO@$-T-3^v~H}YT$-(g*t#%4NQL3*;K7GpZ9S7(anuo>0iJRKw+5YzBy-R@ zo(tuS5+Y$NKNS3Fb^eVamgWxa_dUKrmx*AjuKxzN!JA2Jacslo?g@{RH-4Wh>Esed91xi2fM0WnIB7@~#Yl2Th;7FhY*uom-lp)nLd-po@1)fB_@CN3xFGxDM^f{F` z#1$rD zXVS+>0*EYMoy#Voee%R7!>+qwskkMsx%uxp z<^f~DDCz15uV`yKj;AwxEd2zu?V~;Ao>*HBGJG%wZX=Av9$o-YnAUWnPVihcp>#sh zAgBHvGe12%JSL4!ijr7OC}~HNQj&jw>_79uaiK?-%zdAcR~bAXvy3e9xF!^6EKPO`C?LUHDoVAE5EUQ~ur7UKU!TZyP-F&*yW*es_Y>s>*W?_s ztz7D`A&IEob2=pUjJ*8JYhA9;7cW?g?;(^@Io@R6cx;-$$Hjr6TFSH-7tx0mTPlXIA&kErw9z58#A~viczD_ z)-fa&YQx9?ZAhILvo`EhI*#;Y0>w>Rq4m1fDY#fn;yJ;}&R!oWbQ}s&X=!P3@hHBt z6D7UHHf2$yx3kusNrlyma;}GKUgMiEvNUeSGQAT4H&z&>21ua$V{ZNEKnS5Y7d+lh>s!w9?KpUI6Frzi?tp-<-N0dI>qXmduaM&!IdzyqHv04dAdj){MX1zK zZwEcE^7(9QOu*|`uU=U;C%?s4#Lj=UW}JrU97A|Ad4Gw68}R*t7#ocw|6gY zGF;A|4zUZMWcYv?jVmh6*bV^7RFbk6MOv@&Bi!eKB)b2Gx=r_VJOj26R$tiehZ_zS zzU04^RRAe1?d{b2_ArLV+Rm|#+(CR% z?2fYU@7mAy4IZJisEgmyt+Zb0irpu<9l{-@b73oHg$Ml*2#CGKmbC_84ZHCku{ChF zT14?^Ret~OeezK0t#x^ono-ClkyUXU7SAHKq&Wg=4uvZ?(Tt2J0jO`G&EPcoGBMv} zQ-HAP-aX&KC6A;RFOYSZfndUXV9D#h&bYcRB72x0>*#Y7gPlR)g9Rl|7?SmxpY|Xb zhZ=TklQpX$w2x6WM+9JLIV@UO+pGXBqr-Vg9M>x!x1}^!$0j+3%MVI;wfVjx_d#?k zjII62k5*Jv6eTUdk-=|ZE6b&S)6uGTB(*+shK!a5^?RJ+pf&`>uV`sKZ5~EQBo!NU zOD6gKH^?=IhAb2r=8DogY>@ea!o{R4Yn3gIIy&F5j*zT{#>5zEY9?BCBI*Qif_;p% zz;%B7EfO|l<*<1OlYr22N=ZGBq{>aUifA|wIsy~6>aNIFrDR!O&~CL6ZWavKFKqL< zx;hO5AJfv}n-L3qOnE~&G~b<^^&sJ#d^Mtyh2J5;toQETRa-JC(*q@lf-OKF$mYVs z8QK{3Wu!AgIFE8NKpQNZC21KM#T=J_DB7vgks5;*|4S1NV_4jth%jZEweGx_;<`nQAE4H`-DAyDFBk9(co8J;q6 zVpj}CX&3J_DsFOt*7am9j}wsTc=70|Q>UXW9>@l5^KR5(PfND~zCZ-+w8t+%BG=Z| zrV(zM+d(GV7+z_@)us~&;5o^V>9u(9tIk9c>t&9=M{y1Kvf{D zNS^)A_ein9+^W;S?x87k2XbNvt6|Brb#u)SZX#~OHb(6!&mGgpz=MqO*kqGEgQke<;!kOSJB^17N3*z^^X%K zv04o^H8!H?(S=RQ69!iQp;qFdTxt_HxHu| zU8zp^aGCb5@A*D`+}0ccJjajUo&d(;xwev!aCk?>a5ySN%6qcYIaTe*Qzz z1W@al1r!BBVBKw-@>0t2H|EC;uU=4A4oJ3y;R8jN?XnWK{of~82v=%Y*jOKVyfY`_CBtK%{tkZUhlCMiv{GUivjDClcQn$>dOa30Nn`F zZxjitPz=59V%65hpwYBb5sW;s4hvo$RixE%2^>b*x3KL9l>#bFiLe7)65RY(U2K_H z&(#G0g7MkXN$2!v2~GQSd?M zQh~Ta@R0E4> z#S0fgpFD{da-tlZKS3jRy~qFs*!=t&VoQG-7*NkPo3vG18`_3ZKw)dZlV%3$_9F%b zEl*1nI0U=~kAb}DXa#K}_tr+#sF>x}fj+B}Ugf(v8CUxarkb2-&z@g5iV%&$$2f~h zzYXmfx2k(+!M`J=Hu-Jm`wjbIpuC}P+F3OEZ%}$|VXBIy$GI;sg#G-5s~vxwG~-;D zGxo4mcQ?KQss;q|W93Jwzu!#25#-_!2)?|wQhYOSKwx_e3c_V*6a5m%S~eA;q6}4Y zl|d{7HVv>gTj%u^kiMvaKr}38W5X2`f_s7v<~91k#)#hn_sDHYrLH%RMW5rA~OM}&a+>hO6_M*gd4Ea!Ma zTidYQ<84)+I?cVRdlD)r^Okn|cVcIh-8q_1sC7o>UD7@N`!^Ah*6_GU=>wHPMF>pG z)_~lyG7or9csi7`0M*QTcpWSV@E?F*vEx1E#%QV8C5bo)WzQJ&%7_6bWPD0EEK`@oRO1TK^{~#`204Ys9_z@P{2Ng3ga(GrFsfW zO2&+&AumJbP5X*Oy8`DgrTJJbe|Kj*%TRaAjaSTS)jzIMP!Yf=&}I1f(bM{s;q9Z{ zfI49X5mcQzwW-@EA;o!Inchf2p&BeHK3VGa-!Xh558j^-nP1>p6Y!PhvF>Mix2Jm9 zF8rfpmiPydrBH_pKqgd%3HAFIe>B5mQTZm`6UtkCd0OA@KY6C3DMu3No4bzrbO#`% z!uk*Z-CHYEXg+}jb5m>11DOD;kX05hg{9-p=6Fsb8q7{uIFaBa3;etKpm7i<&U6iR6hdL`$+o0$qNC|z2y78cx*tTG#@pO23c~N4F1B8GAj}#Z48ezzg&2^*Toq1<78_kJpX7A!n%p2Iw4e`jm zJ9OAF>L(InL8YT60X%(3IT4jk?XW0*H$Ym@CqG{Cau=znLir)B*Fc!b-+BS2<9^L^t{do#Ht~iGZJKHS>wyqp&V>z&LKQdsz zN19|qV_8hGY(n0r&T7HmG4>a+AuRGlS7C!~ zE^Ok8Q%TH8uSX9b4tJLnCU6izodU~+bP77-OTeSn}5VCS;MfGO~I;+{+bu|M}=Y@!4n0hs0O(2RsNl1&R_MpL^VrVW~RaGE1#g8aFgl*>jO4jW*{fU+Ql#9w!;H+oPhQYRfSOc29S4l#ulWP$o!9 zh}ZzTX{zvHlf{>Y2G8N7Fz{e&gkB2ClHKPVuHU*Zao7vqSLUzA)VnYzjU^88qqA3ThyA3T$+dWCJ=@$TDH*9p_pvdZO$RA~*K3#DPz< zTyi(?*?>Z`Yy0&eiMW1!3OI_W&9@Ui6^~cH;#u;LQbazl{X z0Eq)rVaFeljGpYE{P8Y!4bLTU9x<9p((T`*sD31wR_(OMCgrd&^=;xH4k7p9GAb20 zbm-2aH47lUxsg^-&q0BK+z%oQdO-7ocsR62Lz%Jam^yifo2E8s?4F1&%7zQlT7xU zlG1+A#xVAh%;!;vbmhunw$G8tNy*7IImD@lDdID!Y|QgmzL&rO`Ez2^xyyXb_der8 zz}Z1Cg&c9=mp?Dmk)PO=!!PCQSt>wZb@5_~bm`(95JgBoCl7?IF_mf_J9Z2U(SuW= z#QW9}p#)%o;_h+mYLHWJz^?N1!vF`*hfA674Zw%Gfk{KI?+)oMV*YlZ7KNnC9-c^~ z@uh&_@^t!xVaGrt<*d_?k?2>A{=G(pXHS)XK)aa3C5^2GeO6I_s6G%nEeOLvvLSy&FN`suKv5eF45UU=0;0+# zgoT}8@lgv~2bLO;C4oCQiaFf4L6ANm|FA2XD3g}c6a9rHB;4NL-Ohp`Ux26WMjT>d zW2GT6{Psn%bX zCn*TEBJdZ0Z{RPKoX>nj8=(Q6)BUC}^O`3rO-m1zpUpL-D}>cUX|A zUyVeA7HFb#;hk@ewn>7BgkaqJ;PUvba`aLPdh~D~x~?E*8=G<#1_j|TsG8e>zelT@ zV>NBDG7VBoHdt@cKns1*79cX+5IwTE&o%*A4C686RL}sBYQ4!~NBCL9bIi;}1_sf= z!TfIj?2UHSFdpGdX%+>CZyd+ja1Fi()mUw|Y-I6x>&0n4V|^jU8a z5QAVJaQy)$CMJWeBaULkonVK;lazoE3uR4%#&zWs5Gdk{SZbJ-C%q6Yr4~%IczkDQ_}ep?L|V&PB4*BYfpg<0!iPE z%pI_T)=w#LN(62K~ZFxcr3pq_KiD;CjQT{zz`D9%v=ARS4QrHDD z3dq{Kz+KPBM$NlhN&vqDKmov2fL-kS;ZW@jQ`02u^b?oggR5Qwj;e8^`@8EGvl$#s zXirK&>x3D(J|yp*S+Ef%^a%t)4jKQ{6h$ES1!N5b`w5Z_zdDa9Z}2mq)u=uHeSkPn zzRwd{E5O%le+$bA#U#w8qxRF#(6-jrozTv}%9o*}e<(oHc+AVbsCt#PVvuR)hIBv9 zcfI)b7#G(VAO)4?U%&bYk{uT3s+k!KqW~{&!=)3H&m6QhCwA2l^8TLf?JaW zLyf)C-r9=%@_9_hpTAHwpo@o`y2V}km?6#JoL-ieWfBpogv00V)pigpiIQx;uOJY))kxomL7k zRabQOLIVyitP{LZz-zdvhH$<NJ$IVVj?gM<#@!4U+PSkkofAKZriML+T^HIX(z zr^^G_8p7*EXmQlE=dh}%jJ1DRa3Zf0)%fd%)88K^VFC#e^gRf%OmzXv{&50g4Uig& zDdcCikT9Z~6Ouq~?rY2crXcSugG&hx3317$_9z2F0i9E{>d~Ivopb2(+&5 zr#-++VbK=kKj$O(`vG<8mbtk=E!Sj0c%{4B_a-Yx@HVmW;v18R#s;e zE(JVPZbSugBuDha&HEEe95NL&wUeXVm3qcnue|=KF3}P`%O`uO^s(kH&f}a{bzi2Z zL-PaR0Xy|jd_3fQ4M!D%yZ-R-@&fFj(UHggmq%1T9vR6PRtsv}91Bb5-!llD4PF|Y z3Y|ap!HZ#%NWNrCR5)7jKMQ;IEG!HM6y0SAuw?R;0}CH&1`QESL$PRjf&ogb6Q(sZ zuF=!YK(WCJ&P6>HTUc))g#;R7%)lX9*{CGtcpp@&B7d%)p56(3^+pkDTNq4mqqv~= zZ*46y;0dZqOt-=UEnM0_MVp5aoIhQe+V?H;fM~Pak6E~*gpMO`jqDJVp)~}z+waf2 z{W=p95-h3-$uJD~0XS=b8L`pPnH-9k;;^&p(up%?&uZMdG_teqbRnK1MEWb}gFzU5 zBF114zd1saFG=KSzf4DV)OCKXh=Vo(!fJ01Xq#&zgj8x98c=m}l^^ERztAN4&@n&s z3!9j8-69*;K22Adz_GaEk=tPaB#-EjcSA>q;h9A9_aMjWCKm-&RV*=*;Ph9PiRtNI z#h@}4Y8jxv?~yX}+4-%JZYV_1xX=M;sO`#YwOeCYGj=vM7$&j1_3%c$Pe6MXz;K=f1v1CTl>R@4?wzn^lLun7$8NP z@!#RSi;nK>pXa)Ld7-Edb^8gnv?fP+$peiWfwJ85^_{V#Tu{h<`7)W8MdZLEAYx+m zi^`(X(#GmEP?Of)0K`X|+w8RP?0fP7UC-pm+tTEPezyHJUGyw>KV1ni)lMq>(!tWC zEUhK`B1#*sU_f><(4Sh7f$|!`i2ZC?*gR0w zzpR-rF8TwDJvyrGLvM?zG21v7lQ)09t%;KVjElTKs6^tFL`(vxXr6J-v^=9r))qZL zHIjB}@8VRB0lI1OM?^;bB2d)?qhjVwuBK#Y??CQz=%3n&N+=F-;NU-3#VlQ}X(g!2 z&7yi%l~j6DUQnKKDUW`6fXB*H*`r5~Hd}4(e26EE4M2Y04`DU-xr$U;`Cn&IfoqS% z-oh76J+UsfWM1eIR9$`J5#xPul2>EWFTx!TbW7LTNwH!)NGNE}d&UOkbZwozhROms_;d|bBr#YVWtbu9T-iF&97`$n znTmmu`>dqH!lsJ1L7PWpTozq^a{Sr(&ALs*mzm|P%mU6XSYdQ_jip%Sv?`T(%}#Ca zb6jlr)k#tA7ak>~^P8O$x(!5glPw_t7%cUSlV3^GRm;EmZaR;WCBE%jXOuDX@-{&i z`aAbkgqqyE&piLDVSiv(S@ZQohDf^@sU3N7tE|fh)O~1HjD~`qd9W-@{ z{D^cj*mZY+QD-zrX7boJ=f{s^9OlYNFP^IHTR&YJy*p=Ryx-Btp*&l?1-=|?IwD_0 zV*pvBZ<&8>6A#%t-1oiGO9AiHX%J1@Ea+ru;k4iTouG;~jkdO&3b;UX?PJfGu4pu7 zo}ZuHpOlrySr>2WEb?un^8+vr&|hFnz&J^Xyx#FcP|h-I`IKuE=iy`S&BmKapS*4q z*}p%?bo2dmq53TOpw#q{`K2^Bk%QhZqDbB3>uGWYDm@2WY~Sr}4D-#+-8|*g^u4I9 zyIIaghI%ifdQJ=MSjX~ zofCS&l}aI7J4(sS$r~&==|f-Q>mXYL5;?m+V#)#@o}%3m7i8 zy|;x2sO7JFSXKWlJ=U1A{i=dxNUdOmqUK9QN&kiLs0=OB;vZCt@19I}yvqzaCBURU zbX_+zzf$Vx^4FanwAn(oJl6)heofs9k=O8iHj>@iyJZvliI8|)9|;1X2_4IT!0(`D z^Lt#ih$r1%_xjMe+3RSA`FVVE+viSFcl-X3al+d87GwTP5nemhgXEx$+Bv`>pZsX&j1Iud>FP{JFB@!Jx&1WqSAL zH!rj~yiC6upGKx>!JhDImQ=9EF{&o8>*-cB+Wg($FDEY#CDqG&?MBX(EsH{AN2eDZ zgQ^x)%3c+P=Tuk0CtHr9QY$1ln8Bpwcv1BwtypTzWdqFQl$>c+gr}c$}B>QqTIty{$TX@rY z{5)8E=EGv#kKY@vw+WGSh@^SNz(Q`f^kbT5qve3(k@dyVHA9Bn_ay6r4{%9bH8nXM zHZZvK@jD&uOF0^sowW|7a%8@qzwXcvsy54(TdDFlpOrT_eQ$sOC@~L+A+Pt~p7pz25xYX-It<2sGnagNPN->wbkdrx zaaH&481f%_DgAE~@hivn%@w&#`jD27q_AFFh}s|)NDMKnz>E1ap`JObE9@+Ruc!dj zx-JPIsjRx5JesG(E{#x}^C^%0QPy$gA^?e_%HcAW;&PW_Bojg>H7@-4RnV`R&kYBS z)cd4($!cEpwE1%qC=$Qf6lABjGD`O{X{L;J!}T;4iRI={l8Ax8m5Lpkw`LDHcKC1t*k-^77c#Vi zSrz@o4tvpszhh|DxfJ&yHTAJ)vw^md_S}-2N4c^3)8~e(${dCx-xYscDlOq_{$#)0 zwUWuVt*`D8uf2Yj0ax75v+dQLn|55<+(}m0UgM&uG&fypQnD&SCXwp7{bt~{)Xs4c ziQ$2u$pg`6-_H!Sv82w7yJwa^UpS(Ci+ids*_b^pY>RPtWp-81`^6bm(}6|O$%Z^H zpAQY$WsH%-)8k(5@lE7hJv`b(|3_T(#_c=Kki;3P$)YJ-0td=x5WE4jy6JSlnp3*i zzT$XGz3tNR2MLWMF2%0oD`BJJw^&J2%|dF-Tv$kI`cn5qNZ0dRNO?No%5sZNrMc9I zH}FiXaPVKw#5YSXCs)ruuXsf0X9^~f75O&$<0-!Gh=j?CnTDaR#Y zX}|kEN>Otr&7Q0pTN!=~vi@TyecNUsIDIKn>gHU3*K)vQHVxU>F^b~PmL=QhzQ%TV*pV_LV{hwKMC(I&y&E-us zLmc;$ca(VX1{5Y<_>}4Wj^cHLht5T{W83a{79W*O$*r2+Y}A{{qAfF*B=y2JZ1gS* z*`aOX7k!6%KREAxlyY!eDXCyp*OAF0w#~(odFZXv!l+|>@wi|a#uUd}L~VUKHdZuj zkqB*IeR5gTN4aer3v+u*xs4uvPi}VnF&OrUAzR)|_PWGcei3PIWoC3UM2eY$)I)iv zkNVsB_Xt~9SlE|zXHH#{qo$83~G z>`~hB{5l=2GsE`U+H3?RvX^{JIb130YuNc2kH9TOamwp0Hy=1&Z*kk#&k$iY_Th`E zAObP3WWTo7H@YcrmHISo(@Se{J^j9J9o>Y%&+EOz_iU>F^;bUL;~mG_ImZt+{biye zypmn+S=BUiv}@TFsvGAm`pbT8j)*r6dVY~}m0Gm|PY)%=^Cw@HCOy1%!;>5Ahqc|M z(^Yl#*wXB$>$!{fE$$X)XFxiBM~m1iPmTji1vMX4l+cn7bp^{9$k*)nZ*{c`{hQ*V z%@eiwv(!a=@0-&K+#9a$-;#eq*)Eg++WGR3qIePg(eq;K9V(gp#xV=22|=J}@f5s2 zw`s*5lA?_1#dGSKxA?cu8E5qI_Vs<&HMU~zvu50Xvz@kV*8bw+kdbnSn>qb^>*s)h5|<}TUN1`4xVrhb5zp9J%-h!a}u z-nYg+JVxHjO*BOp%RdN7zSY&Gel4R{>x!ybn_-eX@BRwOOS0#uav2Lz!y-_t){M`d@cswh%=bJ zjT*G4(6lq(!>?uqS}KSfZ7R&U3f<)&wQ^dX;El-YnE*UZe^#5Cdf~VEtErDuXOweG z{gP1ifVQ71`qIX9wa2HS24Vy#6fU?Hb>sxRGs{a!ixEpmNvVX*>e>Y>&0*ayP;*M| z*|AM*o%h{UNw*Rv=<;qK$llQb0*?J&Q4t8x;zo+)bu$C1%}5BF0e%d|mTJN3%jE;p ziu^GD1DRWWOZR6rqoZ&uy8+uv5Yj3aL$_633+DNpcB%5e^wMN9PNkp2x63TX#^0)C zmzB0tWOJ3d>p|ZoAf~X{llJ*tN4|sQe>UP;>J5-8J#ZeF=r=iRZa#Fb?Law#DO$NT zIs^}8cNiKN5J(&9q&1R87AgiG&GZGO1^{CIm$MI7m~d0omqeNME)#=SKNzRmB`=z< zan3C(^Mp(WpfOWoY*bBz)>(MoycANTo!>M!=aiKlTx0m>SK21eyD%$)C3POEdiv~{ z`LN2T?LbmrfSiY=jJjg?#D?3w8a4a1FYZ?vK8--9vx61q4O?1j+G}?}nUB}N%?$wT zP2ii))I(aJFNp>OU4VnMs=RQ2U#TxJex9;`o(Y>sD6Fn2+_P5y5_s{$s)}dap6c9K zH+vm$9Aw;nd#huoCMk9d4IH#HzA=TixEupP5fx>QkPL|OtVK0w4}wI8UO^raGw>^x z7ke1p>eTgqq!_Qa>8eBWv--1te77mDHem~~ zpQi^rmDgLOB{?P^$DkC@&RBV0CC=*f2qeoKfysUVLStwUKv6eY^0aC0%b|-}{`7In z)(si|G25RnRHB8cntlEttD8R&emn##)Pn>`y#FLoDzAF=2}5P*>MJ1Sp7*IL(t>#w zya{4El}4)!)_r%y7soe7t4bXevV7v71r`4df##hv2cD=XDCKyXYMdT8`f+)l>(O3X z0CI&>R#y}?XVTfP^L*20Hm2MzKDv$M=PB<8wS#{iV|7V4ITgY z3ms~h1~X3Az`pGqCO{|^2e)q9Ru4@#Cfl6kt8q}7$YhUC>zWjPIRhSdVpc2mv!}d+ zj6>zuzPSk00^3acnXgAg55p^4ZSHs>bJDY}M;HCa+Dc6S*t3UnPFj0RWJQTU40&gFafT)Imr|Acg`$C4!XZ=HZ!~zNDt7fD9rS&PnhXk~1)-wE!vw zGc;V#0_aR}Sw-4O9L+DynVA9K)_vdXGUOd)Wo5`;fbIHJm!TdrV{B&e9XD8zp)V^P z_%4y(mIxgowB=cX;H*x;iV1~_+1?)F{hs^V7|r7kv!%Xa&WidDEcAF}I>FA(Bj@pg zGNqj?IgT6)sU+>yw>dCeh|o%vKPt{bc$Xyz=4uRbbf^jjK;n6*>0#!{FCy=SR~G!@ zy$275Aw+7pz7!^Rr|6L5!vFz6v&0IYb(2A-p)7#l)F zQqW`Ih~uyV3jpOBR2Xyc>_L?Vp%0O3y1f5#p%Tr!sKdJ)VAmMT==Fo;kk~YG34Td%=aB82uNx=Q2JFWmTOFZT0$~S95R5~SC5Rd#>Ph6^k>H@0QRGvB zFoaM9>W-{}uP{l=V&F|f@51Z^);SS!z>XQYB@*n=$}BvCFhyVwP4oJ+wsLU!1?w?g z?R4m;kkSr~1^vG$GprA!tmS(N%*1%V?M zzV~AZc5vE)Lr1!lnjW4=vUG5~LsH?6gAdgJvfjX4S3?yyeibZW+jTg#)ejwF*eZ~ZnWI~YSS1}g{E7RH&NfElduU%_i|U6NyB>exw^$74u=a4E?tj=VCG_5)Q0n;K3~ z(^6XlqJ;*sQB%)lCw{rOQQ>5ucJB^{2X?>m<{I=U|&lc`c8ajFNn{-xH)z#5PE4Kft~ zkP7NnY%2=e#q|xkQmq=7|1>HgeX`FoIam|dlE`}Vma7yOpl1(TEM zijiV?1r#ly?psr2_Q~%$+_5Baw4)3x7R-i3m-)}z2sbVyfg}I{e(CkBy=m2#)4;i6 zCkIDZKClFXIy_y(KrfwA^zh*?qy)fPXaTX7U<6K7So5P=Y%8Z4wt80@FF$wz&z=G< zGDg{bbfXXa`Fp?>=05T$j;-c`&w}KT!Ey^HB8L?uASejuSh2#z#krUo@w9B&XYK=k zGtjz4sGt_0jsvR8ueksv=`9gc41#-r0J=sCQJ+5_L*w}%v&NT$UD*w543s!L#1NZ8 zm&+YJ2Gxr1r*Hu%abVJZYu`B*DR3-p5vFz$!38sI&G1U={z=%4APh(O2{6d;KrTBa0${4?&`pH1*s55e~@~yd;s1ZlD8JkDfQ<2 z1yJx9uz-AzaYP1b96Pp!<|Amxeb4@6WeMVtK|~7D2$Hd1!M_OwF#IOwm&SAPpdt7` zD|QC5jJ>CyEs|viZPaYsQ?UkwOA(c3yuvUxLfqBBwZe=yU0gnFFh&fws} z)|4ywhKPIM`&L}|k`2YmCaXe-qM>)k8bnS}j{om;S@$#WV?oSg7kRg!0)N)rto@IA z{Br+roR@R*!1o0HaR@buEDPE|*y$mNAqqicUnn7x0B1+eTjCjm88+|CM>31;!xU~O zFkr;pLA??;=u(51Bi#ixtRhTrcwCTNK_7@#U;$d=*|TNHntc%wM>31_*#1pHbhfvrU%NI_cgXRPt({%X&*$r*V+Z~Y4Ird+MBgCM zrf~39+_E@?8xX{uuJUrnI5p_YFMRuhT^xBh<4{|#3q(-JU*Zete{}EJGezh%Gcqgy zh6A$1!-E(s^J)^DgRrV`G+a$1{WbpnXt>aF&eFA8i_iNg#=Snp^&CQv61i4kJFRnqd+uBqCTJiL-C27&+M@iM{Wfc8Ki#j zG|l6ZSW0rHD7Y6CEMv`|d}ytys;Y|QW~?%t&GWBzL~EzYVtPjwhPFYKgJ%w-H(*Ch%VO+l2I@U9r zyGMCFQ$T~ZNrsl4PIi?svsz}!Qq-=9Kz_~6H|DXeG;bD*g65b>3AdlLaUCySHV#9@ zhezQPBF9G2#9W%Oj~*xzd{YDA4Ys-TrEhjH3*$<`8sLNULgH#7@d8uF_q=?gG~=;J z4Ij9~_}hicwKcB|i5Z0C+rUYQu%3!NB2pp~7Tt)JBbhFc3CnXuVQ+&Z==AchThKA? z+q38Iu>W!;&R!Br3FCBf9tb9cCE|E*FFkf(wi89k#d=1W;tYM1+*?>#r`r#1fFci4 zBC_sCsfO${p5hvKjqt>h2trKELr5@^x}e>hL)3+-X%qVZY(L;uFl0(!PcKvO4UQE^ z{#Eijo?@}srFrjy(GQ8FP>>uwa%2FfAj$?Kqrocg(niYDuLbw8E&MYoAhO|{qt7X9q|e3uVwrWoaL>FVh3Y$u#X;zl{`19ZDfRK$_Q?&O3V2Dc`ZP z!4t8F>=$fS>8RTyguH8*^w?T#ONE;}F9&E9)nFGwLx*HNIg$@T73$%?+2Xv!$&52XU{uGDk9S02rKL-sDw134AxZ`wM8clI^!PX7wCZe(AZnt99RwM4wGd(~|8j(6M zHeu`V=r4oC^fJx@l6wLT*H5xo6@Ojp8}Zo0#zy3D*yA9ChDM)koM_Kc(a5H>Mws^iw+)0K~3$8 zLbKGi1ybx#ge?$f96s<502#R4(8s}Nj*8K5ajFqYLr2Y6Y#nLXY4K~yQM5n?8Oskp z4?JT>(eUJ@xUAc-AzjIT8DA;(_HE+HJH7Pv1io@nVIj$?8h^%QB@FvIHaMaXBL)D? zSYT{W$S!@y;mU(iKad5TukQu?1e?t?O6JFznICapv@|#S;G2`2RveoXkd|Y_>k9mP zIQw^Mei9K+Uerbqa4i2ItW-$0t>mRAl?OZ^P=4dFAiafbL+TJ_~F_!{MWJ!@|y0TDSm3IW^* z2k8{ZQ3VBip_#(B#`_5G7KGK(1E>#LyvxW-M;mmn3+bM~_O>_0^20a&=p-gXNv(AG z3z&73LGzs;b^)6hVgy7R5Jv3}G3(R8A7MY~8+s9NyYTzFDKaUpufKD5@1q}Gl9*#h zw5qtNott4tL)yg+mgWG(VpP1C*@eT`xblL?nq)K^K&IdnX`g)1F`g>z+>eg~FXpEy zFY?z1&-ai3a|qy|p2GRusm3oY{TthItj#=%1I!uQyg4K|7-lq8qb__h)Z_@!TtNHA zN@Iyhq^KGZQu#!<2`WRp74A>XX!2P!Q7Sh}Ve@;3no<8D4o^HRky~Y=-ejSeQ-I(9 zt6D9)fzf%Oa^#$VI2X3@e|Cz@?s5pOp`U|I7m{0`oj5uIdGVZs8G{J$^l2U>4xzC^ zOL{F!7WOIhW?v5%IdGo8iwx;?jEsnn{TH}_&91AnlS|(7)wri)@?-1QEZ1Jb$pEGM zGnfsAo+XvP1VTFrMi@Hum|M5DaBw_D^Mm^deIPMALSu~EhG!r1J)!2pyiXK)%Lp|u zLvap)L&F2PYn_jKZA(#F7F^6*Zh{36=_D;s8{Z8`9zR(q$&r9^|5no@Je9cnMn+K1 z=|rb!=OHd@7%F&p-4LiREbN4s8|;-Q*sd0QLv#ch5n8QO7*)|_&R1W-Fg@(0rTDuD zgccF`PD(K(4&WJ^Sq*zN#&MxSL_}qJo&(%!25dVO6cz!ALrjRB5IIlQk?@uiMH}7T z-MjnY^SXT($C+O75UhW&oV>>e!S32Uc>?KE2R9t}JUtJ%%opDrSlGR;OA9j&oH@cx z(5{l*6ftpVTG2n@zG4G~cC)F8BnF}YQ?P60QX#3F*dwdqpT)b6_Z*wlEgz`1Ys0N0 zqokQ{jeq4W?vju9+c6+k7B*;%gM`sZB92Cxm@xR%^ z5KiMqQpXe>BBaZAj$gv_Px6Kke!M=>WviqN_J)NoHM=`K?@S%$&32Uv`?LXK<12S} z8?a$JVb+~}pWVJvd4oSjY**7dEA3c*6JPzeLik!Y}Il81OUe_Qsip--RAq^%pjOTv)=kzgeD zhvNP0Ru@tZK#wRkdTR-@`>-5PwDy%bux{F)avfF@`5_Y{wwI``fz~XY_?x25j}Rc7 zr$-zmbgW!F{O<}l!D(S>nTa%Y&g;My(DwTyXyR%n?toq7>xWf1nXsz2Axp+Kc+Wma zQ{9j=a5#GkvTw9?9|`EBug}DzxQH@XBNkIAptwKrpU(*uF4I=&Z>avZidtaGBh1wH0go!xWI;o z4MLLhu97lpC@6;SE_w|k;0psTNh&bf{I#sRP}(~qnFyU1%mNUFqo9YL71dufz|hyj z7&MFUWu18qU)n=@IXrNb731q+C1L~Gh8XXjnq>$}ut#F^szRJQK}1IZ5nCdWRB{`S zR12&MhCSLG+gomFto+GO*^C1mXo=zb{^WHnxSuG-P=4S9eK#?itc`HH-S@hZ6BCUA z#$tN8C_4mzaE)m+A;S=kP!!i%=^R$Dj4e1G#}`RVB*?NMV%u?9&?~I&!52m{J#^N~ z<*-KsF~fxcIDnAKb}D=|NtH9uI{h2%j581cjd<=CQ05?@06B?`l(&*1ii*#Wn;|7- zRFiK=ul>CSPcdji^fpl0n(dAhEA4|92|KU-Lq*M4NLgQ=fnhTK?AGgtlkMNymd<`3 zn8WF?y0HaW%RbK#a(u6gbIX>0Zn<-C{*AxFcuM499!-&kuRyoaPBRv#JQUqvKL#V1 zX)N0_RPb1$BZA6l=C@PkPBrY-*sp=^*_ZaAjl$mI@J7Ajxs3_vqBKc|*!qum;7fEq zmuza;RD$`&u%;Se7sM$b6p+WQc>G@1zmX*v1;3t-jQK?(6wVAE%%MOE9~({Gzg!=T zuSdQGbk}s}0Cb^&j1)6TfL}i@{rsx-YWoTkI}+^iqM^~`XY;*Se*INN(V3MFdtYCy zdb-B%kDuwWl?>!XoIgK={t?S#8?q|)?%fOB*WSG@kZfgXT;$k)ISifCcQP;1lUpT2 z19JZtPSV$6Uyvb;NHEjWvy@CCF{UwVsdCM*tFk@b9pPb%Fy6vDcaW?zj|`~79dInURFxL3xL}VW4k?%);8Ov{qIhl^mOex==Q&_@E)x50 z9|eTJa!WsMHkx1zpcMU(qydSssc-@+cVv>RxHw+CitB^31?i87m&L!JUqC*G{XZvm z2}(h96S_v{0h6sD3?2JEi7eI){{gcw(6l?{lUM+B@J^v>hHntVCy3X~mR}-CJNm%y zUH}njB>?niVR6GRxjTatr^>`*(bK`fSR75&0i7_IscjUR+AJe4wNQu-(Zjd zlCnJz!wB_vX&;zg*dWj#-&uK-B^d9g{|a%va5a?ybb%=nZWUmvKvASqgf?uV0p+6~ zqVe?UYwIk1gXqTkl(B`SWsrgugDyH9g4Xf;LP$qi@F)`>guWYfB>?ny=qr!uTpxc& zW)~o7@M^~+EmJ+Cn{R&JO?RzTsu3!TjE>H?$Ab?t$(Pz5v)xJKj7-0M)oKI8zyGo<(?@q1|r`o(2;!;uKYB27oCiJRY3s~tttn(;U~z>8er)hdVzG|;(wF))*|PBAM4Miw6s|M@CN1EJHPm? zN>6H^oWm1sWCRQve3(rKvUMkByE{8!1VUnFdtayIb-z5Cq-PscF8U^?#vhB#LG%N; zLD-A18=~;JU)I@am@L$Zvr~9;g=u~C;o3vlMdY^sTQvE{R{Glf4qv2NCQImV)Zrgf zUUyhhqXM!7@hg!2ukGYi*yprYL?ky@9xS1v;xZ(**g88Gg2Xoa99X4H_t9YG?S?Am zN7ZLeYbDLAZ(hmCd|*x=n6b}yBq)=iV#LvYNw!i$qh+G<05>%M<29NM(bT@&@96do z4u0!fEvXYtj-*24lI_C6kv}pFqVHnMSb>SUV)578f_|e`UJ$62WTxKj!!b6y7qb0t z+=)POj58RG972|5;UZo4?L8wSNN`_B@@J=Ky%fk5=3^U|I0U%{~^s>7u00gq#kn*%hH$_e z-N9ivc1Y4c!1(FGoiGofQ zxFk2yrc6y!Vq>4PgDB&ab+dp$P%r{@HCQS*MMi{_T3#J;a6*0s-WW|aFa7iXW^DK< z0v-8=I_E^uNhx#(*vw#dL{W|FY|i!)|M_+t=2x6J7-dmC1PF(WY`cFyDqSl%KjxjC zyzc6iAB<5_D8Es++zBP_C$%yhGB<^r7VY6M{JO=md|;<$mdWb7Kf5Ppzsh7foJ7nE z05LRXN9x>>YY8`$PTZXn=H}1PAD}T+0Q6q=3mE-dBP}Tkwr|RmF4d3OOE3lFggdnt zbUatf17j#bKnGwq+H4q3V%l)+;IJQdt7lBkL-kRdm$yq^zM_QYSe9A#k>rR+LOXu+ zJm6_rBM&hPiH|f!wP9WOIb2|nl}N{g_444$5VG`bY<4caVb4C5 z#^TofMl(`-3m|wlIuzG2nwowO~3w2AOG?-Yi^BIWP@^7JHo>7%||>C&3)_4 z49YhIi-pLS>&|Vhu)s|4wkWGrd!rh>*95*U1n z(yM8WqVL0H?!UhnLO?y>t)RRAvH*+683$pEvTbca^B@H;bQ|cC#U4G6zS`2N~p-&sWCz? z;AlOi20cQAtfy@Bsc#*5(ZR7 zSe6&OT)%#Kd_5%`vE87J?XC80`B~!goLKKa-}S)nCIs(@H34UWteuNLq_Xj4@6K=ORya81J_po=?MHtXIBTp4FLJ? zag5Pk5zqM+J_&X&jxaYS3F=W?NYlrW3St=Z0JsqmfGx~%kQbvnUS7le2+$OGc95N| z`Y4MqP@=G9;_FTV&I19+?|cV|sW|%)J6N;O^?=<9eGpi@tmoF<>=f|^obo?FfD;x2 zP<@(&T~wWgF>pMvaom@`m5}GpMZe{tqGL{V)U|8tH*6SwXajmRBF};N1OZNwg(mUq z>7dJ3QRO?QozbUnD${QojaFJtEU-u3B4N1k_NNj?$e?l(um9ue7+|==Ivv;}tMLR8 z&<#b{jH{m3+?^{Syz~IUPCjw7bawuZQ01c|BoeC}FsT*l6R=z0WU|3pl86)h&0qd2 zbN-+c3a1obU{(OoHj#)=z$i6siVY=>T-i67{LVTISUUv!BrXJ$UNBbxucT=b}c+$2D+&fc|@Xow1;Evsz5Vl!FXjT#a1r znqlPUt^kI^+sPqY9(y+q-hu#zf&k`i z3=JQCyl{ViMxcZu8$MTlH|23u>5z5l@B1<-=G~f30wvoT2TR2EvJY4|$vQj5{ z1E`e9%?k}11Q*jl zdprTL;rIzC5sILC&0p-$F2J=I{|;VfFp;=C7(;_j=egRpJ#M#YcLCtA16qM;8A_Y? zp6c!H{@rPC%puvU10eVOCDd%P(o# zSk3IP;z?3&Wkp3{`D7x8L5O8pc{zzG!O=fED^mN6fYk3c-WCwJOU*manLTYL%uJ0T^Sr=L%#(`h>#Crt<=sfo@ue0nWxkG|%NTOPv0lSej zHV@Lp)rYc`q!>%0hQfOMpus{@N16Jmuwi)ys3P&slMr~o+&HYkCtc{!kvV_if~tN| z{l{0WtxPmj;OIpe5OWq2^KtePUx2C}8w|;@u~ZaSdwVYg*KlLN1Vk>w=rCgW2{n;E z-)x5^R#;et6`q-J+lVcM$2Rx|WVJYQhlYkweD!-uH+*D6U0}=%$s@e0;F)WRA*Jq@Y!j-FVZe^#QPa|PC$7i6$qUPnT)g#!!)4> zahK&HgInT`DX!%kCC?Zx?`kSf6hW%0fx=B6vgyv&B#AJ+Lv36zJQ-?6xljp(C1LFd zpA(UVl!loEQ%$+{vuCOK5}6-@9D|UA zf(Kdq=uyAXBs=^Sq&&?%o2!N(V-eDTptXyw7oQ>XZhL!R_{-q~sHFD!d|Zzr;Tt|V z<^y>HhkuXv*VSYRdy{pgzJ7A(*%|hj~bhS4`9c(a$ zJOZC+4!R5f?`Kc1zp4uU2Q!xNh4)qM0BuU#TSO3Wdj8FcOP4O8V^o?7Kjwqi?g+k9 zuuf`0FxL-R`8#*At<%%`s6oB{oVocB=;`0Ml7#ER8p?*0|t}QIixQzTh448ynauU&5lKJPH(IqBkRW!P(UnlRkjA zv|m}>dM4`ZKuyiPdq+CT@T8!ocT;F%IHn#Ch-@0X2J^%r){Qmve*$;4UDC<05 zjTsM=ClJJ{YRGcAxVlCk+Rm#S^!tFUEY2Tr8<>NagN!Sjs}`bwKUSZyadn*pra6n6 z12;H8j8=RP-)F!%5MJ;GV{Rlu=#pAF#S3EUqKAMvK700TbksJwF%H#ca`M+HFMvHe zV(?za*>a1Ene`tB)qQ|^4UH|DW=Wl`?Cf8FyL|tyqpeNDRvsl5nC3wlM7e$ERL%zyj$pXik*KwIk$^kYE{4dHr0nhw!X zEw9sZv-FOQ>{iH2LT0N!!qNc4Y}h$zu}}7PD+*#9T^G-v$Hyh$`JhYKjS%)wsQSQE zdEs6`@{iN)(Id=|Q~mGnL7?Jkn0sVFOA!M!t z2Ee_lHsANHPgl?r_XBqV?SN`nK>_5ND9kl68WZoQr6mu2mb<%HSXHDL=I$U~>q!j9 znGPwP0gU;ptzE^(&&QWpR@V8gPr)l-d3hPguHcX?rk)EfAw|Tdd;pmCG5RZ3Ak`ggMfC2)IlXG)3GuZ2?S<>s47;P^wFCcz1noADWln-u! z_jJ1lUW06EaX$r(HzzWhfD;ZGR}Ws@p_F7$b=;o zzUz=euf9DOJq<1>&Tu>x_}^1|x18$y=>04+b9EYYUcqyd=yAX+ydNG;$Gu2Q{4(VQ z&mJGJuDW~!OoSG08VhG|_A483V$zX_eB0bF*z)ZUReVt3eF)3Wo0<-wCE*S90fGv$ z($&ey2g~ilxeuu>v>tb#vs1j^O!KoF5)l*$-`xL35IynaP*u-us4VD@e;iVfYnE zU0#5Qo*!pV|4kluk9x`nbOzeyOQ{bi>p8VFFaN!A%;yuU?Ph5O*Ij2;i<-IdJ$>@T z-bpF3=?dBV!ZN5y?M3~g5n3n9>=6&;WBkE*GgKg`M%%?b&3dF5Tbs`7fFHnG&9mfJ zQsOb>d&Mj5Ti7hS%pR{u|9K4uTLbb0H)y`Nk+mQCjVP3EK!hMUyD4XwHU`wCIn3Dj zJ)4fF88V8PH!9QXvDtWev42a&0}x`FI2Ds&*VWzq{J}L{L5wm)3%5Nc%)~ELAAANT zLuxm$)0~0_^U9UgH}ZvYA=JR3T#0g8`?5G6KifJRYwJ_cI9bn(iOCjNDAsAMWd$S% z{skvLzozcm8_ZOjwpdQ^zBNv;sT_Rf)F*C?|Lf6P?VTGHii=-EEcL-8B!MZ^3hU3J z4^R@4sLRW@NOoYGf+nHQ=`j-h!Unn}A&JKiO@kBTRrVtW1|4{46{nNhdcR*NrQOE1 zHC5bZoqe{o9 zh{{mj&YZ;<8;_?bTaE}Z(opFIi81VukYII`ex5nu@w9e{(N*TG&C%Wp@_kxAim;w9 zOO!c-$Zz8fqBJUsirJIupWMQj#b|i8*;)>jd>gDhp~t2f+str3?*7XHk*KQ_!5qh0 z8wpL8=7DX66fO}5m5ZZsiPGfA+6`y7DTSw$oNZ-jn?9P)%CGSyU4Pw1<_|p~D=qaFPA5893M`n`KF7xo z{kCOVw3vIk{i)G{Ob=CujqhPLwcZ`wN1Jt|SAx%O5WC7S@sg#~Zh}eNu36!0@0agg zqai6r?aqDgE(#Elx_CoqDe`vt)M55n+Wc%O4V~H4D5@>13gawxe)Ve4`ACJX3YSRa%(*AsVmfhN3&<&O6$`}MfhuG^L$(JV0`c^>6 zJv3xqJ|ML*{n`9&L3)M8jrC!zks;BcLqk?cNkR{s>w9=UOKeo-^$*fNb3dITn8)z0@m7_oUCsWt2QBsGL3ePVnwEPDyZrw;Q$P+XzjQ@$N7=W%vrv>6)@PS+hM2_2OVhrb<- z3hS4gW)|NNBIqm4^ub4wPX3-=>AY2~Igc(X$pk}g@+j+8Hoo}b>8w=ve_eLF?-h+Yk?j!HsgvN`1eQ}?E^D6@`B3?5x*NLmsH z#D`p^qbU5E`bJ%B)!%F^Ak$qKWviWQr_lc<<#pAP4PdmqFc?{~J=b5g{MatfKviFSh z8kJW6+SASMhZ1ZwV<7*`uF98D2nS$CCyT-L8`SpBCTV*>VEXePYhs+ zr1e(wJrZ@`wPessW?*KYx3BuQ{?i46tUKeZQgnXKzr7SjIeDaE$Efd9NsDSOpdfDoY89fo5+;*(cC4_70KYxMv7Z%fy+&q;(bKX-pIxuN1zE5NT+j(o+) z`4xQr@h2`Kg4w91I(TKa(o$sq^vVqh_y|DtMCaK3@+rF$`(dP@0(6$$+e+8KvC*+@ zh)y3tKANtS@cxvkP|s!hj(C=|F-+GZrWZ21ptVRfm|2gFfS}kcrtKEVDf>&T&O(Sr zrFF-bB-&>6QA+qd4<3Uba@Su{_OZ;e?%c&{a`jPJf8+4s($FcN39%DX?icKvAEkdS zwqmjkY&z=Z#rn*oHWkMsL2OY=Nm`qO>Ec zHIbZ%$e6_@Rj$T0R97$(N$c3J*A49MmA5a?Jw~&ZbpE&%>|YpsE2$Hg!ydkg6wti^O)n1nUsTPW`Eng3k?)$fI!CQAV#61?u zEh;Jk8@gBMb$)#E&Z{b6Q5CM#TzP}!sh6SjWskWZy`r^%F>|VeVH&y;c zq0d|^{64Eu7uwC0pP@=5co+R~{5xGi{-%dQ%9pE$0L{4i{~dtipg_Ja=rHz@8xnN# z8RPdLume?BG6F&nevcNoyjBIwDdD-Z=J?%ryxx<|mXYMZ<(p^w=Dzs#7 zpl_Q-HYp5fackghqz6x0;B1vF)%2w^StfYV7XJX-ofNs!1->rBaPxyNA=^7VL+57^5hMV*dE}-HEB4UJSp<()xqF zRX;GaW!K-Oy0WrExb~)|R!1K_)ejR=x~ClW+oa-*Sj?k1y{4Lt7in1ceInN}wT&Fn z|6S5oJL#-~DX*||Kv`hP-r&VqX372^TmbdGtx|D(o&(Yaz)VP|FkaefmmA593ao7m z^}sNa-wXRVt+w>ThLS}(T7yss=6Z8_& zTT8;;Qm#)kP|2}doMXDG3jF(ua)AEsh%A0h;%fd*332YI9b7W8H!VFl z52WaE;}=S3U*4}ReCKXFOLU_O{aV@}rqIHIkUWPQv`ni%+39+8ogW0YF*jF#lOYa* z$>_!%5!*l4vWH|&$n(+gFGtsyN9|DXKc$J|E7&1Y&7VTN_+La05YBdCMk>Im^NBM0j3244F=_t?>Zc2ZHhZV=-cD^VU$U z4y{K5GQx!AOd5Z%rkOnT zz?fD$e}5&7hS7V})YQE3O%GF{Ht8}tfnMsW>bl%cTh@Vr4NDZB712i)udMXg{^|5U zl@t7W-MahGl>mJRZ{8&MR4=wfFt$E4`uXo?2uzR2I%H;M^3_`l9!4SrSOK;%G2VDXEKinard zhgY(0nrw#03yq;UQHyEtJXrr?baWJ<=(ll~x_zyGxR~`Y)-%&&W@ViLOF7CNzP9-% zv~c}>eR8t0_UOEHwwi4L&>frOkj$?M@5JRxmtym_wZ*`B2-_q+ZF1g}!h;EUuFDrH z&5VrF#sKKTsz73~-)RPw)ZbiN?7AmHg}x8caAG*JZQ-mLRvKEpmZAW45KduC)n20+ z`{M~E3Md1(zC)YfI}nV3fwN|LqJ~B#%;8u_P#on6IJf-#{Agd(BzWLP2-15n^G5y0 zu&4LkWEq}|aa4a1ub6NAYsfYNzJ`m7i%l(t@+7grF^WQl2~<>Yc6@fZRDvVw#<^OK zCr@er_x3V>4h*7TKHF_+=j0?M=Bq*;YTGyB6CQV6<9jS&1TLt+t&+A%R+f?TK9J*F zSo=KetFuvyU@n(BrcsN=3_&mm@=U$*`XDWhR>P}>Sss|@oC*J$lAQc0|HwfV1r=u1 z%o~>M#EuBIX!`Ck--6s+5f;7LvU?MDyh@2;qi(WZX@C$3t45Aoz|QL1W8xCd(GY7& zo9~ZvIM%muGpT&555LV5eIQBdY=Ur;*#3{+<_ROZf;18Si?wu7JC>G~>MWQG8!hz8 zT@btl8TIxUXoTx|L+X_894I|0V19Jz&*W?wWpoBKsEOnKlpL($M3*)_D9!Q<@o9UXJpAj*i?gOJ+?LApLA= z;lEa5_0}YiqJfv$-qn?7PpImRGG2O+uDfLKs;oq$Kd%F{s>n=_aPTV>dN1jsUtIL< z_$2N$_Vh)V%Lt|;){~{D!14wfRU*$@fb+NpkRDJ}(L1qvrH-jKI#yo%EOKxlk@?7A zqImXS&}LK9>0qEx3JTh5@*L_c+|YVu>V~CijX!mhec#`I33Rl=O#4ANm*QD^;{+;B zaWuMbR>0S zqTsJ&ThR9p%qod?1S9jtprd)?o+=pOzN@{e!h#*Pv|#46G1HSLaouZtz8a)Ex+*a% zWh9NsMK_kBubcYzu3f3o9fB$Dq7sg5N6bZQ2d?g&Mt4Qg_C%H-WD*>|4mNCULs=uG z6I3p`H53LEsPe9;`)%**zDY0dxL-;_g=#jI%ge>XT$&o{+rFG%(ON-Fg#eBK5QYjBMSyRfn$Z(N67+R>JHIt?5ciJ9c=N{r=#f z-S8yw9z`~4>~(EzExz{3?CF(F9!Huh0$EpEpJ`w>?g#Y&bu4)^sGc?S;@`3*v!4)B z&BQ$AL9aX@vTqCl-pnZ8^!gY#BTp$~wl<@^KtMG2yb{mp`BWKU<@iKdTN7laLl)&CUfku$< zE`vMvhS`mtFR)gufuUY@hdWn3{{iX`Dx=bnEDFlJccbPz#3m$n&a!Xx zj`B9!$TdM{$cMEcM1_&JUI02N@<0^E!4-ZBMXn$qU&dJ8i#~ zay4$lP+^n+g|T-gKI8nN3LOOusISy|l~9lN0*>Aj zL76?qj!l!yH~$ItZpp7kxQW?dRZDN4D$Q?e*KyIzz&m*$gDmcFiR zl&7aB;OibANO*3K&7(U;WIDr!Q1x^LiLL7oiZj%Y$J1O92u3Nihj8n3w6ub`H@+!M z4QcZwZe7zbIpqZokO-hB2M0cRY9;5L;~IIw%H&(m`%t(oRZe1g_x6}qNc3pDd>*@( znQXoFlR^Z(y|oN87W zTW1};M&;-#{s$0$q>OYn?AOAvj|WiJg+Hd&$Is2p4K}M-{uo2KXoGS3reZ z(l65(1JYATUR=3SM{AtwD-kFT^20`B-6Bj2}mM52&EmN)wY-ZecJZqw&{^Jwe4+;>d zQ@qT^$dEA}kb+^GmihKe_xo9i2m2p8oANS?riYeC3ZIL}f>l9iIS=#^ikX!44X%-- zPujU_<(yePSm;#kgsP>Zb z?=mtnP#N_K2VBrPyM@LQVJ-O4Ym+#foRY#Pwj)m@UjNOs&wqG_HjjkUAq?q;va!%1 znM3r9?*kpTvbUN1*+<4J?hC#_KEVn+R(}`{Yo~fzP^t?YlCuOuEEyOW7BQlz_!)o1 zji$o99DbODnN_hZ8YU?wau^xyhhVs}az_k(8!M)jN(Y?X5EE7cLRPlb)5`&@L*|WL z^i&77FpP_?Bu8 z7p%6VLxRfdmhGSRb9XL3Gd($!zfDYl86DkjwU0h&bXc%Zq|ctyqf=U63-tF2{+uRA zOPg_FW~jT{@Jv|9DvC76`KZQIZ@6;qPvDdRC7hnY$H1V~%R&1TA7n>N7)QL5nNTj< zC9jWHx4d^jnP$Xzgj!Wd&*(gCt72`bmKI!%I!WRfYep;lx;R$iau#Fb*K=*v@87+n zGNPkMcAq!9w#N8_)xvN~Qj8552MbwpZ(@B&V(SQ2ghFdSWBr%!-!VzmwezH>85v^s z;X}s#35B+FL%|KSLHJbN0UO!TguF+h!D3D_3I@oBOwu`yJwP+7(#rkZdc&&!D(0tu z!iAKBoMghYRsVr7AWk9Zg#c)k=3d()^`f{@2l-lDwrE#3iAG{)y+M&RIJ7_ah!F1z zQHev>l^6MH8WSgfK)vv%nj=IEM`{$c!|b2YTC0Xv(1p=a<@QWmO&l!wT6#AL1FN8R z)q&uHGR45e^!xX3%tGAuwLj@hnbCHEU|lU66A0PJtVFn_Pn(%dO+DCNw;Qt=`XnQAAuR zFO=~V;2VrvrSTyG4V}Lxw$nz|E3_fAKvqm_BilI@=GMYh zE$o@`a85yWdg1)}n3z4AOGXUYGn+=1^MVR)$kTInnwsIWMo|=!1;s!Mki2c8!sV!g zp@1mM7wflK-XSXLo2*s;byz=tipHCBxi%o%3DYk$1vZmf``!l*r9j?b3mQ5CeRYRX zTrdvk_@mV|*KVBK0MsVzU(EZx<3$lWl&@ty0qF+TJw@cD&%=LW57_js{Lwi2cD0Vs z8ahuwHjm1|p9+l_>DsN#YjK$Q#kY=+ZV3C^6TugedY`q}_Ta2S)QJ#e48-afqp3Yj&CUH_Wgv#9c>NR|-r(T+{w+XV8yXsjIu+frOZisACRsCt07^

    0jc~Wb93O!o?*au`F`G5M6rBa$u_`1qC?}z4YL|1WgVPc_fwDXilnh%p{uc(x(9><3iue-~f-+ zB4M^GJ#is%lsm zWN2pPj0*y>VlVS4gSV$|0rk;twb<1D+nX3hU`pDPEWeIS-O&dgaBj#~b=$I~wXPlWLkCPH(e&}d zs8clo+{|Y?Om$66tdOdV6MBWY9r@h!Lnbj3$FMF%)zQ53Ck-16U*X6>0Vm=DSROKP z5)J@8JPXDxf4J$v@`*IzwzX1ZA1PTqyc zl2G3mYDHA9*RNf>_St8jH5!ehM~^=D+@ZNcP~?T)46!@($%Y1=a&|%)oN59(^{u8iCiu>GM1T~oSZyR7|18I z3fghhw(YPi8RyrWd6nPPKo!7=XsYdUD{Z;jd~~QgsmFaDk_~0!UXxg zZ)}^0NWRTbU`0ghYmHW`)oNQ~Ovt&(nZw`v?)P4L>7{4R4it;sqf%Sxv$d98M_!1C zIx#ITZQQuNv9{7G4kgZUiiV7NO~|G<}a=;zJB@g+?QXDzwkm_8uQ2} z?YVAv-+^fIG-U%S6oMDe9FMB&AJ3cm%4%a}b+|Za;{mORNt1AgiNe5U)09bx?@=5R z#`OXK00000z_)+^8UO(Hg;L7*eG0=M2zm`@>U3JImJY*0p)fKsa^S#$kr6)#sM(6L z37?77);J0wv0{lxghgawVe!h9D;F;ojx#<@PkOG9koM0*&Ax1h%8YgP~V~7K-_2lHi7hinw&F{Z?^k`5llIk^-iL8(n+iM)VpF|OD zY;3Hpt;KO%ES4rFCWeOADwRsB)p8ebWo0FiNHm+xg@uK=xjEA5QfY{owB8;7-Mhg| zg+gIwX6E9>i@dN>tJUo0W~0%FV;hD_wzl(qok%1o3`uK><8N{L000000002={{xP$ VBNR2AkWy3 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�Yx1zfoyf)$TdE$c(^qoprI}ame>H=gg$gY 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

    5O5r)iqL7LL*FlA1CG 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%0Aom9{H|3 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%0D=(D`%%7Oal5 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�oD6x21@tw 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

    sc$Q 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%0A~tR6 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

    OmNZH5(j+XhW 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

    <_J1;5+`XqC04pUU597NK^><1<*XJm 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≫hgQb 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

    RWfk>cig%wIByb2fJ@z38 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%0Du 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�`~&RlVv=2K9z5cgJ<~@Q18A61d*9MqFCz6Y$2AN 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%0DL9< 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�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 lbffz*UD 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 CW@$tK diff --git a/src/resources/4-Content-Tab.png b/src/resources/4-Content-Tab.png index 10d21cc9b51c09a61d6b63bef5515fa1a633b9b8..2b029bcec8dc7327b7ac7257314b3fd419e0da66 100644 GIT binary patch literal 302975 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%0D-w?%QWkp>R&e zGk<{{j8P{z57O+c9aXTo$f1?tD8DNGc+*G|f-tD#Hanl2%s#p)(aKENHj3wSy)B`Y zxU-Kj3D%-Ip)wqEt|Sb9)kvy3kiA^TTFwq7@WeJe4sOU6ynDbd2D~KW%1YI%uip`e zC_f)fJhoh2&7buZfgurb;S7Ph^F!p9?HTy1d_$1LZb21M3U1%1gYKldE>~x-zE0|o zD^Q254@fQ?d`9mi&uob$#6RQVu@SXsvzKJ|OTq@S*Ve|W zkdU?~oHk3QTH;qlHDFSeOjL#+-ZYzxitBw`8xzZQjo+tPEcaH^$>Qn$63-UQ#e{_m~PU>2{r z*}FfH?fUu}m@;UP7zH+{8v&wT>&;GKeSQ7<`Z`b_iV%<6KeZ^za#|5=PGIa?wl_bd zGk>(yEW1d<2+q26q?Cen7;ayx!Rgn|dJ&|nuyUC7v*_G9X~apv_8PM3H)yR@v%2*&ByH|7_j7ta!v#*D{>` zwAo{ceckjzgFGfhI?UzV$!$ZRd$IdQPzp|N-jW}_wiwalV ztIcn==39xcPnjZLx3jhmh9Pb}b6ZZpS(LvBUdawkCMWL^HuA2X-)7aaMig?cs&;k@ zK0(98N}s0L!7oYe{gy>?)y=lSO^uo*>nAs-EkE}U^Q-1WsUO9Dr8%^t_TS8M;Xc}j z#pyBp*Rl}Xzl@=j5vDOea+r&$7Ba3h_$i)6(#kc~Gxpa@>$g9Yu-jcGXpHU~b=gkW zyy-d4sp`8H-Ab;aBnrZ0SFfN)_g`{t%#~03fa2d_C?zeuySHa;X9qxF`>r5N0gmSE z?2O5%Qzn@++C(F&3shm4Sy=X6c?M5Se{5`+%39rm)Sk!dVlOk30w63Zrz!D>yHNd) z+LdhH8X-s0ai z%pQJ7RmQ^jb8KuJU5MOM2lnaTVr#&#jSpGSi30BagoD*h_L7GIedaI<0jmd!AR&RM z;D5IdT#>8dF;a@gE5CLAcRg)TD5i=Ty%zGp0!WxYR)n~mz^#9gwOZ+o%qTg^(TS5h z`@}d3Z|zc5Wl76*qB$-r9c9Yj{;8`-TUK15D0X;HXPm{&HiJy1-CJ>bKI%^aJTA{i zM_`@CiN-kGMij;R^n=nm8MuX9cEa6PFs3G%s>6A)Fd;?OzIT!fw19B>F z{wMYpu-Xj({qEcw_dYkxrvX^U($dS@dvE~@bCSVC6No1sPSYNZO-%6c@gs>iY=JWd zH?Uk?21fZ*GD7_-45;ez^75DNy#C~%gaXJpf^f}gH2}9<+HzBnolPkq&|15g7&%Z5 zw>WuxBKjOAnVxAqUd|s~lKFInsNcSM@KYK?^HbDbU}{KfLV*|#t7|zuGty^-5V+go zel~O>R;M2;cAJlhPTAbHOyhQX_%linD119(yj|{hSXSPi6B8gSskhp|rV~4+~|9Qx3M4pPLFyT$*R| z0*L+r=eVM%cfA2b;~-7j1x^l~p{cB_?0e2Oz+QvPBa_PebCna)Zdk4^BqZeNc>`)# z*6doYuI%lMs)Z_wxWrvLA0`7)UsmPG4dv~IJ67$02MV8wl>~wuA-)-W!EZV-Ff## zmzVdo5~_q-9}`6Qby;Iy?VLjv`D=!Gpmqv>9YO3OS71HNl?rwaomJuD=(+BT-sUR7 zF~L(TlXjT}dKM5yP*rw(RAlXko>}}hNC#8E4%lZjxalq{FEoVkiDxd`i-#r2;R$iY zzGsIx$uVg89&9|`bM(cSW<|fI6pAHGn$4VZOL9})H2D?5&}V(=U}!dF%$}3YZPPz) z$9L{7E`%*aL}*peHB@em0}IU=Y`Fe_6AbOWoCUZ^Xb=dN0qhkRw8&L7baXtiXcI0r zHWgU5^oM#;t&!DZP|ZALMgZ-0_hEOccZssTKCi0uR@Nw}*|Tjg3Si zQRZFag#6gU8-bvuaJ3|YIbEchb~EAsUld|qzO;3Z+-&~sLGu+K=9L5XHPZ`Wcz@B4 z_`mx3_IQ#Jg+4(orN0^c``}TwgE9VqAc=-ToZk@YkB{GBbac>)!1;weaMe=U!-dZ9 zaV7!&H{+6F-g}}*AsOK>`)X;=3DseHudrM+k?xl>YK5`9@#DsR61d3Fpdl4;kEW-E z{rN_hjtm#URquNrOnBMm?D6Sq&PI z)lq;UZ@cHG2YjutT1_KMFqxvAOed6B@(dW_Q1U@$F(`5)zDO$(paGgLh#f9Wp-IJZJ9K(d%GTkL|qPO zLp{~X@qb0ubz1`oI#T%}cBNOoLA}?197o|?5}s}0roZGg5?|B^<*!o+Xt}Zzc3)#) zL?bq1{uwv-aEqVnxqQ9ZSh(XMcOUy_IGBU_8LA2di8+Y>2u?|01`owiVZI?64jN+` z-5-ZcF+bk;CQd_O0rSjY1Vd?EQbm&*MI~H` z?DNe&deE0?1S*_Ayn!N_zq2ZcK%0oY$3jRTTzpJ`&>ZXgML|z|X2F?8k$yHgR*=H? zA0{D`v@u^@XNTL>Xxv3Z!!zNGfTRJX;IBFBgc#9ia>>r$Q+wuUuc2ZkZ@ed?E>w^c zx3RUvh}B)mhg}y_yV0QL&U0+PQX?|bh-=DWA{LFN`&-;KK#(kp!2a38cBwlpTn15u*#U^V4}(75HMyL)WmwX z{6(HaMrEAIWkBT5aGiw!r4+ft_woDvADlzog#)Dd^6NC4w8#SsxQ_Myc;CnoaIW_ed>~=G_2L|J#Q3X;9hO& zCz^O#juAN=l`4Rv?5?298q_+opriGpMf?&|P-n%gU_mQI`?EgAj6uc~%pT(RNt&8%+^I}?6O z&`yVBN+~5O*+gcGkq`{(Xn+e+OZ(r-!~S||#$~wJxECJ@%B6>(QPz%yIj-BAG380S zR`nXAQBAc^6}64C#^siSJkpE4PU9TxidbOXxI6Y0Pz>WAeEnWtB(BZ!S&)Cld^Hcd zon=ws#Vs$w;7de>=&`EnB_X(ex(rFhC{ z0|;=rKwM1Sz4J4=Pu|6<98r;Gi@|!Wv@CvMw|T=}!>qOI>Vpqc0bCFCw}Jo7#_zcE zLLk7?&^R-#4#8!FMjWh-Wv+yr;-^Hz{<;S|9~;53MA`+&6itnWXK}zH)ZH5XQ|IOlVf5bU!J2WDP&h{#!-xgX# ziy8E#9ht60r*)^1!N%2$5{LV6r7%~9i~x<~yACqKMeMlUY*j`^3HQ?Z5#O|l?BGAz zpUfT;O&(GhM~Ju5g>d@SzZXI~f04BoTb8bXB}^^{M@1T5K}uD+*u(t$lT|k+Vm0II zCh3xQsR~%C@qZbsQcd*UFIKrCiH-i$s0RyL0qrPS(w8OLHDEU-G@^rdUMF79t5-!$ zXKmXBkL-_wGv|=K&0Jlj^KDIB=Z)ZRh7bg~@9ar@Z+P5h`ZQQJWui?`5HTciDqkfg zHSqgfx+vlzrSja~Nt^X0()8?LE_#sQB2lBXP8u;My%1kr2<3}5$KU(&)v z$D`rBUPp}#LyUhlw>_{{ZOIbYzCoC-qH?o%Lm|z@|^-q}*6qXpa8Cjbb`D zND*Ual{GORD6TZ3c#feBh4kieOOJDX60H3C##+q%&L!r}97T{pv}9oB_O#PRe=3We zF3A`IviORh5aU%i6=agMD!sAL$ZmQ7Ec7##7_Z=QEO1*GW>7QcmH*C2TdjKG z(L7wMdpDRz}iDD$mSY*52agjM|Eg3rL9&oxU@e+C3rE{>q7ML1b|L)*kU6{6D6+~fiONTyN3u<**lAXN2D{5T-n}HJ z8?xs}mxp1hrdnF{X7>e$Lm?v39D3fzB{OlkWZrcduBF4~6q27(242r-CDqz!pWdsb zrT9*(5NJ09l9S`S3PO&sG_|l#Fj&nQiCXl?swwys{kBto%FXVVb5(8J;Y^L=G{K@T z+w#qe{IEDOdJA`L}x~RPQe0t~S9xIn{KkAGCIy zse=Q)j1IP_SGsW`!XUQFX(dHB7wB#uEjghyKbcpPSvFnHYX0$HCBnxA9JbsTPfp0P zip-LffNDpJ6Ok=7V*3i{VK%vToY>RoGbUEW>s9X+%vD--)ar%PrP`18*UF_Z=J3p| zmR9)Q1IlZQtd%Nx801S@-krG!{MNY>367Rdv&zWkwj!E z6`Er~n8FVQ+S`*VY9$&E{Xi+ic^Gdp)nnri&GX?YxO&1x?(dNU3Q}b!BL>lRZbl(Q z9s*+)`fF_&KXKC_cteSEZ_tEU2~9v!d?nO+^{kaM(xhIUKB$S=xnEMkjJ%4%J0-)O zH3IX0ExWgzk(h^_c8e$fHf_@u=lv)TsK3Cl>vMPWtf`)%^t7u=Z;n6N=U3^&l1O~Z|TH_xsPg>KKrt;>Om5mv-_Vc%Y=D+$$ zRrvzW>22;+L*v8s64_+&{6+-{rzcthy=pE`_kpv?W~2pX$fM^~MrT7a#E6o%)37?J zPgMx(t(2TpZ>;F@53`5s9ba7*M)NF@Ru&4$vLu7;&0f;SQ!+x!LhS>}PJJxIVdENZ z9VypF^zXv`bumf>?=E<6as`x?S-D8~b}_{aZuat7Ha}2EyCW>%8I|O z{hHUS-$%G;a9txxrGnMMJ8Lh|`OqT2UR0gbp+)e)k3{jOzna;wFZgjDJ8sERFfBG3 z-kYMVqj7Q6+*ph)GW-Q~T{>I|D|qwM~L zRGreNQ5KdM*eGK%D>TA2*Xf!=?|wBS*pO-1aC^5bDhHWFu6A_YwIRklDB5cSVjqK= zk}V$ds{OkRLob>TjHB>CJ7QoATg=&-XenpM~!%GFx(vmHfT5?F5BPCO%V;6M{~V#^E!f z9N(+mkY#$`8Rtkapt#*|kjm(u!&8a2X zvEfb(4ZL{YkUB`yBSL8gNMc z+R^A*W>2;oO94p{D4vf7o!Ztp{u#4yl|X|-yeHA(uvV`*GYS~~W-vwc=*>-cNtSPM zp^*330u2{WtKI$acvst!^Cu;l{c&uRTIQ#rTMod^ZrcL#`00jAA;6w`nogJ z9oOq=oj(fl_`!G+CG*Dstf*1!+Npo!(byFyqhr653B-6}y5FIER+E@7uv6Qgt_CU! z&4pR#{qd=ftpfKynU;8i8^*av7(F`Y=6N`@_9JUHIzvZD%u>0iJ%_xGx0XiAYz9l> zI=LH1$LFW{T{^XcQMs!PcSQU${15y;PhP=j0bQ+ZW={pLk%;h4gDcWL&$p98z}8Pk zi{mc^HsH{*YUcFo(&WEmXHH}k3jgtVeklQz@cMeXPhH&_ltzH$LB$=DQNN|DOBI{7 zZflG4t!YwwM|ruKqU*iQ#@TU-4|(KI8qg8c(jv4fq|;zejQ+{teNnX6^f{5)#kFcP z>J<^;3|$NBGh)nA-b)!RX(LVXxW!!%vh9XD4gBkQWyd(gOI^jP_Tk=qd!d3vgUf@b zw#4@`!p*kv{w85&%84;k(VjYY?)r2QoAMv?1rUXFsj5ctXY`mUVu?@gEw7;Y2o0)_ zQDS|3v1VZ758UPThV&qHZnkB$g;}cG!(R)floANsk%yKW81Znuc7&0~D2*<7?~5h1 zdvAXY;}HY?Xkg1Y7JVorX*Y}NL|4kq_-%7nJ%VN_&jgpa`F*rvsnb(W7`#&Wm)?o! zwG7TzU+6J6Jd!q{a0?yUN|>yL`rjbpJCH&Skj)6H``pR;SP z(&-f2RKPnvo}RmtkfnM@NK$|tVURbz@chub+G;i^d{5iXO-)mLBI@wEb;Tco?{_$@ z@Q`noa&b_2=zZ}}m^48#A0xOy*zT7}PW<)9qK`NWvKUxin~n1ESS(s8B4@r7LC?-! zlOst2+9KyWEK%5$8Z}P6xrYyj)R%Lw`2PI?1k(NK`ti-}kApqU`_!$;99I62-vzxg zolbH*E)Vf~a=^dmG7-Dg$MAa{{seC3czmQ+oK!g#l}D;#>icq^}hJ3 zrsLM@qKZR-wxb%n%9uf8v+&0Q;F%YRCO>a}{8;>sVZO$q%OY3yQ1z1H9R)lXuUjNg zG!wI)yod zG;m++&9Q!X+zW_^fA!4yW}UCGCb782o`$i;cx3AMdKpUid`(iWeYe!7%Bu_P=Of6g zb%BLs-_L^#CrUb7>4p0*%w*niuI`O4J}y#|wcdxeuj9BML=dF*dv7U*{S?=si0Y^P z$mHy0rKILH8_pGG+i*YeCmBL4h&V>hL@C7h%@dClzYu$(rE=eX^%eMl)-<~Ru(hv7E%!4nWgiW)Lc~Aw?GWAjvqb!NxuK9vyYv`y z6O64$br^P*2sVHlc>kbp!w47%5mSt9FC6szwEeVnv6cKe?`Bon?{u)MO^S&5{I9J{B%xd+iCN1uAnH3#U>s{d>D#W5CSPUkJTaI4Zv=Q#~0TL|iMDQM{ zT$etBXnJEo(v1i(gbE3|X@EX^Qu|LzG=IvlY85Y5GXqM&E^_KgU0#Qej9Zm6`zq_d zWM2ryT2q8DNOd;#3@9XUBvq?x~R z!SVW>r$0~ckIE6TZMayeWM~>0onLpR=9oCpIqqj>aiRagg_OB`G=&;-cs)DNm_B{!JzFBh_+5&gSN==uzX=eeU}MuF{+sn!ehmITzv|<%{x~6wr}_e#Wkz}$ z1ub#c;mtT1z6{+#xS$!_TT9MwE!*LLUY+LZy3NXGMt>VNzVK>P`+WK~;>BL(OM>{n z*cn6)#J;h05brbeAqTEK>QRjuBk`Fme#}d`w-|is4#c@MAA!brkk*3?EbA`f<^P-R z)z^Z(6*W~&gXd&rqQxVG#l$~05g~rB^>>5DedIZ0iQFR_k3xx9=45i!?)O_nA`P%! z2#NZmmp1UTfO2SL!uyG0BDEWT$s-cOI(%f;!>NgxIr9p2;kMr^ryt&TyVYJ}&}6kU zQvP&+BhYrp;-USqIkkL%9r=t1y%!c}K;B)^5d=v!Irfu1BEEWKzaCNhxNP^>aNi}6 z;MGH)DiXTT7Vr{sW!f*`-R2*%k6i^@aDr?1Gs;K`cKX2UX5F2gz6fOJfTr)r!~n)d z#~eW_Qb0)k8tl~PCP@$cEO{M|RT2YI;V;j|J`)EEBF;&5-u)@3Co+KsEN+Gz{o~c7 zlc$2u8PN7y@S*HJ7`Wi$;rRJ2ps$E_s?ti@%nMy=7;frJ1Kk{QzmK(S`2Bzi2xj47 zAiY=B+Fv-C*-@?Bh8sscq^(#W56PrN0SZttW_=L_0U_{E`&gZY1F-6OLhLoH!eLsU zfbl3ajTck~A<*;Ik<%5TBxcsK*5W8S3B;SRFJeWN!Zi`AU#hT*kx>sO!)uMw50VoN z#^Fk!1M5zNvZimSNyrn8I7fVyMqvkDTWJEf`-iqo2P0!u#{Jx@dHSqEBGUGkk+QDA zEK8Rk_zyERUY=;S=RGtW9)%(}AKUM&aK+^Gqg^$#CmCH1yeIJq5$9uYaTX_X$UWE& zrz%U`=zG(O9wq{>>Fo_+E1h55la?^Us=7$xjAVhlOzSRsS^~<-iqS`?x;Sa_Omg^5 zhT$WhSm#!lRY$aJ@R}AyJfp#|cGx(ygQ6bE2>AJRqvu$wjKtSC+1zCsr*i1Q&%|T$ zD~szhYJ6xs3#pVs(Z*EbX+!DJGDlNbjRrEySOwupf<(ySG&DA(Mooh;3{)6VV2JpI zDcLmRzU>Vj{U?!73$Bvv9=#bc9&dt$+ZApz1$jLxk$TG^OrpE7Top z@p`=0;M+gu5%t^wZT%W`VC#|ZfMKHGa2WfXZ}ut+J8?D>uW_7W*U$GZJD+R1#@t%Z zwOm1^WmccHyxd&wA%T`<^D0oNf(|iXHG%E1>i@WU>#!=HFWj3h5l}j$6%?c;q#H!K z8>G8CHYF%XcO$8E*QSwf>F(}sID_Bc^}gpi{Nsh_=6NR8+_PrQ=LU$ge=w%qf?ags zlm!Alo}t%y*|>P2mzRkt1bD&bA1tcXjMR+@gjG#$XVw?FP;5DUs7F3}+@0cLA(T$h zN(O|%e9CU;DSp0L$i7@!<5^P!B?dKLqaPq6iKd-mg2`LAqFCg%dPo3p)RzizIj^-^}@q&Gn5d-Jd?njrN<;C(ii)a5xulu`h4hm#F; z>~8z_#1^6&mz3Aad6XSLN;1~`U!tMi4)vT7Y=n5Yr?WV0(8W0@1ajMy&Mz6{Fh zqPy0Mh(VI$ES|C~dkYh3`zxoclc}-`CrSj(KwPt;)fBi88e0q6C$Z+vAdvl_rZ8hH zu_bZua$1xs77o}Xe?Om;%Kc{PbcUojsnO{1stumG>8|6s`79vxkyq+Y6 zgtO1IAA-7XJoICGI;1YY{!94ukDXd(^h0hfl4ox*ELSS0f#boKs`0(|1tn&OnrW6S zf?nD#P93BnYt=qGv=DBLG%5_9Xq zk!lBe2L9m8VRYe)#izpy2W%7c9}Fg8DVR?s21>ud_*m4!y1Tgou)3Sa@u)CIwnOXd6z5TdeN~v6Ic%lSte=YeEKLnhWlTxal zOEt-?*q1lFOslk=JGpXGueUK-^Zw=WSJ>881xLj7kSJ^1O25>OdanC4!F zE^HDZ*4gf1XWiagA2omCT%kO9foK;HSpesV+||hhYHTH>hlG%t{dwH<2>!SNE`R0p zt4IlnsMpOknjR$Fg*socTSWf=wp0`~acFk7F_YN00Hk>=%%xACK*8}}CPX1Ym;%H& zEoYDkLzR>aOMySCb{mY9`Z=0IYRLioN z+(8Z6e8`8wzi)hz^WXtasK(;Bw5A|H z3m2WY#>jI&2MDjRvB``ES2TxBRX4XrZit9n*P`lNTMKgv9y1?92}8LBn1byv$cQo!$P->lwk4}ji6eR^T)@>cbDkj zdik4pxrY+K*uQ(kVQ_MDXc2yV*bQ;|D*s>B1LQrfo(*fv8$AZ~)j|X$l)`RXUUGt6 zv^)-qpB_4JMfWy^=&8eH^%ycG`NQ%{MwF?=sKRs!@Xf8_2l}>D0Ea40hMuTtONuhV zSnDE`8ABFDa0@NSa+-ZO(9=7Cllie&ck#BDRkoV#!_+I8sLYw9Wb=1)Oz8CNQ0})} z0L{8a$eK5hXkDH05CES>Qcj)t9?x&BorSi91x%&yY)nAgPV6PtPUe zLy1O}-EQDHpqu>EBPaTPL{h+>+RlvrJchClmlS^cH)*{I`*avZ1+1&(S!V7N9W>(_F;&MWnznpCh&O4d@}zyWM@fVZ*d!_&Kkl5 z_li%+PqK^@(kT0kk4H~QXXm( zd!trRQ*yH9oy(a>6^|?FAtboJhqA&%roHw18I6R{txO!Xk*Paf`5)1*iM$0}wkxGZ zqXc20{e6n^ExSQ=r@6+4_p7%he2a|+7A__p^h7@i19P93)4NpHj4K~%SMBwI-Lfv^ zHdS4{X94zu>DWp#fvqhji31z;Oi?AhDAV*iB zbKV>}OycpHNW$&gvB(#G$e{lYveM+=)aW(J@*HnBo-fkhZ#9H4K(~UQ*`a@dcPqR! zLGcLr8I7OXyi=vo%9KLA-Fm)BdZ#m{H@3MQEY@cG^5r7_%~cqKesG2? zFR5Kc)2dnP$gC36LtpW~MEukJ85w&Z>qNaWUW;YD5ZAKx48r`NkY!3;0r%$USKIk8 z-0MJJ>hC;V`UJ(@ETSU_eA(A3>YzZ@?uT5uzinCwg-K|usHxI?k6jdJ6oy^?)bn{A zi9W~srHkYl?vkRCw-$v37S@GUR@T5ZQM_G0xm|MftU7d8Gg3qh!fuTA-QdA z!K*yrP8eyCfCwurbh*17K{){QawH~l^8XMTAq;A+ta$0)5Sh` z;J}^}PN>t;?>hnm6 zgzR52XZ?WDE;5D`NY%|Ki2$d!v-fpZ#Y=qTvx9-Q==PwZY$`*rM&$V$CBs+fGHG1U zQd(Xd-WJB>OtX|0<`$9c;)*r>3Mm{nym248^3PE?Nm~RDr}xL6!<}~7g3&lB)utCI zUn_{sxp(sWl8A|ucM5=gn3oP?prEiNP^3?Mht&Wf_X}@-d+E=P$K%;!W zu@Y-r29~XKHnr-Ju|E?g{$xhBm30UnFtsPw;-CKU>fmq6l0uhZc&bo)V>hI5rnA&^ zD4wxTD(nC3bI}-|b@J#_{l~vA!eZLd=F-)*TCY&x9A@ycj@oa0BZF2U$|!B~j&JDa zGY1qjA#YuJzcV?>sD2e%ztm&6W9+FWfZuM?DPO1^e-?Zd?I>`x+Ix=5G zPqX-KSZS0a-&-Mq(9~XvV1yq7Q6L@DGj!? z5iwET=hFNH{AT4H-y&fseSU!`{!2$0X1vC5xcy~_kV@`v*OSWFMNjMMsa_YG!xQaY z$E8%*oCe3_=`YU_;X!3U{~+6~KUF^-x<3|jNA#P`HGEL;*B7N!Z*b}-I%*|0r9302 zTQOYPA_|*x^BH!^uPg7HdlN899^<0 zJPsSKx_YJsd}~gsDlMikhL)7UXi4Kt+O8A7e_?K7seFd({i}zSc(k?kqny%|_qS6R zMZQfWWdSe3%MN{YM##Uyo~Mreu8Fy|u>OI{z`B4b5!E1PN2K{L9;VJ2(>pVTDgO-kPDpl;8EL^$ymQ(hLaUM`z{;&_3a? zpcBA+wqjYFn9Crd3_sFV4n|56Jb6tFpN?7Y*;1ib#j2Q#x9C3l!R3BKRwamv2o)No zK-cHY&VGg7`CuU+R5v*~z3{~lDa}t1UP!<~QMhHZ71fWD)Yf?X8)Hdb~ros7K`$=@2-B1wtm?F4V2`Hat5uht&JZG|+5JD5IVH*diTdVer z`i6#_-)Xso0Ao6+@vWeGhAPm2q9Y98Hn?A6s9RR&2migmnD`+$T|BTXCx_Ef*}n%| zGJ`Pb)x@V`W4?@*hcL5!7!z9;Hi{<tl*+VejAGxftQvtt&r50Un*dtN75qB4?8GkHPOi8b>5KxOI z_tLp!g}Yw(1&!i3jVj{VuT-A!)kXyyc`P)Rown6!KZ8H_Zs+x8sjX9!zo>PFWdE0v z!5%2J!8KH$W)#?U`H9-noi>g@Ef5VT;sfU&RDucsiMQx=Osv(bQbsb#%%Z*NI?*^o z^(adW6YFJ8XVdeZOcWV9FgLBV&Wi??EiJ5n6;CyqF2|^44^_ z!+b2%r9UBtV`IJP8?PL)3?zX+04@+5ve#+I^w*2&H>aZFNEV>zk*?2T&t;TLdLO9lQKtlboj z8HY!<6{3;8s(L&9h>Kp=%waD8SMU5oETWm>yUQ3N>0DbTrpp*s76k&`t&BZ;tm*5o z&z;8E^DJ!C%`6<4Xu38|F(b4C;BpKk>UvF=vh#eg>jBnP-h+5ufvs=jD_Y$9=ziFoWRlX z#($L)xM{nw=ve-55f5`mbUfVMohdpOL|Zm>_5(NY#Bu)kK(d?O29pXfp>tp9$iMV` z1AO7tcU3&4o&)Vj@)iEpYoMmS!2e8FYH;LK5rTPLV=MKyV|*ZKaLB1Rh+HQ%d1bIFzjr_ zSn&H7$dFlRh+XWvEE0xfdTqa=LKkLXgGqR=Qr8ut3fqD__oK&Lv*ye6?@g_UHA>zE zcr;a9!l+lJdHD`~fy&N#+$3mWZ_^^;(|bBG@N5Z~X-t6Xn8ncVMb1`eZ4U^~#l0m~xy>Fsz=mt|&UZ+t~gUmz} zGhOx?aTL?21M_#e=LLoA+$08Ie%(i&7qGL9O{(rK*zLb}8BFK>IgfeeOGD9@mBNDEppb-Q=tF!&}ZXe}yTzCay*YM%f-3B+EIHUbUL2(l%L-mRB zbpo1_e_Q%686g&}bHaITi^cBp^2cT*btM`dc_k_X^e$$SaM5;4HuEkyd8UDk73s77 z06``s0O@^4z})Fb%VBy%Sl?Q=7QI~Ffu&G!VM@rR{`%EcC|Y<*IQ*nrbj@?O2BsZ)!|q>T$5RCmoCKxtb(=z5Jx z|E83Cj)a&s`F*Sr^dq<&N{3eH!f1+Ao+3BD0(lI5eEAJ_*ULi=X9*{P#h|HuyUlKH zbAO@K+<$2F>uN2y62oJ_7v#xTd>`g&jh*O;mbt1kOz*Cu zGUfI%lGM@tNcvN_3ry!knrmjaWgY<8r%9uXYaShM7j`;!*(Z$ra>n5i%TZ zLC>~wWTA-Wb@C`{Mb>iZ{4)J)ozu2>-yB=Ma~|zk2Lbs!svmj@-=mV00j~iQ$u1>p zps(5wFQ7)_yswd>ntbg3Z*N)X8;M-~+1yvaWI!xB5pb*&{sOupPPcxm zExGMy*hF&4<{>E*A}Z#ZL)nuqPGKOHkqG zKzFwxU=sC$^}eD$cpn5Ri_UJT1pQ(vEt8Dd&YeIl8@qcO5>?bG!cXzzwJ%GhE1(cA znpPr;cI3x0@Oy)7W-%Jbw|+s)gST|1Zm^y%+dM`-u*ok0o>w1dl4R9AAAWGH-nHsC z!nduP~ z7PpN|Ry@S%cI3B`zji#edX!#VTN8Vx9pIy;UII4+o_d#&#pr54WtxP zr@!!?p)sR>zr8k4=)#i?>&S!~dVjmeo3{C7WC|R3J$t6u7MZ1&=K~vnn84=ctl`cs zv-I3a8Jt)~8Kd)bNvAST>I*eJM{e(Eu?F@RbwEf<;t=>h6*(PG1nG)U`HjQL5GOH_ zOHOHNTy)=Ga!e?5X-n=GN$1h)uy|a!>ZX?>!qT&SPHz0RI*gV4z8Z7k?hvBukyp_k zWXWN>T!kw3_#NYV^I; zJl?Zf;4Fm<#Z@Qts7PdP*0(DULV^8WpIk}tJw>~_WGqrV^|(m8SO(r*bZkK^6d{Y@ zpZ|^XtkHIqI}Tf)1rLk$VVkkeMff(_v6P2=x_jFG5ZY*%;cpw-1g{XOk=cNLfmI?d*yVk$_I%-*`d5nW2$Vl~^$ zfuU}v(?u5|NaSw!@C{4UQNQ6Vf7j)3YG-@Lu`ZgU__{jZ)8#lDRkDYWGb~8hw?3&i zsS#Ma0wGboky~I>Z_t~4*WxQP?N1>ou)^du*al9-f2!LyoXlZc#D%xpvMim>-(^8T z+Ou7Mjpm@*fd6Kjk+lA@X8x6xcRq0B5Qd(RoTxI$Xr?`q3AWR5RB&6vX5b+ z=(WFxXrkqIA1m(-8B9i{ov$0+JkB;TDqx&^2d%c^c`Pp=K>9xa-8*rTihr8Z4RPzw zK!Qj`-}dq1@Yve&yAeBD0Sj$pCqj7>HB%iD01h)Ae!3$FzPt!~q?~q6qO#R(f0UBb zk){*N*H)PsDh=IRPqRAVr#c89G;kA^H^S)^>(l65OU*1zV0W*P!AM9U})GQ zku+R{tQr||Tet)YH$A6|r!v7Lp^*$WFaSetgWEfa9ss^OqKqBEX;FzE#?izVa@42-sD&n$BqIRGVzFOGep}(7a93CkW2fOeQ|* z#96%V(={=iLdFR*QpZ4q2l%Syiv4=b1y_o#OG|CQT9VU#FUpFPH6oCpkxZn(YJYII zZWDqwT92_;6!hByxV)sXeI<( zgzaSyew z6%%EkTu4)DH05jF;zI?r$arRVH(lFwn8fy07ILvB?3>>^FQXbYzx++i&nRbprow^# z<>27^hFz0p!@}a?LH4vww)jEsM5BOu{D@s1t{Im&c2yJhEF&O{t2} z^+k?KTzMxocKA?RxQRaUKcVt&Y?|c6!{pqfn5~GM90&00yk7vNdGEg z4Q464rQurf9Yg)i>ZOhYG+H8fq0u3a8m-l*r2eG8XO$(=>to=X2zyrT=G$HWA>M0| z>0&FD`NQHnQSi{kT1k6MB7nB@zO2kgbH?rOw{T z6eu^W%VU?{19Mk4ezfZIr*W7@=*8Lhl|Pac-!-d?SwAz8D2}PBi|Mu6-63wZ^TBM* zcRGpvNaOi8?mvDMXArQE>YIVC1T{j3p)Wd(un3U6`PVk{?sj~U`CV6IcY0Zh=wp}( zgasku79kc2qy-w6<;;!|j7?{EewlWQo;Ui+ZiHRsel6Gtz8^ECUJ5QvyInsUQnR0_ z%llbAv0N~u!9yQ%vGuorVX%ksZfEs!$Gm{@XGCT5U4&7NIA4f!KQB znCAA-0d$&`Sbk&Q;-lWr!9Y$0)e*&fI4>7iT>o2g4w`KjOuoBi&654OdakX@EWtOD zgunO8dn^;VTv`EOFe&{D=2hd5RtYQwNzz`_k9huPIPRTuigDgYaU+Id0dUV``MIeQ zPY{+&ef3QNO~~Hv_>UP-`t*2odjC~=Y(MZCxXN{!BWuIfuC1J+g>-sf_XK(LUE1o$ zXmbi?+#8MW^$zeG9oKvqtg)qE}A(j^K{39Z0rOourm zpVjeKRW0R|)bhH*@41nUz$2Q|TfjpS(T5r(Nx!n6>+cKs3~m@jn$WsKn{cm(Whgjj zIKTCR8!}51&m>Q_8Vh8n0oaOtYon?`7zI& zW0!O>^<=P3^O*;4MmK`s62i#LTz3KcX!#GZTsoNP#GdBIU143w#dY9#ANPzVS6Hl( zBrgOJ5hpkkU_-SluNp=NKO*8ds&8?(wG#BFubBeT;M_qK&Xf7Or~REDxB&}!_=7FmV&`i#EkV8F3=J}c@tVS2ArRARlni^oBtE+n z@6FDpjbe}s)4>t_3F`Ne8hO`U`A9-n-0d2{Wm+WVCai#gFC&XaPw7(RdMK1eI%#ZS zf$z^cbCp{vZSdnIJ^uf9@I zYU{7~g*@|3keD)Jl(|pPNZrXm+liAPhB}g&V6?&>9RKQ9`0yjZ(cJK8muvVR+SW@O z8yQpN)^Fj^pN}6*Ghx0Eh>-*4Ncf zpWduf7%`#1rZeJwhXIFjDGX;gTubdKnHdb8pcLXHCyxx+{!FQznKVDnj+r3}+aVIV z2QPC@SsvXf4wa}se2``Zy6o{XPh1+$FO<~S3EV`3N0oCPS6039(n%AZHj;nR5UzQI zaLnUNu19-OMr=?$@{FQrtHKi0n}%{qP5NqJ3zb3=gn)(S--4zi8?O?x>R1>0M)

    `!_QzV52#ala;;i6f=ncygsmNshHR2E=PE+U++JHV-- z+?PdCM~Wsa#BoFfG4=$Mm)mku2g6A!I0sSPKGs~mIVz`iO0`*2=;PWvsIggGusM7_ zACIICwIUS2!N(FMiP&^7FbtF*u}cg7He^I%ay;P4hyD@0Nnb=HwY7_dvU`FpnKH!k zefO79X_wL4#+pO>>iphyFUqWUGD?=Q%6Tkwl)IOrHj}@5e*oMPB^8x7m@6dEllEv*L!(Qwl^cu9DK*W@pWo9&j_Xa>@uY+e^svMIpNLo==KaE zo((Eq5-u6p%6%}Pco-G)sjov>HZ-F`ho-W>n)xA(_<57BVb5R&*U(?5IXyQ*6z1tG z&ex18<8&mUTmp@QZ>)OHpWM{s2bN2w-EeqRt!Q!WP1`Q11I4X(MD%$D_4eU6FH7kP z#k^lA9@onFJR9}T+E(W8N@?@cM}PdKA$?yxH@};8CP2vL7F;>A7TBeG|Hq~-sn|hM zLgd%Sx+X!$yUL}jsaX7S&Vi!$^_{Q6r}r*mycaQI$ zU1&S^D6Y1pd5%d`JCrv{PTFLLs37**$LvS`hMh0uSP+`JzNqf$;hTn*oR8(bGU?S2 z>o!hLOWG=6%3ib_MaFH7PPg~EeLK1N_4Vg%0{1J+vK;#+$Hn(EqH}je;o+#$5{|lf=;mBY*cm?}2{IMI?CW7{^~e|7&Fwgnaynd8+jyQtn2TVvwa~d8VF0oT}blvv99$8EtZL;=oalge;M0*PuASy5tFxVbukTZri_z` z4IPv)`aVnwn>i*~Q;+6O0U`wcS}pW*5}eN<4`ZOchjkP^Q^Z;@x9BE8|V`RpRtExh;{t zMA>OOeCa8lMm3*pSjYJr!1K|(__UW8L*SkqZf3P$46`q!=>y?=NA4md?L3&q+q;G{ zr!>xB?$pb<<4{%aBb$eZpV4RRX~tQf4>wNyeFCMrili_PuGek6+J^Y9Q43(F_Xt01 z>4X>0Vu`Y;65ZyiVfsHLhUq;25;9*F{RwS_6T{CZH@L5y@)~#kwX~uR%B-GTw(Bnb zs$l(~m^@;G+P}cC1m_lq`>bK)F?Nbba2SJ-8NY8ARXZX~;p>pNtU@>{4R{b%oo16mqB4U&m zxYI96JA6y$_Gk~4ZMa~LPa8!tigyrEgg1D{Q(~r(&{)Jkp%b9$Zkp;qui+!+^kK40 z$h33sD%Ot*qrGKN3 z=O~OA&*^`FBH&^%{zQ}Q)43=IR89Imjra9v-K8l!i*s{Ynwr>`?u)kzmp?JRwifS_ zA?-pxfz8)6@{O2UK`gao^P;Y{wh?i~A>`5p!Vw0NYbB2#q&&1)9Etw5)o0PjcP?=e zA(aHQ8)vCDHg8Y{5W)ObUj*H1~lX)&Gh5>g7--&BK*DuePs(O zr*|*cuy)9j7y0pm5MTGIQi_q#GT1^4C;6*>oRRL$-*~lP z^j!R!+5P6LkY?B0*+uWwP>v?xc%-YT>9ORCtaF+)nQi6{mVDm(ZP}snJ?!+WKQ<2= zHpS_hk0WHaBY8aQZ{5aX{USgWLptbm>;PQl zZk7LmN;CYps>EwQl1g0XEEE5=q#vj0Q|tP4D4;XC*rPCZq_m;amyoIPEz@#wIr@0s zDC)ZRku^T7^o6AY=+q$Ou6Ji==4QGgC|v8Rk^iVoP>e;`e&;Pc=C($p&Hbs1*Bbm` z)6UFpliQFN=7P)Q&vtRrhQkG#`LiFIY1eC`r-RJTlRT|B!)C*rW*9 z7?YHEX?2v%o5x#=%LsZay1b!@WnRav;U=%!1jx+(1$5!O81i`dct4UQzIZ+8^007t z4~}S>&o!IR*BK#hz`ddQ!lL=&;S!``r5LVfCYvsf+A;IoZbCqh(8#8F&dx4e)K4}Z zJpI(4|H_}^{y6zBo7Xy>t{b3W8>(NN@;{z}f7q~-U%&v}D+k~4Lr#+yJwcy+-{$)_ za9c9%1*F>B-d-jyGH^UV>hq)Z>M!@&sMxl2KxnxtZTZbrBAM9ANP3|ufRpthe;aJrV?nm^JC+smUBlH z|MdxkP}EUf6knsTSyk*{AC+5A2r&-orDCnQiG?8|06p$*fyGWrWT45b+YW>~LpQJp zSFo+jj4+(;I`oJzWb1VM#fMBiaAH_6slCm&$*g+c;uK#ZwhVb#+xJj`B7aOR;j_Of zW;Lm~x#tYa`l9{pjUkQQ)ig4x`r^#OsM+N$(R92;EASZsK=SGI`{_&1q075Yo4Zb{ zn)!dtXl3Iu3mBD`fVcVpsKpOEs?GIvb#5E|i3VL^_fW{?;UKV;AbS7|UNBf!XKkAA zjTk+qW$(vi8;?V68utBbii!)ZEiD^XUmcoOX)wCBK3f1C3+UHhpL*5l>S+0CE}gMDiMmIGAb%@QP4qtS=+llV@8^%hmzOWrt0@-i%IBcqr_{B*MYgRQg zYOVg4y*^MS`>k3%u1if4S|b%-w1_Hibff%B&F*--Q9S>mPl{(()JHs%cT zY|#Eq_r-=-(t$h=9s;alx_a*h;ObGU>*_Wi)bFBD0Iac5-e?^lTZ54g<~IrjfPzy< zt#|?hiLw|X@Z)vR^pm^i#mx`yLfwEhalVY{brr^a@MI37ezDmH2JqN##UPAV?jZK4 zsHixvD*PM3a`FggOk3tN-E@UwTTw4$)DAeQ$a3CJFHkOCH{kPKYo@RrHp?JNZT(hwZ=cT709N! za!N;ySMkPcdykJ#>O>f?t-U4s%1g-B6wI^cWAKXUXX0`!-dyz{Zpw>{SHBpLKby`d z_a2nA+Gj6i{AHnNq<)e9hi0}>_;zC94t~+@v_lEyO~71pQ(bI!qfU7lZ?~lL>NWDD z#t50$GM!2F&Av+irL@93odN_wtia_uhs`EH?d1plB!K7&1x-PAJJr>6US#7nQIU2o z4mlHdi)&s&WUK`dRu=^1InUDp$hj)y+=2hnp-5$S0{C*ZAoJM*%CjZ_!Y)3{LT;Nb z8xN&z+((~WVm3IMuUlH-hrA9PAUAoCn|8pL2GqFA@3NjN$dDss{u6`4G!#3N>oo#SPuZW88oUL9xNq*Xrz5X_{5* zW}o0*YC%?&W$)q&)G|A~WvbbGep9|ZwPsKsImwo-r%TOSxU0oW56WGez0mZQg^<&EmFCgGy$arjHtu!kDHzT*%X9e|iW zoI@B*uX#wLN-}p_*%#LISa6x`CW9@B$uUZ!HCRp`oLK;9b=9-hP+*cn>V37W`t(-b z=LNdQ!Kw{gqKq2a>i1Q;w^bI!bsII1+Zx@=`pG9-81ZmY>Cv;LR)3Cp$5G;iqd?$G zd<1RUg{GaRY?5$0@8Ls^@gKMO@AHB%$-JLJ@Aio;~?*P)ml9@jryQG^_%n0Up4El;)U^$=!CE)V>VlXjl#b zwg9VSk5|Bkzy^flxuN?xKr)Y_?io$HsHA^VXz^u7r%%E1344EWQ7wL5`!8O4QqU(@ zr+*3PN18fYBt)7?a8pJg+4VQLFM6$}!(ZCqeOCqUmI**dhDn%yn#GN(Ev{o_IJ|wP z8>M5nHheCQ@j}S^(uV)mg6!_9ApK!1p8q(|Yu@?ONps`jpGnzNu7-*F_42Hs`uS58 zl_9J2!5$|43tF4%K>EHxx+O?)Ny*`K#pZ1D{p>b#boS^r&)Kjr*>$%#uupk1v8JdBRYKGxR3~U&KX5{y;YUTp)5wy@UI-FGt5_SNhAbE}fMtcMV05}T9Z?4lHuMcmV4riyP zYL^3v+nDC2rm%Q>_(HxS2u9#YAO^p_Rl;|89h?cobP%cgR*NtEzB6=kmlq(PkugZN zoT2yLkHAuC8tP(GGn>ja!u2%9ThP(F##`xOhozdQ0TDMshT3V{50+PE?8ONvLe&)?J>q<1$q; zah}J$aKStcDX-&Q_fNJVeIOZRGB^`F z;DJl?EeHx8BOy9xKTLR5sX$)>QB}Q(>$$<2em%;6Kl)@f@|w}DhY1Vy>G?BOa7Zjo z<40;nxAelFpT-+hHpZNC*7&ZU!}r0$@U5i5JSResmQeMuPg^9Oa*iZhp8$btS|+;a$4;yr>A|5h<9zdFxOy=psC!s{!K%cLH2IO=7owVJ22Q}A)ls0XuwLiMe*WaPSfTxjDvHKHLAUiV^Q#E-AgKhn*o zLr#uO?{LJL@lmrvhVJQkhxZp8dmd!!)lUY4d1tm90y-od4;2+!Aj6G5H$aK@t3;K!uqml|LKwADN`7d|3msi z`y>(%U6(0c&+8)Ej~oP^>ye}W)U)5OFoIFP##-0RnpYX)WvEw!5!XnMs$dMBE;cq6 z*iIxA@lI_!GJqSR;QLm+VZiKbx>^|@S0=T=czPnaI+y_k+fro_XRZj=!~H`T=F15b z8hRRQ&4ZF~667$e;->{3u5X@?4oorv88Ly?Z3Tb7j8jh&{l?B`sgAy_@~Wd~S)`KQ zkJ!3bWvk(Cy&d>RR^`WowCH|b`xEi9sSjK8mw9Fj)}rlxh37b;@^MBr^MH_-C2mu@ zjC5gCG8ux#&cQJ`F_FOYZod}LuixoGyl+O+Wk%0{XWI#|UGUuRN0%xXV6h0#-VmouK`^)Jw(@VuljEhex@R_VEBBk}w7!tMRf=$RkbAy2W8#ODp#u=UcR^3J#Q z>#JYxfdPZw>pr;%Jf{+*)f&^&1N^rus-mz-uLm-ob*#A&AXpT+Mwry_d$JHx%NKMM zyhm%JB&YlJiG5TL|?Bh1p%TY#g06Y!_Kk_L*ez^=*1lL%jG*mc9l17$m>c;lc$Gf`9}sLtgv2 z?H=tr|B@*&664DaL_q=E(=Qm2*e`HL5A%QH&=09|R{ghzI=L$M<+WM8;{W=izbN3UmSxsyFu! zzVOJ-ZoU6rQZN29v3+Yf-)KVM@-K%;y$$6TwwC`_1O)4so|}O!cf%NL-CtO29@+S4 z{O^$_xEWp=0Zc=hf~7U{6x3^O;u`z4>0n>!pzC>#{IJpPvM7tTdjx2O{#YK~Jy-mt+>qqRY9jpK1ot-=~dan-(##N%}a}1q2&waW)l#af`UwAy8^jx_RuW`S$vRpXcs?%&f zUP|=l|JFu}vAr8D#6?XL&TVg+GyW-B>EoxG*?X{IyLlRJghQ^KfHx29YV3B#ej}5* zE&-z*U~h4_&eZ2d9rqt3oRH`Ht63rJVe#PDP$TCx~ z*v1IoIg@;6UkqFG4BNIKH2Y_`IM9Y8Ym(S}93D^mFXB$W@MABw3Q zVOGq`rf=O)9DP=ya=}OLlG-!zru9Jn`>Rb4Lo62!3f(9s^8In=(wU#>+p(&5EO!QZ z0fta<_8Og=vpk;NUa3)UenrywbN9ya@p0fv+41BZ24bN8hl@f|D0AttVO`Vvk*h{T zzm|Dw!u%54M65)U&}XD2{cd$UE30=BLI z_6#gGSRa_f-OzuEOHIvuXw(^s4?_5_7k~|;TAb0@dL3FntR4rO!@(Z=Q(WMB+O*HN zEEYJH#Z~0U8^@)YXhs?7BeZU8Oe~C#^SdvwrrS*;9zsvkAe?qLBl|i@#<{~WDQN~+ zUB|vMyI0G?LyZ?x;d8cDBpu1b$$0X$le=Y@z>vlaWI4D#dY4vJb#O?9pp&|#RqP}C z!`|{qM%fkcTFt<~FmZ2P!N43~NplepHyVgPh8y{%5u^Ay_kh(h{re4l`eo$Z`E`mf z)jPPbc|>62_(~SRR4KkIY`~w~@TExwK84|$U};%Z)r9r^Db4&ZhIx*rq`!npebcaY;IG3k-V{oFM^b#2IK zs$xH&47ZH#k`JBAqlFO~n#$%(`9#puB>Te>8Z{=E>;CJtQl8J;E9?F{lv4(t%DZ*L ze?&-RU@k$_`+wuYoe?amv&m&Gyp$#9QwB`cO~q1z$HBfn3DH#c+VFB0){3Lv`RM4JPL2mW7T$Y1H|uY z$$E>pCw9g>jH;RX7F+-urNIUc35M8@K>aD}8WSnA=W)^WeVMf8RT?4e2r%HrEGJCM zt|-d2&N#z5OFLunYQVY_9)kAnyTlAM@N7N?F0g(XUWSn&Sc4DwaDFIWJ(Hw3f`pFG z+XyXY2fmHex=PzK5%kj+`sZYhn^(q!WH?ATcW4B{b2PckW`oxW_M>lrOs_NFp7c{Hf`P_Fzm4@*Pq)UuPl8Druw<0N?cwli z_;&TH<=30ll4d=(`~PMEjL#?>+YSDb1Ogi#?tc;GAl%grjWY@9BOUeDr&jX-Y4*(T zVAloPB?Gq{d+tAu!rO)lJG1!I_md@mDK|ThPSLlcUcf&8_uG;N`l)o1JmLM3@Ou`)u6pE>)MW zLGrE|^5+C##(L|w8G^-NvSKZJQZ;Jvy?4OTFeP`}^6MB0EN}briJy5t>_R)<0(~8G z(u=3IOZl7(pA^mj_cB{uWmFA^m9g~C)$E-gcBxqGb+`Vr>sw8#lyd;J<0y|dx(zNOq^OOknmkXHMekfX|i3`y*Gr3KtLAZb2123}{4WZ(5RvO;+BxZa&4=|~i&u}Mc$`$nPk zVk5v>us=;c@WsGV^sOIhf>7J=HI19tV+ngHk$!ZjDWz@UX4rWRoP&+*KN(Z-;$xTt zB~h^gq(nj8i_{A@02XY^hhVi|c7M||exCGN82RbbrUw2GU2h#0b<}o^f;6Ilq;wG~GNHe5#gGxwuw{(iY3@IQj4Ff|rl1g`Nr7-`@AV*1FdU z_u?;OeHd|#E2Vswc4c_}w~)QRvVRMwy_((fxpGRAdynfjF(94iS<6-$`Vh%WBC7O{ z6sUEdq>2ARUyp8LaRFZgPC_Vb)1u#Zx%PjI1OA@B4Vak>7UDjq)8>Z@;mRlkI%Z}Z zuucHk9+djr2l@3p1a+rel@fKZA%bKLsM3IcLqEZk1n`C?p#gO8eepkJGv9i768~+8 z;AW6)gBEUH8I1OIB;I^Kt^9_%hS5YPmPR!uPZ+|qAKtTBJ%%QaHjo&&tmyA3`S<1W z!?ab=I|WoH&7*UY-eHT6haK;|8V$pD`VT<&Z)XE-x3R7FX2H*#hOf=f&Z4>7Tku0Y z!pr+anBYmduYWk$x#lqNTk8xIYsd*YH45nG=HB1U@I4*}x>^g`DE6qim*OCbGsVXK zS#sN`g;~hfH|01uL0yNpft=*j2?(i8y-Ql_zZ*-MbMV0^nuXvDpVZm}*i$#FdO`M} zht!$P=T}dKf*wA+Zy)}K7;qPcWHL9FjY&dy2pNAW{m!O@KbShEh@u?}_N<(=6TO)+ zZQu4d2oqRAW?IeCRl99cev4 zJKXH=?*qNen?27~hv1l)7zl*t;>+Z2kIOK`daD@7$h$Q@^qs+cSj9Z}TS$`&dB+EI zG&c_{LLd+z!);_p^dE}LqRA$~Pvk$zBZYqj*BTMQpAC0V`Bbc6Aqt~~=uTt4a^VjL zPU){2HZ>YwMH;L2xJG1UQF^-%t>rq^Wki71f3evOSjON^3YPpY6yjJ<5!L{41u%j@ zC&p4(cA(%fBHy|sd|BMuadPt5=(Y6)HjTuM#648RAy;o1pTJGscF{?_G=!OVyU15} z<{&3ldUA5`a4AjQ{nG3S9eG$q}R7 z9y+c>>#M&PyM;5~#<~6HsZ|qIc|N{lx@cJ@(kRCSE+0z<3bBlgGW|RtQ2_`T-?Re( z>0d$)F#S{@CEBE>5lAxwNW1ROm^EL&CJv$sxTyT>4m$f%jnYy3Do56w_cbbDMKi!l zsZNHB(y!C1Bi=?UReLq+)OX7||GXGECpm z@L2L&W9efTyO8hM&fp;WWT9Zrs31V!J|2-jbOWCcuw<8ajgJ>A%O|OgA!b*ZGvBu) z$#2GqACF>c?oxEyFCaC>0PTI*x}uEQ4B)D)9d{=HnD(TR%v!nI0%ABHw;%8Fo*1#3 zyTO_}7=S=LagOcx`_9e~1FZZ?IG4?*lSwUuS3z>vMfcYS>gR||-5oz(^~Bv>JkXos)qvTq%MbncwjYOZM2@oJ?#V@$+Sk8>8%6$@od}@| z_{NUgq*>zio*~6bOB%ofZB$Lo=J+HJ(1l7QLHxrE#9%>I>h3&=pviD{X}}P zcC4QeJ2kEK2ma{~JiH7%{Fy)!Z;L`WS2jDQan0C-;D6A|(Fsdil`j zc47GefNaiyWbI4Cm7D3?!;VLrz%84CH#Yz{b@TLCw%;E3EpCwYOJ*g}fFK4T@!KMo z%}?Ot)As}L+qUTA^&k44y}yUnRJX$hE2C(f4vs#}e>HZOGqSM={W^#wtU9L$Lthpe zrEJh@c}NvT-T9YA62!LyKeu>qtH@}F>P%|-$BuU<3PG8H076e0;(vmZ=g_zSKs~(x z>+-}_c|1PcuUt5;T>S2M_)UJlBm1}!bQd=kcv0Wj&;Wf(LefvIuBpir_DjWb1;{$l zi`uyRV$+-AA-0aYa@7Dv9g4p-(tA-9Zer&OdmT2ozy0Ppe2_ibQ*T&99>n5I76{b8 z4e5P)xtlZ?KkcHVHm7VJdg$_9?SSXWp_6o88dWt%z~kc29Di)_vr{1(CagNlKlxN< zgvjFWfjsT=a}N!8pVUo#fox<;ap=md+Zs&w`;D}G&`~4XT{TY7WyVm){q2~jr+>t#2ApUD43($?>h*>5;{`yjKONrmAwpXmacJE~FPy!*0aXfX zYO1B5pJ40;kmJ4!U`i-}P{j*dA{R&m4cZ`Hc_M=f-bg&WfD_v|zB~Y$LK1;#(ybuR zMqRg=I-nV+GyLx|x-~g=M1Jy!0;&HGH>Y&~w&hz`j;^6rFl)I;oTU~Kd=B2Qr>%DV zG9c!5+lo#;@Zm?Kw**K=dwY9vEa0}u7W85r;$)B#cNeoYmTuK+xOX9OIYC!*anvE%SE~dq6A2cN z>#dR!FNLo65LDY+W{doeqw)f7D<4<5@>+j?FEtH10#rD+!Css4WaC_{&qkwO6;q$x z-s@DJx2@c^-DR0{V&Z;t7I}J-pltWhCwiCI`Fnzue;@#zGp8O6+laUUTWY9|{5pZ0 zGUPjevHo45w2r$?Aokj^LsWtC8KPcY8jXA%v&E1>-I&Af5YUd#Bdq?e1Dc*yxJeo5 z_wX&8QDQh-E+WtV@htQU9`x__lmx+uMk-I-p{H$}Zw^!t+6W*Dg#vk!a z-2PXj)%b5RbpX^U+fZF#2RS0Vp;o+2zjcIyo~3UkOaRdI0iq-4?*LmamuSgONC6L) z%iUJT?RCj6VX&90Qhti*LAzbFgHQms6TmoLkc{_^$6BwwmyG!TFnwK2zfr`;SyyFW z?ijEA@E!)hXG)wY8*PDHe~r%fYT0U`@$!|?L9I(V!Ln0gyI(-!NM+npUo;$&PGM92=b^xNWLFOesBmpCRllYkSlxDXL>z$*tFetxZt)N>i4zn=q&B< zt!CghhefV?*d%fb`<&# zNGIN_M^xl_cv7D{9W+1;>o*``b|&b4rp9mS_W?i`0r>lq5CsUS{talWE}R;l&#)lC z+u}z#sR0-OQ)FjO=_!WV+lK~>{{u`Hhkv**xV;>5%^cvT&k46)ewPP(p^yqBW^88r zU`wQaNl&7YH_CS^XAuGzU>fmOqAxU2SqiD>(Hs0joSyv0`79C!>LlCZGF{;!^8Zrf~XbU{;;Rsom?67&+_ZtyMG&LICpp{K8(aiLeQ{TtlMY((Dz zoH6ZJy=*{%97sU`arp0XX$Q&Xr&mr2INT&rCUZ;uqw

    Mc84HPaRZ5nPcn-qasW^w33wd|iO{KTC`PMD%3x6Zsy z^b1OL%6G0;re+eViiDT5qkJ30Q6e0jWX}_fyNAAzM@ph><}Q!7MT$y~WnN@T48Qr4 z@jlK9i71k^y^J#Vd85ISi7u*J=#_AFr@7+IVHsG>I~gxzZGI5F!$ock_d0KVk}Z%4 zo6jPz`+d{Y$Cek54s*uB;G0!t;yRY)B_-Oj)bv1&IDQx_&RB1t%wCRxz1V=ooG~|y zq4fw0ml=Up_RA~gpVX1mjYJIAChsDS8?U>caMyQpN2&`ajn#f;Z2*I)OfJ?Wg%j9dq{w&vk-Qwz=HYn~I+PoH2iebRYkVhH|0uP_*{Z zid=D$M%A+mtUOqe;q^Or$BM~a4om{qFer8sH&itp| zZM}O_MiF&fiFQgDVI2L&A~WB%+4a*&+NYmP`?M(xxuYaK#&C@9SS2cSK1?gj&IhMX zgbvBUTCwwOmY19&r0G)cEEv@8b#FOkAZDu#7teysYzWN)t`y$V&$&^|#&E{$9(!|FZpIL)}w zKsVU00}uq#i*!kE$f90vjQwulmmFPGe7KA1Bkj0RK7qyQ+EM~#g~7N;5j@<7C5rDJ z*yEQkjI*}>uWa-6vtw86uGib|Un<>`uy@L(Cb3ia8PMeB-DFQ9p+?O{Q(3;6bbdN> z;NU#bq6$l$RqzJ#g}YV;;Qps+YB&0eJysL4A=$Ef)n)IE`pwgzZ^!#sIP|Y`yjbt} z_tWXm1tYrpPBZvJe5MW${ePeh<*+~D(7A%sE9g?*#fDE};J3%brbxC%#cni1puTMg ze$0nlAZ*uG%i~)X?q5y>cr9$oib6T$Ha+_fr&kLSPr$b;oS5_#qgY{3#&aJPylp2X z9Rv5P3hg{Ew8?CJ^uJOM0P|&?i`aYj=yA#dn7{p%*9pG-?^f9amF)TWgAM@3s+BDQ zj}ks!zPuAj(?Op>%Nqsk!jGtbrRZ>QTXLBt`k7&!C(1iNIM;qI`XK)=_O2!x7^i#Z z`1^UI&=APs#30I@>gH|D50whuxRXf^_| z0xpsx{(mo|Oodu@_h(ydLA8?Me{kDt*N=bcuO7wk1o@p9iZ8!5*ak*dz_xP=|F(<3 zGN5Cgu$NA{1=G>3zXx>VPZS2QdH>=Lay{zw%2@d>DJqa(s|vNh-U;ts*u%?nY7^aa_btUyGgp`s0dxu-{saD-)4Y!5+ zbjad@X4i?;GJ51k>HwmiB<5{(4=f@t5tZ1jp)pT-{ALkeBE)<^TyfQnr;op#5&hpw zm?YwjtD=5F9{SjEs_?(n!<3{OB7g|{nn*&oFG7mO@G?3%Cz0H>qRlw|{g_+KhZ2r) zpIj^P)jJ1N@o~IbOY!k@{eSWxfPnNQ0Dd`HCbbxww8u#DS+gNcKtn&J?p7ED>a#%G z%axb^7?>Z=6KTF+0}%{9?-=T6;lo8^?=Kil!182n_F1z*Smfz@ z4v8M|e|W{FS;fR*PfYQP6CuoQ3JQ4gKNh@Nf2EEuK3&XgyCKJx0dItXGz-T$oWSt| z0&YTA%ttz7IxR1g2>Q|`!UK&M+B0P__{|wH?c#2B66-qR097t;T*HcmdY0=v?&+3U znZ@Y)*I{eyufx@FSHw6Y$mN)eh%op0%|150Lx3AW(8Y&)H+O?$v(NpyB(UZs5{#`F zbKN`Tkje=wjC=7jrdlscFi;FfV`^TfIw%cA)p@7f>p75mbJcS!Y`1L2BK&1S|I^R# z7jC}H{)Rv|4Coj$Wu(O{M$}S0Eoe(J_ygvu`tP~{`GDZI*v)Dk;0|klV0p9fn>Z!Y(9KPra_fWc)l{ypf=2>eqtuBBNgGZ z7*{5WGERP4v)MN=vArWSA_`0#rJMIWl7p9AKyky5mulOzPBcSi7-d}p%()Pa+0#1` zhJyRfG}0XG&Ck;(l}Q{fo7Z8{7iFA0zA*&G_g3G?-Al>MG)CAV--BntVz!ygO!K*b zGgF-XSafkBo=@0Gu}>AITsARo4l?_AWu1FQmq#cz64svh+P{aXPc__^n-XXfia-?t zo#*YumDs#<;dIZQKpDXZTFe?FR6sYWLGRl5Fx>Q?Knoo14?&WkFNKXO00{Hc|*I-a?$!I%llrwXH=b_$2tnoIA_%7iVMCLhWIv8ew3oO7Wiq;o#Srl!6fYjZn{o(p z9E1|+=I?@4<*o3Cur26%_-)(Ui26Fc*d+LNyheFMRxwq)aCH9nxP(iU{xF(0;L6Ci zZCNZm>6EN=W0Vy&d;8(~&9J_PhyM3^{!avtmg3}Qgfi+q^ay`u%06Ho6rPHG^Y>1*6>2Iflt)@2fG#Qmo^0udY^ggCI} zkJ=HBs;AxhDZjEXml2tL}V_&@3Mrw zOMIa~PCgxpA6bh#AHKVm-aH%sDZ?ikf;j3P3#cK(a9^TxnEjTk*kR+liTpSV z%A?Z?;IGnX9pl?;F}ZreQCxn3i1Ln#k&5%0Fh;18ecbB_U$Brxb=1-`jM^m%fI?p# z=bK?6)3E2{PO|hN+n}9;iSGG$b0f@(k8%j~^VHxo*n&~`Hx-#R zLj(G=n+`GIx|Xh{Gvos98`VjzX#BP3^?Djt0ELWuTZP^ajY_imWIs5jJ>^=I?*J3! z8veMH!IgFl2bWSeH1s7mZ0~kcO*)UuE3aviLuYVN)y-V`YS~vRL3GPI`)s+-TYceZJ2ZKgJ~Gc< zAuDH1Hv5sPJo_JT)09eDQYHY}_!PeJ`2<_A-ru%+|Pof=55BVtTu$;cBe))CpPXWBu@VByMF2ZK4 zcdEtQf82?-m}n|N>FNBknJ$@{Jcpr1&zs=v?L+9+yu+#}O0JMiO3sq5RC1eQc<~Jb zHe+9C_NLu|6<;cF@&(1H4mMDh6mcy*i_ ztoPhQ~bhFuQRu(N$G$`+b|brhA-KBu~E<-a`c*m!3(vtJ?w(V3k-^Y*ic6Hre3^!m}>IrDWK5 zy0fmQSO59~lRY63p_o$WgTloHFqBxNn&%YCnHW6Wj+7s0nT<`oW6uY7sc|nTqmcgXf^M@x54xAtfbD5~;-# zqJXoG%gY}qoBkjIG9jw+w)HDRrM`X-vxnlQHa%QZC7DHObh$On=PrYk%GTh49Gmnw z?PRxU++D6ym-|;bgJTw@EN<;P1sQ^v1vQ<2 ze*<2BYri2}lila2pK{qo00Bt#S0f|mZ^{UHyS~AT?Ax$yA$l{y1om)QhJ8IJL6MV& zQt*a_6DYxDH$c9fgFHOyclVL29xj?GiA-i!1X9KBm)?nvOqL$b9o>x@X-yXBH(V1( zv-yY}4Crjn>OnK%^iNyy=Xgk%qjde@`~GRj$!`}IqgV#Mhy01Kiwc(T0j&9G^+W!= zo+?}7k_44_scpF~mUH(oW+v?pEcVzjX2i_2vKoAE9$WPpx*mOBlYKR1!`MAIqdrio z%q8m0F8nnKs-|?_BMnh7py+|l!{BoX`+sy(gTs#5eDL{QUQ1q(<+}5@TxSi9?6u4l z{9q|g*w+zxRc6emD z$G&f9)fkK^;YlnzSgA0bqzZYp^6S;#IPdu=;Omu8=S-*HkYl9dF8lbvG6@;)qdFAc!q=$xuHln;!7I!O#s zH5+nlEyp8L`uZ52_$Ybbu{hpII2f#_8Aa>xVIdUv*5d?pr7;P;U;Qz-r;tgfPB_=L zdGr5Q%lpPMhr;b!c)UQ!GqkK$))bAi^1l!du>Oo$sFP{Q#Iyvk*x$t6Dq*h>@~#!b zHA2D(g$ml8%U*cuq~YM6I)p{;v>d` zoege@0CQ5Z84(>shRS`xT(3o?bRnrPaorjJ0!v9rW|bto;m1B76mkA&5%9jM1Cs2g zwr(EB6$F%YSN6^J%u#T{m9d=8f(kbNPSTdDpSJ?Yp8H?O1z7VUVxtuTNKO=MOSr5X z*nkC;I+Q4WiaYFo#VVa#w#(+N1-U9M;)(JRqFFPHahYcPxksF^7nMY(?Yn-bFNm4V zKaxvGtvtEk!1w&Kxkx%je$5vtVM*^}<%S9JzPeqSVnhcmYHFkJ2* zXEx{BAo~TT{(w}{Ox}2h%q7~$8l(o9E(s_Dm3uiRzBsN2f1EA1GZoRiB?n=Z3A3t} zbatdkP!)Ng_U7qDVqOSi_NsBIWo56}LDu=L^DY4yb4v?!uPUUPH$ymf#p64PFaH1b zzC%cRpr_ug5m4>S6L_zllHp%5zo5O>$a8zuTLd$XDSQvG7XC*|PL0Jp{k=lIBphow zG+6Z?uv14QqZ7>7L$WRn6{*qaR#R$`$-Mr)&zNA6PFHT}5TK0XJ-1Pm75ci#vid4_bh*n!3<*0Fe zV~Yi=ALYAE+G;YTxx81t^V9|n>XjPy(V2g2!-7Z0r4;+D=aJa%P zZkDIN6_yx)64FApd?F4#={zGeg}u2_cx8hXMb?2;Js$g1FiP==VJ=R978UpFJyBR3=-UP@Pf{w8YWYZU{G0+xhE_KHriT7{ zqkvWnxV)?1S|*T2!~Gi1TUge+Yx*k7<+84I3=PPxihyLl$T7*j>TAdb`aW{KzHMFq ziQE|3me6UTInSBi`S;x>4Yg1FBFTwb?Dx7vSPJ_(egUAQFA)htLb_RY#J9tItKw)v zarNGw6?Vhq-y;Sg{4yy*h1KG$$v6_;gg_uuNPOkj7RJ{YT{>wpR{Wgsa2r>KEdK*m zyoD2~lX?aox*rPpVS@>?k;zTcv0)iI1)l4&h5fo(&LKoVj}N}7so+<9eL1B|bbYYi z8t)I0PK4$Xwr=as~S-hrXdnkp6bN zk+~>RpDdaX0q@TBlZh)_r(Ren{q~}SbSRCBt=5%wC^m)9dh1lXrU_Kp{)^Ij)}bI( zfMd_c8vHWDVn$15D0g3vt7l7>{(Qb;PI%sJZc}oSbJk;RDcQ)CU=pcPWGwfh2~RjQ za|1_eDBgOV@8YmnJv#(6+*fR~Oj_%FmF4O0)n1G{O+jW%;;1k&4yA~<`L+6at3OdD z&Mr!u%bVR^Fz2PJCBRrVE(kx~opL1t^F@VgW6eQap|oh9JiA=!qX9wX(|AwrXWbUZ zu4oEW-%I8+z)i=a_Q!Su?U7FfG~5sa+0tr-@|6@Y4&O=@#%>O;U`za zv-F7V&C%9Xo>~}50e!YJpKlE+CQ^h;Nad8c=y3(RdH8WV z$txS(yYba#Y)W1;6B~Z#Cb+jUp&ISkWGWSQ@(HaSwuoD*A3CXwLTVs)w`O?HmyixM z;rhI7_{~&m^A>-X7zmCdVT)I|TpB^*sdn@%RfdHg)CIHX%U!cdEJ&1`I1ar318OWk z>x_0^`*ZU04W6JO8jf?}rdMNO>xC^g(iKGn*Ps^nM0eCJ8b)YU0%G zE&TRUiyNnpjNZi{#@%lujwF%%HdvyH_ECzIEb9l*%#Z@c5x%XDvqD?a(T)=;&wD=* zBn1km{rF`(+U>+;qBGc2k#XJJHB783osl>MPBOOhgsw3PtbkzT zLlLT#Cv3lbeiWFvr>DL}_va$_;?p81GsJ%Ga&iE(bgVsX**_@pv@4ridcI=C`(^{5 zCsO}L+aN~r&V)IM#f0Sr0j#uP-8D$VO#>xly`7m21G(1>{njdCJ=g}xZgTWFsNUpC;5(92 zLqm_s@s8nQX*- zl}Xc%!q|2N@}blfaK}5GN$a$KO)!kTV)*IsLRGqWmuL{N;M08BK`r`mwt}Q@W&M|9 zrQbLpG+XSi3a7^@G`*3*9LIhl4Y;Pv@e(Antjss!LLvO|8%zdK*dyObtlyI3M^ftr z8i~Bbl_Y7RsWy(zB;|cfQeL&^&Vv-QtHnI0iu`Rz(~$8FtB%X-;S$B zB0T}DLE}P9ft>$ZLSZ{IgM9ZLi!?)I$mg$R%@=g-yUdYO=FwbCks}&KKM5LI({a@5 z^o0rJ52ulJ54L!Yh|-59me8Id;njlibSJVdSk&QeJTF#c;_L&vm;LYjX5VR+1bFrMSZxmbLbcKFaB6v z^e%SGW|1Z{VDtzm5BQd^ngTmIS`OdiP8N5RRuZi<{X4N`PyQPqW}AnTko#_na7RgR zIkU#8uR{9>P{QU0>B_!NA8v+4EG^G}OyGF+6Bv7UK27Jx`TwGZraHV?0fe{JI)Iq| zV-ZZn-%;~EiNMKsQU?zLqjvQ%U{*86=>ymDkHj;t5!-9N8*^cy_=}$RV<%~ao6frp zDw3!BGdt$*P5H~wRdmmjvK+%hzvzc^lV6ov)y*PtM1G1|TA$^_=q{tc=;kk(!(;Q2k(mqmh4JSTY@;z_f94-q-IQ|{RDm4ig`6!HTShZb zSJNu9Wc8(Q{Uc+PB?3&V{dt4-Q_Tlo?uPPC#%j3o?x)gKUO_2J){2RkNc(G(KW3^7 zN3ubpqTYWLlz%1h6L3Vp{cQHl^W9Bnri75FtDSNV z8Ih|L)x|S#*4Or%JwWOuiH`7^&ySfS?<~nGK-5Jx74X^66FiPbPb+!xN44RmIg>rp zxjU|`y&5E*^FwY$O1)?DaW3jF-*ZIDYk<=+5nH0gqaVY#8ooOUmM>_QV;uwsgdDdyz0Qvi8k%R(WHM zDqr$#=&`XwVn;ym1m-ok10RP1`*2C3F*qiFZTVU@kQy^rb9M$tx}rR$Cz#FDrP5M0cv_=NbEs%JB-Q#R!3 z_1HOySzb~nHQVomzi+zND~w(L*0JQbGc_m7wEtvm1qf3=;|>WKF8*VRY~c<>UD8hc z{vdMD& zIAOiq6_SbYyO&$Ib_fa^4F%>1{{!EloY#x(vhWAoxQ~2}{^TDYYHGS7`16zPgs!~W zoQUga%z74k!DHYJ_2H6`-`)-q!Pn}q9xXZikzG`aDSe_vfF*=}=F3QjpTU8m@=@TQ z@)9Upp|e8K+4vhi!9s7Sgd%G`v+Yb^+lg)3Qff(|7UqZIN%B27e$k%nKwryt;!14o z*HJU8L9E*^ACXk|v)NA;vRR1cW$4QnkEgr;rq&NgL(5-Q^&$>J_dc1A3gX)`2Mi>6 zhbv;&jpK2Un-Ycr%6CAm7Z;dis6Ii5`jhB(!uMYs0+H;4@Yjb(ln@ z{Y*H5J1BvK=hf$4_b5eh)bENYc#%Ia%7L*CFw(#hyYZxeI>xV7HGT3CiVIN@n%=d;gbcqM&-9hIsoFz^ z46(gXMe&`J))~SV!fmQ^aw12MN{q)$sdU9_qy{_g#X@h#LIrpLYs3i0zr7utB|=h(Gx95*A=FugKo zMZ*Werz}7#_6e-=wT-wPYumJ}?sTkNOgX6beN~3x8%@B3bL$e&f~%BH+CczQd-)l7 zLt|1AV*KT-iAUF(M}NUNBoW%x|-e8^sWUtQmC zqjF3>7V4=9wd&1c9pf1edexEORA(nk(~BAfV`Lqt*GBJ{hH|I$u@n$XS5C>4k%Hu? z(P51Rn8kfRVheH;8m6z<#lWTuP;c4lmp?c=~ zpqi%l$HfSEN%J2A1jG)If#%7!xRskxrzoj@a`J31GJQkpoR>L?6C-t<6t6Lm+mCsEqhn@NjJEb_8H)&FR49XCuScElu1 z9a@+lmQ#Bum$-bLyZ@taP&&k2kHnsN-hltjr5<6gkIMW$Z&tCQCa#E_wyAEimhq&! zir}RtOhbMw5j~;AbKNh^{2C_-O(C+B+j(t8aXjPfKQv+4bFNJvX282RzOhiwl%yvSqcojv;wvm zhnLd3k!Uvazt#OpQY*E=ZUwDMqUEw219K&n&@(x)eF!))^_O9in1wGpbxM9qSJBr< zV%rs;Mq3$8h!|QDW^>7~G2p+^xUf`jGX{7yyd)Ev-S-5hdJfnz;z-^W?8m@9E2ZjC zdVGi4oHIo2;U7yCooSW?%Iq^Lr_LTyCx*SzciKh1=F9AifL>;j@Yi0;E3AN7AwxN- zLq?oq?xmA0U0Rv)!ZY|(!abaCZPwf51;BepiATSz=P%Ss`ilD)9xArPl3MsR*?NW& zas?{sSt*zJhQN~NRlTCceI;!*n?CKpJW-;D<-muI-Jd+aavE`?GHA!HbrD74+DP8s z=!4cADkp4oSRvI%QrPyK{>q7!1JbC2-=60$S!Y_m9e_rMP0`46bnafFoCUR+bm+Yo z8mZ&P*p)2ztc2~l1GDElNp0)bWI4OINyNVSLaHdi4_jMvTs9p(V@p9nx7(Mb0*{gQ zY&)0PMrbG>n%AB6n4WY#FBfg*kan&cJOq9X?mRbN!rzs0mjhbmcIn*Wr4$&7- zw$6*TksYF+aPoHKgoau^^)l%@pIp@AP{Zx+JF!P+!nhphz?smIN?G1nh)LMuLlh zXe-Wl8Y4X;Js-w%D%7577oFQN`(_L{94oRK+QXEllZxjN;rwa%+FbIy+Bimb zq?HhzrI~^r(B>&AoT>|s2zk%L%iB`bywSQp zz~Gk6Snks7?Cku!d5!qD>E14k=2z7wVRZUxP~{?DK4W{v)I2br89^7gZCy&Npb|E}xEQ^0_2n~}MllmiXh^ar zQK8bd`hqgX{ZmO+Rq@-1+!+Pe3qi=HFW)}vdA#Syj8i>hTBVojLve#&8cA8Is0-JA zhJtIUPTlrO<)NaoQ0gxwkmB-nR6|CX%>1-15yGsqN$O|v)aRXmLB>f@+mN<#X@fvH zqNa^~&?mzZ6R?Fe1Ph|^XF)MEjZiV_StIvB%05YrJrQ)+)$dy~l3#s2R@1dhx7mfL zK%uLA0I6rRi` z&L|Lx!z#wV5x+9>7me;^S{^NOzAXU_&NNxn)NrQTc3oH=MxG>IGyQ=6n4$^_--p}nrb#hclCsA#R9V2GA&}v=S-Pq=;4~DAJdCo3>ZUs=j%62@Yp0LH_HbR zQ{`*yA`E6UUMTp+Gn$mqJGIPaND=mP_$6g-7h_jy_z#)jE)~^(3pc;O_)=1#dtZL< zVbHAO*m(Dbu2w_n1`N_u1a5RX^=J!dzVg0Ki;OoSw=-`6ud>Bivh{$d+(>R3g(C&6 zGtjs7YC7ILheX0;ef^2|&71dmA08P* z`tc5tG@Ni8Pvh;x&x7|&&Qq&NUn`^~3RH1Af_9a_2}}M2`#$<-=DUlKvX|<4zL~6M z9`O#0BWF^w0`c6*+5xmB*XCT=>+~%Fxc%L4RXO^xZMX{wutK9MN?Ag!H(DWD<$(-vGLHjinx4v`qLh?Ck>YVre=akP$du)4?3 zuk8fPBTYqxS!bm3H@L;LE)@0|)0x)aNYp1LeNF5uxJRc|42sk=YsK~*G&7^iCtBxA z3UXeYkj`DKQ#qviV2kn`yxGq-t;_ygTSg~uI&X@oV=!1Wjs-!))oP^+*lFc|fFyN~x}xm0Phj1BHshRL`gwLcGV#`H*be;tWjDI9lI5kECN zB@#)l=*wB^QRus&wvhnAqp@z%P}JP8gA{!KC8>SL#ZbR~Q($nZ5R7%4TAdqpR=lGZ zMOBrX+~QQ-;6H(|HyCNqRFHcY>p0TYcMiwjS95IXbaWmN?{FpXdRNnwoPg{O(5`ff9x`tDq^n}xq> ziT3NyxqEr$QZ(eJ$DNh@U@HW1{NMC3JjDYQ+%9$DFa2d1d?m8!$_r)o(Kmp`&#%1K zV5=-Kswg7@uzNrrPi;=xW18Sv=QAR}veJaSpCI;EU~W?x+K?{}ci@=rqY<{<&a-Pr znlLussU<3@Cf$j0&Wt+M*8V=Ou+MxS3P4Fk2zChXARdkyh~V;9;8VjWsW$>fQ{l>X z341{>;ytV0wlBVkru_4PA3AC(9GCa9jqaG`S)i7N0t_I<-A|mtoa$`k%OG0<9*x4fJrU248 zCBlNN$~>vjF1?$p$560ZHmE&+kuUIZGkB{awP>~MBK_A}h<2r6MP~Aq2;!}YZz8>k zj`>*0$ik23Q@O20Dv^b#AmaUc9Lc~*1yKoFF@HGwWG>ax!X@v>k z$6x2b@1f+B%p&e{!_F#il5`AzNtdtJT)ZifhX@#R$245mRH#(MTqaPM(b+EYVxU6WJFz6$&QnWX8DBC&IW&t7mN-cxF9)sG%F$|}fmPrpMJn{e zRD63aBF0$2htDfx=G<9qnRGdo{4EO{k)g2aHl-=8EpvNy^2YQBTw!V$=PkpNHKUDh zX=lN!lSIfxmVg=FdA=Q9*7u@)8|KMC5JHrhfvznZ%4A8>x|{Pj0O$n3;Pa(1++y=^kYjt@=X5XzRLv>OE8&oHLmex*HDxiUdOv?|yzzndfL3xw&vIC~@`Uguz z0WRXZ*R``=GYv`}A^9@pQ7dwB(BcCFzvoHOd>$!PVD;%$%GB&pyV`ksO+OTMRinjT ztpIagE*FbjA0^Uy&~*n=PlLsTH^L-QKK^W&-onOCd0< znsmOL*p@N*O5vdTuP^jp*$|%3PxyX;C+nqKKOH^ovDN|Qy(|yR-r0KK)taFWO%vwxU8%OWV*yNQVd&?&QN+4J*CC~5@Wju84!+h zpX0Sr=F~J53gAqRUi6l?dQv%NV#^aNu9xrNOuRZDHyA71W>PVxK?_rjp?Ur3k)dtK z0s2yDFk$Mbh)uba+JH4Dl*ZAX)UZT3)4zDMvDg%%$x}O52BC9g6EM2dL_beFqh>&g z1g+E0l?R*~R@o0BSG0ncHH}%O(;9Nh+}?4-CwXzsPcf}mnSgZ+JIr?ia<_v!#eBJG zM`md+Gyfm5-ufY`xL?~26_$E@_Y+dI+VZRJ!4e z&wlql`#t9e{s7j3^^MPcU)P0}79oHjVqxm@A3F`a1s^On9`0wI4w%X?pw_PH2geUC z=yg?0z)A=|a~F$sxJ%=;?jtiA)7HV?DG#o9c9wV0jzs9^s|_oAG&p>T0W%5Mkk+Kg zIu=98NYMd{N;E$15Vif(*mu0hKwQ~9f`@9AU zMrAVahpIWE11YTryI^m7A3pEet<0)@lNWDpR{j4cimZMnw*4{*b3#tA_t(B~o-}4Nc*l*tEOt zW&^9Dpo5mQ<{t}S^7sXY4y@wX7<$Fw*jrc0DHT&u;_b8bdER5647?I7%ZNyRutF7= z67Iw_p)y`QX)ZEewYwMefNO)(i{@=)MGnDrX6Uu`Nsvn2>p4Lf#pDk1$qX2KTDuP( zOmFYv0aF7S>rj+(AKUl%J1OZDo_NpKNE>n<_QGx6QvlE6L~zx8GM&q}Y~al!EA_*o zxTooBhO}S4B1Wa{y%O%^h}bBiyYdBfB;nHwaS{gcR@$aT>KdnxouA?9D0MU3S`rg4 z>tZD`R&qde74~ymNx(dNCHb^@bC5zcR?mXs`;SJNXC%@l2*lGRiQ#`=`U%hsRIR8 zu<$8=IQ`JfIiPgOF(l_!I!ud(YR_K7Kl+52T&~W>h{qtx9apkRG43yZFsRHS5Q~UB zmr%m}V^127EYE6bdS#@Fb`3i$-B^~TO5Ka>)Ewnn6<|1^h{!e@Azds0P@J}zC9Jq@wx)w?5`P!6m-*djw51T~_?EJ!Fkt6Q@ zDEkFkIR~oTWgF;FFj#BA@)WQX45h&ynZ%zaj8G*=w#E~D0qHq1y z>@C$TgBN>;wL}rHC)4!HoLJiU!ROB%3=56xVfhKM%jP*ae_nZ`jcFp>t0^6C8Ud+a z`%Cxx%y499BmSjVUK4*M8VaKK`ucFp5ecv-GQ2bq5u`kLgQg7JlQI1cu`Za*nt7s8O(jW65%6k2HUor}zWcjMbXE zmVzszc_hWi#%?0v)&adtK2vRP1&*lsUvRF zZif!j+)v5`B=&uzp}eU2240wDEXm4snq>iEc3Pm+VM)=J^75>q2m}wPYtU+qWWs#4 z^T;aYiLu!yDHoFKjWsmi^2K;oCpr1!|JVUEzqFH8yoB&wwA%du@(zB;UID7ee|p}eXbhTPmU2sU2bujDW8 zR;v=UxQ}=*j?S~bHB?f$9&wN|D}XoF3L8~Yd09%S8l+S$XQJ$sE2@jvypXDMj%`;U zT`9qh={v8a&FQVtydPr!hXJTO|0Fq4Q?4>%E+Su5R(02gcplxl;>1*;Na8rF(ZNW)pvCV`G6f$r&&E=(E3$)bek zv<43%NZy81#t$#UHXMzH_BxK~O|c9`Suv#Da9u&{q!Kb2LaOLCnG6(t$9kBXui1g6J218D%1%6;dQFZ1s6iY3-Lb#ODi zYq~$#0%oR7i^c5mj7@xKsBp9teXRSjFXL)q@OOZm%tL@zB&XBF5opp=FoP05TP zT`M$?8zQ7nfy?S6l~QxJFP#U}G$6kyMEiIxXr}F8aDz zo1N$p z-8mEny=XG!$%V65*&^SPRO7uM z@pR4NUx&0Ws}dKfVV5)q_pnYGc);fa-5Lr@upk=)tF1u>9a?}-_+#!r&zLRMa+vr= z*0#_d?|V5!(40}IxKJf0y0_zBr}w`oRiCsze#$7xUrkq>E>-w}JAA^Fkli8n4g-;2 zp^|TMK?#!#kwE~=5fcbYeh!Wiw+R7yPZ!s3XE=DttNh z)9U}b{IV^VME?U-v99&oFj`w_DwG%U3bA_l}-UOCeSuQ%;!1Wd& zbgRA)bG1OkGrXQdRvE>+jtlM43;>=W zv1@hPMF6!bY%(cJ*{j78B#&EvyTmO3~mCRoYgtcAtHFh9gDkzRoA1pkgl zp`(2WczRmYa_YeU7^C+^Xk#uxpiHt5gkw#bmJvv4dDafHoKv4XGm{R`YZg+W$gm@W zusk}b8DZGk^zj{=3V0yqyvLWg+%1ubkIQV4UR{pOC|B>ls3gB*?pE2?AUCwJdpeZ) z|HNSGsgNZNKfN#pUrgkXQe-5nR;(KvAi^9eW8WRw+3NifWWAG61b+Ho${_UQ#HodZ zEUFn;CzN3L$|%U@IX3&|hHExWY@RQ&C3+r~aY!f6O0F=ZWLiyK;QhLf$5n5fjh94M zO_Ji*>V7!=Yts82$(m*Rc z%rB_wF<0^Bl5Uc52G7_G;?nAHDI-B!9J;HIPjBhPTjxmEv7}vSoUJ)Tu*j7q)4z3@ zLZ|U3u6T=$AB7nb@9PJo`V?dT=WY(X=&r`v=cG=3RTWTTJ?1<9VuSCEwtUQkDbe@@za4`h zBnJEbo5h#gu1NN=_frP?@;T+q=k__}VtkC_=gr;szXn+huRvX*H#L?2b+L^!{#lf* z`9hEq#1c`j^V8?I6xpjpLtm2t{*VW$Mj=)0o z^z<|~HX`QCTd$YD#zmpH4uy|M@Lpy&jFb^NKp{d`lIU#wW6`i1UyE|7amgVep3b{+ zB5M*FWjUZl^k83iR_YW_z!H%&UX#j(dPOEs5nej2WMhX-o$eCr3mfiT)(HTgmjO8K zzZ3V&r}NdN%Vea4W-4l=H&xl?u}xwxT+!~j;&hjyyi^=3FN51^u`Mik|4`D4XSPwQ zp@wtf%w?2A1%SEDhdYCd4hIQPd2LQX9kTRL@del*Fykzi%NKFf?W4X_z~@A-GczZ4 zF5P)iJ!${0P}f^SRIRR~sN7AjcQdi7G&l6!-^!CMx|+cYEQ^f5-_j>Y9}Zr>xvW)5 z^pL3l31-A@EtT8>RP7(w-sBw6GIZ;owRiLsbfc7cXpp7I$`b_`Hy;TY`@?SS128(j zvMR-{S;CKu;om$t@LzK(W~aa*R_VHIS|@@*8TD8P3BwKsHJyt7-5@$M4Gq7e1-X|s zWHpSVv~mlpQHV*cTTV-PDgTS(5~Y*)j}Ka_V+uBaF45)OR;$Ec`X_={N3vl1eBd^$ z#<-fdj0~}G5gF#BX~}wlb1Ib%hs*Su*~|}8kec(dM84zAp`HCDrMzUTo@P6j>s&W6 zFfjKq_olTe5=N|t>(0Cm5H?GfhH1+=?`#I5=xF59RCwqgT zv72`EFi4@qTp|gmdGvLr(dn&P@Xgu^ge?l?ZJQ;!LW7wD!bCEKSkD15Hq1%}I7DiI z75nD4-xCYA`61F@uxm)8K%O-WI9~zFY^QAH8lBa@K-Vd+Sm)i9lv1|@;fi2uZ~M&I zlT$6=0)QYNnyQ(~#xyD0oS&w|s~9}NYXP%8*-=NIg`pdkSAoZ*#suni4?DYoo5OT{ zYTAbjsMuFx?F`9Md~tg5y7#FzLDdXp)%!q_;vL$TC&x>Cgv8g)YNaZehIQp6TU5=> zW;tWZHh<+wtM4X!%uVf=>~_C)XORT#Fx1`nX=n=?ix0X z(VZOOT2SeiPdW%@%oAx$;bY<#pjS3HEc1@8($hIP7N*^%t#aP!c4fz|DzmGwec`k= z==qTLV0Mr!!uZnbD)eRXBIqUTg!PH8Aod?g&E-K1X#GJ8*`Qqcm=t2Bse~eU*Qe(Q_n8Z-%cow+T zIQVF%sj00CQ!6|BZbI88|6LC265B@mx-+DnUu6!lPIw^va=tr7-S=4eA$?_IpYjGY z)wWrY6aFviVMAIOe&P9-p09)`rDSuJ`@VGIdfo`iW7x~~tqw-02rI(#qQ2$~!9XM) z`?g*oJO_J1fKN7IyaH^N+hU5&Hq}s(ml+!ot%G}&cty-JiUe{h=h7xk-b5^saJMj( z5?3$(!u(L(^K=IGK&x6~pvruaw$3<#U@4&wAfMa?LqL3-E-Mys>b7L(mDSkK&Y&pc zTo^Xfd{>r=r)BFJb_b$9q5b6$(A3s#wy&t9b$U{Hf4Pww}aV#HdopNXIlOPJ34w%*E%X_|aQv0}S*; z=AO|vluxmpZ!xc;ZGKb`cDfNAwQylJR)N3OT_pzPM#=VRcUsJ)QZ`2|U2(Ax8OY=^ z8lUAdp(xgk27~l}vu(wuS=8Gq+mO{oTK9(OXE9+_+kkbert=p%OYh1&&10_|Op{=m z+SU!Q9#l(s=uP|2L=pP$7Ad;)_r6 zon@Y$bq#Dk3@J?&*=HH(Zs?xT9#=_pWiwg8VlQP? zb@-&qpv!L!B9u9REp}*=|E&>pa6`Iug*j#R1!%Yte*c$<)nKmh-c2lT&}1T%I_XQ|Pj3tETw6O^x;yYjxXBh8%Y^;ADaW6>*uP05>El2}w5_S2 z=N_qEhYCP4JK8DZ=F?gH0arlvXGMcW)%PciW#Ytj9&8p#%*P4=?=Qn13(FPTM3!{c zSrJ+Db^Gjczs?&zsk|}$y;xwkH0u|G<775ls+;lja=u;fRY3eq=>%}f*bo=UXy>I? z*Y=*&QsnJiSp}ssjI`8~#6G*2`|5j+FCo}k$$-r_u{6kb&0RJZ78Gq;(V-B4W=B<| zsGH5AOxQK(!WR4$ir<;yu=4Rlah@^cFaw`c{PH$R@fY_>xe|uAo%BkJLSokNlfgMdQaz>qgw-I#a024~bv+nuz!jAg|j2{>IqTdpCVUGREC!unOgpNSZm0g<@Jx}$*?FaND*Ox zT0Gi}wf>T$li z)CDSOzePPy?x)EVC6d07Ukk)#P%!|usvLP7M5j1fRXKQ(f^zzllG$KxvU*tz3ibrm zAd!m2rqau3MtXP&Au&TRXPsfCSEje7pvHMqxK{Sg_E~6;;)r&L4yS&zo04tCA*4&Q z^t&eG14C}v`t9}Bc)P{DhGB%_ro~t^G_=sSPpPPxNKc`C{kBJQjG=j+&T*y2uujH{ zS0|i@AN!KA8KhE%r8b|i0LlMFbtQR^9O~lOzNGKnc%$nTk!1s{WxiZl9mEFK&0Gv> z1PCSrnpyp~W}5{q7WS>frB1e~7P2k&%?>}%E0u1OR$tz zacUGNFH5~TclhqNT~EGBicxITWjnuw(<9Gw7@tfJ`8W3BTjDh>7{=YDR#B=HcUeJ# zzA-qJbki*~CW-t?@y-ln^19K?v-c=fsM469EwPFta9}fbD36M^Csb&?ITOTf=9pg} z!m)AsoN=TaAZKwtclgI*d_R4(z#NjaPp5c;V2K#K$9fxL^S16>_RXKiVdLrG4RGRz z(^yD_BIHyL@*mjyKkde6=^bTw+}0kWKZEpoJK^jE841PKyt^as{!|KCzUQuw*t7h` zUHNm$u3u|sf21xb=WMrV1+@o&N;cidHob+To|9B573V$gfG(>?J#@@!)w z_xq{V_H7{RkB#s1>lV}Xfk!N+wTdX#?Bi&f&*sTsB!*V@yD{x)D2m2&%l%ax9!6)xr*;A7BlhLv&X z18~nTvWltmw~NT4cK6XBPjgh3-*t?ObJDcKrXMWc*xKL}06ezmjfh zzM1iB{9-m*y5E+RkEZBx7t%}~-2Vq8C9pJh{+viGe)g@K%KwiccAk&qnsdd_cd|e) ztbBTQ4C!)FurSjCHXMiYq*9xe)eecKv|v8v#8PW6a6{rYjg3!5>EtZRxP69*hd5nQ zv@Ds%hb=TzBx)9=eOcCZp|yODxVK=_%12m_jaf%o9?B_iBb?z6ik>TqfjC!zvQ2jL zzh~Q@Lyqf7LG5O@9OYKcFl%}WADc$Sn(*on_-c{yYYvx~G4_nAOPS;Ep%j-)Ua`3_ zH|4{#!vYWOt?w>oAzy79j?QuwmtPZ)YuMP;Y+?3$;%1}In+O$WD&@DyHn)-$iWE&` z(l`3*1Q4zk44-Ut#V|@VV*e-;Y$MriC2lZkw$1ld&O4;;8zgfWV`MFtknf5BMX1gd zwgNcydK`EZyAM71z2d6960X!vVhm9h7zmfGiWHSHFlO@GeBaNhrPP##2*V24a8d7h zROW;dR`8C(krVU%5i01C=Plxp^U>QHMzy$_>2KT*I*5zG|6_5P!N_6w2pJ@uWm-is zwB(vb3u>>SRGNHyHi_B9h!uQ6_^kJCgeq{!u%jkGS9j?q*UfQaM3&>JqcZwRMWn8l zHi(FjX--><6kH<;)D}LGY#u8al7hNa~XaY!;$~J1d zWR-?Ae!Qv?5d005Q<7i0`@!eNvi;I&0Zf@B;jruOl)a_=0-l|JLI2EFH$ZD_bok&@ zj8`EZbOKd(uR3^{*m7VW0wc8%)NxvdWdkReX!Go*m!LxVSJ4bExmLvBW}=a5%rQ@q zt%8hUfkyjdrTVh?Dr;ad40@F-pvyiBuev&9KvT;lS(|s!pHe;Ai18{C4{zbr5ybCg zeoD>BGYYs}CL}*`8-Ebih)mshB<3~C>d?}-o84Heu=j%5Aie_h_oe4Lm;6p2gf%pw z9}2!!x*TR#Upm0YVXscQ>kr80f+jC+WCB2jYh?(wep?{#f`Hp-(PE}Hq#U)l_!`h% z-|hOgdWSt`zF1r{tno&vW}!L*EP)7UVd9k%(bT7~2UStLjrmd84GsF`a9Rg7sc$JD z?j*fOJU{S4@h5JT%Srx+vc2SRew=T!Pu9bMJj$A{nY=9TDQ2_(knubJ8Xd{-JnfC9pT7hoFps=>5n#dF;$nHt=o6uf z1rf`JbPjCp58sIW~Rjr_ZDk_6nsm6`Nmno6KzLh1`GpKU3w~u0-Sl zJ*_XaQSRT|1*aA%jig{UVQWMWFc8-ildFepQ!Y;8>Mn z5D``hA*nYV(o>L}2C^F_~#Rw$mY#kIlpAp4=qPxy4aHCrgK9T{p-6x11$=iC*m70gqhH z4)DI2;Wtx6a}HLiYEfBs#SXm_m4#koS)0Jz#E)WJ0P9>dS?2Vk#n~tCDv`P_O-d*1 zVXcN`Dy8%;qInc92)U6v89xEAZjvO>nmde2*&))OZO*cbB%G`>ht|0CYM=EA|4YLQ zr*^`edW-R(-kmwl@dijti)Huf=EdNlhJ);1YURQJ%3m8=%e?ZiPI&bz+h{-N|>-cLY3R z4cI;Rxdwm(e{WOW@5pZi>@W5B-p$9bjhE=M##&s}hG=V3HxNUR1Yo4qun00p+_3I> zHVawgsU_J5HL9%&)$wLp8!wjP>n{e%Fko4*OJhiJv}3laep-U@)DB~Ya8KWi_d%M@ ze$Bbnl_<3)A!Mb*F})hxXb|R4a8jh)LItj+buOuUTZL2S2$ahqe@-RD%i0L%)+1V1 zu4bM!9=aYF*AwQvwI;h{>OvlScbUe1_GOo5x1yniLzzDworH37$I5AYlgR#FZkBRR zCJ6c`VV{1}(7g>FtetIHL4rXRx<&;{(4Ac^b5Lql*ZLE>4Y(8~EYEjcE4UM|JlL9V zu}bXF;izehG+%P4H6EGag-4+SorVyHjB-)?zXQ5ZNar#!lX2r!%Iwm;YhbY-MpgGa zdD~pn#f(CaG{=}_-32+jK)fl>L~P}a zt#L8D8E4br7e+SUN}R~{P)a_?ckWt$sY-{icL&{iP(3&KmMSswZyW!r6pwQzFKHN& zH>M^`k?(NB6&&2-1Mw)JhAlLUXBr1DY!|qXw+4-zCm8$vIwooAP7kME$fsX@bt2et zmwjq-^x|`?cbkQ<+v-_6C5A*p)8G*02tVcD@#V(pv4U6&kgx{thRtvJ z@Zep`pNmQ6k<>_W4@-(NX_ujTHCYu5SIV9i02;IJ4sizkuiEDhDs|(JS_TXXd_$}I z?9pPWB6WDY3A{hi_`4bHkp&hg6cuGTNzm;l z?RsyD=A>ZPEqX%t?jE?NTqy%|92FTz#zvN2I3z`;+So>#uI=46u=Jyz+*Nh}v^~@8F7)-QAj* ziIBBMQ^~G*VL|csiFo&ew^Jn4>CJD-=7L6Liwf)ScRzpStgist9pz8*OcyRZy{p3# z^N=4^?Q*u+b$b-Yd?L&V6AFKJ$5(Vcy5) z6sffx6>a ze_$sh71kUZAN#{i?vYgak$mQP$c?-ej`$H>KTj}nJ^t>{5PTf3_hHXXo?}_?T~fRU zlJ4v=kvhQAw?wbQrz#?Tn)bqL8|ibaoRImy|5`sPG>L}twg{>bl5q+lb5sCg6jLa{ z`~IU^=B_X)wqHh*lR~HV$jzYAErO`4vZ+v%g5A67xA=j4DL&e;&fAtgR>7sS*X=jJ z#lg~Hdu?yHy{>MOj-*sErA#rIT4d5L=a+f4U9}$piKyII$(&fpvvMjQb8 z&6EdV4%Q?!R~}OV?zZEG4i@XHBC2x~1amAb>~3wq?^x`I+hX*us9Ke_%@*{^)p3~{ zUdzKxQhHZxGgMV`1Dr2DtGXk|9td$)0HRwdlrZp~4P{YQcrJRIR|88VBjwq`Y;zE1^IEE)J@=gE>bm>dNfENIBL7HHVQ> zK?7EjdoH}U!_XM+DmAV!u#$AT%*;DE(j(VUx;IWK-n||Sk-r!R1f@e93S6@o>m{>a zn4DZR1OEOTbamOi&l@hxsT0q@yBK_A2b6*j$IsZT5=+A8W+fPAWtGw3e_dZOi$+DE zCQPD5RIqj>|KX$F%sm~58zVUWaGXLw`*cHnv!c|48%%{JKJeE5Ax%Ej<;gcPh*imK zt^d=QJuQ9E$a7b{yzPhpjwtq3v`beL|M${&M&Fh3tuB&v`9;Dn9?U9!dkg&3dsLMa zm0!EHF#?i{AK@aJ% z>HM!**Aazyi6$m1{9J*Zg46z?M~htBl|s-s&SY)2v~&(PKjM#&)5FW#EE!HFO;J6; zlRP;WU$m5B`0#K(655FtpV3L9%8&DcC@<=(<=96}!GQuKGzXU^u-h?~ln;h9aJ{xV z@)6)RnEZmBUuq>=Q+i8hjJ|KS+v`{)7f+m5j2% z`G9-lhE}dzg~$Ybz>Mpiql?oHNl-BZ-$9;+S!Xqojx3^6s1a#$lAC#Tb>3+jU2w?)%SW|dR*lO$; zE4HU$S;rPxw#@HO(#6f^u|Oz$u23d30y%9;tdgup*$>388-HZ^lOqr9S1#Aw2(mnt zt-_|EZ&)Z2y=~A0Vz=zZ+}2{ZD%TI{>+9=kj|~h~AuTS?J&z9N3jV95ORJS#Uv zIlUVdt5N;?W@W2-!CNn3#S|%_DHxw3J_}$@a0$kyf}(h;l7jK;!$pPUsaq08YynCd zGzmIpmP8lErU(oC=%a!PQi8o)?`2AQ5>-H4Kf3-rO$R+)(UHh# zbb*QZzL4AZQsqh|FrxoFeSeV?x2;=a$z7OcJsi_QGgVp8+!W*Wl%L5QQhdO$VCQ(n zl8$J1@D5si703WI$&-aUO7Sc}<8_0Rr~6IJcaO8%#xWv}&!V>yb7Y9-s3ciryh?Ua zSelWAUF{z}D)qIz8ghZM&uAAvdN-g4^{a{cC$;$fd2=U9cB~*9OK7Q=UrolGdqPmN zT=}~=b(w#u1{Bsf$9x^H+nPG#>}XHuKG@widXO}4UlgUKEg}1QcQp}^JSDZ(3b5sE z*pPCOyWP%#cRhLwB%a=7DOGpCyE3c1(%V1B=|F#z(JsC<)xDOtEp4|pkg9FIc6M6$ zi=-y?hp3EqlO-VErh7vmNZ!@)o%(}(ciwR&oPH0*Uc0M>n6(Fx%IDl1%G9y51qN$e zbJ=HMJ4fM?Z-b*8i19K@qHiI9qj$?Rg32qY?LA^feVm2KL+m+|iNQ7@P03u0;}FRP z`Tn-dNWYwBpgFm`Ir)$|`EcFW_1L%ZZPDuGG8c)uGS5ssF3nq&vLO{8W=v^2f*SGJ znb7|oHcS3m&`n)92(VDe@o4pR_-@DE(y361yG7+-+g|*pG%Jsea5>>3t;%{IE(W8 zRiX;2GsJ4UhhEh9#Wxr(G%S5V=K%NoFXOpM&gu5V`mRFbG2@u{^~Ta4MzSN@RJvqX zXASj4O4G!-uL7<4xIIznAP>96D5Qe~>|;YstT_rXqsx0~q+B_|K@1{)9{BDi(9JcbYK2Jkv;qxBr@1j3uq=tzj0S<& zCG}tc*^p*p5Xm; z1CjTbG|oO(R6+z1<`wHJe%J197gVVZwk%5Mz;;$%L}i}WLaHEca{_Bgf(XBl zTFZna62*=ePZk7wiqxX=8u{f$a-1pSb1w?`6p%>iRJ1&}ZcTlei+o4a6-wx%+6hc= zD<#8nPJPne{5RE~Q@GKiNs+dcIy#JSYX*@>)+Y?!a`@n{+J-LTy zG=Ef~d1e^{i|?O$7Bj6u2rS^!4dc_mj}QS8KAA8R<8_an(6>WT|CA7) z&?DPl9LKWIe<=EOi@ksL1uEJHhc`x1c7-^2gz<%XSKJR)tgRhD|9K!r~6Ku;Z!;U9S~!@ z_`@}E&|hq>{y+-ZB}c<_!&-r(4VfDNd~(VGvE?plD0KAFP8~uMQ(LIVZ0KJ8`+?04 z6F3d7Qcea9`k#&-G(C51YdE40a? z@x?mV;HQescm9q${4EI?J4T)7UbM2td+~X3u~N>mS4XN>f<#KVwe`PaikVanK$)Ny zW<+r-q>>)4TX$~#Zx9ObZ~W_QXQYR{)w4#bp-f#jFw0yrG6MmOxJ_l+v*+)kn3>j4 z%&Y;uP9qd@zZ^KMKRe+{u&jFas%RGnnPFTT@fu@ ze#^65%`E!1;+UsqbQJNr)$`+&*8M1nR`>Y46iFj+mkMvs>H;-Pz1#A-m`YqC=ncadKr^ae zk?$0c5H4}{zW;bsQUe^?M_zgAVyFTolkI7XPp8C&&L=uN7B;7c-y3AKN{)?c*c0Y7 z7ERl^i3rq^)v;;TLi;wvN;Y4DOfYu)#S+0@^}HR96qt(d>2^hDsV$VA%T^Ahs=van zcVagUNp0ElWpiY88D+Wn3^%^M>6tp?t7ur7Z9A4aq-5E+_<5WBmP5pUbI8$)u;az3 z-R#ijt1#{0y;q`!mRctMvL#CAANGCO_fkX5ZH0(vH|bO~9UY?ieY!=ATd{9m!e`HB zOARFlKzq9+Y{$O%Ui}~v-4)ZsQ&Zmfb=dGP}CvxmkyWW-H8Eb^6VLV$H&M@t4 zHb}4gU3{n>c4yD2>lXi_#)X?biD&1HNeYA+quCu=-#znDqf8DM)#8up@>qost$YC! zOh+gfv+<9%ykmD9C8Dr8!Xz@p>g80jVG-bs2>yA5()4jJSwq%2KFPXgBZ5mTB^|t# zrWsk)+TAVnALaa?&$I|Rd0lkZW`c3ni+`NC@)d!|4vzzZ>9_eA@l-apk4bJC@lmuG zkd%0$3QF;-ilRX}rX66%3~!LD+OAERcW+K2!Vx~A6dt@Q5(#eVOSwLr61`5SKTF6;YM17v1m zl@K&GW38g?YT4DF?D(N>K7W?W91;YEiBRVo+L)dOw)1Z-0;Jh9PeylkXIqa=bLLzL zu#GFfy~K>QiFHl3$(AD`?wiC_9-83Wq*3qCr%D=YH{OlN0F7^!FwtjVH&e_Au}avh1mbHodM z|BD3FA<@Kz=w+>`XCfNiA8Y0GKioDkZ0Ub`F-gR_F-MtzzL#QKl5Zf_2#W}0x_X~? zFjQNHv1G|XxxKF;bGb9ivf#L8g5h&k=*wJp!#p9)a)tt!XKymaICmu={mZ3{IvK99 z6Eg*rrAg3eu_NjfQ`()7%9Xz@F<9fdmm#LG$`;8&I2|pI$azkMRA8TGWKj>4-DK_K zxBjvnpenaZYDExyo*t;B5`+1b4q$tHLt9Z=7G!((xm^tl+lTS_%=yH1SFGAP7NYGx z4HuhVQze_Af@a(WAs0-4aK80gOf0IX?RALl0%(EYLofyxfNKKx5 zl{eO|@B*vkM6OCSwkeW+PF(-Jz}s0HhFNiRP~eDBd6x1aB+DY4_4KtR*!SF%J_SiW zu8Gh;@_(nxKMv3qo?C$WTsdTu(N|*JC?BiP%Lkl(B{^kzW{=fM4`p+db7SCQ6-PVg z>{A=N_-B0$-IE>Xl}bOP3E-K=5}$aUSmGh)P!^vEqNYpS1M(@8i=!J-1{LxMJXR=V zC0qLeOAT0G6@ZaROQiJ8c&7!$zspVXIuc~(fftC{>BM8H-r21Fyrd2nhEVy6B;<9G zxpN5{@TnKp-H2ev~5aHAB`>3)E0Zp;t z5nLTI_C{>%KNR@FZDQlk<@jvW1X(PN0~eEQ0Dq>f1e&6#B3OwP#ZW8Ti)`zucY9Z? zTSed-5QAdkQ^-w0QMmX6)j~#glS(F?6`X%A4vZ~EYN-C@b&eWw?3>Xkb;??6?*3sf5d1d0WvZvVacLPJ>vFdi^xV*Q%j#>;X zkiy-(HIi*G(V4Z>GA_6To8QtV|GhYNE5*U_8dtF2@vn){n+XXpXTRcG0o8B$l4{pY z7QCbu8w8iaZ6C9{_Lxik(D!CT zyxkRe+5Pmf-bUF}mCECeN#kZ)<5(#Ps#Ho!XZi316M&I_%Wy#`>ph|E&l6M*Bci=s^0IAjbhDfjh<*0al6CtpJAYF>N6=F+t5A)c}{ux7@6cIb>v<|~F%X#lQ0XMtL$7NYx2v|81phr?_lnH<3ZnNc^ zPVJ~#b~e=`Z6cb4Y^Wps7-LYD5)87i68mjNC^+5=)#v?TI;IUW(!%W*%&>=N_xY_( z<$VogKy+9G84e+9rc}aMXys5sruE^KsX|AbnC-pL!p4bWg5Jh=a+QUeJ{p5jrAK^`B?` zMen5pYr_F4RBa@im$zKk^{1owC@O#0Ik{^s#Xjb|R)L)T6rd6RM9g_|s$gJ;avOJ~ zOPl(*LmycqdL=`;$!Ev=K!Iq$K&(Y%Aw^<5wYd<)8}hHygYxg`2_wmCBO^W^en=EY zWiPt*FAWll6>ExSQcM5^e%fYNdW|Q5Y6XJJd?Gcmo!GE$pLB50x3jnO7IH=k1m*rZqSVUBycj`vs0` z7ESJf0`VDd_+R~Rt=m6MHRJW-8RGJcLc2hPEQ17lMb_3Ww{Zrb;!(muKhoHivHVZ!|^h_k=jsG5z**;CwOLCH; z0`xnC>{{!1Y2@DA+qJvh;isjf)Azd$(<@}YL}c6lN9rdevjMf)DR^-LzB5YU8E8n6 z=F2B>x?yyyJP`HWwA#%Kf@$_uhw;r(xJ5GqG+DB$r#(R)jINW7q_14q8J!I!w0gIJ zw!6i<=Ms2_jW-hluO!@MZOwr}>8|uS}{{Mu5ehNvT%}~<+up>~>E+Fm*5trq#*_33sgYjn^a+hnKRG<=VQPthV(|31yX*2Q*k8MU-)ffL>?*GQ=l;sk%I~nux+r9V%xmo=$ zypoyUYrD$nx4dJ0=WDOk3s`ju&@2l2gq{RY|L1kQ_{mo9!=@6r@h5!uP3YB*!qZ*g z|I^-;xI@{u?VA~fFeOV_%9AWDmdZNOG%9*zNhR6SBD5frm^7K_(Mm6B+GM6uq~a|V z6In`sq^vX;dB5wvXE4?Ge9!j>ypE&eV3@n#{I2Uduk$+Z<*Y7M2B!v- zk9{K!@;qXHH}Q3Gya4JgZpfE2NB#)&6i+r4EMt<+8ed{!`;X# z#kk$?!|Oixsf%vhf5(WbHjt|9Ff>$p5-FuAplYzm!@sB2@EQMl&Ob95ae2_Bpgi_y zT=2(2_Xn2~4{bzm* zbQuFLiaQcE71VAPb$hTN!Z(txvGzW0`c~>E)lfE=7hkI+tY0Inw==EUzNhOgz9Mpy zUq08T8C)y#nPYLq_VFfmHxCk>cuCs4hQEM9H^J5LSGYWruh6z-CA8*dLUgU8wfx*@ zjnXJQ6p8}8Z&BNno$tfJNv%BPKGkE?4Rg}2?;p%Y+NF{v@GPW+w46UIc}{Mus&lfB zGG;~g>|N1(uhu0^l_d3UoiaERgqEJWkXo9NweQ<`2<VcPnoj^ON?bC_7turoOAYTQImY-DI>Xtrl{&txUdPHs&E;ieg;XL zzE{_cRfz~W3x#LCpWITuP5XM%{CTst-jaB-bB<1|p?#=N5Ki;2TMc|;v74!AuPPjI zJDnK2-RPm4Z&Xs~>3t(YRn9!&nModoH--lDk5 z`vlY-^R8}0>ujPt&yBUnqQZhrUU!3>S^p;L(6g%(P%pYhMd1kgw0v<7MX!yV_b&U0 z0Wm)f>AHr#-AZKf)}2?9GT zfIoPAl90qFO_eI+J0>ptgj{>Exj1Ly-8VUfzUF zdDz7No}<-R{#&r2QPhJ`_eXg!iba=`bnADih2fDKI|CLiq4%4ABiZ`v2W2G98nM?0Q^I@`}CCBBv*@;sykP`ook9(t zquxLe!jRo%BwEDRZ6r@sB{hJxx>cVZ zU~6}lb7UIzbEK@_NIPM978AxPNeb6Sy<Mq2h1mCS*$McJvp+KXPg901y~4y5XT zXV~#vRN+9}J8pGFcwxPQP$TtXc5rLPQ~B|G+YebSg^%Ev{Pwj4wLk_9&iLlszp@ie zcaFM%eaiRJ1_AXfC)$Bs|Ml$$NhmC6yb0M=qQW%wnzXCybMiOgU>c^g_&wu)PgKDc zz?0omQMM++nO=QFO^(0maDF4S0_P)hHda7dOX)zvvO$aDcuA^m{*Ao-Ew9J6NR1=a zo#p}#hwv!v%XXsWpb578OJaR3e{Z_L3@P3D?Q`+?iZqXxoH86uH`L>r`SPZV^5`-` zNHzR3E?~MxjumRGBCUn~bj0)4Z^5xmiZV;FEW)A+X_Z|Xer?R1aFKiw)noDCu@d9c z4srlTeD7c!By0V>5PLyij~j7MwswwI*FAcp^phb*$sPQtf{jDc9yKLlkV`0a(VRhv ziJ89?YZU@$bZ&o=a-He23T0*eUXy>Klj436-MC&&E-vSgehmM*L`$s*`nDtat0|>W zP!BkUwVqmj#vyu+rt^{Pi-%Kn4H?6z)b&&;+HBY4)2g+{kEiPDT*o2NhfAg@jP6d? zv~&d?*|6#KV)#TwC_h+-0{Kz{5a@S?v>tKo!3tFQ)84`-MehO0HEVn()w z&fHdtB{A|j0q!K&2=WvxpC@!A6o#_$F?VtG<|^J$8MOQW z5)#lQ$%WXfzx|Ni8V^|SSFy^L^yIgX63hss9Wh~S?TM=4-)n(vk}IONe@|vAiZ5a| zAlSv|iZ)c~ugNt*eOGd>a$Pmd)N-_v99M~P4NQ>0$00|@)WCkacir+=55m9K9GdI%P%P41k^tS)b`s$ofbsPl=&F2s^b%_ zmWmh&W*oln8@;jnUdz-_3$dd!jL#_1MXRy`CDv5q8Vgf9dX6jIb-~c7VS$-}edShh zB=>a5qA8_~AeuZ8i4+3$2?)W9-e+gZaY(HRLTtD4^+il5|K0lK*2GZ)`70ot>+mEv z2YXMtojL}Or05k#Jy`LrC5>0Pr&ZV5tBlSCKFTN_M4R2-mv&y&rF=)nS<*Yydom_+ zj9Z7MpNtth5Q?)QwS1#Y8cQm8-iUwZcq~i3e7ilz$m7C+{_z39vYM8Jk~Rz_Z)*$s z+zsXnNfmy!$y=7AAvLfEKlap%LyY5qQRl%@xPyR|>Hh-z$K#oWdJ?%AxaJCZV$oVK zrB7-LYr@(g4x!){s*jfGUJhlEg~BO(aG1|;7%$IRLU&aVl4iBCzsvjz_#zrKiV^`o z4+lDRMo|uo-Bt511Cf@^;;I4b>)pVdtc^>(i1CiUpA3vHBcG{X5(jZYTJ><gW9{bY z)d3$!9!k@w2_kTF^nMI%vR2QQPkKPwbo5%`Jf#Go;Mf?sGpd0Ha4;S~D>jh%v zkS|IIQzJGPd&Z_1;Ntn;*S;v{e|PmP-VEz2rphK@=wtbSc2u3sFWNw-(EF8}HnIAa z&@CU4xvQ^i3Rvx~c3O3`5JY`^A{x-=r&1UFT z7+mANVk#n88nLD;M+2!11L(+Zj23YQu(@;SIF7`oZ`%aZz*-iS1!-v*e{6Fgt07wP zVnj9&O11q^ri)*uh#AnlnJ8c>=0ih#Xe?@o#-$Imgz-_;%vTYaGQm@{^`tP;%m1AM zG*8uVlF^gd!$5JT{omLhZ-29t?EqJ45KQ$jz_VSR3h#eW#3iOnyY=Ru4H(R!OhPX~ zmvC_cs#XPK)x8!M7=$HE=728#HQBo>3%MU&k|pZpgW24W6}9|;*9YB+=`oJ;W{)G? z-_HVxli7X%UNA*-*U?>9r>pg1FaX!fG5GCK`Z~v{20nQiE+n| z3&V{(H-6iJ-cKAbxLTt-4Ri|Qdm? z!RB)9(8>Puge>mNIL2nUzN@uQS20`#=2rw3k?T5^c|UdfX6qa|9?}1U8;cGsC+69? z6I;yt9FmH(T*}I>Sj%E18^`Vi;(?`Umo!FYxx;=|+7EC1uwVD}tY=VcJcA&EU5Z;m z+7rzU9X*T|7q~gS!;1k09b^_o;ZTZ3L=dG<5^~Z(WLiN(HPlTu+2+&b!}v!j@gWz; zxMn%B{|ZHP@$X{btiXY`(wk0ydZIiUs#(NuqpAfsG8n7foVY|7gNxBmXI2Nb~vKc!%i1g6HIv`8g!4BFipV_QB!mT69JVuML<0n zVug4v(e6|dPs8v>I9@b5os4w}O@*-NiQ21R%3f@pjB8M4qvB29yBhwnP>;N!PIm5! zILB3MVF}7kmb0_RF!0_!^t8;>P~&ST!S(>H70|A_UN3-_=XDyi4xy-Q{LYp$HJm31 zIWP4I-@i;nN~1=J<4;SUl4ZD(g5MP=mL$AxIFgv!?_|WXLODipx6A^Hiw#nvX(a(8 zH{|ekE2X>BET+owRLxHS1#hHxQeA&v-Ifx+kAp(9XsJKW0zjni+m3NEp8IcQfEMdF=`gBCJwh|7&^GDENN#KI+gGO)wsF#JxVmhENM6BM(7AFr z5z?+cfy(S@&c!WI z-$83w)Fqesdgpf;lcE$=p$^Hb||)CQ)AC9Mggo*k+}qu z|Gek=dI(9Cjx2pT@tuVh(rhE{?5NGdsL1y7STOCG;Evt`P{#iO|4jidP6gkB zBo#@+f4&MeYM9DHd_zC0VmhvjU0ao#Xf}N>1N?mP2)R4zeYj%2gm?zLqxhAlSmr)u z6_R~h3k}~t&IRn7C>IBLIei8FZsvO=Kz?UWoG~V+b>06svhcx9P-}Nxe+%i+HzvnRHBG)J3Ud&z4{)PZ^1xQ&Dm2 zmHFtBXRsE0PPmIl80RF1PiUOB-ML2$-~&JSqOTD5_<>di1Y#uu76=am!!1Ul{y*k zVpF)qhlqr$$J$^6z)wRJ>e2ned^y7bQ+rJuU4v_=3)VCw{z=5mLH=nLkWdVuiNbJc zrgL~oWb-lnnYOS+=1%m+laA(aL1_l<87?Kz{7)*`J1pG9L33^AR<$k?pvRWoQ}T;F z(=6XLY&?JW-LqC>*44S5MfG{omFEIze#Jd?{1(Nfa#jv9aHdt^?)H#S>(?tgw)0-x zVqGchqQZHS{sUL?AF5SmW_nce_rTTes0Q(zGNV(*$&j*KZ>FA{-|PA3PDXDa8dMdY zT=?m-xgpKrBF&;|K{d5FFRGEUD82fSZ&U#-IwfX!N#b0ljbAUB)loFDJ;a{2)zWCa zoM@ICeJa_uEhE<)T4=FqebxlkfxSD;c&(jN3?9jVKa&5`{ZnS$TlZdfS}?cI@@m|g zh*wUwJsJp`uy5mK1*uPx1tf{;^nmD;o+kZ z7UeSMwS@BWSqt!T(D3o_32^iBa`T9A@(O`@M8SMKH2?h20SMip)?jT}`G3#>@5JeB zVK7%PH@CO9HkKpZ;dJ((|91yjD-TO|J6D*U zi!;sRj^-9Fo-lDbfY`rWIJy33TW61dBn8Nf+sE9Mo0p5{k*hy|P|N?oxq7-g{y`44 zu7y|ABS2b%D8f*t-0mZ2g~){}%*+bk)@UgX6!Y#mVVEC_G?tUH}{a z2;{$o_R#fpwc^&c@^JBVx3rS;0?4F)0M|FXnN)*NOfP6wQuASVw$C!eq`A1_!?04yNL&ch4l;rR=y<^r{|_Wf@` z1;PBh{|hLfH&An!`Ts32)Dmp%;_hS)ux#gKZezvm>TE+t^B+NiWn3Ix+yTS@b^L#* zP*VddIeWm&oh_}DWX0(KuDR^&pkN^(Azo2S5lc=UJ}Y5P0X}{xr-iksC8vB`!AS>i#5#K+}%pr29VbO z1BK!S$mf2v#lM_z{~wwB^Vxr~+ke3UXYly)KaL1^^B-4c(htO7k znM)S>c>3xi?eX*dUo{f_frsmr(O5 z;*r}Z0`5N5o_xIdI`Gu@#MtOuPhU@8ywldde{gVccyRD(#`e?gfX(&ZSekHL2rBKr ze@f#sFVX(%15_h*7Ab=N0)e`Vh(7)=_@9N~5O{(AYydn-QqKpe{m(5?X^RQ||1JKN z;QvRmARWFz{4YmhL@UeSUtVzvCV*If9!9jK;2?3D+j{~YncdFqUa}crE9CQ|cok=6 z;Vq7qzv}IB!`_+C!t6Utw7Y*N8K?wNOs+XDtQp!q8teRavXB>4;2_Mo<$m{Wl3Q); zW9?>rSP6`(!=;t+?B<@K=*7)j4yJl`Uj`EvUE8(FlT-_b*^J$NoxTeXe&fC8+X*bh z3*x%oIEI8ob1xp~CE87Pf|=N5TS*3K+axy5k75AEUTtLWd($p)7hmf@XGLwU`9@8i0yuxQzikDORFL`|Q68gvnSeQ?Ct z*o#GevHCvmmQ5_|z5sTGK#?D4>$t{hdi!&;#knP6$%9?`YlgEBzG{$)R^1XT$Y!*^ z;OU)sd&;|Q>*snAY(e`J2iv}m3xm9hw6szdcgc${*(xbnJFDp1U=zAEX zOJS+$BW}P}axUn>s;*cw%Lva4Cc;BNqS-sTK$YS^Hfy2=1k+J0?Zei&IU6@)l5IGT zE-`;v7ypmJ_Tx{qh7@^(DK_8Cbw8*K&%G_K5Ku_I=W~HG#tNPe%!;3XGrs$_hh@Nj zoTz>Gm(2Vjs(D_msyy)kuUS!rr(DoAXLD&=O{0wNtF5x-pmS*_yKQIx$@m;EA?&Kf z1yt7~jB}nyUHAKebKb7n@}@&M{=T?Ian^~$68@aV&Ti83<+Q@LvXal+jwE4bcU}RP zXN<@&xstpV(O|Bi&COU^k;A+82k)7{olm}EsTG}J7v?@T7p)|pOXsw|P;z?6wL440 zo}Iv+%9OO9jvb1geSo)XA3evOw1Q*smKdm~FJoi$m@8@C40^DX@)o;f7YkCFjY2Mx zP{Op`p!OgN9|Glj^5)x2@aHsx)cR%P;wrTA)pyDX-v7ogDHz&N9&wlK*LYsxQ#tbW zn~R41_Y(SW-KkRln#y*HP!3;AdxwznaSXV&g8Mzw;GL}8JPE+D@sVv9Z}v~7F5^_Y z#Q82m_=)nr^!f2|;a<^qr$b3o=E`2q!As>lFKr&t{N_e{b#F2Gfj;>KWqA^P(~OR# zY>e4BhlRRcTsQJzU4rpU`v%^94bsjT`ejq(sYh8~G@M!gNe_A;$(bNBtfp!2r^?US zEM_yw#nO#*r3`N-(3=FR-<#1gEE@ae*9p}B~fzmXWNHl=H$4nFu8dEhwK_**I$P1$h3t7<`7mxivu z;(H*~r7-rppWq3jB_S?%*e?MKEhz8ojd6_E^8K#W4QGqY+rXW5nU<}PWFFlXB0ToK zQjeC#v;J5^%ed|eHW=#XVa?QHge(pgE?as0_nj55U1oE;4Tsb4gxKbeQx-JJj(Lxy+YWjS z;Wn}A7I!d6h8$p#9JBq&fEXic60V~moY8}%SM!R;%Z&uB4%e{pCNE!g{Ck+_9rLh% zdQ0|<%Lcim+kF1S@TD9mV**kCoP*=fOR%JQwr)bcl< z;hY!+Co9QWkdJC~*msju=J*)^pMep-<=>L|`+(Td_(-3^>=Z|%BuF;&L)V3;(#wU) zW2f0qm(LsA4!n&&=qrkM5alo5zkEPU@}2Zexy}{K|8|gTy$z3vDc67S3ki=}9Ma#T zsvj(%x;>-4q&U}<0&BV~wgKA^7u>a0-g%SI@p&JS*Kn(U9}QxQ!}|UZiH(zKp8B#B z9+r05I>5O0Oe}sv4z7kE_4l<;E2-~-JIUGUAm}qsi%iN(rkR}OkMMepyI(e%Sk;Bc z?QsHyyeh6+1vgBq(i3eJG~6{qj9}krj+$kp8@u6_GcZ$Cf?-d?m(A2N{is6~i_9n^ znrBVd&hxm_x*9bnvh6E!D7Fd{av$ncz&IcHRye`;cT1kAG)UmH5B76LG-C2?Po(xP zH#6Zz1^g?V{eGT>4|6Q`Y;y0pCSrAvoJ2M9SuGO_& z)#rE<#bXX3y9`~W6{E16|);gc^9eg`al$HMrlM z?HuDqS{e|6#7Ns^{q~<>BJE%&c2hXk{QNx@q4}Ka7BRwz)yec#Ak>eQjQzw#uWl2s zJ@043;-m+L&Ngg0ke*7LY9XwP3!4L_&q zC_~S}`ics?OQY?`qb9C>&0y?^PS>~m+X2|?Z){mFElArL2GULVbH~SI)e9suuy>Na zui&~7DBe24U2+R)>N&u<(KWEel@^JaL+PkXi`tClf5WR86DqGg=oI`kn_s8u5<&1i zkW@{sp?YTa0)8sD-L2GlgNwoUJC(3y9meSXs_MIo%*oOEuMh=Cqm|N>mCNVaZ13#j z8MzId9ZSCL4A`|d#S*s-Jsj<9AXNPnR9UPw|5hYB7tp@D`k<{WIBb zY1-2O0nvGf^+lbygOH5hA~bL^@|$fPz8FQYOI52WGPzzVa+tbIBC&4K?SdVy7L6Wf zTXyL5OhW4N={1$~n?N2OCgeHJ4r+80<|j5th!**Dd@!v7PEZdQ#EIw2r`WpJf6ni# zGJ^prV_NorenqxK5;j_-pPLnx*4$jRWIQh)LAt3Kr=-Fb=F8ylq)+3k$bKIn8Yg+W zE>(;Jjh)Z^W6BaH8f=SpQ?I*sR>E=XdIU(0J;5?*wXJP+icP~KwEGSblR+r3Ioosh za|_-l0x4cC_FF$WMwJg51SdN{hjiyHD{`dSOq!cI$Ms4E42dc$GFY8zz6{lQ$)lK{ zZ@&;`he*L}Wv$0|ZT;8zsUt|}9||jYlvcFxq7j_H93iQnYK}o-ou1bmgOX}Dqfe4V zU@2(5PLd)*W)GhNxF3e(lzdaatIc{(mF%-VHOs%>9f4S?k=gkxwOQNM1a0@~38Ub$ zF8G}4!$vyaUiqiL6RDlb`Z|%1K`r}kj(P56mrdjit5w1-&iVr(m49zR=s@kW2eF^a zU}*bT0VFF5eAIS%cXXVE?Q+}m?Z|JoJlc`XHi=5PPV{Vw=>)~j;`UfqV!;$g7oTQ5r= z3Zo48hV(|?S6ALcE8DV76d(32OmhQQiq{esGZTyQGLVCn4u3^x@m!krIA7@$1ba>- zBceC**hNC(1>)+=E=0E#!eZhA)|AUZZ=30^g{C-_>hWn=85OCBG6I%Hk#Cp?rtZ@A zRYTNc^VC`FU6v^$rg_;hVB5SbVnV@QKKJFV3JjvEYno{aUc28z_8_7!=PcXL$6?}^ zqm8aHYOz^tRn7q$aMr0M9hKi2Za7ZOl6_uJN5$nb3+Pv+Jq@Tew$=~6xP#!;&7Zk8 z4etC7Shpy0_A*$hBbH@LH63H9ePeZ_I9GaPz&<&J3J0QT`gYQJb73;Kune(Ml9R=y zy?eHnQJ;nAd67pP6%`eG^VVO#+v>+VW-mCZaj3KsJy|>pZ3+q_E;Q_`BW&8*sevW& z)@Oc|z2}%cBIL-4QL4Xia@mqma7af2T?MHQqwP}=cq!nphe_DO_CUyGQvqD-W%KDK z(xpeJ55FD*D=RLN$rjS@NNO}m$OqM(^bPGIKI;gW3Ak}W?o{VV?%cXWbr8#X&5! zBFK3w?DYuARXE@qK`&C@9(2v zGi+U`?72Sq&tdDYyznr$E(*&L%NKJ7DcN9Yy47qK`!yIn^Qj)s52IGRv!)%YpiZmw z3<{_adUB&Kv}kti2%0aZJgiCk<_WhvbFSqn3aO&o#&W!Z8&VP*AT*lg3s1V%%4u}) zdwC@6Iiu2QWJ6eCr2AYCYq>GvP){$+p(e*PNZ~7z_18N2OHti6aOhZ>0s4S8{!mK& z&qF6AJ_;q`&@W|7DfJb2%~M9ZRPsPZL3o6*;b!Ql) zonk`W%|;it2v~&mY*yVli-n<6t=Q<}r^Oo>^XE9zt-*?0T?dFe2^ZOQJ#T6EM&zx z4CoRt>Yxs|^X;ThRR=h>m&AkW-qhz$1#qgj;gn7ZxO5iG+zHqtImUU+!(E1uMr$3P`%;>e=nSF^Ol`lLh<)Ge@c<23^ca3Mcfd9v}!V;7GZ_fL}{4QI45NhvyO!g+;#PHN>TuDIFJ z$MM^;y;z}ukD|$1V8*I%`$hQPP5bYmM@J^G#%-u`*%jrJE?SeNhHA^&4}12-gyDJ_ zPUyW5`T&h}*?z9F9V5m2<+JB}MJ8rF&r*BCuvOmYtE+mVWJDLRx8d;4o#MtWA9nug z4v$gOebT4+fd1k|uf|zg&kYBzR_t)ZYFdmOioh;)Ma+`!QqTEYvQkEm_rE=zU*<74 z@O8Z~4|WUv)koHB)=rH*QYv(r9L?MSlnQ&VOMCI^Y&inpW|*j+I!UMTsJd#9u_p-^ z1rk8|+1}f#<6?{5ifC+srjd&ng!9w2JuPvZUdqb4fiyR!;zVmt%X(vW;+*!@x zF1L!W$@xI8{>^tInk^a?4*yj>nssL}H<>6VtxCOu(LDNA*3ZrcyJ_W z8t#V)qoq;E=m#n1E+WfmaSW2z0nYEF!6p08oA%RH=aB1ow0}$4lJK^?UiAlSyzzJAf&mbnH4i zJ)}k@5oj&d9OpTYNh-R|HpEx%$rH#%Jj3=|3e*YddHs;;4*u1L|M&!Y{Fs_CNivox$q3UJ!E zRky545&ZUkrr<-iRBp5`L?;_%GE08C^CQ458fjpG)cD+qH>Sfa4L87ks$-Uly;PDG zcht{ou8@t&Gj1i3K^yXK-HU>_U?~;GZX?RVou66i@Mt3z1?H1n{30<}>_*Z!rzde1 zjwckoSE4aHeiE6BV`=exh2ikBd_{!$@5A2ownqq?qob@H3K+C~x)*oJy%GtV3c@sI z7_S`9?|8dd_j0ye#ur&2FX*Pd*?H(_o7`&&p0oF74j)zXYJ=;2Y6ON%^^3*J6Pss0 z>qd~9g0@s&%}KI|wwGBkJXLOPl#-$1={g@8spi=71c6)(IA7*fQ)`b22k)I|aeCj_ z{8Bm^!u})&zUlM{o{qwECT~CxcyEquWA(iX-MKLh_SI~RrwAeIEKym-JF81QlFXVb=jp`dqI|MxW~hrl+3snrEGn%yeH9r+%qo~#z^%bscnYOsX}m!N zmA1oLSKqvR`h=*``{0Itqev#d}B?B7og&R6T z8tbz5tHVUju)o!G%DwtgGggCMbW0khWby8NS!(>8-ZUUcUy=iw)nemCjIGay6S~^` zg}HpyTfHDC8HtX)H8+(=3AyscK0{Vnd2)Vxhs5GJ=G=YLcZRocJYOmpa>}Sye48xKhL z_mLN>?u$6S5?P80;q6Bb4Eq=KpAX)8f0_3lHIxjof9h9cHtu;iT<&pNvcKKofbxp> zjx#g6i~G)2}LW%FJLF~#Mu{d-kwjn)0B z`(;t{(#>0n;KY-+>XoAwQn3t5*{7+U)vGEmQcUQ6U*3#HZh3_|G)_CM$B*92$LPuR z^aduB`lJ`_lz`Nt=!XeJ7Hm{_^J80DeIkB@TT*?98`* z?X}3>sWD9+9*b?0DHmI^NR4F=Ueo}kklzpPl~Zxby1A3yu6 z?Ltl$ZFsMc;3*imvBf8rS0rIlsrS6S&#bbBc}(f0qm-D%ZNvr2=OZ5_Q;q5wq+i4z zR!$FSK$5SP0fvVc$%6Ps)32>>x4BN3I|4&CZEs}X&%D5*t?yb+Vagmxs@B1fTtvNm z+D`iwDkHqNv%>Qe-)muT@iL`W-&TLW+Oae(y z8Z20PPu79XwRPQ%@sykCr*onntC{(kp`+THNI7Nf;dMtFS*-$a-qJL!L zxCKrcMSxax5ZkszK_Hr#N+OxBnrvx??{St^H+^M4t=GO8O!0Tpmc$qg%-EuFN_HT` zAJFll2|??c!TRUNV4TL~4lVZn5R>^dFXFOffOjKA!znyK1c1^>t=^G!r1 zmrZdj3{kH7N&hsZ8ohUO(Z9uxA<4|2`=6DM`5v{(X)3SGnZqB1}UV(jj03)(HJ)Qhy5k>$GppCF>w#VK1G zs!uhDlmN!^FKe_&EK;dyeNE}ky%Cikq{wBMVe;Qz$h?zAKqUzkmpjx*1WLk3fkCXp zDiSb@6drX34VYmn3Z}(tY-@6T+?*@M;0h@q{;>h^Xqs#_)z6-SMZGTgi({AA{&60v zNTM0cR2=GFKXsjMd6{0yv@!KnqiN^D8)dsg|L-T zi1C3C-O40TBzA7o;XgyB8p8Ly=fA_$?as1NX=eh#@_u*Kc2W*q|TRF9X3JpuGRUyp9-P z0t!qr)D#IMNNiiz$RhfFNYNxD_eG}nY;&aSEGRM9lGvi4d(um7wu})c#e9C^c=wlc zK9ilWTskw1-?t^GwCr*vXnxZQZ%1bqL}#SnvZ@5E=J+cP`aBDk*w-xyhbI=ED|wgf zTCaC^G&_a^owmQ);}HS~4^VFkV17NBpnJ>NUV!1GRU}1@V9eH61kY&90SZAYgeXi& zxcrrNzjFby8tMX;oTSlr9uJHxP>Zh4ZY(S^sXKY)c^rq|;Ng*6 zM$^mu**u(s<4hV*$xLy}_~14tq*x34Vvw4CR>ER@1zl~(Y%(X3O+d?y5b4PAFjy^w*HG<6bSN5?8f4Gm8;x>&V z%ty<_u0Tby#p)OqE#j{buzmf-jc`l9tb%8o<}WzLKj5ltQX|xnS&YT(dxfW04dIGY zI5DU_5XZKV;B=e6yb?dzVqgeAz^^u6*_P`UC_uAL*6E zqwtH#fXfcB7$h3|VD0{R0SZ<^cotbW&o+;?Coz%lDd?2?alXwAJX&Wg##dW!B?<>3 zK|zQy1S<=d56(`HWB0jUbJd>z#CoU?yg3LVPtd;4My22R(Wnd%_2jOrdHBtp$yk`! z-a4a*Em2Sm{FN`D{dC{qUBZiuFngrE2G;u}I!N*@&E7aHnCQ33I=J0To8?v{l0&0W zIVX9Qv#;{MD91Eebj@h6Sr98UJ5|&g?DQCfKNYrYyI-edba}XJg&(6k z?r%GEXGbM+5Ae^%PkZWBP`y)1N)X2|%Q!sq=^NLS{IAus+EGC8c}IAb~1t5DF{E z+nrKzbM~fWulL#MBl*}ClYVOK3@GRpi+1boD{~=OCW-5$=%o& z*uVV>A8dVW``bWvx})56O{8w~h2=g(MyWTm81HF6$M>0k!w4T%5BMe%>$VMjl!{3O z1h`V-C=R+;Ox)rT^CMM3#3+wmi;sky1M(JrDN=}-{h8vUCWvM2TUZM-4k11+z#zc^ zlb!b1@{*U4V(DFw+F<w+c;>yy_31iA?NH?(v>AHO2nL9$%T6^<(?PXx@{R zz!8qU!SN%31)- z?7Ow5^G_F0hbUyer$q_1MXrjwv`-a-xU| zxMV&uo#X4dh`FEa{A7!*1*iMTJuz(eNT4?<@uRH;nPD*bM~5fySsm#SYd_l*2U60f z&-wxUfHyO;RsJA28S&kv!iDLyk)3KhaMRF=ZfML-8gLxznfXqG@PAaP_!#l%!#YG| zzLw!G;xT6M-njJ-I)+%}XGMPJiQXiu7zoAcwZ*VaTg{Z%$?R@|r>z`rDddmE_`|C< z6XvLrVq*SuQLb!CI^FC+Vcu)@Aq;RmkLy0pfPSkkY2oUEi72FhCpFPZwN zKY4?ZM7OGXy8;oocNuR|{E<=AJ}mgn4fiNeN<@gf#FB@M?vBu_7ZI~aKBTRl^`XwR*A5q=xJF=+Q;$3ET?>Ih2J623A;vwG1sE}8k6e+*0&4RGOS+2ijhvvP9M*Qmzt zH~mLbUIPpI-KR8H^!@TE947={?)k$SHtzna7epTkSi^x|K+!gHfgB8l)RS;e$BqV0 zNkuv@*<5j*zv2S4s^4Cll$E1%hLYiL%s9gkIzly<=Yyo9Jg-y&X>)#ICtou`+DXdg z{rEkcgSukTy-jI3{cZJMJw!EP0#fec^iQmyBbXjyMT-22l!c`bI!I_c*sFAR{n<`% zE+=3ubnBPJGsMR&(5HKr%9iR*Q|&Z12i~v$rGePd zD0wpypj|G#aLItsDuIIm_WpaZO|u(Yk=WcfKGX1fz$B7N3Y?zC|4wTZOLBdf8fMDT zN9p5isKQ!~=8&6FdbCVFG2PVH({^GpX3}-Tk2dW~y4gB9vZ_9_UFvT%En|aID@xnJ z#QthIYNg+Y{G43@ZM-YiE(vErcgg8xK&FoUANy`A!nICK`UGT%Nh> z)=WXs;3x+5oi;rFfl-u_%()qxJpAMJ-_6N1rDPPIO;>OTlTveI+_gdchYp2udYB4% zL6cy#&FSxzuRHY#{kb@U2Jx=>6+C>#?t<&2J3SZ)1B$aWt0fOG8qY+z5*E6hxQ&T_|xglz4dcMCjI>BC~&{%KCIy}Pn9M#QPcYOZeMrgQ(RL-OmI zK+Od;kh`0HeR+IVuS@c4S-h-h&|~CNQKuExB^45gd$O56#2A?MfoDN!6Lu2$1rO5i z&Z94^1V!hk+1?9Q*G9@$&g3+WkxESO&N9;`TX#hsWcp%A08tDw3b)$|*X29eg1Xw& zEj{Yw2fGW+cDIR&K=*=mWte%hirN?H*ysA49HNJxU-5G$bRpM|ha7!{pwU9pr-|(3 zJtl4D6>tZXRq)<8&esaal$`KvrkGZ0(EsWe@OM=%Mu=H_kK854B2u*fOnZ?LsQ6i@ z^9Q;M%S}{5NR2RUv-={S5UlJJYdj(swX^lPCLJ$G9Oj<7kVB=V^-TYE5|_mDIZ$L7 zk#w2h*?f(=Xud~10@&Z^w0uu-!D_XEH=W*bLFpX*$3~#f}=y+|{yomJtChkLVNA{%-PQsbK7f3~tPK&xA%>-czyH=4a%7 zMIY26L$>GQ=raP8bb%-~zX?}6I<4pAz~ZEWiIXPsJIxRlkYA;zLn0O&!X`&o zVPOMkz4>((3SiSxSXmql<*U9c+tU4xkA=ld36BbRCV%ZA^0BYOL3W5B5rrCh7S@_S zmQ{^5r@}Nxj16u*^gfEx)hLyYUudO8hHdr=m%e!=C0o_F$q7h5DILfoVr8ih)Y)j zKsUg4)O z9G(T2t(5*>?l`OLaCLC|MXPAgXakt@EP0}BIYQ3jbc4B)*hz1y_!5haBE1AChVQJ- zO!O8j_b;BaDrJm4x*|8te)`xi&}ZT9fu%gJQCwW=u7=fup9oL*)*eEjd*k;{J>eP2 z*H&MIbz7RWlq!YWHXQ;(fx^*qN}oJN<$Cnr-6OA+ThUp)vfj1k3*h*x(*XGk>=S$n zvWw?hwVUbuqccUl(CJ^Yn`P{CY6z$OUgne3`wB>q^`QQ=qj>zH z4^k%p-GHdaxwZsE*ipedWrRyL8ZCm2_RPWs3L ze-YEvGHUmsa+^n8HjD3^i~cQ#LuOLCazneHvrOtm`5-k+(m`~`L&XvQZ8jjPfv!OG zOp*#I@CbWaT4PC|}w-hJ3Li^{&Pc0zet7 zH~?p{{v{IKNP^fP_}N?OCzA?34?f*BFPDWjp9B`pFUgE^ldyg@YuOx!u?rSUF^q?RYB}Ct+9w0NfT=Y>ywbb zN{W8b3=>97;3p{>>@5xT7JtWNJJ0~yfHz1hax%^+cZhtafofzocz7khyUV2EqgV%fwkD@${)ASwT1_FFK^kgBLKEWAv$EWJRX2lPKCx&qMXDphBCUsH zW^fp;Re(W_DI+&iz0gZGi4HgicJzR8s8EC5`}eGn^f$fuKr_K7F{iUD z3%86%AucU+RG@NfbIDtxC4fy{#dibZzx|?_h+Vq6Rb`N`fmdEnET!PvTTGGfkNyTl z&~_5!Pgv&WEBK__feX@@xjQVx4y zT@p@mqli5^?@1J(GNbU^^N1(SiEY(twIYrE(!l=QMvK>TiQ2A4*~?|D{KnsSLZF&3 zgo1#xN|rBU6vSf>XGm5nVIfZgG_8%wq*IL`cyU!U08#>=5ny&3uWNyABV(hp+;J%? z0F=4iX+T`0vh>X}@nU5c%Nucvu^+8IT=N?|K+q3w#Ej9??!pqMmjMhSi7|{^V3*Ky zp%TME-aq`3!RQH4eblk(vLSiu{m+vL|o<}{h*(F~l z$vS>7VxHh`)}Bm;C1o=UlFTbl(b*ns*^w#0F`a6yD<3bRVJqB z#Jtl!*xb${EK(o)0L_WT-Vf^Qw$mLPU;C{reAcj6dZN}#o(M!?qQ|H=iR3|?KlKa_ z!-o&;;9e~!GNFxBEzG^_GjynC42K=Q(LWuH7DKvB%mAD(xNX~{7={rI--=oJtZnpA z8gZ6QyB4M=V;y(${{43EM81ux%qvOVFESHGKybPqDW;JL)29cjnGGQB!Fmuyh33O) zRS>9v(g~;i;016~tLx@%V8u^j2SrGKRXOG-t#S#KBrl%YQ(}`_`n%4)D0{hP8Z>i( z_^$IbPR(qq%g|Cs;Py`F4&^7xW(x~KY+&!{d?ke|SIW&_Cy|Notsv>at!U%qkxw0) z#i>QtjTR)Xd*W`c;wZB@t@BfU(w1O8s+5GXycNUFdb+bTl9FP4%uy+8AXjgpggy#c z_MrVB>qMF#tc-8_Zi48zP9G?v__zQhor)Z|Q(^d&nOvuM`53hG%*zO$6+#;7wDqq>RKlu#tgsC8x-Q7GrD%HFR|Ll_;*X65 z8LX@ZhG88uCQ9z+*|v0f?ps$!(o{Pwv07NyZf}@!|Kvt)Pxo_)obV)3{NMTPQ#kqo zvgjC4-OQjYIlMZ#z2~7DLx(!G@LAqs)n2G7q*2Frl z`3-T!M7byCiO}ymx?%;C=BMW;0gMH{IU>sI>C(GnHU*ac;=m!r3%NjaTB^um4>oef}NQ&o%&JVo86Ug}i?ufIIM zxybu*Z*v?N)4)BztfSYk!D3j)L%h`25I7T4@RG>c@anacoUCdo5BZF&J@yX>{dJ1M za=MgpU+ad0pU88}-=`@R`?iFd0~wieB3~>`*(hEN;7lJGy*}fod(Q?c9ArR|ZrJG~ zK)*Ed)A>!_TcdL;7r$2MuGW&5Ozr4=omykJDq%Ejtu*&e@B$00znyF;Is!9$kY7Fu zjCiBUzk7SnZG(5Vd-bo0-yv~2Y1 zB|XO%2MKnK<0%7R%*;Osol)PZi0&>l3Rg2=pwGi*&C(WpF&j2zxgf-e5gt& zy!O(6^tDV{I;x`ny5h;9_4h}mHG2^!O$Qe1tZ#;R;1dj>jwldRjvbm^7psyE{+Tip zXjBxftELB&p^g)S7+_K)6a_+tIkNi%dU`bW3+_%EawmI+%T=mE322#Mi+ni~7@yG7 zjMK-?si)F_{9b^%O*%ujy-ae6%_1$QbJo5bk}Pg#I$ zr{A&6(L#0h=!HiF2UhH6F!6vI%g+!IwvjY~&&(M~t>3B5XLRA`&n2!!2lI$11dH zeAUQ98>=CcM%7eIaW^XTmThguhFc`|Gh#{uYj!!3ahh8pFB*~&{vQ4s(=#8oiPIOR zWLb5BfGRwz&(=rIW`SP62}5Xe9<>a-ckC5PTb@o%w0gOag(Cutd&gpNiZ*@fJ(kHc z(&75=7{fWRIA^va$J$1!8vEYdwl6%loIHDXj)G1w-uTqFPBlsjvFSCMSU~e^vBsaq z5S*hvuC~H9JPbciOTZ-3vpQg8{iig88$&ciwu()5ny@{#i9@d>kButBObt@1YBoHJ zjDNl$MTFm$xg=o^Uq=A>J;b%Ys{CQTnirWa=|xZ5NC68szNNhFcv+hUi-vbki`Mzh z<6IV~kt;?NlCi1{Hjd**(dym~b0Rl@LzRA8p}=;+)N`cA)TH>dE z2^oCt(9>3xtLKqt^G@XS7bEmSRnw)(5&Dw3p;;1P01=%Uhumldb;L{J2rb!)L6RFt zKszGyDIL)td;Cy_zyudxH3=#?9q%_^R-moB`oYe*;g!)?izs_T{^LqVej@@5$2k}6 zUJn}J;%9G0sl-K0(^SX@PF*k@x~I+*XrR5W-hqua9IFP@T8Y-QB9j^SVMisZ0(`2d zMgpZ=Gp$z?fz9&nv?5u`IG)$c7I<2`!48(Hr)ToS0niEC@%&RDY@=~1Qt?XLyZ!z% z&JG>CkfV?hn6arlgRw{@>gH89&N8wIXtfasr#S`&wlx26Su1zkktD3on~^-kN(7s< z6_X4 zy5xzp3_GJT6;GC4yA*c{1g``tS}&k zGm%5c@DZdS`(i`dYohjjFHHmxUIPCU}7WVqIBx!-jjEwylMX4_S* z{xVYyuTC2fz}$$*@WI%uaU)3AJWeTMt0!Og)^P^f;i$&b*mTElS}vvoV}f4(umO`` zO{8U~kvYV0QJVtH8>Vd;#vj1Oj7;d_I<+3k2X{_6Xi&%B#3wyA_@EZ(Z63=eln+dm z!v~b(SrRsE@5c=pn@HQP-zS$r9DfJ$-3h4){OCyS8hp_?Ac4SKO1QP0W%@(J^BX-i zQQNc5rdDQRq*;uUa+ zDLRz(x8dzxQuR0E3VU?Y^)e#dq)VB=)d%WJ($(dj zO24Z|QiWSKg>GM5 zsZUF{uJt$-iT$`vc+n7W-oF*C8n801tK1PF`kA9hw!$S^VP018%dBonH*Ysa;o_&K zpsIB2FX0w16~Ee7*V(BkX4a&wE+6Do2+$5Gvu?=)%|V@vu%R$|L#VcCJ#3wYQaA6h z@1w`0>S2amSCB=@ATpDStMCrK0nRkb*NqI>ve_7Gnk6NuoR*xJNfjSG0<8^kHsX7f z2Ydr+j}+*GoYg{mcEJ01hIEgu?u+cjDvScA9Yh2U4*9Mj{^x^pLF>d&*XSjFO#9;?(xG1jBa#-OJMmAT{7 zPJFxs%QJ-l5cz~QWq3rz>Ggo$@n_6}x(3v<-v)-E*4qauxPA=B&hDqbPPM2~70K4- zlR*{taNZd!(rj|(>68|E5uGbC@@0Vy2BE`(tb;DK0u^y)i z{Vi9>!Rg5Ag5$Z%?YgO`zlL>#)r)NegW=-r*8}w3Lh=gG&%+dhqqOu|c0`3nFL`EU zEr{AI+_5C9qY(M@X}P+oh$r8fq@M-H~;mpYPcpFI#US{B`PF`jr+@a`j*OOc3&mJnv#^KE{c$(9eM2l&* z@p)R%kz}@U$qLdIW3yu27Cws{jn#~}4eu?ENK1TT129_A@9IgHbNml_BW!puU z?(Pzn?rx=)5Tu1gDd}!05d@@LLPR1O|z?`N1{m|>P@?|Yvc=bn2O zTFWg~D2<|Hi~`Fky0KsMMgo`vSk#%I-hAa*>@x4Ut~|EHL64zWkw;f;F-!Z?sokmQyXRp8Ybgm ztzT?=MVG!pg-Kb1RcHZIC}0Oj9D>%Q#61)F7{Gx{a|1 zSo9(AC$gcM(z|Fy+V8>_wc{d+-L1u8v$^^QrY>QT%WG34^C@LE`~Dfr@0iRR$>&BK zm$L+0r7@eJBhG#)FoYPXo#Ei%G=M zA-Ym&`te-SYa3QP0%!KJJL>DL8hIHqem7Yx!I+KBEL6vIzMQ-Z=ERZtVPm1E8AbqN z(@q|8$sCFkDU>6cv`Y!z3)vM9Ml?Z0DE^pv3>RXNZM35xpP@4G~eP5X32JvpGP^!P_p#h_D>SiH_S zLDDmq%;KxnW$4$SuXSC6>079COvj``eSk;s3v~TF=^Wg*K6`%aivu5N2q1`-`~Cng zLNj=bfw)XYYphyaQ>AJ7E@@g%iBF+~1jAJJ9-n$t%Fx?4DAtAuCU23QoFf46zEbDw z4dj!44ZPfcgZG2III7&5*`M;F=I7um)aN8BtRlQgahIjLMXP=Lu*)Paam{SivsvkT?_MD&kGguPEtTGQlauZbk4 zd674(X|g7xIHM85Z0=r|7Q4xACc+!#Qo~;N4};nLMPiN=$rRqSE^WU(Yt6u19t%)1 zqTeW1*wf)p4wul3E2@sKEiQy;kfR_p{gZoF_p&=t_n00^n}+0HyRR;r%{-uq9@m4A zUPc!*92N%=NVJCBDQBy3^{mk4k`c!f{Z|rNoHhxZ`R;gS5P>6A>k-|qfEJ!k$KZ{$ zdfB-R7&BqGul(N&vXJkCG{91ESkI?Qy#!aq#qqhq@7AONvL?jz)8q`i3Rw~8N}IbM zZ%y_ih^>B=;gH9tw-vp*_0hEG9uh=798U11lRRs-9Q(cv*JHb#5dD%7+eXkpY#0Az zv4sF4|EejSjQsQ2k%Bmp9oO3kkQg0wf(v26tc>nz5&31Wl~Yl`Oxvse+;o!Iu2`7W zN9@0oFb~o+d-E7^B=dZoP`MRr{ANI5^lYySN~MbJhxpqz(tC?a=AybS%;gKI=VjQ= z6ppNJv+%3jzMrG1T~&M=78&I?-?On+6JXeUt>@T3&Q$a%Ucm%t3huk6%4=9=4K&3?YA_#+v|KGEec%#F;CmjXdPLOWbz z^y~Yk8?a+K@1Wd9iunw6kB5h$vmdJ6o#qN|Tqi&LmIhhMcn6pbi-IL?sxOlvQ4lDV z?QIILi|USnr|FkmhQ!7#Is~EPG8;c{H4hf5C;w=-558v@wmlw;zPyJfV~HO}UVNr1 zIjBT+VlyUz5pD_u<}c}~3W6oI9M=B%AxSm`zDBMyZ<|oDbCD>|osTiRe#4aRVoR(b zr20)H0ZYmbttNl0*p>EvpQ}QG*#)e%_G$9hCfUR20U>5crFRqo0iPx#{mYm8>oQac z=~m;_8B&6-aUU4sCBqv3sLvTXVB6P*86sq&K(-?@%>?-f1@|$MCAhpL59zr0pDV(> zm^jx`#R5(>j7)P*jxzIe|5!asW@#$XQp3N6eEa722J~bJF*ss)--)iP6-UZSW;l&s z=XEzpH>uVYjgX-KJ+7cZ>3Lr$Ehq25ZR$^+CHRUiUI7Kh;~Y>mDeO^Fpq;TV=&8`3 ztNqF%*h61+(+x^Ssl)W?!yqJ(qZKnm-q`4RdYP8(Q8>)_$cj!vVMM!$pjQ)R5xcj@48?sAD2qOD` z3g)&bhg+^q2W5*50+T5w@1de2_s>*9W{{MBd|m)1J!!<4`CuXg^M&-E$xx)=PZIpe z+8J86evNJka1m3I{Rq1#60TK65_Re05MNf(D+nsC>rgTvzK{G$)P=pe@x8Hdl6x|b z#E(v z2bl{DSRXcOZ26eI z?xHfG(&&3q--8r+vM@elWIY4O;?L&v*=Z<5EaD^*CX{3R$6R;DKv;#T;r}AKRws%X zE1W=&QT4}W0u!P}aNO|EWDeV!_v2B}n)-WxpP*Ch%SJjs`w``f_CPT&pryt+&Lws?!wwL-PgE&Qqv#9zZ zFN;a|6iD!0u7+m2$WP_t`S7KCdOxdmxx7D3Wf%ycR2z?FWsQn(9A%yBce^_3%M zzV(gDw@me^h*5FFH7zHCkVX$))t|iBB-0MaIyvkG=r*1=0rUOdg zPkdM{C=32VJWH9Df`Od|%z=oqtB3i7{;seHhV>g9D;g8+(#iKnkB`1DS4M1-Qn9uR z$B;XC7M-~#L0ydXc1~pgLhd9ngGd*|$-ad-TFO>(J#qdX98aMkl3>Y>AoBCRj7+d$ z2?Lxf@oZeTgT**+_G{_xAAx6%bh((A4%V0Vx+6j4mcRS09C zItc!gW4XtEJj0h19TNWm%% zMin6ebKo+(64bPsK{PIfLa#+)%u@YDr$s|*!>{Ka&%e*q@PL!G5=)qmDcD}IIU2JX z?9C8&14eGjUED4+;MUj!=An4t^MLC$`feRQusMRsfS{43hEO51?Ki(U=L=mOsC~`z zY5RXt%NtEYS6_7~30n+) zP#l^mS$xW+0UpIQi+*sXXy$YgzE`&m)KQ?FKhh}yPcXGr8K7j3w0(n+TNC7peHk#F za8D|_=bj_K{?ngObnrIj0oVQZcsHIQDAppF>A@$t39pG7d6Ks9iNSP^j42lxWp{!& zxT1z~DAE~MWS@?T)^_y-onOzvhE#xfp}*CE9m|D{2o_|`NG1;hYj zPob#eB$h@_knm%#GeXkNBmeglPb+-Jajd z8-3j~XQnZl)yL5_%g&Eyf+)o$AdT-CoWQ;STSEpxnCHLwOdY=D-O+7CbKK3thNyB=)Ti0PS%<%+# zHBxS3hq5p}W?dfoa4KB}t7Ugq^Ks;f!zY)*643id7<^ZQO9{?Xm0IRJx$pt&pt;ABuNJ4y5VO>Km#L zj<|T5dotYiyvt<$=~O3-lTH8#NT(>UTgsP$TCRdK&i&7aaA@p?@HZse7NATVPo-dt z$ASF${F%3{>0A`LdqdR5I=|=ODpgP;fpR8{%qNwlEk|vi-iwLUG(RGpSLf#M*jEW? z3tb9Ri5PVbAKGJpV+Qk`y&$GPgLn<6j=~A}DS}HTwkR9N>#5(B<{Q>yeS%^DRu|g6 z<#(jf)GZZxcX@=z=Mol$f>Bs>qVqlslt!&e`1&dLL?twes{&Je#>ZXSz~WYwhi7kf&@@wvlMv+?o}ej$ZbwH0mf47dw8v z)xqa&;jl}-U?*8pvMcD296q#mt(0eP7YC%2nSVGUsNr^3cvlb(%=NhnC`b>-Oaz*V z=~7}}RHT;CA2k6bSITqAMKsf%jRa8c%|<#cy!}gXiL(l1hXOd=?C8V5#!z{=RS){U zPp(3fM~^S^z1M>{xf$#{n}*SKoiT~RXSeNP_PAtCf5@>~mbe@_Kiq*#3;SZz(ILG383a^nMDm*W`ko4PP0M zMe3pK%Wg~)J2EdZp)~bcq4@nW$L(ZAY2>a%3MeQ6vw*?oGXKV0=AKj(+l}9|0G(5F z&~xaJW>BLU*Xx(pZq$d8@Hu=g`VJd-BZKf6d8>-esDu#0|M|K^UyO>=! zuqW?Z_|f$}=w&VwIFtjEUAOpuv`$;*w)Omc6Z}`TG-)Z}!5stq!gd@h%rw_f91 zMy&^&3nWi74P8_rVrd4hu})vazhZmC?{~hC5)cS6LzmCIv1rDzWfa3g9jzfv`3B9W z*$hLkp&X+Hpn*CYrx4Tj@6XyQz>6xUV=ob2DPdqFCxd8ihviD-OAs40Z zN>QQcRD8fkH6N@KBLW8crP~Vtdkv(#c$iqs=^FV&7z~5CyV_=Ns1b0~FcrQ|fQI1i z?p0GcDT}I4>7{xo{?WrCi0g-u@WFWZHsOqn7u@P8u@>2Mf>U-1{p%e&&kMBAf}^&* zK`KdNm;m}WF#A@>OV(-91}6>ChVv8gWBimweKWUuz1#l#rpenZqQAqv#M;opLP$?T zSTf>QOwK6uhh1yf%jVdWy;0Yl^yW|QRt-Z=qGmm|;>U%QNy}xU*R@QxNO(X~PfWjjB1o;tKK0p4V7Wgu6&QvkLUV~grs+cx%EZ4<4 zc3ZU|_KVE^2@@<-qr@6p+)G)caVfNmbrm%mqpTVp6h`#5Gzu|8 zlbu%+sMB5K?+*}F7;I{FXuh64&jbOp>aq%s+?hsY&uUw`GvC5x;qLM3-dK1})#j8CawdV&tg#94FX zY@3moz%CTTZPcdyxqN+LbP8dqkF~a|p*Uf&xN`-wz;)@fwM*-ptsg-pl+fO_!$NPp zVs!dObp}TsaL_Q3km68BAQ~PLy0=6b7v(K$j&R5l0RiAsb)m~yF4 z8X;9w;c?h?RFcm8-9=SmH8od!7jY_GlK861nWW1r^m|q*>X*b{#@<((le_r|X1c=xG2`5WI&cK}BY&0S)_%!OIt~nTUcc zRVnlHK3n@-FqYE~sh2b4@Lj=N5 zIig!we$_gmcI*>XP}vrvVA}{`QDZ(VA$_gKioopcmQHb=m0#G4#8NfSD;^`iM|X~^ zy@E{N{XG_1zXuoT%)3#~v&_PeV;1|~er>lA9f$rw_-Ft_ygwelX6=_dh<#h)#0$@O z`8?zL)xQoT&n5SnHHOz$$4kwXl`gyE*+^)(j*gDvvNfvbZJaU%mU_>X0bpDHHOFmn zt&}MxZ4)j*E3e_s(16%*T~vhmjfnUyR$RuB&V8ly2@M>YR!jmjWDUF02y%j*z!(%n zIcPI%)+(@^tqFE0EuD;|>Vj`RZ^EIQ(6*RfgBY>F@UQ8&6P2pY)db z(cs>Kp5A{eFW_7xgY)-t1kEJs09nJICG(-q`!@UA!z$j>Dqb5LP15=1-`dECg!lEa zgxl`;)8jpp9#U3C*}#dm4T0|Iq8QLVV{Hjf8a*tfV&NnuWs~eL*O{pNNz;x$a#;Lj zrn|`o$?tlLF&<+9V@NoOq@XC{MRobV2q3~4rcIb;wt6#fA@yg4~ zS3Vv%++Q6DXqF*m!R)W9j--r!6#1#@L^m~yVE5448)z#pDz{stqJ1@y!YDGsK(W5a zi}~(D3IWxYa>(#A$z`L$bPP(&2?&aHKuDFO0P;*Ei?SZjCnn|GJ@%@s+$)Jp*iV#$ z9#scAB>)AfOP=O>-`D#d)IS}LJpmlZOm%)P=4R&)@v}~uQqnD{Qw-G#b^xD|11%B+ z=_dp?!b$k-c(?cS>YpCe+y7mb`#q+g`0U)Tz@N})ea6v2E$40btxltB^YulztvQa? zK&zBT`)F5nrkxVAu-GcOssIxWwd21`Ugrll%W!{a5luj1`bwY;Me`2rUb{VDj@ihb zD~3_xfcnRoCb6nwD8uMtzyXR`DRw=1z5ep50Wlx`#0meziC3FJIvar|P|#@;!y@GT zJys_2XSkFU(Ce{<`WV-;|4ti5hZJkm(%76~r3z@Un21#2Q?GnE!vN)c+Ak`Qyq_DB zJWW5Liy@G|HPrC`Ko5X`5W@G!0L?SZ5)gL=kq5E{=mzf3Z*L#fuRQH#-Z#?TSJJvl zWZWNn)7kxH(du8o9B*o&ztnE>l-Q+@F?JNPQ>IAj+-I>aCmz5-N>AQDZOj|y zyhJV#>i~*_$jNncXi?01P_nf2APU}TytY*(>PIfdLKKXR{9+$}&qgWM%} zrYh2IA27!x!#+!}HPi5};f?j7yOuvn zd=Jw>t!ZG{l8M0&{0^=qzfxJ>a_E!_uT@|ky zMc~Sdb08v4Sw=gGtp3B~Q2o<|iPjCmzf(?r$Kc2LZgqRqL_CR))sMk0n$Na=EJMP3 zZRA{C;_?rCry73l*>+B&CADnoaF=NJI)ox15WlLU0zg?C;VEgK&@!C?f#fb&JOfPXdUU>TSGkS0qPHlhxtZT4HDgT!|i;P{f`H2vS@As zTi!g{pN4G9OCti;L_8LXBVg=NFx>RJs9}`%UX)xG79p$e1^=@!(&wTwUmA(e=n2-> zDKTAn7N&QON4fFNNYGj~UsV$)$xnTCQ*RIa1NlTId-#V_66dfq^g6^|Bg6%_2=oNC%`ydUQ%5agWO1;z@qn5;C~FudqyRK+5*`8rn@>kC~v); zzIAnKd72x0x(A{T-=?w^G#ILBZ7)=p!w$nQt(O8w;Dlzs9{{}(^EDSPeS|EVJqhFx zb&1m(_&xj*?sJrQ5;f~S;_CvN>}cSsi|e2UDLtsNbn z$s*%v_|8cqaB}kcZUlxtzN+u0H{s=*yOyzmXaKxMnQcYrAcc!BEBm{i%{Ub1& z-NrwbN9xiz#9GAB)QoKLO75OtE)7kHfO;CZ~*IOcm* zJ+%T?C2*;Q;*hEf$X#ISdm-ON8>AD@SLzSA*;`4Irfy9>+ zqlCO%&P!6pxU<(?xn=S3~)JDj#b#Ku*Hv(3Tt?%ke0*@eL1O}jzS9Rk-XhZh}(rC4#EK#Om(Fh&52s9tsuNJGv9`#1GhQbZOhVh>LJTJ)$Y^u1ZHeT z{&4|J*#0oop0@qs|D8cHpKqP*2F`g}loGb0(4IBzxU}iR2y>u0bX&}t>@_ z3miKWF$cV_(RsM2V#sK17ulIb#U1tI=b`chFhKloa*g5?rUs8-^XL&I$uiWo4pz{t zX=^Kkp%7g-Qmzf*ln?r>IVh1PSJiqYr6?ezWMSA?=Al?~O4G3EJ-m}Kwd8)pTH#vr z83$?qg}qn(K_eS{E%Op*o;d*_)zpP?$6!axE*OQAQS$Mjn#T|B)sG+cwc%+9SYOQ~ zkWn&yud>e^J9gg!&|~VgDRU6Q$jzpwr&WlHY^i?-uTr&z68^3<^1a(TVaC}r_1B6w zTV860S{(y#d+^U*JD;EevpABoYiEHkVhbF@#+W1lpLEx7H0aQLA-L)KM$t7`Xn^16 zurZA=4QoIu`s@M-J;bX(`M>;F_Nso#Yv=KL1>S*#x9A6d)LP^MwA?cMu1}tpT*oBp zT{rq#)N@nf2&<*tDjAGkon_-ajsxG#%a>(dnSk$;V5GbGZrK4zc~Y52;_+fiUFz{7 zQ90=$AJjt*mD4njB8U@>iF3*f?abO(S2+5_R&et8 zMxSTenTO;if;hbNr~>$CF*oZT9QLNL4!{*ULWxBPJ)Ub;X;9~4U|7l9Qcit5kW zJkXj4(pR7fK*SBzuL{QH~KRG!GzyAr1S(=ATpOusd;Fx4u5mWj;T zR=n}B+n#Um8zcCok>9?S)X}uY7v>;NQ8@597eHA8LGk?&UQ9N)=Rnq2`{m^2@~LwB zh4Q&1pvgfIosjK!F5*YzANJm^zP^4#)I(ELgNe2IOza(cr0>yz5z3*Kx`fzN^@#x1 zRI9!wX#r3T28EE{!uHoCLtRyy8sy0uPgVMTvh9=12KE)>_SehHR5%OAglnan+tJGa zK6+Fy;Pj}gKo3fB9SF|69k%k_5b@oZ*8dhbDFDu8dG+wG`Lg4-^t#9@CI zCxPW3LBl8!p7Nx1ys#RncXwH?*{`&-Oi^q<<_jw#hc8wEB~x&y4pft*III*Ftk)oP zOlv$@F=eLv!!_-t=ke{1nk+aEU)kYi70@vI`@Dlhw84%Kud?^MI;f1*6n$>%hwq7j z>-@_1$_jo}4!U$JrLL4QaEIZ;sT)qTlA`?p?ANsXcI#PS^up7vMMdlY;MQTjKR zMsRn6xn)ZjPjGhTI0Sy&evg)U)5C&GBOc_#(C9cBF72cB3L8naFCg)s zj|oTEaQxu9V47B!5@XPCaA%9UvCPEN&JoFgp5ESWCWyDOB$%1Yi-{ELlR$7Ttt&#V zJl(#;P<-wJsxeAL8VZ9dmH|(O&$Ce7*=!oEKM+I>skyaFzp&8$V=Nf z(jUATGF|wqy7a?szQHw!aWW|1PA;Nt7{v*RN9dxTTj0SxDRVHQO*KwWM0ghej^UwX ztmy5{&2>BcQMiD{^sip6!f^S+U^xgsu2yKdsWvLEC?0=O!jaXf^WG3=Um$fAIHRHO z#cL^#-!z^#Nqyv*(awy3vy|Xb0V|@&wLh%jJiuep7Gu|Mw7(;qBzW|cE=CZ?4#?O1 zo%c=qq}?Fk4P{fIb`!gg+o-ejIH+*^Wg4D%^w->h9qnk!+--BD8T2}Q%`oUrV90$g zW{Ijg11iXl&c?vHewkfP4x!k#2hxLB-f|XEdv!Tu^jdPi5C#*~NAx!^x0%@d36gv| z{pPpHK#Lsk>m;QY8kj#A;iC#6B`P4YwjY5=Mq;`PDJGyw==Q^xG(9UHipbx|3)zbY zl(qk%e_G6yx_Ep#^gd}lx=b#Sr~G}lr|x%m?R#?V!*?LyiHD4%;A%+|s>@G$Vk5hRSnJwH8{0CB#+TNJv`P$k2gL6l3Ir^^#2+MyFR@sJJUSql8ofwflhIi-eGLoII#9E{q0^) ziVfeZ_sbBRk{oy4K%IktOPozqWzboRx#&$xm*(dwPwa9RJy*W$`7$qbzWK%V^ID9s zYPfKJety1XEGPW!#SID!=C`MOHx3clx0~xU$l0} zPsH!O>;FM7UsDv*KvEZ^W>j`pj2XU2;L2YU2B6~-ta8~Je?JwzTyUY(Na?*k{1=Ge zXcCwH6WH1H$0HB$DKP!}Mu>D{NUh!>_xOai?zAsUP4y~HgfKKCEYjjNpau~1XVr8N z;a0~KOpgZo%m7W2T`xHTs{X9e5q<@Z|?=YA#z}K_${-deqR3rCT3VY&wcFO z<;yj6T5vibjT6PJqQ7I5uc=zyuA!K(O9cv0gk~d>B$>O4QXd~4syO4?o4a?D^>mC$Dx)nQ!kC(BCP^FWs#s*YB%X?l=7D^i}d6O(F9GyRL$m^b9ies ztDPBxIN9_J+w#&^a*)K6;|wQ+aEH_({hV2#*3F==KZkl9y)JkbMGwb+Yz(#&tHk^g=Q;wJ-pwFvtx6nfU_(E)Gk_g)e1_A%SbMR4lmG zCxIbl#X|H8Fj41K|60;<7iAB#;W&oZ56WzQ^XZ!nM&9V(Gha3mS$sR67uKBO+f%rOkzYWxyVx& z*j3R9$1GJ4O13XWaTgm&AohsHswI(i283>ivj)%yI{_wtHB7JJkX0j?ys%4;Nla>|{}snYKtVd5{pk8i7IKH1fPY0SJOCs#83T=PT3ly*S=IF| z0!@v?0LvDiUmlQ{oe1jnZ0x@>`zB3@H!ts}W+sb;k0zUl%In{tIe0vl4%#c%DGcG5 z30hzfXwd>F;I4skuXz1YbK4XSie-Z!q^PJ_Si^m=tqUXQ5LKEgvECJI%xAJm zlUch8>B-F&b~x=Z*?$1EbHI-|a3QkSX}~dKqs;T&#xm5=$=R zL|ztQfD!(xN7ybA&1^MtvZ?09Z9mOeS~b5)_BzSr6ySU&ea9kZTZjqDFs!WMFvt{~ zRO>OBKLNwHUqydtT}R&o_#(R`M)nY`T`4(I0yZxUrdJr8Lmk8RDrocD`m{W%0zZY7 z9FA$~3NCMHy#eQ-Od6Ho9iv5sA~?^S!p=dI&i?MR7ckO z()D@4KGX#&_3oI(oPf0fGAZHv3=Sj9Wh+79t|k4nJ>`B*Ku^&lTqkK?Ce{jvdYp(h z1knw_$u{E?9+VAj=-xc>8D!w3GW2ZxZJRlq1s@Y;1b!#7MHmsZCQJDxDF5E4KSo&V z>i~TR!PjS%wq$-u@*2NAl-;GnABb)OZB3VftqkQq!*2Ykg8z-vo5t@_sX%}gy##6X z5g(J0zu4u^%0iNFPyD%23oj1zNAWDXqhrf}V~OW#ES^+}JgrCawB4*nUY_WKq)v%4 zXGg$y%GMuntzO&`2TadDw;;=N|9t`ZcX`>v59pbm1H5R|#;o3fu$t$hWQs7@eDTI* z!(k;UOqAI(W6rY%tH9I!U7IebZi9l6xM9HjCPdeh(rv55!;9+AE{ch+Na_3iNR|eH zWma%dlo1O#Yn?@d*qG_p?FVJe$IU0p7hCT$KVY=n9l}EpYv2dpcP}q5Z5K3~ zbelQ`f5u+99aKHZMJm9W)unGX`4M2hRJnh=CXUb)O>Q`2ugi*{ z2Sw<94XkU-$LoN?i%WAQcj{=QrmHgrRnYf{0g+9@D*o2W+)*^TvEYvJ zts?|-GfF$_r}sbuAl$|>m3~;O5kLvffF%4XBbaQ69PIVriq8<#UldY0cL1avuWK~>j{ zSCP|)J)E-};M5NOXCnw8-90EgIPMg`Yj(-71-4AXKv1^O4THf{_ZA5 z6`RJ2D)@ySMepjxk~@dz1H0$0pT>0CvqDJQ>Y=s|_e+(RuiiW9)*|>r%Gw)ONVW)$ zyC`Y*IhJw;T3Sl#MN3JZ|8^PBuE4dW1UXy-Bk^1JA6k*GcJi7 zT1&M3B?lzI#m>S6?K^OG{|9s5zyQ;%Gb>_Na4M;F|E%UuAV#qOm!HeV2N!5~@_Z*W zT!|5V4>1kRg5wnZDe{TuFtPnrA0PgCRhZz-tO4#dc`b+GXb^SR*A`I zyeY^S4aCdoFw0}$usQhVoq38|EBvkDwfB3;&}G+|w*JzhM#*Noa8A}a>RKvL>}zQ$4VQZqA;LV$5nFn#=F;M!%L^$$uos+*v$ks~e){>A!xJ*Uy5QEj zivyU8L^}+zlQPw)RMIu7V~4s%LpuKPXMY4ibcuq0dV|QQOv5UB2#{kbGzqgFj8U4&UfVNi#a z`#+<%7&ToVGZY}fRYnxg-hD*sG9!^+)~(+I?s{1-!b*^OtiAB4iW?Cc*SnTg=M+Y zLPTV840Rz$>e951&ZZQAh+;o}DQAZ{E1`kciKdzT0-Hvm_j7VJ72@yvVC|%a!<66L z!ct|Y@ss-+Zc}VgOpT-U5adigVq`C!&m27h;@>qnt){G#AGwETHL9?ShWDrLL~IXI zQ>AB|k*3O!4skTLDqa|-R-l8=dr45NM$?~}6tqSPK#-EphG|k4!w|GDX{^-0tRm4m z7ZLRIIr@GPZ7G0dZ*C5CSFWFwzr7X929?4zw8R>%*ifuN)AK-NE-mFU8=jv}dFMNn z+IZCsuqqA|syx-He|N8q>m7`C(g>y%SVXySMDxKaVZP_7D5EL?Ur&|wX#uH|BS+N`Q@GDq8brhos!iQHxaQeyk}ij>!pvCU~r=ma;@?l-W5Zh%Z=` zF0kn`_%Wvbf8}`Q=MlAPigd=GS@v1u+mldBZ?cRV5!D zOsAC6T&R)Au~F4x+`6nyl%fA+K8KxUdEf2mT3*y~MG{0PltmM ziQ|q;?1hBwG}lK7zP@L`XMlbBct3vf_>?Ir-~%k+J-&RYPhZv8Nb$S!@0u~MKQ{F5 z{7qjpRb2Sh$x1s3UipXCrZy|0j_d2i(~%RL6>ok?U!SAz&FGzCNepsB3T>LuMnwqLnpf5G7eF-vTm=h1*7IkH6sNIpMNZgU<&OzQ#Y6J6JKph zj#jV(TMS6p9`R9u9B=f5nH^rT^ebo*_jQxRNqAr7%3I@o-$ES}_}DVD@a2o01NCo5 z3V%M$)bayP%I<8+a9xWUb93xn7pr1u6h$QY$(A}=V%`PP?I*h6kk?{%z1!RQe9RH_ zPyqA*N-Le7zMr#>2moeIW@ZjlH7EA3H8&6ccH%DhQ9-Oj(*zEUh-y5fcUTTKKd(sq zB}Lb@0BHS|C}aXkFJ8+4J56RlUYqqA z+py5c$R?kvaB4BywX&ElTrSB6-QV=LBC@e{`HAiVh;x0lP!m6kAxtV`a>lk^OTlA? z=R?b{ zN?&c&Q_aB{LX|R9P=E9&ZW!m2gNnt>he z9~e?XJ+HfPu(~0fzGS62?VpTXxAYT-Vgy;QctT)-~$oafae-;Me<`uK?rj#bSG7qb2tAOl56!@w@UP>`)M=8-PNUh7x2B{OT>K<-cleBgPq)Fj0Y4HJx1kSj{T;Cm`VASBwbWId1upKkZFUuY^nM4r zV&Ih=9UR0`&+qQ;`uh3+N=wUDBfl*gIM-9rAo-Pd`sMx97#lz29DqAa%uT3R>F_@%Vksv zv%@0jz*|*QSNDd0rT8CA&4Fi|#M!stLcCAMQ@ad7*7$z#vflA-xwrnsmy3t`7tL;a zg#NOjxal{43e?hGh2JkzP-9DT?>Ys4^A$I$=KzRfp8!%{BlX>1z@h-33zt?B7{cJ) zyEc3}U9WF{JaY28U$|cJgO6y|)U|yehg`)$b67u06{PM69zWW2Q%eHo_IsN@^V*43p>I?XbuM197_FF6KVqs%gcQk5tpyOy+CmW zZct^67r+s%FE`*WCnI1L77>wm0bGirSKq1CeWUMkFx?(tV>&wanfj!CMHLnn2H86} zAc%h44Ab{IEyZGx+U>QVwK5Z>E-Nj)?eABsa~*POIqfSh&uF}y)>lsx)tntWC~yDp zLH9TC<7par*#pB9OaMdSFhX!%aHvlgb;$us!y8?9KmfSXvQ-K3`M$$DU(WH6ULa&} zqOY|)zM1o#c=LcY;(t7S1yoe;7wx6HQ$kumkZz<=KtV#fmG16tP*OpR=e5{d@>`nKR80<|)TXsGVU|uHZ>a+Vz#}@8rfP2{c z^0UF+!0_W8qFLkbpF6rd=J}#jV!n6TVNc23X|{ zKmyYyDUckhbnQ>+X~W2^NgomKpwRHW#a2JS!D0*89E#R&e%@nfGf1izlk=PGbR*U7 z-L}`|7e{%U3i6*4!z34_i5Xc<1y5sSVyDFy3MkS|m6esv&CTWI z%DAFwSEGwt)4{Qps&JTH*oJfyvdwU_H?5b4_4j&iO)M1~zxoyDeKz+20rh_2G~d8$ zzxr#wt;c@#6f36xd2=c#33QJC@!QT#Prn2Kr{;1g0E|a2y@ve`tEcqe{~a7uFcan* z*)QHdZ@&>?JQVdkRfcjl?s~3C^xfgwHhP{x`Mh=qc#zD+)8@+sFGasYYiF0uZ_T~2 zrryz5sxJR_hK8b*F_95iNcEpch6c4SpS#qrx4qz}5=LCQ%XR`Rw)k81&C44*{VfFs zi_0d6vbTIJOOJr#6Rn1C28dCqi+3AfG~ltB?)I=1^RN{`z^D(X#Sr7WH21T=GOafg zrM_34R4u@!=E?G98nGz!Gkn1h9@i8f)L zch~FZZDX^aprP+TrK_Xk)WGczXr;S=2P^D*S7$)LrILh=;bdSU>)%Ly#2a3Yjx?Fx zFBdtrK0%82 z#EC);97-WVEM&gu32iC_Pa7Xff9+k{L;AAIBr*v^>S(n+?O-XC3ryN($MruwvjOSL z7a_H!#ickPCb+HkTnr5j-7GYtTvFBP6I7cLr4UlCSL>Vn&!jcb{}FoAp^X157*xz5 z#(N7E`ozCMarPj8Y^g+(-FcF9-z5&zEuBJ+Y)2`>BzVlu?$4%wLM*yWHdr(c6S8W$i7hK zOi*j>)$c~Vc2#gE4}8RB{8N3FLdh2fgJsd^EJF_<{R?v|3-;me)1S5`ry#C zDPlXZcvVg%#nYC7?sgBx2bqt3nRk8jmkXyS{p^e0r-Km4ihqR<>Q+H)d)RG#*lj%U z=mmy)dUraEU@v(Jg7aPfW~Sf6;=@0`TR@U~B=KD)nbR@28BL6)6yB)4J8)}ltgrVN z7P*AnAFem;=IR{Iw*EE(3~sjCYVrQS4UR&@b9_GR_VQ2+F!GL9drNiePr$FI67f81 zN1;MI>LO5l`FM9~ivta1h};I?c(>_f^z)CxNI-j)!wu_zC43lw^3?pQn6W4Qxj(GX z*_kL5yU7*v+!<%imxjI2(Q;=`5{RY((Yfv7(jbs}V{$JFTqg zl(uF|k!$VEa|RW5R&ysF`YeqHAk=2QbT}F9W`PzQR^}7g^n`M1)9T$fPNJ+p>@RJ; z+54L-gEGZ`DdTniy2f15 z0T#618A&K+v1{^Z@A%1cjk_wKucJebi5#NB#(D|vRSuJo`_Yn3?fk_$yC2Ngz)bfN zR%!_!Hl4!AnX7pcZ>Ipep7OzCU7@%^-i!l8(d>x)v(-K9Um2i zMRhmpM&Eou@k*IVgapytK%bt3psfD#2SS*uukCJe7|8cM*ZjkeQ+B<;;{L_m zw{`!EK6rVxB&@gx=N~`@Y1D@9df|8<1yT7PwTIQXuE2<_wrfjv_rn+;x`v>|3E=Q@F3i$=J5uU%;-^QhN{yo34QG-POj%Gk^XC_fDTn z87iMMn1%(qgYoe4-X{K+dZUF8prhf38L`_rkVk=AHr<`{i=A?dA;7{T)#Ft!j1P56 z;&)5}6a3__KBl*xx`B%M>U!Ak0hr&R&!LytRXdLF!)YeUQ64C^K((ha#}ruL*~;y2 z)Eg}V5*&N$U4_?^HxpwfPEKPHVBzlmsUHrNsQ1ReliK#1n+9@I&BbY4BWYtRtKF0J zeh4@s2L(0|M!h7(1XbwDG6&|!Uwjz$j4MovnS(kx3;IedWQ1^RdnYgENdaF>a^cN@s@;ZM4g&pQG3bll%xBt^B!B;s5>ebu51% z?w1vck#&4kBL5Kjw=K*2d1myAU%j$)Y36JM<>5RfHD!j9GW7Q|GHU3GW}9;dn=unR z59{jd>&wf_o11;s|0FEiZ_zrMi++gfMUe#CPdTyDgTZ?PHM994DDU>L_CP#1oLm6U zMf_P9m)@>{v)>-go7T)vgRk5EkqYwE8iOHTgw1)p_v7*D=5VU}Fi2zk7l%k?Zifr^ zx0g7fsRv9TlC}bSzCPWw6Lg(p9)e1A>sLtTPUfu(Ou@hdT1Hf`39_}a5iO-+g2 zZ!10y9o`Lr)RG=YY>~A02DCKZQ+jTKeJ6l|(+a|?f%|eu?^CZmFlqL?n>LE^xv0#% z2W8duZ@QRZDv$L94OlqYn=Y?i@Z1HxX9IY%?=oI`taL>He~|(joy*6a(uY5G*D${W z{sZ#iCP-->m-B9!FFi*4;!M(5cX{40QVX4X7#Za%Z5;0H1;76w{V9TZ_kbWkKq0OAG+!j0eDt7%9gy{eB@56bi*hxE%=*6^A z?Y!$h7QiS1k|D~rLH@|R1lfAx z4a=s029zP{bF=j~*KN)r>~;c{4H+}sJJ9Mx#Xn8$f+ofR5T(4&3k`hs%6sQhF2QSn z0`2x@s`Vg#s~30yz&kJDotMLLK9%-Z|4Cp0amBv2)(RnhV)>77t3QT1x8^_GxMf^rP~ZgtJhb`t z0v3UsoaV9e>b^-W8>?eIXP^JSoq5-|NAwrWuI!t%p<||C-;HJoS#FzxGV7-~UQ8~N z0Rlk!j@{p`HQFfK9&#W-<%J>oxtYHr#EyvGq8Btl8yg$;0!_a6Hz3*-RSOFX_mGkx zd(MYM$bV5_7#lW&9mqMBV}cqDF%q-*lUoVfVX-$mo>TaD%0%lf*86V!(Fx0uN^~uO zbKl*68@2*EYf4|Qv5YB@JsQs1HiYf!Z=>HPvUPKmCsm7hg&|7?O&da8J+rc*<^#8USJErDfB_|?^mT}?Q1*Rn8HkAEqX4UI!=dzL-oJNqeQb?P2 zVR)`NuC4Wep&>Flxs~^NsK+f?iT<>xz0YP_MmmBUmCs_295meGy!|UbV|Kc+#MG+S zx*>BJ7}Db{$s(ti7;kJ~oT&l-y4JWYv{Y1s_*;Lu1T475buYmDel{xIX>*~e+-LQ79NqKj zh_GLsCGK_K%j?FYKL05*HU3Xlx@W-tggD{_cXIld>JUgg{U6t%Pbe9SLO`e{gbz=m zB>uHMm9P6pc(^iWO3j3t3wGr%Ch>T(< zy}>@x^?!zLjYDqv zy#NjYDv9FK(!;l#Sde{yaHp`}cZ6BN#{Y;I^`Jz^5FtO<0>c*&-m@3Y1e#Gr6YPd8DhLo&aw072?n(J4gn&(JsR9y>~UFAfXa3QU7(HKQV}$$R2&If z!ScF3v0~R9Vl5HKDQ&tgJ_|uQI^R`5T6JJeY1zRF)zrkrpvnaS1D`wf;^_qs0f6_}_*c-cLE80^Ogf+?1la3D@xh zwTYL)lQtRAFU4*!V6kJlGi(t=f52mSxG_x!L;c4|ZITAGX{)jpzu~_G zGKY7w{lgj8J%yVkeip!=)p208$Eb(X&e1ZJ``W|37j+qgxz~Q5N_Bg+colHjsxe;Y zkMH+L^?L?^>{?}&^eZ`2rExud|c3VA9u6+9*<={oV8x_KlU6xf_D6j`2i+D z=uA!*d%PZoRdxUUZ8&;1Xh9!CDGXe?JWj0L7IuMPpasCg%-9H?`EyL4C3BlS_1wy) z=ZUi9Ar*J=^78UAGBR>d25RWsW~g z5HsOoEFruU3@uRI8TcR;e~C=PfGEqtE|!D<$yG=Y9dBzEg`+<=9sl(l9H|CP#@*+Q zN^*4@R2~v11ZFAKab=GzC8m!J_PRaAL{=sQ(^Dj)Df@4=3n6MW!NHMKfkx%-FqhP8 zaCSUZhuG~}U5{5@$urlL)Di^`A{a$}{ph2Fov1n(vO3-B=Xbla0-y@t#oL7`R;_nE zpeYo)`5V(fJq}t(W;4p7P7U0UU)%?&4P|fF8+h-+3$!tezEB_(lQXF}va&&8NhKe*A*32c-cB^?P#P$m@oJ9B?d z?w(rtcwjqJt#f#rnb1uI_*Xo{o5;`pbX2}`s$%AYICzMMA|mM(J@N5s*iw?6Sgc&1 zkzD9Emig>=?@vL}>SY;1DR0k{b(W)Z`UEwhp&>1{-z)U_?+{5JTf*xS3s!P=5jb9t zh7+vn5XP00MvFftH8hL zJSH(D%3CDc*J5jh*7belT{Lks`_ zF2dWNfE&iB2%AWS;ZTMC9=fOrm%S0jo}3)lR$y_n+6Sa~X`cIexS!(m77Pu351)y& zhxlFh0IkFl6P0JSp+;o9Uy3(~7i{YVV+JPxq=6JNPuc^J&@V4zY;m;w{|1NH8OYBe z{`tlG-3TDUiA0A6>@36#=Yr>=bmyY^YWV>qJ(fQfzRZlB$F%*i;Ws~OJqtVOF~gJd z9$7Yw39p-cB4vMuIT>f8xkBtTWx6A%k{>CcB{i&VfYPMuD?HCLoWCbFG|hm3E_MX)M8G~_DvAk{ zQq$AXk-|;tpV+fylzT71E9`moNR5`iXf};`BsHr{2y%m&0EITCev7w<)h*CXrlykj zBrV&cwux{#P<#$gLUVe`hP_X9=U6CLJ^CQ=0}W>FLmeukJ-4j1BBXEWjhBymTL1K9 z$8Y2%Ov!`Ygk#2eJF+Y@fmRQN#^<4@!WusEyfsQ~7j+W+>UP;<+}mVWo?npOlb$$M zDi#v8I9K-T`HeR3%G-xfgjPQ42gkm%zZg492;i)c*}oY)_JyVj&|)e%8_TzC_k@GnRI^klPRv$t3%sYC;sZB=5Kq~Fs8ga;JiOwwZwm{Nz>OX>BJWTocdQkN~n5t`Kh9r%B5-g2Lqncl3>1sFa9|z9je> zR-aW|6z|v-H_lTFsJqr3ljG>OP+=ms6e=(DX!P3L&C_5#yAS-9F3JvXOrlSZ=Ks{n z(NP^pFOvv14emx-YFjI+qujmd;5oX^Ur=G2`NQQ%G*x0#e>q3hBtZ~2A#WShAptW< z$|~2Tr%ULsCKC`orPNxrs_(vFY}aF>A~0S1hW+C2sY)&tY>y1fM613n52vWvtK_I` zbe8qs~HX?`*pH)w8|woNi9QgzZ8;+2(O z8%&Zo-!CLg6zFS_9kk=4xoip)`dA*|%o({uq_JdN?e_{=I+%&KTJKd?5pRCWyoh76 zj1&FM@Z+l?Q(zU{b|1=+Cts1Bzbv4SV2PQZ4mTsZ1tQ~dV;D^GlaR4VPV*{o zk-+_YV*z$DKOu@D`aCYN_fcG|>d;ouef@83CPJC$OEkk$PAK#*A7tek*j$esL7!Pd z>p+14%_XUHwDHwBk!eEH;Q`}j`)O0V!sv#J7f_p2?Y!TZ{o<@4B;NJQTAbtEuY!_2 zOno-SUzE95B;s3KBwxFC{fWUzr@B%$^v7k&cxGNtPe(8AYe!VvcRLzCxGgHk?(E3Z zN4VP-^8(?o1X%=~05<}u5v@3Eb_GTYwcmsuP+C?AOW&ZeiSj3 z7{u_9{i^F; z!Wx4FF+|&RK=oT8o%mb-RKqod4Y&8+e!WwfarqfZ^zQb@S*uaf@(=zd*TlcDCoE3ZZxq2B+P-T72$ z=gjz$rt;J{Pe>svO$2*)Ny3p*pPTAL@nWxrF>$+>U@Q?x$c0Us-Wsl zMBjg)V>c}!B#%PM4sWVrIDOJTjDZ$iMT?ZbhV=O5Agy_<9Gbr@cr(U9qC#{p`0r=D zrRj~?mxaHR1@sF3)=aaQUltu~VlioLY)di)9CjZ)ums|;9}zc`P)97h&G5S5Rf7#Q- zqTZ`cMB2kEOR4MH=-wacChwM;S8pUCU4+FgM^6^a2~QpU!Vnn&nx4}o!7y4nk@<#X z&KWYna(4PH`_cm}@ycKaIEJW&YO$f9hT`?0W;7mPchgMWA$l-8$g_73;MLi8nR_dwm6!2OoTbK7F(Of>Kl@Tsf1a=VJ^l2`jM{0 zA1O3i8ij%#fN$b{T_)T%&3B?9&0A#Uu>^u7KZl;c6>Y{(d7lN5$||OHRw~MVzDO01 zGe|0(59^U5`0T`BC5vn{I=1)6w;6r}t{L_JUB~XCAi42PX`hRbq;P6fjJC{#*m;5h zr@|y6egh`)Vfe|o#!UbzRSGJxtr#oZirz^iUL~Ht&-=qwu0w##U5shH=$-KGY80;m zKVF16BCH!e9G8YNvDC4q4#(}ATp321&De_u+l0^WFi2MUBzL~3!y#I7bqj7zqLu2D z={xn`DJ@{54lyrX{zRH^soH3^NTKkME~VG%@V@W6L@DO)lWz}PJWhp!d5Au z0LLq$yM3#L%GA51xk6Rj{(Y}^tSNn_xoR@nnVS#SN#U*{Rog?oX-Z`W(Mc}brQ;7&tXSUErkB(XYe@%?+C{}Zkg$A zBl=#8BTZzLuR{hhcOU?Ysu>EPmyWS^G{Hy3A{qGqj zg3;%F|sH%Hc=L;Nw;iFG=B%PRZ7TzW2lATV;lOmcQbjZ7_Mx9yQR5p{S`iui}M{43i}k7$^*Yk3nRRl8HvKebqb z?BatO*?UX(()&Z$4@yHhd%EZBeJL)v?y?FR3`5@eyIOfiMhB`YplW@zyl0&~bZkRj z>|YBcM?v@&HDB^Dl=Q3c{Pl!C-@hL& zL9a?9z8~^~8gZZGk5BU!*Pk-OHVXo_AnMf;x$l$Q@lD5JaNa@25!#z|BO*FH9(c?y zRg>K0Lnj$HPwcYjG+_zpf}IRM3I7WgmQDxN*I!93vJQl^H=gQORS+NY$9gYxbd-Q) zM}u$BMhfanb%>>QEu(xnx67=kk<`&fCIX7ViEZ4+q_0U9wF$-)z8BOGruIj@E(DyU zcN734+sHOYA29*SUitqqTQ=X4vA*R_gG*^eqe+i@pPW`o2lrqAhZoS$dTJpHJObyf zmW*}){OhcePHH*+wn^bf#x_z?I$Av3C>Ph|&(3dfd9Zi;IWTFp7K?OgKLI zDksSjmAGxJA5{o6W%s@MXKyE{<7^({n)!kv1h-*lp@*^r|(Jx$rWlda(Ms}sM-&Pciy)>&3=iFF_@_*|E9fZ9Ao#LG*Epx^9#ex z{u*9h!+x}-=v{XMg4FBZSaQ+z_f?8{g)x(A_PMaV6L5{5{U=WwN;n3R5-s*lpJ@2o zRw}qByeW=8n*VgIvpU(akF>S)xXe`D+Ib&XJ;{%@bHR6Dq+DCinucX}a+-|*j0wr4 z|F5hUWOQ_LPuiAY+=l#rTiC?+d4b9a^)Lf=u4!q9Is(Uz$_p~}8{3Vl_#%-hz2FG5+_&+FZS zo;vvAR&8(5ahXM4`w(MY_(bGhzx(Zl{G5M8+Mjq=b(856ErO9eJ%?=bFqD<^E}l=8 z0`)n^c4s^pNrUY*1T;yWZ`_>bB%_EduEO6%O9Oe~+1G`re0-VZOYO8wySdY!R;k4u z>GfR(QMjY*-tJL6tVZ2)DSY6FkKc7a3uI}f8cFkeNaYeXOp*Fu1!iCX9n-jyocu^i zkN>+Kt?yqQoO`tBfIRi}ms6A4pZr#IS{mzOzt37YhYNONQ9tA6dT?H5n!|nZ670Ue zU3IQ=u|MSfF3N^NqlK+oSLu<7MDx9Le8ZZl>D#DenaM}{P-6_-)FNew&p}_^Cj*xY z``y*^@jKcaOT9WQJUmUh9&s#sd}(-P%@7AF4OyW^nqvvN$zvUZ#xQuEZO(DnZrj*j z@39fJG_i9Zhp*;P9eC#Q`mv0_dPY;l`f<52oM#v=*x&$@e8Qep5+K z2*8f#mi(>Scha3Onf0u7|Ljt& zr2$pyW$qiWYCt}{057WxW2M8E+Tzi?rnz4(md%_Dx1k9fhYpu=26jh-7ndc8=M_%8 zFZwAOv*@1?J@#xk@Za&ia^${n{y8DJF2 z27nb_f+=5lIbWd@Y$M-|LV7^eiQR?c-YQt#ka<7+9Qn*$zU+47>g6cPyjwRoJ+k44 zg5Z4}p z-{c7|$pdyi?4uc>bMmVai6VTM8$D=PqkJ7=0wj3G+To@OibhNSvdCSTXm?#@q$kU;+T@pt z2EPiIi0xcqPnHyRwS@iNvVE*{6rbwCFV4O{=rk7YGdp$rVZhhUGrmDOV#46bCsGMx z6Nx&mt%P70`RsrJ8ed*60bMXFFVVVFz5f}fvDNp@v`O70e@Vc)g#Ri+ur9-FQ?4ma zt&UG^sdt4X_s<%+Or1q%E=6>q(odUN{Hw{*p9J#Zm!|{5i`PS7Cq)v>xVa{~ z_i7A|2_swTrV{-uxW+TCG@JNXDV$li)qY9G*kuCnJSXZVU?O^7LA`4`WxOi>-IhC| zSTGH|R1x9eJ2T>h;PJoRoy$5axP6G`%&+~}e4fiG3oLF&f(Q{geg9%%!~jMWgrfkI zNI>O=(ZwHo7O%)*M3xh9Z(yTiVL*`rgXJF#;)Ozol`ji#Gd+(74t@Mk+9u4|{b?rS zTnp%;Dq~RnzZWWiQs1$2BiT^Yc;%|JnUOqD<(QC$(-FpX9%|W3@eAjYyw?Or zG602TFz;JUl*DIS`31>szXnr+T|x_}Uyx4t{XSHm&!|4tdKb*fF;O zvdHoLH9bb}vKW=OETM|E^{)c2Ph-74#6WSF&e4zCr%^H|0DAQG{>0YfC_BJ3Y?Jv1 zMyne@7ytyjvkRG2m4ig0SdWO$ul0W5$1wSkKmJx-v^BXfllI?9c-rGMBug}t>#_p5y-V#v1r zZBIzR*JHO#ijNgIu2^78v#eV%CqMea=F*FAV!^5-^IzlmOnGb`+a6y@cn+lxZ(TgX zH0q}Qh2?wF_n(8ozRK9S`3SsXsIN;K0<1#3TvT+JT+yFK=3#Wjk| zyLTt)1h?Lzz2&Q2Q%rHi({bIh<%E6c4Bf=*M9g0anf2BC^}f742-B z*tx$~o)_U2AsK*34UvC_d9`I^9PFgDsA`CuHw|MLMv%d=Mwmih;KUuD&FZ67k}RQ` zqku_jbWN}s zXiPH{-dU<$-n>RPXU_Ba{5+4=v?fW=LXBl(X=zDmDqK*Mu3vQXJ4ID1d`{xG?EqCi zxNYzQT%^u2_(qLS0_LdVxGz7ntp5zMxeT<-KU_sM51YstExAh>P8=FygNJQ+xpu!k zSp$gIz{&LVG~hD9on5$=?n_WosQZ6xZ!&FmN^`ci|M~QfhPX7ISX>7WZF*k3$KEOW z?t2^fhS3$460k*zN>fG2+gn8@{5g9thug30>?rtI`;jIjD4$;rupZk$O$PL6P9dB<;9^@`$W zQt68yG>#dRujC+1G;yTC08Cf<(bp=bkpdmM0)@ZiwTQ4&8CDRXb}fZ8Z0jc7le6>C z_#>apSRSefS#bm<?m|$a{`UNfLYr>vM zD=U|)x2WROj?~Cm%NTF25L?AvZ#zQ%Ez-W>lg%JhL8S>H1o~(Nmc=S(8J5%gW?N84*($yBJgM;I-Qz)QGXQYOMGEa*rXR!G-4x z+jfK3Q`&QT;^4erg%5r`c6DfAhuNC;PGk0`piUvW98^c6DO7*lfLkZgoF|uQ9+zb9 z-js0rWp6mz{I_oqKAb4jm^}ObWTdG})}WCu_k4Eo>cxv+Aemgwm}RD?rotqrc6KNu zv$K}cBY>HBxWCVQ)lh{RI32_yDVHoB%gLiLJ81p!<)BOmVg*|o)D|x;5c9pLB1i!d zF184co)B^m(Ck$oD3;D1pohNyic9w4frIjjN4+8VPvLurN`zPHX8pf1cI>S>oaY;= zTFc6Kk}YXzc%;yo-O>DM(aMMeld~(QUL~Ovd^-Gea#%j=;>2R$E3v2gcpirDt?Vk@ z^$d*rQq|zw^@%u?UFr0fw8~C1@bDtpbs`8qgiu&0q^5mM(8q=JzT-;Kri55O5ij3N zNrsP;R?^vxN}yEvGWkqARQ?tLpZ?{Sj=Lagj`GlFW!MXp@6kA7P0gbiu<~LjN61=2 zRYD3r-ouAQN%>?xX1s&U%^+DzWNKNCY4gCU5zHKar)S00rhJkXUC2fd`jc^iFWv3! zA1VVoB)n)EH%ZUaxQF+vhJi^3mVM5ldxeS@?7u{v$D_>=t4YjTE;$;ah^!}iglwZ268lZ%I32(Mi-#E}VP1TKdo#u0j zc^QAoA05u&)Az8vgYQGVL-!ig+D`)ws)6KRcROnS;$6}xCxs=VP; zl|!Cw|Iod)ZE>)(BQ)}NWQv5e=+zB14PvFCDLQ3NM7Wd7J)fg#3REUOm?7fLPUO8CNaNUnWMH_#wKgR??BuTr6vr|D?G4#q(uqx<5vvyCxfQ ze-RAjcxX?~0^q3yu?%%g5&eycDCe27@(3bIu*)yzy$6iBlI25FT?t;GiQ_XXAj)CV zj#@h+%laeb!%W@fAqe7INk4?nXBny_w^6Wibxd!h4Fyg3 z65G77;{RCTEl}a(lsh|B`^H#fJd*~Q2csPy9uc1!87YIJ$1_Wu(vq=Z9z-uIe_c3j zW%87}sKS8#f3<2cZlSyvFg>?XG>FMRaTxJ zv>!xA`#ZZLo@vuGTo1x?V`3$|GqONi6y$6OaB;GqHZH59e_mC=G%4{rxBAD*T@B?T zS$;zCV7v;0@6dCkVS;{{-P`;C0B8mx`;J$H_y`d0lQ&u+EL)2q5@wcpbJ1%|HIt$879xrEGzyf!g@bt@= z$e>PiTnm!K)DBhD>e0yc!MMOS9x!<>`68X3rb)DU`MPX4)61mJz@yD3c zr*R@yecp0rLV2dS5REh>W^_mcC&unj;yX0g#SV?;M#Syp<81dtf*E`O9yjvRIKKN$@cba zvO0H%Ev&1yg#%maUBtlw)?g0(wQK(R-Bv*X0c$Nn)6C8i^`g!tGI^9RuJXOFDtK5? zX^>Tpe{d+%%59o~b+O2QwGJa8x%(7z1^O1$O~HdcjK)}HX>NYxjny``Q99G-I#`pQ z#UiDmtkVAeDWr%GWs5*r)}lY7Rq>U6_$piTIz{_g<^{h?{#os6KlovT9EnLF6Z2!) z=$A3@hbu5xtN#O&LzP{U&o?;KAA=`d0s^X$_L%W{@9p2bMx|jAwlByq^Neu)EX9pQ zyD}oJEX7Trs#pRbxU?kX&MCb5T?%#+Au z(K$r~BHJhppR{vLx_xo`)=9Ui*aW)kt9yco&dz~j zi$^h8N*W95k9I(vwYg){aQ$9I{TJ4*H24*b`H+=Ts&-BD%>R(>>c$eDuxD zUK5A#GapB0jy^A3padCxWekG_Uo^#l{D`&I3chkg_zvl5rKmj!=nWqUa7QQ_KB~pv z_kH->xsm_LrtP8!aYNy#PC%eYWG|n2WzU^_iTI;>v&qf`dV%p@elIoD6QyFa2ke6I`&>ii}t@C8Xnz06gt z8%vCWViK;VpvQM>&phboAr?!23N9|~bNaH4G8?CyFIJUduyWlcBqC534m8sVU&()T zr(J=qCP`t9hBzy7Qn}mNSM~{;g*4E~G|wqb>Pc7Zq$l33Cv$dp$;eW)?u(%O<5a`5`F($*bG+* z)9|^-6hzu?K+Clm1~=%*I^*mKclw6seY_&gY@DMUaWt}fQ?|qUzgoM+pHjlW4JCqK zd?-t^A+7EsPhcVf!{e zo|OV(`Qg^qR@r5GMuzYCghpdS10YjZl_Zo<#gndcaic9i#YG7l4Huycg(nUS#zl+E zvbM9jwk6OoBrJOghb8{T0@XZj$e8PiSZ;!fat>~#N!8nT3LRLnZ$A=WEf<>8e6!KF zMykrr*6`&(35#m`XBT69;bN7}LACEzGC5l(nc7Em%RHn;t|k<;3hNWiP~A6UZLxX( z3hp_T_tnpis|pE>vz}y<=1^caIQyltmYNwAe_+Wv?JvDwXr#-coFpprpsyP8n6|_~ z3Xd#$q1bZ97)ds0nc3c=He^YTJ;W0DLXTT(l)5q&g2To91!Ilv&()s-)rpjp6i(}* z4_K}J5|WZS1Wy7gFnEZ0Uz7Tml$1O?JjBJ}oszTxhG_#J8iEIqS@PDj0|*8g1!ZuN z)T!BJ=~xBcLgG^v0|Qc(Px8PRO*H_P-zGH2mvn9}LBT;eBmBuo<%sm{Utd$=2CuQ} zM3+#<)18AG6<1!pJUf3!f_?`V;njs zo-^8)ybBozSWmR>U#Wa;{3-~STVSapsa;Tk-DFiUoGFF5R>bHtZ=7w{%93H3`YG?T zE%ERocp)CD)j%8yEyYShqc^5F6jkR}8-+QAR@}R=xX^9sc{)%%C}D?wc76^AW61)- zURY=-_Pl*3=;XoDfegQgYoJ&FTx2XPEV!iPWDj7Du%#wI0S~&vi}Um3RtV^FU>tv- z-$N6Zk&!VlSOmLRZR?gpb7f)xcQ+_EHy5&P+^@m9PaqEs=l%Rw-Zp-BNr^d0>rKQ+ z2p#!H13tJxBKdP9YwLlrnIwTtT%F&~!v_h5)v=8BoZ=6LiN5ZfO*#o63X+vrKPebhQ~w4 z=M*kl9lYJ>4t8uPVH0#eJlUc&4MdibohC*km8wMN@QPGKhLWY%Df8SNpvI|Ge`UxJ+<+z%YRj%(NG#TfF#ZM@3E!_H~T5wY33Z zn7F1(`7W%k zk!-d|!O=YO`z&hO#otZ3!^0mi=)Q*y8030M=)+6eQE)EoXZ-A)%SQpXO<_~D)Ge> zK^KdL&B`LE@Z4QwRXECFE?U>z{+JBh@v8BNOYiahpTSd?BU1OBLbi+l;Fr22!!cw*nc}o(p6}@KlLzo|=fjS%J@Sw_Q<+~>@SKXYS6Z{|23U*9LElaUyVBT+ zXUx5R59Q$EjZ73bfDbFBKT-B(pcTSnG6T4Tw}W3S<_vcx!=p?QA`P zou)Z>$AYiku;Oi~ah+6X|Cf++&dMe~%o|n*1zhxc@9gbaTUb0HBZH~?To2~1=W}J; zfNU0El0ZKTx3#}dNlGeieu$SD(8s=huKf0S116YzqM!ig*9Uij{k7o;X<(3$p(%H$EIt0eS~uO6mo}4c znFY^qV@76X&+g|6)HWpahl=c{Kn2BrZXr6f1~w;?OuA1VNETTfeQws*?X@2#tOsMqafq5 z+;Uq05=59FN>S`qUdF69U>E!1{PJ+Fxe%PqW+(G_@z7FY^AB6s?Fi@z0q*;rf6iWN zG5Vn$;WpX+meNhykH2YI2St_^E1GzKNZF7WQN5iIs(dCPokEC#%o7e@dobu1N^fK}TnZjot0p>f?zUKBg%u@@~$d)hb+ZEEJoK2)%%^c)4e0XFX3Bx}rs!_&%*N zK2u=VO5F|ek2Yw@ae+F6Ob<)j18f@IR{J)4;P&j~hQZi=djlY0sSTW5j_Z5!Dxp(9 zoAX>2ZE=M{LtjJYCTq=xq>E;M!IIHM_SdiP(&q4W>k#PU;MzDAXPGVjj7VwhQ0Wy7 z1aj)L1mGcEoBjey@KEwpXb-30N$EZY*1cV;2x8apKwu05*0&kYnYI2;&;PRp{51xY zLTk6U+U6kz8RDRcEu@cqN=u}JD_#ZPeY`xAw{hlXfNh3X;0%( zBDwz$NoN@q)z^jbVHjZOA*H1yC59G|Zlr4n$sq;=DHTDwJ7qw+rCXE+$)RB=MNmos zMH&HpFaOsMe2`fSSofZN&e{8Ueh*a(D|<>&zFf17vRbuXIvF7plABTuM=%1Gg3+;M zgNS5XP!h5wlr%!qE-chAqO66@*TyN=Mqm)XIYbOjMeGnr5gW>(P1?-eG@oKf#0LIe zodQx&()#`)KSLA^tSFl?Wp*5N$POEuLIjpp7?%j4%zGj4LfD_Fx?7aOLGO8yU?3UqPIERk~~$63?JDlcN|6237A0GK%NGd-mdG zRpWZVm-7Kphb;nPtQ^pJU)LAh?D@(k8fx8!u`feso(XeS%n;)$nwpRU4R9@e+xIcV z=gM(QPLN<;J)Argjfa{}+1J{G%q{Gz+70L~DSlNPfh`T`vhUx`?>S*LI&V^;0)fW{ zQq68{6t+cyWMXbK#T6CKx_nlU@*iitdX`6<#e`~$Oe&~!2LlRfHjWUNzkgO?W#PfF!>mqD zyw`)cJlTbq_Yc##g_~_DsW(lk^QEcG-i8pLTYd{LwrQ&URIeiV(>ohWAO?0@&>!Vy zW1&#g5Y`66QDv=DF1FtZ3Gqx-;w-}1AesuUx=PRc9S*J#;nWm_E_wl+#@y+eg1jKU z7$w-qSoR$po>Y@ed~IB2B~wgqToGGoNK_aY*15lA9;v~8oPeTK33Em|(YoeA~&jI-AA{apBM@4-6*QV) zjgelo3O_F%e3j_r4>;caC?c}z_vGHoCoU&f0lR11g_@N{i)7D04oecrSDx;9x!Uo@ zM+!ZGDED2^<7lLn(eA+j8s2=sYz^x6akY0g`!RHL;5=z1Kizpla(_z9>cf_8vW?cg z^wE#^@y(xoJB>_Le!1Gvz7_2WU}&;%>l5P9{PFau5Cz0iCjYlP#!HO+E3?~~>CH~B z{7)~s9SxrmO<=f9I23`lHc01QE_&Ia0L{gZJflaT^ir^ht=1n0wG*1;gF|_83WHjn z3_7~H2cNoLy1BirstqdH`>GFmKc@V$5l?2;lB$g0=UICwZnqqa{Ay@pSmSI&!IXd* z?Ma=GH^n7D$iB4-R< z>hB;jF+sfIyET5C$ItmG#3?YL@;N0;j1XkGABOYmf0x>l(euh!M32oW9 zpAfDbk*&uMkG7d2fz-4R_DV9kV6}Mdzf}{L84C|K4JLC|78NOKOkfU8_%d@WwQ|jk zRf1HCzG43BSs3XF*?Lns&Cg^Mm~B;BtuqI37Am zO=|4KhM*A_Wnpm@XKoD*^DQ=;vR`|EEjuZ>{n;}+pzVNUYi?*radA7A_2jKhl$GVv zM=^6bd}0Dl&h+%(muI$HTm5py0m6sdlcBPr4uEnsq-OPA?DN7R03muH@w&sG)WHD` zOu+%qspKSp8DRVk+cg!{vS^eJ-T`hQS{fxN7ErDezci>;lbA|61*e zB(>E90WC*6>y6@9SOP5t!iy|00!dR+qp7@&@u}J^R_U-v{oGEpM05_ST6azZGfu2i za?OP;OXlmSuu5opq~e$p-&Ja0=V)@I5Z1BWaFmwXRANn_5}zV#oX#PP8a9^k=D}jL z;8hCR)fPmGYMfPc)BF5=tdu0PhzbT3b?r3Bx)5o(C;{0?*Yj7e0s}u)L`Zw_Wxl_O zk^p@P+R`#+)YU{jdQDTreiU)WoxrV~!5>0MOivzS`Z)%=+beCRIzB`xKkovtLyLC2 zpQ_b*{mVEAhUnsDm^$9@pLI)^L57;MsX;h+>njUo@ppy{6T5C6FmgNBF)}lYbHS8h zu6<+Y7P-5XO!5I#th$K~X1{yMK+nJL+pDX)eJL^p4IIC+v|LpJlgcss&>G3eR+RhB zN(Cefltpbn9S=3OWb8g3D3e|;!fVkFYqhm{*EIh*?}X6P+G6E%y=Qmbvp{^%*=cLV zotxj^rS(O5=CcMf%J}Pj$qEh0+CLqIU*OWJ00{?3{0X7M!OgGpEhjNJ8ktBWmcHaO zZo~TAr)zLZOlHMAm5@jYx8dIu`%yG2&HgT2(|dBPz(Qfqmgmk`F0UKB zHBY2}@bP>6*}ft-=-s~k9D9)u{_@AHQaLfbhAxUQu!;aH#6Uj`bcY+-L@-XO8Xv|M zmj7wUO#x_Y=vyy+6}KGUZeTl)H z^O{5!u$iZ_MP(R9SfW!aun3qYFMST0k%2)*MgjcYmt%G@Cl`k`Q;QxP@boE#f`fy% z9b2AOS#b_V$Rd_#@rh0@u=hg-30)`z2|TAr-MIOJEcnZA@+eB5hzlwvW!_v#Y^#|YBT3hS`Yy2fcTT1l+x0Q0&ZixhKA`^8~u@OSQb{8 z)UUPAz-E`F6W7>yJEd}-6ze(1Vo{4(z|z|nt+&PviH$`kS^{veEr(3ImL1=+EYWg6fbxHV@2>-iHn_P*>;z4RJ|kJ ztGWlybfQ%LFkG|peeVU|-EpZ2X(@Ns;(XKf1fgtnBrG&oBvgfm2zD5gG0UkK0U=~> zAT)7+DN}NlR`{wlKMIJ&B143MfmOSoxJ%2W85uL((q~N{pI2(WdD1>@_m;(<>fT@g zjiSy3PA~rsa(H-H=%rjWsn?v23Ij>M!s@JGyYImxdw<$IU4{7{K(@A7NGzeO&ovY1 zE~!EagF(6zqajIkrMt+=Bv0Xif2<3k0t0jRuY$YzHuF`?4^*|C!|oZnK8jbFU6iR6 zOSKJwDm7qpBs4<^a5UnhMmtW-YzRUk9nS}W07sP{Uq61Y)^73(6&_-~A}=MZ?~xa& zTdA-ao&d~_FrkU{lj*Pmmy(vi>r(O&;$~uiTN3;d?DO4Y?)7lJw!O0_f5@>>_Nh$L zL<@P|@a}?|Ro-3~R_0YLg$9SvFpxVr|E7hVog5OiEf$gi8!eCO{&^OKUz(OeIeVff z20JrUE1w?(3anD6PBNTD877tCp1wB=)K`<5hXmHbgfGepr&-%rTehwe1g(y^>?Y!$TWA6ItQ{RrOA0G$5rJVD3Ct zVm1{iaSgkbXY5C^A*>MVu7K7LA3Dm)${JI*x3423BhS{bp`oD~5i%lAPiwX32*~#7 z>0IdV-hI49uDCWQCmvac1ZC&p6}y;=J|fNftf-B>c_Ej2r%Q$VqJ3#-XiX;X5ji<| z#m#}PE+MazDB6)XF}OX0lCuTd{mYY`OPy9(nFEw2gS+0kSPlY_!r^e>2Hps4j88P3 zMbQcFObiT&_fiD5Sk&*JyNAI3g{*S~g-`;E(X8GIN1+#h)bteYfCNTNLBRh3|G51Q zPv$v6`p5X!lY9!O1A@Pg8L*!{n||uU49Lzx^nUn-NeGgTRH%rkLN}|V*R=vj` z3v|xGAVVl_@5Ezu1v9)B&Is12<5plISy*Eh3lf2+azaUGL!fI)xyo$2`gC~5$@Oe+ zZ>Y_h|K{M#M%@@IL7ngobOuRG84!&^Z1jWr42b44D8}8lFQ>5A7B5OKOzg4-jwrjq z^c&(53OI?H(ZWAK&UN%~-CcADB? zTAq(NWs51MKWaCC(*pO#ixt$oZK`_;Q>oiLrY4Y=ixr0aTzBq5V)QSeL&ovsJ0U0x z55)Dp?!FT4A%jlmys#e#M#MVx&IKmBnNRQ)62dhTqjbkYNHV*M7}7=koaB)*ZVEeZ zM0R+-#k^1Yardu*bF@V-fx`BEqDnV*_DLV4xOJ3S=l9r;q=Q-=qma~jA5tsK@$Hpi2A$0l1$}<$3c&m z7L}a;HE|SH;~bS`C{b&CRZ+3M7w+xFL!`Wt;~XI^&+dSn$Z}{h(A{&V+P;#9^XD08 z3EsbN^8u>>CMG5>N4Z!9FftkejJ{a4r{8A<+MeAP5NMMud;eiIS*%r3^4o03rQ3C# z4mVZyJ!-Z>-8&}f!fWqZNqqcfzxyf!LwRoJ9RN%0OhrnnqGI?wzd{Unu_=7LcEf+I z+pi0f&{b6Rp66|3Vg&wR68lc0zY-;2; zznaEi+wn>UKTWUp**O?s!Z=o;UV%=I|J-?Y{VF#D`hm&!9#I*V+qY?O+!u-byZYs? zL398@4woh#Wap7?5Y&8^rNJjP`X0~mVI3DzKe_#+2 z73B=FdM`?_%!=k6W^gF$(WU||`?dm1vx0lIzjT&gwYbX*Rk47S7i)fVF8{N9mV)ov zWHS(^7{Xo@iE&}$O?7*69Q4I(h4a8v+m$9MEHXt2$!s98eXj;@Bxe)4Mgap+LqPCV zmy-*97LY{#XEoXZ(E83z0N)=rV)XHB>)NE>h$w^tG0h1f9>vg?WtisBgy&KcDneX@ zmG8A;4<`l_)aK_D{H1xQB9Q?o8bhsnVg6p`cWb7!oy8-BA{!Y$2K*(mII~#AI%XMJ zysP#(^YN;rfiO!Fai{dNy_$~R@L~ijx1k?(_EG1-DFkq1E@9X{f`FTEaYdM}WP9J6E z@DN9&(1s>29Gw8`UqqLcanWXIaDo-1GtfHtkN$SB&p&wj7^cPh*cHUdld2(1Tq_Rx za-PV5$bK_9wz)hDqEvbkcC4UcIF?uk{2iu>t*cWOL()P}Ck3@a4vrFzvlv5pi!Rrw0aJ17x(BFJF2*zsQ3C zHV?pBz5tSwnk1N7X386X`*Z4+vWY?7{XMFt8s1W*qzADua-~8FN5X&GP5db20#yP0 z0TPghE6(y!eQDzC)`GAYgjMW?{56Rfg(kc}Q)jSfR#9bpDu-_Ql#I-hSXvkAibQHC z4r;m9T15CrV~A>c!`NcXHEPA-r7%tnlrEssHh;;W6<|n|Iw~-E|NaX?oL>DhM_xmE z%3exwA;FDE_#*H;Ec`)-ynUEB)4aeOyfDXbS$Qs->!RTP=5N|xiCl1NAt6=3)gUeL z>Nx7pKP}U=OyRM)h8(4smVzfb++4s+#7|9=mrAp$75SKo6;Bgvt_+7m`Z&+mbZV_a zzoeZ@U=ryO8=(@U1Rj&w+!Hl;&M_Lo5W*B}X*y@n1$ZoGI94NOU-o{Z9xD~niNMHJ z%LN=BSAnTvgR;E=1G*_WgF6QmlSP%_H8c)Zkq^(&V>s+-rT8G(&6wL?XBjDX`hOjz<~*n97q3dz4UE<8iVLMgG6D{}yrrkd$+BbI%V}o#}QgpL94S zO7F@NQMBYgEgnw(Kdp>31D&+}Zq{OqN`F-IE-SBY9vpIyW~LCTRIq z7A#ZAmirbfru`9PsP*N%>@_R0;H8YMY-~)8%`{Z2<5EzHLA1BldAN&uD{6fw zJl^E1ZNx;2t8FKS1X`(c&x9bdwyK-EyXy@W2KyW1 zMru1hJd}P&+ZTA?`DO&Ypc2LhM5;@i7aw}ACND1D9dyjBtcXcTJqK*#KurVawL#Sa z4@vOu3@WASb7uEamq+u(<`j~GpCR#6zM^r1tXUk)on(w4wojkf0ho!{s7*^xQh@A% z4}t+udxDp%w{tnVIndh7*00a20UMM+Uz+S^7A|gASYtzo^OPQVS|(3}Q%r;Rqv=2~ zZk(c}%u|Xw#dl3VEoUjA)}>q;!WtqdY#2M7r`KgD5iY3?FI6J|6nK+GYX%4Wxz3H< zLzOl+;n>hp&QXX0oRNj^K@DX;2PG?E8ca=>cmhPod@^kgCxmk2uxV;YctfI02bEkn zWW|OC`#Qz~F8ESGg__`L7{)+FX&FrdwoYsKi?l1&p{86mp_UejSOpq&rQx6MdYXF*7#&tUjkXCs zWPG)w96Bz~>i7NzAK@T{hxGJ_s2ZVcCQ(fW)+NID|4H zB^`}Y6B8E?bpo2i*VpVJNo4g!MO}V4pzR$YA%PZuzl|RY*t$CE5bf7s0mC87|vSO*Uz%LkqUN&atqmm^C|)A z+D5|)1R%Y3oAb9F|deNjeli;6b7=XKPho!<&C z=7XoRjxe4!=H@4shC5S_<^05TRUqUR+By_BKQces?OgA6Qkr75%mzAT4zoyor^EVk zfWcXo6IVZJmTpXANBi4aTR*Q#6KF{0EM~>=7#jYIkaczirlT^bQ-s6r`Vqq!K@gG& zR^Y@@>~}zNSG6FY+ptr3EgrI`Hn!y(QMKFU%hUL#W71Jp$+f$9$OhpTRk|6Pp^y6u zdGH7QgPWkMU}6VVjzSQIpU=$p;i6JAG)4QKXSB$pBX6eleJ=I%|Pb-WyV@=U(QK!@~Av$ zA&MI8v(!BggN_2j@Wmq36<=NM4&C?uMi2w78sT$hUY7+bnFNtZ&H#Tw)TFxbp~@qc zX1ZTBqX|X(f??0A`cD-l)`&s1vN(#hg)2sJr`I;0Nh-hWF*>$2m{Eu|f2Y_P5`9~_ zrzgBU#mY{}bowl;J0L~;?T^gIlK-_04a!o}3?!2i5+7tl*%o4i7;s`kI-2>jyJ1q*+^=XAk#-10GB-ERfmSg$gAn0%dJ=A@jYr z6NN`rQj!|Ttj7&M$a#}M6dsIWeSnY>fum}#cfKHYsFCJU^=*8G;L-vNvD8o37d%$#S>+9EI z?8>n$+n~&w;OO@u^ge`aoDd34N|iyxWp{xFCk$V1S6H09nD8aM!f2O_J#HKyb@`}z z>pjq(2{8VpYwX(CF%Wt!F8y{#bePzVJ2sB*E3o8{BSGHHMn)E)nzV{dPDJ$1*j&DI zTgdJFj`^#9w@mgs!fQ`4jVr#1Ek+m9n9Iu-pixI}FE7}wO^KG47U}G)Z6f{r?I=}8Fx_R`0E{GWgouCmgMpHY=^C~%}k3PkC*KQ z3IW`t7@;_0=X>{UjMKH>R?{Qw4cOB|&nV$=;?mhsN5kidqnx7P?_zZrc2Z~=+Jci3 zJgwwbOG62C(6Wym@&fmCX!ZT?T(-re34NNysL*OdZ3T_;qh|g}^vHjFpN036Ko}>D z4RbIkfGYP`VIle9JY#m~Y{bzU{Ucfy1s4N%H9S8?dO01LZcZBb{d)e{)wDduC zDiRg3HUVs5C2wX2)d)X^U`xeakIRv>Ix7%+4V>a$0##IyllR{sYwcezPb7GqxYG^( znv`W6MZ)YwdC~NrAWMmb($?R1-{7FV8k=ZcK5h)PhKUn5HjXz=YI5zskLqIcMcYEy zo$E2$`oglZ4|<7`S$2%R5@htIEsL-Aki6GMrfI5-$HU>El^i3G{}Xj11_6*F$&p2P ztcG`+kd_WZ7>0Rrz4rx$oxc$bT7$~z$j`}H+2sTJSCsA-?k?Twbjm9HChGy7UFU+w zjkd#H;*rv0F`OZSzk+tx^{H4VRH##IxyxsKHN&PKaocNhmyl9~(nYXlCfw9`CUxrH zdUMPK1O=b2S^Crpi;MdKCmz6$^|-?uuNT-RfCz;T4GsE<4z)B*xDDb5e=w7iQIy}_ zIG|;ZkakF9Y{$k*YvkqSWmT2O@i8!2(d49zj~|VU{1`!fe0-cp$_$9&&8Ma$fgf?% z-O~`F0@l{nM(p{@$UXc5?L8Ma20By&kH;KE0i`>AD#mes-wO5+l`K*HjC>x?{I<; zv&iwPI;Xe#NcXgleY;`cB17TMoQj0sHQ23oK@$g=Fc=>>^yL`;iE*R@A)Q5JWN-?B z(_wvmMOh@RbCz4C7~uM;G^imYu&xQAWDW^b^}%@H3X@QCsPme<8#Iq714K8qp&aD$ zNvMKYR)J=b84gxMJg! z*gYen<74k9j|3jsKQ+*s97PdoVUEAD-=pe3H+mgS3(|V7gn8Q`J?XgFa%j}NwoonG zJ}o>dw$0Ce6m(Y${!%SJ!+bWxbP&^7>7^=pk-{0H$;Vw5{)#$U{4x5*PWs2V)(&Cy z$_V3Ff|6h$c0#o0TW+gsHNr`t`Q5~Yo6i!b@U_ngc3K62;$c?VLe<6ueGEAZDkzNQ zVJkJ%;^m4sELF+Ua4MrNOsAi~eD_5@8NH*lNj3dZfs3YQrZ+i;j-8~0gO(DcNJ~$( z9q<6xN$%X#O8b&^@-OZk?D!8^MR9n1uU>e}$n$JY%2>zQ_@iQ%DA+F0By?J=Ftjr* zJ1AlddyV^`b3C7@UHoh&i-zsr^k4S{8yqy!gg z8`fw2Wp)HTPrkG*aLVN06VCgJ-LAL+qeOxckhE_9_+MwJM5>zdN%ti)%BEZ#uL}uq z8+fK;tIc*euT5y3c#yg*AcuE$SOEb6Y8{jVDrIM9=XKWR*RNmu`}+qYfH4NJthhtu z@*YWYrhoTEGyvMK{EY5j6?3iw7f`m@?=707j`u4KwfZj}Tt%H5XkDf#LAfY_Hs5i~ zNM${Z4!P&v`(U--Px0F@Y-gE(ggMe9jfLuz&cVLc0&16*jV6>h?jr1HxOrXT%-6&K zvK^dJY1xK|frzf%(EacJ2E5s!VB3dRwVEo1sgFg?3%|&}M~U}-l4~8hg#h6qoRvv! zU%aMLoX*MfC;Lj*pNul|j_Bx+{`MYuexEO(tSK*I8Zel|+c`0vAQF-LA`JbzOG|V` z31ce1_Lw9CfpH9}Vv#|xzZI2hLF|ZcyAQ-Q_XNlPRtMgnlAY^GhZf?BKaqn_nyyO> zJotBZ@z3);X(Us$S=3Y)%@lTOmmU-AH_PY-t8brXqd_c>!AP z2%2%mP)5zoz#Ial{O!t4nR{r%Lu{E9_^iR;V6|t(b+X#*U!gPdI#rjEs+7u65kg3* z@z2#UYS&5QZBoaB+=O~5Si8RjW{qEum z5v-mR`p{(WqZFx8af6P1XIcoMi88&tskS}I5x zpKXpvtXo4gn)TukvxW(UV7c8KRwFZsj;>_`;a*e!~zexcNm6 z`*|N9%l-Y+E#h?Ep;UonCf8|%3GlAXMd{t|aipPoOUkay(!NVhWjAabs!nO3+WWf<-~kDFV-JeMh(Zy~-0V?Eg+_@< z7k5#Lu%NlO!ni3a(>jM}i)ParYVD6C6ZDTYX*Jn0khS~`5rY3-%!Cfh;MmTNvxExV zb1`@oZeB!i!bc$^-#m&-zc8QeORUH`N}^Bi+0LZu*3nZ;lux>s&>H)KFNx?U0k^~) zURVTlr(r;+pzqIxJipwHnjLdN6dMFzeA#ar&; zjt=MFU)YFkJ;8_-lZK`7W>>+>46;Iyyj+dq<9E2693>c~zBvG;BXEg9^Mhiub!>^m zU`?{W2&%<2Ch?@-Uk_EQOyROj!?*Zq=BKpiSnHD-aj*OP1-8#JV#6#neD06CVSFl& zo$f12uvhfME&fIL(HIC-WA%NtNn@)5PPk&peM-@skD_iITu_B_H(Uo&P>aF?5cFeAg1iQ< zfEY1pZ6LT*LyO1m;&Fqzii#FLIGq(K2pvRJk-*a-bTzGwCMH0uQ$f_tmbBSH#{_rB zC`oA@Pg7ClRdzmc$ms6d%&&3O!ImW37KD&Z6r$nN6&@cv$ z#)hq2Jd7^VV3L`IDQ!PjwT19D@Oa7{z2e4w-x;9pLjh_D;f79Xa;mZ1xl20I9UU$$m{-Ug6v7c)_OyJ z!-P-M0FH#-(I1IL9f$*9%Ie^6OR>NS*p4OBwC+gpMHBKgzdFFz%~#O7)#W z;ZQa(e;`_y66HtmTJ_TRQ#l3yQUx;zPXCXzEMvz>P)f`}*P|@XxV-;Ba$L2ND2CO^ zpN=ZgV~`mA-Yn$rg=EX zjwCpP97(9D!fspL%9azW;etet3OBiOfbDBld!e|FSyz5 zRr^fDw*QfjM9i7{RiA>17}PN&vj|$&5wfrDw!S;*X>!Rnvzb z$P7vrl4L+_9|B%Q*BWx!HoX4$cy+OHDc}~lu%a$sZD~;6x0JQTfrY|-W;zDm{E;F9 z+W+4u@FI!XVsu1n4Fwg}j%~L7)ZV$>vLEr>#0j#P((~B+`s46aW=-%GkJVeuc1ULs zY1FCuf34>BCN&pleyBCtOA!wB)YDn~oPn!gv*=U~LxxbM7$9uwj3DJLalXQNw^+Qi_t`7nsf z1KZa9w?@m>4<&}0bL_f0wf@>zd%ci0Za?58J_~r@Q-bZ=FWJcy^&BDB;yc}v33Gd% z6T<(ln_(u=>g97`E4-&nCv6mX{>4&ESUCo{I!+NjJ$sC9 zjkCBd)lwPZ=F}RlqLPd4ZZC+FI+M$N4gPGo=+e?wD{KCEi?3ErMwUy?G?Ld0y+SH1 z)k~z`U=xCC>S-|N>K@>yXDGH_RHk6Sx7)?XXYb*p<>R9bV#sC0HehO_vJa)x9?*N( zwj^2z*Wkieg9>>j?!eXC-Xc)x2w3P4dViKE39)C|4+zQ|9yPqQHqn$H`950A9Lf1((lyu14QGNqcgTy&^H^(GScApbW3>71bm z70RBJ!Yq%WL{QZJy-X<7_!~nAG%9ufMZV*NtzH1;4O;;^{P(@)X>f@BRx^2?uC#{A z&{Gp$r%w_*dy_>V4Jc?3;?x;8@-?}M!<;RGmNEoiq?!HO+HU^70Hz~_!5rmLrP%$b z?a7l}U5Mp_PE&-bM`rokYYmf-hB8RZ6!c=>9$bKI1Q@Rc7B_I6f!QYk&zz`F1Dq*idL0 zO8?}l2`|hn{8gQ}(8Fs8dB4M&5fw4=Fn8nQDEEbp-0HiWwZfY^i+IV)mEqqJB}tV& zI;m@0fZyobw{L)21`s;|*`UGiqEE@Tnu?t;j20+%SEhF1hYueDkhzBsdp4aTU{%I% zfh`Ykeiaod#(1mC;bk7=G`6&e0Uwf-Y;S3S6c!Z~0euMILx9KKS4${9d{TOf+IKX2 zEI@muD|Oeit*xWnaZh0aBGBn2VoOGL3c1fMBk@a-%9DZjjxv|`eAMd7rtAV7v}>yq z;ofQS=!*loocHn7tzipn&ON!+FB^mz5y7%LD8DVa@H$>OSHUt4zp_8jm}`i*@E=rc zuXDd~dl3^qCnub8a;Z>;#@RG>x8)wWB*CUCNgJC>c2QsgfKDXN4uv(+gs@=7L1GA!bunD&4Yni6f*C zHjh;V0znyj+K~NrLcLo8wFR6PRDNMng+(Ol5;conpMI(YjzNH|5NCX-8gIFYFF0&Z z9b`dd!db{+x;AatH>U7yKqp5N1!nwA8ZM?V4FOY!oeGx*n-bU`mC|QAO&YY3xgAW# zEBW|PKLDjd;MuW|X4=puI@_4*bq>oJ_w6`bZGr)NBJSV8gSwt^jBBa)8u*a1uJvu1 zP8%4*EKbrvD|ZAql&9uF!UN=Xf~Rlyn^8wvTlWaI`XL(Pqam*3!izv=B$5glxU0o?oE0g{@ncr|Z{M6w%c1(BBkM{iVAK zmjV%hFch;7=y|kx<)+}rI2iYfn;(%Nz|?nF19!R`U3WAw|2kv#)5hh#u#PVtRex49 z!>>PXgS5tsc0C%nhdNhPG!&ZrCN)sDvXh9zpoelIaxd&y$UkLzB$;p088lc7^jWT& z?TcqBCnXwM@J$J%h(?WyEbd<(~i|or%c#duOeg!d8+)xu8i0uK? zlk1&-*9AR?kwQzBHi1|D=LIj$KHlv-{C5LHri1_@x40j*Ee2nvKYjYd2;}Vk*{jbz z%@LNAd>0>}_=;+TU)W1+P;ju&6IXN;xe@sE~GGb!$b91)| zFn+$ibQIHL0UAXFE%-VCL=!NOx>-aR4nCwYDhf#nsnvirO0Wk9pVMrG5+LhZ zxqfQ|oQ9~}Qq<=V&9fj`92nYwpcK?>7>Cw`j6I$@hC#G}Mn|5zJK*ticLzGMhkk|s zoRG}B{j*~ekY3IG1ZCKTpEsPC9RZc{%h2u=L+H)+s{>0C;^zC$qNrDe zgbJ(!qmRfbXlc6iO}*+f)hDw&HtZ{vYcWcSXUn$FpI_W&e*zi5@~2gLwHHo6mQ`#_ zP*Pvb!@vu#XV1>Z;_fmtCpJz|3=Izh(7ewxGc$8@&Baap${vr*7Lm2UYA3Njc>BGj zcl)(;aFK$8g%|!aJihIvpXG)$nZSj@_M!h}G73%Zl&TT)soQPIQG@p&O`9n!Zl{1p zg3I(-B_SB$RoG)et2X=t`FRgdBo_}!s}E5<#90b&{G{zhSk+HoFoH2o)fe&eNi7lD z$yN;!{+VT=O9xjBZ^a^bRiRK9Hn0UCA2y7GyUwnpS8ZpA`TB$ojsMwW`g>&exb?dE z^;{WyLx_-+8IDKGBfq(Wue*0S-hWe?d+LSj+p-q^B&0GmLx+qEML?_1k}#UQGg?`c zoPX{mLDV16qH4nZ3qw)OsA!m%^@UFO&a0QSED78V*9|DJ9D5zh|WT+Y-W7-dTIhX~#trpZ-42y3JAr z;QUt~+vr(XUIDp@w^>W1KR-V<*yv9O*#POOzZ*q9{B4v!8{BG)U29zP_>3?)>x8la z4@1cM-E$AO_e(Dx1fN-%y&OKv_gEjXtvE5LNz0Bcv3%;0-)41O@PnI8Ofu&fm^4&! z&>g`0|H=|kOoO&&2WPYfw?<>?6)Uwi*?;)}2k;z)P&xu)NBa--(@HrNQhPWaG7RjS z5cY%S8_bTDqwhR5L>^{dH)pj9Jh2tKxf1-XDNqC}<+wSJ;`I#;~k@m5_GqWR3&pZ6beR;|_7uja?n+cS*uB9bP}=OOW4xV3(4#7O}% zI5|b)RH>}Oy$rAo@=d94oneK31knrxIAOi)`?3~$C6VSCXl2!y@dz9c2~SzzmoFhi zXd)G6RMKBdSA!zzZWqE!w?AR+RClgb6f`^*XUDe^CD#Dwt$Qr#ZTjGCwC&$#PJH}k zun=H#(|hzNYiVpr(#%v8q`)fhCnATWv6>K))GMn;a_(2sN5W2_Fux9*rP@E($?%TY|{UWmGrx+pNVcPsp|>#r6x zd9VX5#{sEPD2EMvGLrEke$0XRtTRFY{BpxZ%yC7~d+M@n2e;!;FT2Hk^&j!rqwf9*uP(R)rBhEpS4^l1!63P2eK zYn%AnuQxw6eFX#zQtLl0P%u_5gTp8Fgl{Y+S)T*d1W3GHeffuvPvYS9%joXEfA)a5 zt5HX%XOo{kF@=O}GfLo8X6@w*glCF()%FKMa@&9JbTl0g#@jwE)q;~}B$d4nH!PE`~h z%!{+%9rb%)Pk1JMS7lj2quG7RXj#17XN$KC#LdpD>PWP)u1}%_CGu=`k~N7e)IaI6 zY4!0kzelZeH)o;?$rU30#kii`gueq(7M-3GI-`0f5V`T-@^>${bP;wTzg{3j;L6?m zqHg9Y_;hO!GL0bMUNj^kGRG}`AEzu0z&Q!z4@2YpU0rl^b#!i#t1V!L5KUD8abRw6 z3FPMiv3IwT!%a*81E@=f8L%ct3)-}qdDE>hFwU)f8@!%*(swp2t_8Fo<0-9m`RF{& zAyJRxSk9QPzBg68l(c|;#D`6fb9wqLVWw@%SzG7bqWs&Q=+a-Nk-Zr#p{VEPl;u21 zDywyJMb$aI(@C*043MWFyj>itO_rQpX}dbh zRaIdBr<&tbiaSRvDCQ8$wiL(pR)Xif7ivP@42M(2>zC^U@N`qkS5m@Qq`V4G@Nd)A znw|9=jNTU8iSwPaj@St&kKRFsLck`h@@w4etN}Xe}A}o-QuJ z;lqFPaP#s62`zkukQYQstik3^oDMTeoG*|RM;sV-h`_PE3duWFHEi{(`kV&6q>(L^ z5iK#An%JdnL%b|M(YMsb){h!70t0t{ypVoq0R>1C90o1yzHUE{+-l1N{;F6s6r8y8 z*xw(!4t=2ct$%)HQmt{wLG2xxHMkF=% zTe#1MWD7oe8#{w6{nnRN6}`am5KKoJ&Qf$Qp$$rOA$s0P$oo(0<&S5)Ykr z8JpTA@nPR^?LBXW^}lP&2{y#9Y3YH~N-xlLHoCnH#W-f{WU49<+rjgHi=X}Rj?2ll zbbIo|ysygKT!ZmRoo(xJwQ)n#WltGX&Gr!uN-QhOm)$^7+F;_qEyJSGK9^8&s93sZ zGpx`>DG3Bk(N_YqYSOYX{Ob~R_V7c`xyjls+_fOe-o1+yR0%Cm80@p9LvSh(>W5Vy zIW(I^!*aDS=!{wp73uQ+s%g@pTOP>es2=UNLQf#(JURIK8-P4qeA`6jv4YO`_zWbo zNe#zvoD=-|3`9Kt{LKG=P)<(nHkBHfz#blY^^pQp8~)PC18fLU?IJ{f(xa+RoLR6< zl;|%I>Q3X)12$-ehx=EmFC7%#|AybTT;R^#Xe--am{J8@+-z7F&*-cw-UcLHa#{^j zPMt7afOU zG}=Hr9+Z`p1rS#lg6hl4ENJaL*nbK!?$!2@)LQVCwQ{qu@BJ9@nfuEoJ*%P5s!W{A z!UlQTMLB2^O>^|I%gPXdpVuF=cUyE>q5QklZ7vw0aA7{i%BpLEc**S3PID_aX zCg;y*#2(Fj#nSz)I}4va>Cc>{ac{?+z%o6M}{rf;+;?o7kIYh|J*$a<@`H%rPB zOyc>u>*zHNI!_)zCmd$~xn{C60h-oYZ*$TU;81|VX%sUB)BO{Kz&hcm6T+Sgc4&rA)}!;w5&N;h(?0w01K;sI}7zkf4;w8>DFUqWb`kISzPrCY^Qo^5mybT zt0^e9Id~6W)y;DI^0C#45ij{IkLf9pxCvmx0p87Gz3UC1nz2XUzUy5DrI&b^WY{B; z?Ld=A)4DOa_kQm_OU)ZXO~X_haRlKn^}{k)RVz8+zYw-Q{%<6~QU5)s#{g6a0J8f7 z!j#oEk6Ww5J^9~+%6IEQ1|tUA+T*}6a%pYtFCa5bN=!tvtW4%TAi&3e|KWq#fIK6U zeBe6(SK{k?0wm*t080)EwbvI;@IXc;;i|dB0ZW=0my-uwDbnJh?r4?}e!D~YaYsb{ zl31FdME1vWQnAo_aO77Hgp0jtWu?@o@SXLBHFNqaCfQRa2I8psX2Bw=jrKFk)`s;J z-~X|66;M&OO?xS&TWKjp5R?W9X~6&yq&p;(mXcgRT0#V*l$4V0PNhLgIu@j*ly3gn z_xqpY;UKZ>6Zg#AGgq_*V_5Q#*+__Fpy#<*gGtr2_^WaCk`w{;lQlpP!#IFxZ%%uB}PWs=9z7hJy$QP@+Jz2dFfucVPtr|zc70F z@<)En;jHT??V|+#m5%oIZj^UHarLSK0W{3ezG;0FWb-4Ms7GwkS4p-w%U!Q$D>vaV zA#_QywFtq**|crOeq$iyVuJlDi)n~Uyn#=I z@DZV@-Vs_Ri$ZShvrmqj%?Z-9U$Oc(Wo(+kA@VjG+rie17+~x!&fGGl_;{PhuAcYu z_n)DAkkB?{yM6og^i*;uDstKt<#p@NTey;FvuVbo=BuGL=5H+!DVJv}7-!S{=Xw%X z8D2?-FmIB+%6tHX@WxtE5nklxYXt=$ABg$?g+|`6PDMopy2KWDILk^R0sR6Wblalo z=zSBy{_^|~`R9eCX8Q82zunmMJNn0X`R{V&^4MZ2MqEhfUWfPr#WpF5Ese-8^ZGhIFF=i5>NJ4k zoEiDYs9K%R4wT;X+Sp{C%ArDczQ*mF+6j#olCNwL%$m_5Uh4Yu7=`R7q zLJWHdgFsJ0Kt>twOaL+&FEk})oX4D9UBS!mH-ub7Z);h<1l{=u*&t$!BeahQcu&U* zf-V-8&x`D5pr%K}IV?vvvJ2?e?5r#VL@XhJ#Sg7wE_>c5!{*KUdH|JyrJY^VR&6RRS`-}Z*1ejseK~uWELeAWj=DUDCy?ZP=%-Hr(`yLavd<+X>rB{OwTo8#7~hXbFREw!@IF>AJQoIawJZg1Crw`D z%3oc1Tg~@xj_^sD?L8xUciu2w)@!hb(N6QpOzktJz7MgwFNz}GCtP2$DdMW1xC5HD zL5v8dcnsWPpJ%5uY)+K|?g*O5yQwvqI0GeTLcS&m#RYXw-lbc1a$gg9t=Tm4!9ky$cUe;t5^f2YuTQ{~X#0G2`@v2p zYfC^1bldijkRcmQW?6Gjx5yStK?yXe47f`D5KiTHBy_S2By3~Nk9 zzl2h342)y}#)?PHR-|3OJaxjA!@(h7WVap`P<712=!{k28wG_a53m(SNB#f)r5uH% zApUM&o;L~Kf}SesGSl!Rv)}um?EClcuw3D37kRVTd3k}ltZQnz>=Q|9mHgH z85qpi%~eh3Hs8hQz&3^-?HvPg8CJoySZ(}(d(A%<$B(P}-wjNR%#Mv!Ij%fI5iDnY^yjYI zv*(ZifBJux{P%<6^0(pHd&%Qy$r=#P-P_w!zF1U-dge=yW*sTpf5*-k?2rx*4lrky zGmLA)F;74e4^*INsi}|9mvIU$JvccpN%0d%rvpb^pPG^LLDA za~X{1tDvw61>NaLk@r3;<8kNW;v$^melr#c{8dkgMqXPrD+tfsB-GjM%f%GxC$*~7 zE8$yPw)|H?NKo6p40@x@cZc)krT=jJk=f#&B6s;om25l`Q7g?9BR*YeD>b?LnG*_8$b#opnulD&7S9 zX&kNlbr<}6;{uE}qI5ld&Z!2T7p9+8H?=oDpzsd6FR7IV+6@BQIIpXTqt0v80`#A* z7ANN%oL6e2Fr}#ynhBEzO6s};X^nF>G*wFN{JvI4TfSVEp4Via`Rr&ZEBH_WkJwfx zOI#>xHkv{ddPnZf?5TvW=)43B+XMzDitf0T0{yl~zpk>n+OnvZ{a%ibPyvFVyrM!- zu<8+qctV*k=?7+OoGMZoQrHhwXHB;7D~9X35B=sw%jH4KT-tlFfDPT^21}vvyRXM#~iNsoy5Y zJ^iJ~Vs6*2G-|vTI7obLe z2>QF=h{75vzB4R&UP3?>i2w21@)Wn%S`o$uBw(oVK()$!G3pTGXeh4H2^8!>XfyVM zWYUW2`i7qEMr&VxKNdAL^>~e=1>YJGNhAnr=E5j*@W_s`4j+;f9In$29jmLBhK4E3 zMg5;eOogh~3+uwZj?K*nF*d>ygNn`!0Tmk$C;9|U2qIuF43QetUOkr3%_YYb6a3#` zhBXU`9{pOvjsLUUu&;mpA@gzX4~ zv&hvoC@o-^APMKZ^79KFJ-xW=)@QO8MIfEEu*@FlE>vY176Q7sI{+zx0KFmoi6W3EH^E=^REwg^%2`p&@go)$J`%Z{n;^;|oiWd2;!0`s z@hU_eR=x|LjxiJry36AF#$L;j@&&=<8Q)3)_X~_oKuI`1UmG@jE@vesL6@Y_z3F0p zduAucg1Bjhg-FGQY(Qwn&MA{lk2z?`=wSi5E`>y|;$U?&qS?YQT4O_&C%8hR#lR^3 zHm~a6cx|&GqX^qUkTK+Vdgmh>!V-b8YMUkNamsDbFghDUn(*)|&f`8byH?v7)Gyxh z5IR!MrB<-9J&t*Vo1TBOS5pT!ts-zI?QG*qr{X|weh9GQtQIVkZaUI288co%$f~(I zNvjWBDWt%D-mDt(-99#7SP~)iBT#Zw*KTkP`EkXDQ-t zJ00E|9igL1&H0%M^rGGV`5N{K0Qry*5`umKT5-9uQV0QmT)1%|koxrVqbH8T$s&#y zkX<6db&64P7Cei_^j#aEEX4SGw%dOQ_4LVV#{X**53dPu?GD3s0?I?yFVE1zo#^Ef zy40Vbm<7#v7njPSA`d4gOrOUeaGI0*fC?oHo1APIH7_p*)}Y0JGS}ADz>tm(U5ss3 zp={|j4>oA3oz_%A)C`gp3wcdJfz4Q|DjZ1U2j1r&3!3W z6R<7Np{BZi9sON&K&Z~3^f%bjwtMv|;qzx8mzV>T$oSQ(E+H8=$a12hqO-8qgPy~A zkmT7s{4LPbg*__dw9#L`oZu>=-u!!64D2*j`SpBgMta6Z*VLbSeCu!&K$% z=Y0w+d=!~-gqEB_kFgT96PgAmnbt9qidlxs`J!%q^y%D`qY94W9aH(}7E3M{@s0JH zm2DpZ75OP?K-A((d|b(?dPe~f>n-6^-t_uYF6tXh3I?jhnE&>z@I8JSo#S<<`zotP zPh%$+7+dR3oW>@;=)w!BC=XR^y|B0^5^Yp`-08by5_0gW0yp+Lp%gAz5{AA-zSh;v zxnkA$fzMA;4rPL?Fw7Sp_6}rax42Eop8(zC5od7M=))vNbYt>iLVZYD$gZdn?cB7j zd2w=QwXF~KBPq-u7-?p-pF0mH{B?`J_>vC#jR;nrq^dCqD!55zXsGA{jLQ7sS04jT z0%E%4=1Q9{y9OpusQ($s1Lhpjji($FD^5U~%Z`H{FnQNYz9d9Muz&DXiP!gxs3?f$ z@ObJS%YAV}*?-0G0-g$YEhl=!kA}sv<>`z#Oe27|W&yw1n-~z_!)j%%c$bSyNGOZ2 z<)os>s~|IT3BWX6y9vEg$Tx5xk(W@yjiFGN^CZY4yNhKzm@U83)ulWZ@umHMYhL-i-XESs z=(UBN{{5xas%!!M3fB$#U>5*Npff8PnnOr}7M|bccRLF^+=IVY=5hElduQcVPm?vlOougxIRvZnQ{tTZXp{mWjMp5%eOewacLXd^?h5 z?(`1uri6r^JO;_>|8-KKwGOQv^m{L1z4vf?V?*Fs3uJTHE`E>Y)C^kH%MQAdi~asp)0S*Ru;Y(ZSZ z85kRLJ)Cj1gZ&w3T0$6u4tVW)VbbT%;Epy`W)T_1jJ()Q5oTHS_1(A@X*^Lm{P*Wz zht^rguU~{dkzO07P{S%f4Rtw3a)C(Gn>?F^1|rI3%7(k??2Vn>woTQ{m1ey}w817M z`fcySIt+W`XbG9TpP8Q9Hd`J33MH{D?_ zosqi5`sX#lJxqx>#PECK;P&UP=3`&qW+%2@I%sMAkhn_8{}BJzW7Jnqg_KO) z&PQ|m5b3?2p#5Y>v@W&cKs-$lmiLQX$|a_3978QFbSku&MK@N^DW}oPBSSDS76cbo z|KR6TacXAu`e_5ALrqgN`DJO`7s|({V^Zj*-u1_rjYV3o)yzMmPKHI{&eG&a*tU$u*k3)~ARFAEBmCM!1FEUm0) z7#P;q34U}A?gS9XvU$v-js2hxas0BobPyDado! z)U6X39`%?=LYZV`o|cz)_r&s30V4vDm=>cU%Ig1D-0u6`-q!D$cO(4s#4!@6FevaO zl~N;P$bCkkAASP26o9A6E4Rq;b|+QuJQq!>0cN^e$8qEKY2#=uTp;NFrlqy?RwjOW z!eK_6^OEn?VXM+?fJtZKYn^FF%D_&y$IS$18rX~Oa;4Gd`uC1)@kbH9y;@RJCehYP z3%{2W-7_@0BmG5&d$=0NF-60S*pbE2MOz%|p6oLD)&iL#U!H+}llYTyf;ng*Z8Ly+ZWO89L~GI26yr(v#8`x^JbBjF-spy}np$qD*e={qQR%hT z(x#Z;?%l>WJuh?4dE?)J20mV=mv~$fVs@GveDZJPxfI=7OnvnU@N7UP*s}AFTk_~+Sb1g)i+`VMqHir=p!+lji!ug;$q^yXPxQ#ulF|PQIaTRWW)2@%d64S`Ro;sV z-iy&GXD?k{tGZ4P(G#2TkRN{`wcEo44AvmJr7KJFpxlIHHGCXQKIeZ+N)0s&tu=MtdcO(aXs; z(uKr@UuEA(euEV6dfA={LVRMO8GXBHNfCOBIY+)cAol zoPoz`S>rGEk1B)ZtG}?iFNtDpYo>2XduEpk8+bVWy&L^xwgrai^jr5+o$=RGg-gS$ zNVX<#gWHabH-9lL=eL2Gd+aUO?@!4&_Tq_tlg%$GeaONu6zF3f(V>0MqcQ_S*;;Yw zIk(o-?QWi^_Se$n7>^Kmc-N|Vo?c-Jp!AD*_K43Qw&v^>79kNi_QG~PB|n9m(RCw} zKKi3Vd}ja7CuuekGX|qKe;4|y+sao?no89x+UB&k|AN8cd+&xpfH$XGnf{85;)H1+ zw3*`9!v8jYb1!h&p4FB)wPuZdlAt@i`XyG?JdJ5XbEkB?3Ax>L>U#N!MrZw{swV*1 z&lE0K854>=cD2gnA$OD|)OBX+yNazTUOS@5M8%2>mmH7>7I6s)IXAw|HU_vn8IgFV z{((qf^w_~o2t$AJ^0lDjcbAgbgKqquaE{xKM&)L+s@kBedB4#r3Z?U;RUda>0z>az z&Z-2L!-?tSnG$bF@r~lZA9Ok-L4EI6M|BR;7F*?{FTyyMy#3jtZG4oNm&)&CTD;El z^?XV?e!D|Z8N*Xx)`V-E|~>b{@xdQ^eAx#GB#SJ_u}au*xXzw3#DL{o`5>8<$0e)zc9y39|Z zJk9tRfx0X6fX=^0nSuV3bS6=!&WvVkrEZ%Lw}D~+y=&~$V4_tvXG55vi}&a^xAz9J z)*?f{mUTyfSjJ>hAT50uW}+g-mZn_&S(rhce8ebSnCJQr_$JHZ@O_+=?qD32ZeE`V zdLi~OpMK}5;Nc0*^}?w>wJ!%Yul;;nh_*DEpP-g}W8Z|_{e+7kylQ@NvOF)`ac$@; zi=%qtzN(6Y-}64quO<(Sb^FQO(>5tvAP_)?uRtE=zIR{l~{0mnG*NTV#L?F#2~ zeRrEC!?mPunhC|T&DZl-x?h>9WCniuLfe{V8)cP9rkh&7M9(4M(>y1j6-QzH!aMZ= z*)ADI$$AQ|4*o}Fu-Uij^>j%pQ1u%Qc^coanl!#_D(^kH8v%(ZD8aX$&cM9Axq|8{*jcApNzod zu^;Xaqs*?-7fe3A4P99cxhKuHZAJ9$a#BwSO-OmkC~ygH;re_#7LnSe!%4-ZiTx+e z{rF=G-)G8@Hrz2jJ373ojI+>X&P=1(9nhd5284j54PZ$z7{4 zHe$g2J=r`tD`Zue4d>qtIM14Zymx>96>&Xxb*$%Qcunz1MAB*FMwys%P0uK%F3LRa zo$9*?=dBWxYwVFNT_{&8CmJwv#ostk;5vNEU&j2U@AQ{>O6IjK>rjEaVN#=-iBaHZ z>S$vcRYf1$`k8f1=<07##x^v-Fw4)NP}BJETS5XBKQ_Xscy!XgHi=lV7jKel{JR~i zKJVQR&cQ}c8Ah|*zZ})txP`JLGM8VcW?CGo*eBos9fxW*1tNW_>Ga3x>~cJ7CjR|_ z4iRAmeWjz5hh7Em^|%e}KF%B}xnjuW7zZM0ezht6F1BTNk^B(*_QR*AGFr8su00~a z@O}mq%eJV?kJ`Q%PA!6&BsxDW9lVM~ZiWM2@Ji+C{U+m(l76`;28HB5G$M=)EY{)} z4Zr8Zt%`(&gPljeM=)zwos8+6TiswHAS=ouK>0{b(Mvbqcb3LqZBC`ZeQZo*K6-%A@;=~pK1ooEsY!Z&jt5N&OnaX7qIN-9ZeO4g$a&8nF}gyz*o_ef=sT1eSHns|iV zJwD`*aQmaB^Emx^4wH_x2IAi3ELRT&TSlxFJldu&5C+X#)$6&)ioU_S)Q+z?^2Dw! zJ||K`+BVe+%jr#31TtNbYLRyda5794B3kn2Ff{|WBj?8~`;c_nr`Fwob%h>9}-V4wqEG=8!d`;N6 zO?NPKh-fZ4cC@~V%U5Q8m;DiUYK-cWggW-$_OYtH^gXIttUUh|2Ko4(YTs8%F9^A( z_War%P4fLb_sSAyEy-b`yoTGUE=DOSnAseOh2JL=%oo>lO@+UjcN=PB#%cuT@_lO< z!V3$HCLJ9=f2UV4pUvaI4BysYKR{y@P&21NXY}A=PPhyMF4M z;B6Cokt^T?z?AM?L6h}f{BXtc_a~7~ix+Na%WI#%)QD}jO`MtqR+ltri9<1;KD=xKUw-*HDbcX!_}$>q zmU>V2FY>V>tolnB<0mAd@!Gh2Kk3X{UX~9Nww*LJY+!ZbViu)fKO-fb7{UP`^PrN;$ScNE z2~TqPZdWeow!L^5nW3#^)7O(&6n3|MqG)=DGoK{m=<}#fjN!k6;`um{z}HoI>X!|% z`i85t9@4g?nCCHGe4{5%Y$B*~z6Y|FTW1Boi)c4ny0ypYMNmuk3x>mYjrZS_QBoGnO z_H#as1%qsX*5So96Q9V4?F49PX+s}}RE)~k-OUsr2_CH-P$Tmp`anEcWG@`*l4Ix} z5>Jh|`Z>DNql%L4E-yD<|Lz$n=Y744n=dxbsrP>dklwtrt}2SNH))c`k@`TTZoB(6 zYv@C*{&%7r<=^q2cjnWmM7Z^!-1MztN$Qf92&aYWTR~%EJuLt53bRRyBT$QX(EMVe zcWY8q>;3JuT)+$6>-&aayGc=l_3_ciYm-c*X3i|;ls2vG>32fvo%|{tl8;9hwM@oEBAJ*e?aAuq;Rz%WIfRTY>IqjOvBl$K%( zsbQm*zNeS;fsZ8PKXRxdy0vLmXYk_f}Or<>6KDvdgLl{4pC-!i_!<_Knf)%eboj><}KblE?a7$wmc z_BkVlyVv5L2eT9vzU_nx?fQqyLgw`f4lREE1PLL8`9k5H7R;Mrmw_|Q0jISSxn^jg z=WyvC_wyZU+!m-90v~Aw8DweHXtQDBK8>^TZ~#jQ(}njRxCrB`r}^^yb?6Y95v916 zsKZ!Q0QbQR3=6@BnInrSn&6+9^w-M}H>&F;ArS*v1sM&{c3-|VKnOmRO1e=K!x#G` z@r15Wy!LwlY1hl4e1*U7Uq4Ls-kh|yB~&|a;R(qZJL$l)T}N_yKOpC$#K&yR%A>J)7_?I1b6jr#1Q@}`A$SAvGH|$zCq~- z`<0(16~?G{$A=50%Ri$ioc`4#^S&9pit+Xv4S(kn8Tn3j^ZTE}NrRY!E1X}GmE<0^ ze9l=?%e_%@1G~IN)m+40TuVjbvtF0--0xz)w72I51=oDkM!dOR`A0tpdxIJVJffW3 zO~iE>O9sM_kYF+#GcwXyzWHDU9`e!rm|IpqiB0f)Sy*)_ZYdFOk=sz=`TgaJdUJ16 zQAhTP^i86XUM5m%Q23|d5A&>Gj=e)0r{$HLGkT?2{h^1)x>Nx9)xwzHIXAGR34K(j z5J%pkv9BY%iefOEdvjw7{@jsg&%X@lPo_Z~zQ|Q;3HLk7tmZ>AtBzjAYg3^_|e+7&#@w#IEhaj~p^n_y3}ZRAKv$h?iPy!LaI zz}S52fwDPYBMl`k^PQg8EeN?IZoker8S*5={l_=)NIwip4jWUF5(+VXuQBXWw?fH` zCC;%y(>lK#`?1U^zK-FSMB4ERil~DG0fY&gR9R+V<$?a-QO`zv*~f3AT_dBu-?9S> zUAVusCq}=KrW~E7wV7bIOjL=8mfwpNGIhh3w^*u?yy~obz}}NyE?Rf=2}HE_z4x7! zcCfA$yNs}bdvYgR1lBnL*QNUI(9OHpcz&czCVX!Q?nsF~4ejKOK@nWTp_{4~9Mz3~ zKKK}4*vuyYTgrNNK2Uv3`>FTvd!H~Ct~}op4XLjM}+8ebWO7PsJCTJUa*waEw?QT3+H=MARHwFuz)ms7fwd{c{43TCIY z!_g`!=a-iid%Aiz*fYI`h1NaxpKjhF_WBo9CwqG>iXVx7LwB(PpyL&`bS3|u*0dM< zwArl!rH$CynyI`Kwp4~cWCzW;KZHIDcM|e>QBAaY=3$fGVY3#D_PRNR%4TAj3TOYW z`pb~yiifjZ9qa2*MS`Ce_amZ42{YTqKSoJTc}%q99!rKe|G?C& zIB9v_UCPyykjI3H$7gJ}Tq|~`Om+NV9TBfc8jJmgGJoWq*VTf}&6jt!Y(sQ>Ug?GY z6Lh#8E>k7l`1`&9cjSc{PEt~%1DyDSorT$r2lL$X+mk852S4Qp~2~!BDhtC zW<~>}uPXji56iiEWb*yTHL^AOyHkcXk7B`Hg>1`hVk2koM8h)e#Ts4e@2P^?{i2J5 zk%#IjhA&*?bUl(S=<)m!{4qnxw=3VAMmf`z_bGq<#kPV?79a39m;yy1HCyllfn(0F zo^jutSkxh{eZsyE6PwIUokGiz>CPLn@K`3p<7AS1w*7i*88*sd6Pco9PWq|oJ(Pi* z*iO9c2e9DrSx6{ZIH;6|=y;7>~qu=^$Fj;NvfkAj}!d<&k z!LhKV+ni+!@)?m250@o51CmPRChd7_lgF>@4=Clp@O;_Wb3ww1HcZ!Ttg-2&Dapqpbeg zm~D;|YFeL5e;R(7s;R#|9KT)u{T`mNep-6mJ0+==?W%m*+FsG>3*cVLZZ_A;zB8&D zcq7>POj_;-;)QK8{?EwKs>V0$7-;bt&Ob6rdJ&I<0pbM*c=LWdn_T4J_e33v+YvNI zWxVC$Fqy{1GFwEoI{YgIX7iekB#L0aZgJ6)7!URQ=zNAZvfsPkJH zTUds%NS3Ye3R@HWARMKClsr~*`LSPYWrUdz!!?I${N1iQqv@F2zNY%+$FT^LWx6H% zzI|_g^vlw!P11+(u=TQJIQ_t+!6@hYSe3B5yr%}NKJ}X}d<7H6VW`PaM_ERje zptbSwSeU~mnqkn3R~I!C57Gvj_bIBj*Gco@lv^pm;|s^=^Rb!F{J6gR#LNUB(j8jwfn(O&Ysk zEMK#XYbW3;=cD%Gl3$n(9od& z@D8RKc{gj2tx)jjk2mDIcu^huR$EZ=eL zaQ$!YJkFJhU^po*2qlVBl|L6S)hzAG=A@?&&G_svGD+NM{X4^{rBD{s*Pj#RH$Hx^ z6dCZ%f}F)Zi1lS=e-_7kvnA&oT-|Ej?P9W=A?86%2WWTl?KWq{isDIqU~YT~!*uHf*Nq#C<7O z-0rzvOd~D-i}ZY${;W)M`I4Y2jr>xIrQR_No3sRpLnb(Ls}f>60G-q(18^UI-jKA6 z(2w#kLGcQ36x6+(0_2-~Wush~?Cb%vgj(7uK`?p(&tDgtsq6X0P6Hw?{u+j|kABzx z2=5*nqM&P*?oj*|5;K%m#iGUUD>GIR+9R|k%EfU0saLZG?!kDhNHv|}iuMYs!`bh( zjy*2*Gm&z4Zi;ILrAtqLrbxZv4~8pU@op&GpqVWwg;X)^VcI_)d`qSiy5jzMnP%gj zeE-%8AF~$F^4s@S`?lI3Dkx}L-j9Hxzju1WgC4=iaD8ZPoxzAi%f4ecyWeJgOF$>> z5%0^g{^K6=4zpKFmhaf#8Q*HEz`Xy)qd+CsOu;Nkp5tzwdP?ZLEfbveHzQlySuQ{! zPH<*KW^LQn@1|pOw_lrN-zGG-Sh>yC4wC_fMwdJ@V|D#{@6OTD zQRdS)TPrIH8B(xWDDxC4jZyAWGkT$!1s<9%Tl6`qd6JSRZ16 zhN@mg|9w7FTK&RRdMazHiG9ls2*A&u2DfLpY3c2~cNkC^l^)l=>I=4i{SOZH?Cgpr zvf?S6{Kw1HMKCDah5C|xC zKR{I|lQPiZI*UWtqE_(g?Q!oA>xuH-E4 zZ28LH013P=k;HE#o~n7Qt9Mx-|J;T{dw=-0MwMlu_-iAxYyo$com`?R0S@!V`A$oC zP{JRsJ$GixPKZ$Tr7^6IKM=7y{5)zmGelxbYu(MR0Q=Wf#!u%#1CCg|UlYR4snZL4 z6P=aOz%EcglGy2d#}pQ>?0p*2ba_C5L~c!M`v71SzCAQM`$<#3+_n4(htgRVY5H6< zpGH^wzj`aH|8k5Fc4du)lCiDrMM=jE{*B$P=-W*@u|?E^duXgQn$-h9Z=oa(*y_-A zIa+ow%V6r5@xi_f<3UtZk5@?B?W-%Q@~^j;@y##mq+70 zA=UAfsop6SG3R6~1r+1xB+mwqRoKm-;IlCI^Zha9WN{HOu^w6gW+2upjxGLzpc9Ye zB-b~vq~8Drr2Ecd7u-J_D$&vTQ0J`fx@@JDzO9hh1D|_dDxVspDzLgfg!#+Mu(C!) z{k?TIz4*SptLn;B5UuoA#-gF7KP@hY_iRq+Pc0t(=Bo-@GOs#bqF&P*XlW|9*b`+! zHMrYcidciznFU2E<_#=N&+r|=n28|#ei#tzN)j3 zJAvi`%U(l|vCs`?4@k`O0Fz{tm>wRcDA3c=0tPTMh!!cx%Yzd^@2ilvE7XqN`53qy zj+%UAnZs*O(=MX2IdPit;ZE|9w79h&P%1yld9yZ&BGn;n{s%|uLe0c^<76BpHk9P$IUI~`U zHhpjV2she&;3bnBhU@YDwJ@1qjuLslCsS#qGvm^BFpSLQSj*6!yDRof0<72$dx zd|8^?z|I{1>Kdypdvq61*@_#^lsqH8Pl{_*Qh&G3tfkti_r2$hfmh1?_m~iGHRg26 z<=Q(V*sYCa{;{^jabhm9RI*K82{3T8u|ealc7So=ZQ6)22P*(|d2tA0LFXwK!^jgf z1<!}4HCCEJvl;jxjK_Z?lg!@D&(8z+?P5gJ5a%ze|~caVqt0OA=C zG5}Wi9o`pOoeP+xO~!xT_4ENj^aAwVW&i|^b+mX}@|E|aAMM^ioHzk`6&+fMfkfhH z?u+Z}n#C`41-7@Uf-nz1zJ|t%19Ta!76i{T;4btb@}LXP9_}Vj`0s429U!`Va=_;Y}UY8}i_u&dh?LI6?$d1VeBeL&qc9y9<7^a9YHr(1P> z=8!yqATT}Sih97qLs}Ogaahye0FNL%XB||He**x%46M|@K$AO*y!dYh<@_X zbUVYtp+p|zTvPtmJ@l_fkabUUr6r1Kr>zQnojb7 z(Q~4|?M~$bq&XB40NCEgamb0nO;{oD!pA{3+*g5-hyG2^xn_*AvrS;mLYdL@_TO({ zT5U3(4>B?UjRTg-QcoNS{rzIAv3tYA_nrUzGL3xTGS}=2a&&0kAMnKhBbuT=h2{%W z-6PzbZ8&WWAZR+DYC5;O+-wT(bTYp|O=;DLP(vi&dwM|B$xA&@SxLyv_ZqM zb5X;=BpR0m-XBZAjKW9ka$c-PUgTtFcUbSDZy(~u+d1D1g-AfZFQfl|dU68Ky#riZ z!_x{we*e;z)zwwTi+M(3LiB;ANYy*74Hcbr7ojPTMn;HcxQ^2(6v-U&qW=;oU&=Sc z-xk-@9HXzS$Lwx$r1xG1!JJ;X;UVaU+jsy(GiP81 zQluRHsGD_00ejWs?_3MS_4B|;?`;oM9Y{j}WEbl#pgH@KA9z4X96y6zBSI{x{a?g{ z0Wp+(SZ~o0L7%w^VBUjpJJ0XzF+qWW=n@a}=xjw231RHK-R|s)4_Z~D3VB+EE^)h* zy@xhbi>(I7#tzq%k+n@tDQ}vlf#qa()^11rc;7-|Hvu4%u$K!*pwW$JE-eKACz+~< z3&=c%fGG`{SkeTRV>r_Z`VOL5A)Ty|8>lA9JAZ+6aDrX}aFWjy72^d1KhDCZu;771 z)z=MA2VB#g>g;3t)x71AJM8Jp4H*-tg;_o zeSS~FO|!#xWXWW<>>wlHJJs(@^^i~(<#zd2B_3<8*Zh88{d5X)h7D`aQe|6cr8gu9 zikYO1IKCzvMdYkJ`bO>V>~Etj(N9095#^zkQ=Wf~2TRc0cNOMRfBcl}{bD}^1$SE` z<7?7`G68a1R-kUxP%S_Le(m6B6YMpb&l-ADi+xtCgjJU_$M?Ir^wXyVTntVQ_c3cJ zVWd`LEF5_Y*Rr4@rgU$3?@wOQGhs!;M$ZYdfn%P26$kXL?Z#u=PIpcdlgMK@?b94;vqL~WalGoLP?8#YyTD2Tm4 zeT3lX@|{Q+K}|=;uPERHbtpO*qYDYNlt@|D9KpHQwns|e?&J}Kttq%Iz&r=dkpqaZ zf^{T>gdn`xX>GsQN%nmRbG*vVP;C=UO$LerH3LHh-fDx#A?91)mckl2^(FC~gII&+ zN`ve|VbjHl77n4N)dE_Y`10a(Q}CE#Q6cgMnkxe}GLYFqKbIlULI)-*z@5gI>P?!m z9D?}9a_rdqasdc`0#+v{C${zf4p%N<#RI;~H_o zm-&uo3#Lfj2a5VNLlYzFBeM4?-))~ly(K>uSb8RW$LqUV5>sJ?uz?NPZ(^(9oLl8I zE7TY^iAuwNKQ&Am%GonD!R zUft~MEZWZq@Seyd_f!kWwbXwQY(2#QSD;xF_)GB$!mKq31%}c+A zjV>?Fp+7crdERtM<)d9+x8Z@2s4^p-iAQXR?*?u=exsAZ z3YTXUq@}@@`oMIx*ZBVDN3StEhS>98M$*63{p@n9k{Zdd+#lAlcyB3a(D?UIRCC`9{9_O7q zor0e0qjztrD^5;LnJR$87!~N_EIGw2UVrKu5GWz{GG>ILyFseYR zfvt=H4-dLr)32_oiu@19dpQ2`ALgfgzdXH-;%P2T4x`|Gw< zQ^k)FG0m*c&WNnYQAB^SE6C<8%xR@{^kW2x%3FtJrRnu;3;9o{ym-tf0d9 z<3&P7x{PkWZb+*<|6`-80%e)S2Pi^sL4=fa6oO$XiB~CFG(=aSJvP~tVc=<_4U6n^ zZ8s4gUteEPLh9{RJa^jMJuU=_HEeI-D{{;)Xv|*}clDVm@}-v-%SG?SKm5YerBM8a zB&$mn#kHbTpKJA~p+ff}2kOC7*!Do0{y&<&0<7w-`TEd}v>-?c(r_ddC6(?j>6Q=? zQ2K~~f=YLH9;88O1Vm{8=~4t~L{dV(Irsg4=lVR?K>5YqvuD;?vt~E$_)m8P_1CXo z5tvqsMmS?D|D9H{K&RFVmY@@miPMN-gGbTrIrqkdn!G$4AD@XPlKJ3&7no8D(>&}l zxp2|VC2ei4ZD2s#^9qt&nr&N5*>!$c8GHdo87;lbDr#!}kP)51-X&%OuY!F@0xu?1?LmM#9#s=EZx0Ft7qXffs-z!JF}bZvWvimkJSJiAdkZTf=o^V; z&Ns{R9?RDi=V0Un4HLe;zJ9u(=Z|XF(bvC+lknmf<{oyT9Oz{UW{Qfj>QT~<*M*;z!fH}+WjUgMJaoX__62itj$yoDb$ zEr>!}hBqf$G`b($?lzi#mbK)lxzgrR=sp;C%r^3#c-i875^c%Tg?t^=tol!lt+cmD zG-OZ0%UFmf|Il96(#d;{43BfU=eb2bIg1}p`oXPqJST@uR?e+;9|Yn8&-=KDy#Emy z*gaRsZTO>(@GBO>8G}HU{&rg=4xrmSV%-Rplpr|9zwzLd}t$2FsCpoQ4 zC69n!CR$orQ`H5CPncXKGLo3sSA98uXjn{440Ad?kvfMA-k|aXpal~P3ow!A59JmV z{0jy}t!9nx+f&u~@7|sKS0yg^9~OY$hGkiKdF{k~ZS7x>g8v>bJ!a)N`6ze_B`PdH z0A3QDf8ns4$lkq+W0D1ly6TF{g9n&*zq{C;y?U`M^Vc@iJ@NpF`u|Sm>1k=`g`b#K zKT!{;956K?m=>BEb8(%3%bLvD^zgr{Wditx={$lP!4qT}!5n-R7qF20mDx#~&>?9>|y+%Rgvo%)Q^vD{$o4i7| zOMJB>gUh12ls}TU1=aIDKSzCxbS6VXVY&Vk?KqAeytsh$7(yh*2gBc=$AGdnS9!z$ zX|P*BVRLJqHZ10mV>AN`d4Kc3LM-7`a<%dot8XOHDQ^9qLwWuCv8jIRM+gdr{5Lkm z#GHp!-X=xJXP<7Sf56QN4Ovmfp`ai}Sz^m}nBG@G2>X1cW}w`7MvH9uy_Z(IKlV4vr%5#cGQH#3-Kjtzj(P;VRL~oI^GdRi0e88g1 z<=9=yP$6yCP26_!?XU5rDwME}g%13XtDV|X^i@#s_0>+E#8K^Z5ZP(nZ7WH0^XW3X zzx8Ioj=t5Yx!UDPrnmaIk?BrE^A0Y>uXN}2qm8tyeW8oHm*w@1cD0G6vmZi_IM~b8 z)YLRNyf`#*gFbJkKgCgS|~Kq;MBZB?_Qv5TryB}jf;!R_t})@ z(;})OV#V1@nav-_olaN6YM#xHm?f|HvZK2F-gsx<&@&zgX?*$!GLpyAj&O!!zY6T5 zk*B9QV2DAn$qIvnUw+?RG--);meA3hE+{IJFy4@6S z?J5dHw_iJm6GH1AqNcVsS-e^IK~PYTmsdjDMvF1H*El;nSDTmVIf8HH)2CBcPREFE z{pGH;2?~;av$e6oDVB*l=HLblTyJih7MD?yuPQq_Vf<7INBLrMnzMe z^KmbQTg!gzc8?+}jcxI4V>7wJ55QjUmAMCNFN$ueH5M?@$SbpH*z@8E#G7mn%XXiX zBq=3YVuNlj!AhI!<#1o0q~C#)yM@JLJ!;PF>e+4RQ-1I3t7bu5tIJ&|XxX;q`5qpW z(*Ptek&%&zX-KRL3=$)e^N?PD`4XFyBrYil#D_}btdykW%;e-xkDGKfIn-BgtCj*} z3hDRi%8JQZ#pZ8lY^=kWQjMelY6ibge(93l8aRF4ck%k7PnVVf5SW&_x}BqA^L@dc z>w{J*@54)+co)hOD6XSC{l9g_%|ohQF;;;>9~s^rs|C`?uLv9AS@XEO^=sC72=pMz zEy@N5x4U`1MWfNejR74p9{J6QrnosJH8-zav-R<5s;wPMKp&Co5;z2+F&%yCcO{e|)QSS%U&<(TNpG+5b zL$R5O5#elP>F0xs=Ne<8WOo&PUE&)xKCU;=-F1z@^w- zV=WqqK0jvUf1V@5Wip(;B12GpI)EJTRQ5VmSvhQpp`iMpn^N$@YWTI)`z0Dg(MkgC zo!!!x43o*6p`jLwB1n>v0n@5Bak3_}Vvpf(vcusNcJCveRK4A}rs?f{2>AvWNcf(b z>gvWNCW?vCdVRBZa5xQU13L$>uE-vq9372|jeYd}ZL?velzL=cVyVQ^#tvJ9J>m)G+q zlVEZ=U^#uw_useTYOBq zm}tuWgc3D9{pa=T*B?HdKYNDNC{g*zK$L-g_|vBm>;qWh6E1}fRQ=PI6CGHYCCq&s zxm^JYL$(Z>p41#vq+Bk8H6#TS;j$f~q$-c(2T;ya1(fwgI-8t111Z_Ui64za{n_$w zSF@Gayij~N$q|ZsJ14cCV`JR0{_h_7C*;6Pt>~c%A$?N9^Uh~abv^a9q6BUey2daGiq1F4&!Ei90sV znj2b33*QLvVnSGk)E8GA2d3)D;$IWho!QKWK z4}ftuykvNTz}$l)kAuVY2on(z5%)%a4-ce(z?)GuO)af4{VOVmI8N^FZ{g9qyB|Hh zBdR7R*SWNm)4L2r1Q_RJWM%E_?k?85Tux2%UV9BN8hk*!1nq<{90*(;p^X~mu$tai zR19ypWA=G)aC?0nYh--i1edViJ>6qZ92bLEq7Ka8z(CAz&Hbi% zcdAl|+{zIS4I-~3XBmmZ-$y=+`ut@?Oorq7)#%k-ZO&$baQs)>JAWAd<(Az(7vYtX znn(6PG-*ox=Hp0|EUY1dLZJ8y><5dlmOelrav%64orST;7JVDyukd!biFJ^=OrE`+ z8RdYGHYIUp|Dp2QC(`D|2a}QK4R{X&8maaQe^xw0S!;V(6Jm8G>Dx8hMHofQr|vz> z#LZbcCMZZ4eHqzIxg)8Tf@PmpG&mGU#KBsqVxdnY`|K|^-_-Na>Adb%b+e`*MPo0t zbmvRg9J*8oK2=fDE?3nx2L;E=1vlgobcZH9Dc4_rnv#3;P$y()4L9(;_)zJ?Yg5&F z&mi@EV_bBa(KO>CHEHY^CyyVm)boS!wOd((n%+0s#@{QeD<-xs_j;yZruDhvLam^n zfVc9(>-~M$S&%~-7<`3fQb9q%?gT(FOZe#N#gms}N)5qf07TcgUI4F#imX^MCD>XiT*^?j;y5=7Xys21OSqa+-&~~8eQr2q3 zc^7afjA}hQqNAlH(rW>phGHY?_D)JhmY0L%S@xj{VtX@y@QKwpc{S%=?W1E zZp;deYM5?tdZ+NWcr*3i5%tc$jxet!jHnG?0xwi{DLeI7?n~*godyaWX+#Ux6w3L=c(AYK3&QDH4Z|p4@nO&b|Fe(M2 zdTM<9-do2^4_$)kmxW;6=iw0(uA+Bc?iQV=>?JZX2$Y4Rzd>aHn+9BOPgSMY&}e>D z&60??0-_gPaylf+1jVu}%+X4{i!aGjdR#B%EzI_0Dd!^-L=)=pI8Z22EJADcAC}1E zz-6VuU$XIa%t zUi`oJZxj_f3X5Ewz`Cw*-qu0&x)rOPK{J(U2Iry;fk+=Tt_wk1r5(sNXcNY!q~QQF z8S2AS`S<2BO@eN?H6c;E5K>(HdMMx^g$gM}H8XjIH2jY$Zl9~SE$}xjE39#;1#P_? zp=>%>OnyQZZaopcwx5H|-GKk$Cz6c~S6^0zXYEMwgLdxiqw%{$v6m#>ciE-a1&AT9 z6thXK-k{^O>RA=37c`b#D;cSl!;jGa5YF*i`(ekYVs-YsAg9d9+Z2Rr!ksO;sG}p@ znGQheUtD|j{UKs)XD0}(_O6om!chr0Ew`xxR2`Oj9u^1mI(rC(!|8X z%R&|b%Wot~S_~UMZ=C}yJTNpA6&?L^Wko?{3XXL^k^s*fZ-B%MaxM5bApQv(8tLoX z+1agGBWPYe7j>EuhA05qxFX{9EA8j%Vgsx8IBnI8EG*d>nRThq8|yJA(*({hWo2at z2VMf3L*R`;O6F*9|K(fK`oPxaX1ppyfLpa92z3n&xGbF<4qoxBC;)E6oLZ#i+?xe0f%@E8@4Lr0z}=g5$9ZhhffeRv=l&=lCZIfd;D6uK0-TVF_tz z!NP&QKGk96S9(483;!4#`g2%jx!DOOke7J7kOOf##C@J^dGFBj#5~sF=R-|)c~9J` ziM83o9OKJ|<@qbRW{9iS@z%Zu;k3(TrAn|zE(pZRs9_@oq8aT_MV2oH9$rr%qSfZj zNvH~KAT)G{EzS?e(l;~=w?mI$(`~O&#$Kr-H5B~5E0dt-gclUJ5IB*Fca`1G2p7Rq zIPd;KAsQbB@m*TNn99O)1XvOm6(UqzSV&8^3PcdFTKf74_V8xy?Qb!WH_z*to7<;3 zuu`OCXCI$kz)>4+T~J&+yY0i)9d$KPo-lpzdSOO(HjIkG8wd%xlRlV~n)(PZ?xy>1 zL8wwJqNn;N>o`ML2G9)*li>4N zJ1Hxx?Xlw<3U&#J-kS79ItvgRc;VsbFqRZ_m%n(jgN~R-`6U78 zB_ayL%F>i=s^UPc15}ZNg~b9SYrz;01pH+{2(`1ljkk0N z_=JC}#V!!hsCULaaMsBdq#Om2ZZ{PE-cA3y9&Os2tp7&2qpfxygkeDXx1wXPWeN)i$hEI{yxWbN%&U@8b7AD^Y~ z3N0r1U?xxS;F_A5!M6hjf9+M3oOt*EU!cb(^BHst@3p3Ob%fbP7t^VC6vYNL+n zBl2}lFA`T}G{WIY^L)59WM#aCUdE1nDhiqp+81|^&v@z}gfvdO625<4n4mxU%>$wY zL%4PAw6KT>*oCR6`bcIr`2r>aCBe^qo4x@6CB&Vv%!^$cLJW#EyP;DDF z2(Q|fgT=Jt*sZp-@v^d96JJ%3B?Qqf1wJYjAwy*wz;VZ<6wtje*oDBU-P8NO#wbW|NTJ;AS0}=On?1asE0QP z2PC-iiprYcD&vA2=jSCbCWOt04Fjm?X>%$rR)m7zLjsN&{s*#N?)69DWC@%7(WB}^ zfQbHT}}DSE`iM_=-MWWue#Q+Ypbt|NKm z$tOyHa-es36Ct%7v&!*7mJlG?7rbQm=Jg)SM2kJgBXn4Kxz@vqg~geJs}O8hq}~5C z`yJ)@LdlDN_cUhsuV7JMzBpy0EwO|8!qCtV&KUp~yS}knibS-)YJ|6>SsY&k=HXMW z;&4L25^SnU5C-)j7gsT0knb>`spUODh2jxz^S#_sX#$~1(fKoXZJpNPFYtDeKVV4|Vq>(1xr7kgW;Om^7d~~a8gr%J@ct9a|ONS+!?E?!@cIYrNF#ML| z{_ynqNjpdAAKxEBMUt$uR zL{g!Wwpevmu=s1(cA>i^!WXL@75wM0@+KS-0Bj&sRaF5|1eLHagf6g%*JIZso4<(X z_FaVuY>q<-iHX3zVM5^1QJnn7p&$6*-mMXiO-`1Olq`FW2LKBwN2!uQN&_bZ#BrXq zk+0=O>zf$mPL|Z{f1w}Bqqnw9Uv!y$f5c)Scv!0BFY?>kEM6>e^YJl)>@w)W&&cR9 z3S_&|ASHyQFX{~^3nZeDc0xi45-F++&erCnhlssWj5r%|>{Qm7(IqAQ@ItVs_jj*F&Si;8U=DuGmtS9c$;c+|=u_Y+N4u?M+ zYgz$CH-@e3>+6&92jCzJw&>B(5y@r25z8j2+?VQgfhC<7LtP5pYz$uq`cd#n<_&}M z0v0Riz1sd=?6yN#hv(q=`0*m>R$a(WA;jDUiZ1MLWqJ8*^AjNyFg~D02ARhFwg6wq zSL;&Db9&NV25rW& zM|q>5=yN0VG0%G&q>WvKD4+<}hW}7(R`FGgs1Ua2D}^EYd(HQHvUc*6g(FlbePl)W z)Ytyr#fre@e<+=IAIB=umxNN{v)$G%<88&+H(?YIW09oWSw$4191J+dBQCD=Q1RlM zq*F7z9I>FR1kC?H9r*M|tP%(uZ^7~Y-Wq&8KbxvaufV8bSXid{9x;TFN!%6@$-k`h z_9rwNOioU27J`afGII!^TFCSvK7%p~>IzuGS7l&a-rh2yNrlQnYrvo1O47e$q5fB@ zd{qSYef9N;4iRdam=Af+m=G`VSuoE*eEsx9C>BkyEv#bjjjf$9)X{ka%n`spNy*7L zohOV4$lKM-vJNiJ&(DEF1Gi*9&Ybw~x;PLvh)GDyOid905P?}c*`-TxVeH`$(*R0- z+PVO14bXue0qTB82fobC0{NmOLkIIT$ccM9kpuYMeiD}_l|La#YiGJ)3*Byr`AK}5 z-(P$p8uvs0qvQLP4ss`luV1dm6l5W9+i{RMSEN!Ao$e|1r0NlNW2d0w7G8k7hhpIte53L*cUpQk$7 z+Do4AdHMJ-V@K;78vb_4oOgi&rWG{j@MJ(s7yMiyR}j)VUS7ZN5nMp~W+MQH9lgOx zOiZkNQP(#DRUvHaqRCBf$xQdgW;A+W^AIC^1gl+0Xn~nK@B>+bky^P$CB|zTYQICj zR>)xiWPm8a@gBseyP#QJ{0m*$4FoRUZj4F>Go0CfrMk&dxkx<_!&Yo}O`e zJ|MuuSogR1?iU%V&AUI*&=`c14sPMnRY|DbjzA0}&BgT-cBfR(`Au4wYc0slT~ZqH zvP?@1)1Cq9Tx?lu#ZM<_iG;tzOOWZ=7#U4=U6N7%-~~x6n3lo^goqTxM1U>9VFj8} zo9@A|Qp6V}!lyJM0f0_y6EXjl)TM3UXP@uP_Q)*aS3Ve}K)kgpC-* zER_c2IOCf|+XQ54JKqxd_VkN-J`{dj&y@qR_^cXGL%qD!`8f11Q-0_tVHwx`T1{;G}n>jk+k}?kn;dV@%A<S1B&1SRa!yNedx#J%`t6Rc;54Ao=)jb%c;=0 zX>&ZwH|B;xC#-)9Ai7NS5Dr`4K2hPnr{&gIi)_#yNYOhUWybIjb<9@3UJ8>V{Z1GQEZ5EWo>ZtMX@=`@y z^0&_e83-JjyT@a1Er3=_Pv7*ox#e@)+E3N|dzJc+#Z>a> zqub0)?RdX}|A9hsoJ;1ttTkInOQ|{*+nYK72!l^ICP&A{j<4RqmL*ap%?clxzlqms z#;rCtYT~B#xkyX?-Dm6mk%{o&#UHMJIYP_(b>k`ClIn(S53qAc5mBn|X+#ig;}?)d zCDRdze&?i``%TzSu4EQbXEM6SQRqgR)};|zxm#YJ?ny}Q@MfxteC@~8E|cZiGLC3^ ziYL76+3%>fhflr3#3r+Ymh+^B>Xz{qhd%}s(u7oPJu~z*ZPcD*;QZxme)|FKgjKL+ z-MY=UW%vEKHG)Y0mbI(t2P0EYf;gk*KA(@0=jT^eM(+?`?0+j2*L|*nvN#gs;O;Xn zVAxC{jN5rGKYif(L6jn{*7<1<1#w3U0+klhw{cF)=qf%nT9x(8i|&!#NWt*0S(>*Pa(M^k{O1 zThoV6TXYxDy=Er=SV&TIl^VrUD2iJ^S~e_4Ch6eg5QvdApu4k_Y&c_o{JcUd^g3WF zU@&5)fuTCY8I5we8XYsH-QPJeE;vJ=Vd*@@JJ3TsGJ~t(e$O1`P@Ps=;;CCgsfB7# z+4`&W|z-X(k-G^`B5+_rVfo9ALLMc5UX{odugu;ft) zJ!N7Der~_^1_AumbynVpH@c`u+m{jB!#3M)lp2@EE}8S|L^->B zlyQk+DBolNZX`5M)6BqCs@dDZe9Dxyft0G{=5$KtrIf*;5P#EgwwN{JerglMPOmjh zcjgcRF}mJ<3qg#JkZbf{TyLtoArz;ez*9Q>Xx80#JYuSmNB z;N}mwM5~pr0AbPhZadoOYMXf$n?o^5hG`R*kqL&wySC^DOpHaW#N|_O!tA_)o_s)) zkz^@DHJ(D-EvnIlJUL3hED>QRGE*59LP|C!r9+d+jmJ|b1JSIEw17@)+(ma?Q>ADN zY<>*x+o01y%*@QZwQz%hKgS_oc?;!*CcZz-sHpZjOyLyGn!d+>q;dEDzK%Z4>N~91 z{JcB8WR?^w?hWF?4VjE?Kks{}{Z`A=(D0ni^jX`Ci#UxXY@;>7rP~$hLe6H%vRXCH zPBznGo`hZYb2k*eKga}@GzBGdyPl0q{NRR=)j_f)|#qw7&)-o zfuu8>fD40+fS0fTVDiVxvf`n}kRtU-%2(DNOW)4G>%30k*ZW$SXp0axG&k-gK0I%I z)Jf-lZeW$9zBM!~bG#a|cvJficsgcAN-*)@+!HX za4Wjp2`QBlg+Ccw-8dv?<^6ZF)}ab9h{kzk(5K6@2>J(OV`BpY1d6%`0p8q=n7ToKjK(07}Y{qZQi!R?zilHb`)v0+N{6TfmCIfKg_ zRrvJk+N&a!=KR|nWOO2bXMV(SL@Ff%f4u2m7S(O|2BZlx3m^FM!l zc?t&|URsU&5@L<%d&#S{lAU9}sg8?WjZ;3TRvoRT+xnqncsbGEqhD1Xf|hi^R~-Im zu16C1*)|Yc;5rPSaof_#=fxz*n}$d$N$ph(3%1Ag1Y%(zobW-&D{ z7wS4DAgS+Fe|lsqU5a#8plCPe?{OX?#o=7KmtTGs)KohY&AH z@hy;!z2p@au{6WsueJ#0$VO&N%)wuw7c=_jVVHYt_9L*!sYx^=KEC4BpMW;du-r?$ z*VB97DIy?$I8?<>LR0@~r~V5P3m)74n0x7cqZK{kUsjUDoWiGXas+RF#MBA!qhCG+ z)nJ@1d$W@@CuFo1S%`FMQD;+7(rzyzwTnR{SdsZjVfMOrk`M>5Y@DfStkMLeT~!W3 zuf22Go#Ptc{dz7@E8czm*1eXgE009z6zzY{73kco@}2pNG^1);xRFl2;EY)a4*e7d zB=Ur81vI*)z=_9qrW~{OTFw`*BBW->!pUIM zCNq~rF*xdW`1DYB(bzm{uQPt@o68)EO!rbPJ3l>;zw{2~ORw-SPtFw!z2Hb$CtH5+ znI4b2(zt*u@&Vr>qbu^iTjAlnl>?hG$?*Bux_V&>1+w6ta&D4t9HQd+!;U<;bQ(!X zvBP^L6a4kadsNE-c~*liE&C(xm9-M+{O^fr~@&no{FS9__lgE)O9sZysD+Idz%|0p@Bl z52>OLL{!id8QkK6>=$3qzBkf-+`b!Gd83Z0(4qnV^;3ImmWChfnPzEoW@XW&P}U|Hfs-s3PVZ!@XF@DpC#}5{Y#urkh-G zz+CD|7r7HA&P-#6GRM$TCa z{}7-dmQR_;>NX^?9vG}Z;4c1hxBD*-quF@gEjw1XY9Vr&(e0X{U|p0oZ8Y2W9iq~d z&3JXwy;eRS0=QnblYtIbPI3EDQ?{G@oS3IGNc6E-v4=HeFn#C}Mu#EI$uj#oXy zvr^VCkL$!#PK8+-^j_l)xN2g5xyIk_gG_iIhe$wC$oD1^m;8EV!pZJB_Gn=?o46yTAn0>F{fGCBFIr!j_=cRRAKac=N;jpIBBYf56n5zLmd=t@zq?RV7Pt2k%@CQqvJ3k1 zOuDU5c5bQi2@SIj*C2BnuM+cfhdc(`rL8p5T9axAoQ4N1eoqT6v{SDGZDA4gX9ZgG zAkhM3I4LpFgarC?pc{}$%FpXh|L8sQ#r1zZ737P}Zmu7WjY9r*|LZJB7&lk>cS`la z^I6ni1Z5PjRLhLSV?XaZ%+VA!WAnFp+gOw%rH_>vNH3KAMe9<~<(ce1ZK>8N1_h<1>z}!@F+H)Ee(U9rZ-5nh_VJ02&u9l&2>kl~ zO6chLc+5yjwk!0oy#DvpjR87E6Xi!qQxr_q*Cehmw)hU@y*$`ah-RCr_<$TZVmrFx z*ouxnlT(d6Q@$oPaOz;vG9RS6n*qR^G6OlomMtkui6h`xz;;38_+znGc) zCcleKNZ3R#cs|x|zqQ%|%|EqC=O)gT4;p;#qbae>jU=?5CQ_$f_Qo~?TA5f&v$nJx`XEB@vsyD#+3q4`oGY9X@&qC z5H}_}I~az@W9Ght<{YGHz|@IK*D3PV$Pf6{{Fqf>yN9%XZa<(}_tH8^O`qN=y8;SNkS`E;Kt%+M3t-^p z1Iv5RdIC+OEihOYdOa|`XVM_@JlF(J7?>u=33dgben7x&ut@zo--j7idr$9Ng0XQk z=*s|bhO8xs=s4bgMb{O52`<_GLxdvQ`ej1i3x`6QP$D)2XCYf*OkBW-{94K2tNTpZ zMiP`50ea+jMBTt@Ze`^#*C@j7ra8G%+8h7ZaPskY1CZ-J_ihhE6U)e8aAS_o^c`SX zp^Spuu2_2rk{_UtB!OfY7R-zYq#uqCS$flK~v;=-lpH_=HD^{*;>z8zbyEDW9NP%%kO48wyntU;pl zRR%7C7J+mwI3&}oBh|$IP*j9vr*T?aQ!{76keYfVibLp|P3D3JXZ7qQmn#eiRcl}_ zU|OrvaJI}M45I@MWMkt2A|Vo*g3he~CWcNhAn2fB5Y|2dViX7%pj968*fESu`(edH zslO-77+aC7z#|hxw9Ma|w=(P5BxPiRVU;iiKetZNAb7g>TUm4uf9eqw86K)6#kKQS1 zDZDKdy{z<*%v+rSQS(^DXJ?=?`58dG%R^}2bR+_+Ae}em>t#@Oe(v+smWmiXD)K}? zb<}-wQqaG0Keb-9jviI{3mzF$&}L)MCJZZNW?=9=-|NK;tiIO+&mBfy4}pivJv`+R z$`FO7L97?<_pytdqh7xT?+kov_BuB=b$_a7+=22;Yzc8TB!yyYc#Ica2=7dMm$ zi|x~ydPkWw&Jx$yHU`6*sV>7lIB!YK62xjboG466qKod;Gc=r-o+iqHy;W9Llhe`a zr{>r|3XLhUJ`Z=7W+%DAU%cpjeIIexR%ChEH_<;6-Vt<&q8ANZKHyUHC8FNG&2o7& zxw*NiruM41$YJ5>_93uvm+4l`T);&`RZEKn|e)&jDIsi z)RGs#_=R17rH|aIJ4*ujEdB1j!Spn;Mv<1-R(%LA3q(T4YilLUw~)w!7nX2#1IGte z#_(}@E<*M?T1%H9xxbX=zF_efLq=Kerr*b2F3?dytoJ5sdd(b_7KSM;QUq|C&m{Qe z3pld083g7CJ0HRto@N?Z=VRJqKvC>fsup4UW@E7>P#__X3t4dN7=2_+i0fa)S@LF@ z>c2hmOxEg*x1p|XO&Ay?4qaHx*q9l&Fc1skJ1A@5%Av&=Fk@&m zRh0B}aoGgT7APwQ%`7Z5!`CJz8bFc)hFR)bT9XqKAgh1!?zBL9)2IP+2}V&M>EGSV&dR_Z0jbd9VlWuYK!ydntF5{B)Eyu+tLK;> z8@ns+SRs9hoV=mFUP0j}G(-P)&IF$A(6eN3L7(#AVC&B;f7t6v(rds}f(Q(_4Gm3A zY;GQ&_b^x<{^YWmfsKvGl}Z~&Jb+CQepJRni4Ot-?)YN8TCMRD__04FNj=Raaca>o zdHsvW90QS2gG=?cwH|G)_)FZ(PqwEOe1$aLm+Bdyyw%^(%uMtRZEW~7W6?9LNZQ3A zYpO*T`;)lo7#9&gFmN4#r4TETw=8W&MdenV+^tUaUwHcZShlxpxO-`73ZxaV7;JH5 z;hrqv$N`0cS>g2?>9KQjuNN#{N9VV+FiGUITm{0>nN^^Zv!`f;YC$#ut=wgrR7DlG8JflYD;$fWgUXtYr>c2A z&~LH+1tQI6NPoRkphuxKmS3idIV#G`Dt9J%2K_1QZ8L|!&65vwoV;{OuH*WlAmP2_ zD*-QmKTpdlcEOP|G$||0nvj9v*mqv2b6}TRCA=GVaR(q;1rC)R9VSJAt={M^5v`1r^REQq3~?jZVB{Q$qb(lAW9$6f+&TZZ zLV`9SIRcgtb9C|h_r6|UUa;l-{L=1BJ}QT%wdQKS#uHP~FGeTeWI>iAU7PNZ8NpXl zDD03pLNXd>8TUc8RIK@7g6{9OrumT#5d_v4X-b8JJ0ga}yS-LFwk-pHM3752ZT zQ`F#aOY9-F;aQBmPSo`MH4=V=T<-R@Wof+$x$CByCZW=Je zpkUj^ZwRc|KvTZD_Y~L+^fCc~lFHd^d$7!O_C=5$p*4LcwVj;Y0<3tW7O4S;VjxkM zKO#~7JJVk$!~@?u4y|~utiYRPT*bjiFgRJSbs4^!-vQJU)c6PxclGxTEHv&$J$sf5 zbIuU(9R3q9rF?MzudQteI%q-9OhdN{u^ne^dz;fm1d-ftVh%GkhJkvA>{B!%?}56e zCi6{?j^(|&h6dex&e6Sh9UiDYdj}3|eSN>{=iDK#8yhd!Ok~j}JE5aE9>daBf=4_7_`Fp(_)0y%d*z zJRH4E1mPo1_?EOF>D|=MpJZdAg$X*DqTY^m`n)vQpc}-dGSr;)-Xc+#WJLD>VB@(=-?7^;J>+vI8ahX@o7!47NjxAT^E_`H4V4owu!&JBBeDs0^lX4F(w z=iDV|HN8wOf9C3qARa^xILP;+k~}jn{Y>50xx0{b37q(bBk$3} z9K^&}ga`-jEyd8|)IJpvZiD@4d&Up2k>9gnUFq1YY)^`huZ0K-3fm_>^|P)G&@ly$ zQ0Ai!wSPcCFr1y_fWumNzcpoi;CfG`Rq}`By_BL`u(Cx(MWux8YNtWp`JV_UY7m8u z{eV^|rBvouQQnN++qSi)FI+R_8geMGSq~E6Y*|SF) z{^J4|d1A8!LH~_Cj%i6;b`U|q#DJQbxY1FYE+hgJ5Rij>;zRtuH{4d3CZO_GB&}Rs3;$>QsWjN!x!rt^fq%@+ubFQ zO@8X2SGy!-oLAaU%IIcL9WUTlA$YKbT8QIc3yk7nIXZDkmzf`rT}hR%=Pu;V%b`Gn zLammK&{7uaLwYx~mOOk}`bFPw2G?fHLY!C&W#m)yYXW5mX7oA)dMLzN`ORfr z9v3->4Ew3mBs??1k}V2dfBrDY9l8gGBrbIzNndourpCIXET*xGIHiPkRpA98y-1y0 z3pVGMmX``|6z35nP7B#IBEG0B)IIjAkG0jJE%bE5Mbdb3pUPxgn$Vg z7F9mTiU2hL=jvIQPYeZ2bgwOKzDdf0ANrk|)iM*|z!66$xf6C#s57B+2Wbk{U2d%0 z;f22_OYX$$g&HaFlQd}rQX!zXll}P7CS?(V(r>?pZNV6TU%802Grmwlg=`~v$n^V1 z;%jtOQ;1O^43S?bDIdMmRPvQiM@V(SDsx-g!w zg{piwM=$=|$IAir#hCCY&-W~7NMFd#a*wau{l(l3k6T&t_H8VTjP2;CM_>e+akI1A zq45O}5)d*1$a54n1!647Ebj|mPCN&#@hxd-atugW=TfN=$?}Pk5VB@%LblKtnhJ~Z;e;?T z7=d2$8JDE;iGQm1^D`Hb@>exgGyTN4OZ#}(SinLWW?!%!WMAKYX|dN!9-~Alzs` z&29%RJtIJ1`lmOc<(`*!rakx{phM8E1m!14WwB^zY2QRggE=6`_};8ye0V^FGgE^|`@t+Vk8R1og&L%WwcLWxs~7#0dav$P;VkwUJRTg`$~?Z|4#w*yn^Fy|`oQ}Q=aapM)nQ*tU1b}uAOZy!PS z{?1dxWken9+6Pkq-Wq#&g;-n`TYSoO6p7n9DMm&cQ*Z*FlterQky81H*!Pv=(UEb+>Jhc8xNo6J_ zIp9+qGF(k{ZJnO@`qefK+|i)tsBwt?kf^ne&W}fj1y}c&ZcG)%nfG3!C!U>Cly8b^t-6I`t6Mx3zd3I4WK9*gOV z>7#IHLXH)tvJH~HMBKB=lpyXxGLnm&Qx?S#BR`+<7mh4AvLUeW3iV}6QAg5BpGCc* zNXQsZYmZ!d(40&-K+jF^6DzTzQ0vLMGp+~(K=5i zg>$c^XK-Ku7bztb2u&!6p#kumc;NSF6cEjs8C9un*bfM>QT|V4tErj?4$ZOa9sqAA zCM7l9H=(B1194qOdOEmM2m$={U#G$YSd9Y%=<;%ypbThRNKm2E&@!GF*ovC;7{)E*?&!T*8~_4Q)lkq2cRi1z=2K>X{( z1mc(9E6uDs@4-a~LL1~L2!KUjX0<{yBG_Jm!W;lm=v4T!?7UD@BMf7%zgFz2-q`G? zdsk{U!^>R=@BAJ0Xj10}g}%eP-6GA5x4j@rlx2;XQho<6S$<$do2VD<>wZF9uFAr&T1bmXwS4LtA>J>)sRR$aIHRBims@+b|!zc2Nz+ zP;-0)w+IE{Q~_Hk(psLkD<+6~U%H)efP}t}j?|75ASY)86y#v@31ZmHv=nzYH?ZA$ ze3J=&69M(#ZAnRJDsp-RHxF7-kko_V(!|6Bph^xtN5@I5|ACb7qCkLGum_qe`11lG zEiEl01B1ikV+nC_=-O)=5956CJ|ac@lbEAnq$`1>~q97jGk z!#5*mx(NaZ5H!PQ)APNmnp)`$)JqQ{!30VIhN#_BN<@(0)*K5xZvMOYc$X?m9 zWoMO@t!#y?jLOR1JA2D2Bda1KvNsuJlfC_~_xzncPRCJrpXa&n>%Okv@B7oCR>juA z%Bp25j&nX*1n4rp_`HB#u~vWpD7fL0p_~B4#Yi4eQ9S>pRk-2cBEbD0QwgopyC#N) zU;$DKbp>OJ&qX+7g;nE+Rv8!fy1H;|2jEaf^v1%)g%_rEEB1OZ z$ZS%$Sq0t3B_6WdzI6Dg+J&lzg*jdf}WLQD%&fqz4cXLA>E_=p%;l&BN)4kox z(+h#@wkgus`(8pJ23Vv~ORU3fLdXCqp4W7#5qJy{^RrJsw>R{Ken|BdEA!Rkagr_v zH=En!crrKv{$yGREv<~)%6;0zfMnjj! z>=^@!g#b6?53db3QJ@?ZBpEV-I6aIFLank{SWpe_meR zLe%O46+gU(9zS%};6|R@Rn6fG{=A-z5hpS1dR8_ohJuFwlcEtg`>EtK_ban? z3>;dAozm(G3zN056Kz+67R75>N#4rx!1Wo9e47Ftad?uIK4-~rB9}+`QVZP+_vsi` zsIjwh@t%hH^%4F#{i0~?}_KZAhwQ-Z{v zRTmMqu8^K(2ghy3)rn0H?S1RwGI%Aw+CXPncNI>}EA9pDi2ZOkNr0*(H=uT;MFi%Wtgo%cOqpg@ttU;_bS!R~*z7+9a zeLu*{tJ1^aw|PDDbwc>+tD9z=!y?KHcb$k3z2Qz&mgrfg2%caJ)4QVwoV_dee%BhY zZT(bcT5WS-9-`u45r{kNwl zmK`3QUa18~Sa}SGy7t%bl@tQ-6m2#Bx}^HY`D^g9N@8E(4y@ugG=7p89_1CHtTy|v zZx4`~XCtv?55J5S4lFV2k0kKWMCj!BaL#@d8?C|!p|68eRVcdx@I!=|Pu#2=B1hBsHrWU=lfFFyg47=5`X z;#GVxz$+q%6>SK_fs>FO@pNO|kv8X#XqmUBIFWe|5-bF9-ubo_VhAEOJiNjCJXz~t zLHyadz4P+0scVNk!GI|Uv5+1XMC{f_E@NjP;=3QtlsBmr9WC~9-El6WvW^>^kGG)~BIR)i?x!lJr+=2hEl z^mvQsaxAZfdrfFQxs}ZcfNUC^%=W_bjQj5ICJl6T6P|Jr(SGVUjXzw_^_nujFZXiJ zIw^ucBt?ytkAcH!-|}uKj*wf|y=U$Z6+Y)4cuF1J-95XouL=33zxOrYcd^YeKT%~^ zJ^q|RbXsU^mpFBWJHffcK_DbF>6-Z$ESi>@;4*qm+t?4d4d$yof2Qi|gVV|x$u8n$ zk~O06w4{^K_~z@WV!R5m&m}-@z@tVP0v1&uF~u4g1Wb2Vl~0WmFeUH?I3S{`6aG;o z8|fR@jHa{li-^;T*Qg@8!~fkVP{&jM+Z8zXk&N%MiDWsjjNyjUc*V_Cul$vMDdEvF zxtI9bNHhtT`DB<#k$ecyerOlc_k0d$x`kOl(~dR_kiX{kFu*bJ<>~gU9)o9(Y%h^ZLGQFjpd)GZ>?@E&QhS zeMF$!BW96*$Mu_GlZb(ozm*`(=69|HVXADkIqoK;+M7UsB5Qd3;I@YH2`s#HrtI2^4Xy3`YAsZBDp`G? z$ZK;hg+qBzl0QNiM{gzMYT$QJXtb^L#|3F%-u_$mb2;~(U*N%n`S&1ugK)OdwN1jS&5ey$C^Wy{ zWhdBzpA=%D3UfdfKnMq?%=T7fg&K zmBFDz?muEvBnhRu#_4qLiOoX`cN^$~?ss=6;asmWP`{TJ&CKN}yi^_o5zWnK@>MRXV z2!4MZj1?IDv%sDh4daum%&R>=tH1etyu9X^HZqv<&v57A2fX`C8bF8)Uu7G?X)Pn#zcW-2+DmP7pRJA@5AiCS8j3hcIhR=84z zNN-SU{E`BY;qEuJhy6$}Jt-QSO7QVLtFnh6sD#YSUPocRMOWdCst%5@eg!3$;}tla zecL%(&7(`LgF7pRl`gI1J3G0-ZJ{oj-+L#oe#8)+t#0NOJE#`fF zPSN(MO!-BL-`0sW1fpzDKW~2LlvQ^u(9=~|>D3i`oXdNwR0x9{A)d&Z~poB$UY=2+=*2z^SAapUaEd5vG?!2 z-}yh2({Eq<0&vrO=Z7VI|EVM}YXvH95dD?M8LjBeyjR*z zr&6n1uC)wW`wc@0##cC>7XzpC%-|r|`Tiz;z4)b-MIBwu?Uls%Z;`aZ_nXh7M#*wuSBU=g+{Ro{{lTN7mKV-qp3ly?0<>{Gs3J zE@0O~LcWvs3GnkDLV(6K!U#gbh`byL?H@~)=KoG~pvwb&v;Klt5)i+10H{18d{)dM zIl8R#%aMml06g^qB+A3gU%#q8e-0}6_z4Fsk63KXiom;@lcJW=CV|y6@&&0CKJg2o z(fV|)?vs;m>5m@K=DCR;nQB8{3B_2w95K1j?K*BUh6nEUE0FK_K;DO5t{?(Vu`MT% zK?AonS3wL57~W7BWe|f98wb)JVBV@W{{-Lf-LiY!Uyd0pPY+lgWZpvQB=Wd|Cyc-P z{ERTC$95Cu5I8uECq2E+-m1)B?Isw2o-$a`X_fzH22_Mga?7`dZ&EH&j2>Ed@PJ

    ESTL2V`}Q+6E8cte(Eg*?K)(}I1akFWae*9?k}rS&V3YyfF*LweM5%8&31>0J zy9v`G0KEwXq0HVNM3&9%TpZ|xA`44OMv*8z4TSH2uN+OT=sW)zy!P-B@PYyp0RZ0c z@%6Q0G~n1lq7>@yL?&fqKwC098hR%HN&t0NW{W4(sJgWjlO)(7j$w&qbRhxj%Jt+d#4X&o=9! z4*=Z&!0e%*docW;%#&qm;(Y@&^^#S7mnj*6y_VAzj|Ss1YuuKvlXCN`TZ zGC|2qK_BFiKlr4~l8(AaURU)ik zc&BeMXIQiY+4O3kOBYuCItVhNB67vPvc3Y_=guz^0NG2B<2@y5d{VV;9)m2Xw{G2! z2#-Afefx3@NVAyQ!-J%<6weVd-x?SS!$&0Tkbtf_znHu7^V>eU>RtVPZ3_kJ%O)_KjqF(x)TKjDzb5Ot4wOap; zy|%7-Qh(z7B314A0PUl1XE&2J-%5mo9)mS$>5mW^r3_9IoLZGWN5O|ugcf-IaBx?X z2?l@(0_}Lhe*#AicR=q3-^@A~#MgX6m^Our`bF^+N~55CqV`Ydu8D6wjQ4;A>Ec2v z_2kJdf7r;Nt7hEbhKpJvjf~D9rUov<{aX)xpZo^c4cgM5KhTzfH$r%<0U-b{GW677 z5H6rL-83;dJ}xXMh=n4`eEwWpRYl@Iw2Cn>JFAW!5fOm`$-*fNp`)WSptFXG0UaM4 zL}oQLP5-V0X2VRAr>mVE3@ACo#JtVTbN=7lLK(C6y--L>ZtnNYD0BMqGQ1zkg>L;j z+=qUClC_!N>4w={?Cjvwwhd^#yU+&b;8=$S#QOT3Yyew^>0zJ_XzJ=eAv#S(MFqY> z5vt3iL&wd%4Y&~azI2kT9Bgb*;%-4YqBo16M?{Ew7-)372`hlQsKKoi9^Q1qJZ2jy|M5 z^cre;vJx1+RXFGQHysrmNOk+>le}*}kf{Tp$IJA&lk~j4jA*m%jkPP3BR&43)pghf zFCQYdaqS04rr}Sanqz?%Y@>(m_}rX=q%Z|*S~xm;CYWlA6~ky)aNiCVaA+ycf1)8E zQPrTL)?=qtVRm?hMX0|ZQSrz%nX6M2e<0tVjp843B!jM!M8I>wE`Cwo7@oV*E{cQ7 z!2n$YbUxeD@+?yuWhC;I+Uza4`zg#WvYnwl`y*a&ZiwAkZ9%bsVg3S$Y9O@TI z{vLRta2^mx18wS zK)dcVZf*6-&}Rz>4km|CTId4n8*-O|(k3BQps2W*;hQH=PUBXJir6Z~)&aTr`2-d? zNH0+e$;ixn2Zz zAMgGZk#y=m*#f|(Dzw-0!IiBY8y)=%CK6*}C}r)3ypi>TpQ`rl-PoNbvrJF$PgMh^k zHqZ-*+2ZgAb_t>aq$ki70rILplu+IX)IADnqNe>p4g_RZWgO@~wp!)Xd=VLxWARIk zS>{D*Y9w^Z%76Ymc#c_pxsob-&Cvr`xEBur)jGij!JASid?ry23}u>f2Rw_7MCq#+hKUAdHi~!>gN(z|@xN z&U&nmx3_xRx8m#i$<7-|TDzb;dkcr_!LR-Ol|m<`H>R&n=B`T04ghPvC=q)kGAx)v zJ*%9pKb2jJTRSHtws+EU480w3z!%7m>a}rYA(D_R+h5j;Zi`d7Br%Zv;%>SrbMcwn z-_Lh}<64GS>l(%lWhsS~x+Hb^m70_3>i*mb3}OvCbyl_@B;80;xi;q5x5|QvIqyFt zMXJS;H3R`sIp*yPbyjs)?9=z&{=5|@ExT>jy?g6j6SNGe$kKy}qv#KkGkh?^n0mYa zYa0%Xj9m3O`c~)WE`f4MMJdp#PP9t&(eJd=;jm^{divg=+Pr|I$I#?Xqe)Gcwl_fBgW@wW5RWFQs5)GSh~8QF|@Uyx43Bq zEkpP%v_w^h8b~X~j5IY}KvY(!2ecX>FYFT7L2(T`I4Ea95#yeJ!%m6}_@n$8oIjv@ zbvH3AZH8Y(SC@)2neyO|^Jim3p*Z2dF+7MaadDzZZn?vwl|>uuVV&)K`df15xhPI~Xg&DhM$f z$0wOrCyst+Q^0FLrEZj!`Rue|L%^Bix_CLX^kJn!pz;u)G+ji2>LHd;M_2bm$Zzio zP59OE4&*>RW;f8#s8nC?$KFSp|0OIK*RJT?k8C2(Q;f?Xo@_U8alQNWB@qK0f32{TJqaxRITh61IQ}wuuSk zt^03Wq zK@kzpi&J+54DP_4$QT3H2AZ7S;UCWwajks>sL8|O8CQz1&b$q5RkC%AtxAQXE`s)5Q;weTbR(Hf&|uPpEE(+Hkc{J zt-vi+wu%606c;C_oAAbyip1Bz+uYvHOiB`l#5|Z>ef^3dztr{fC$#i)khk7<7MH~) zsJ-5Wj{|7(9=wT&CFvieeyY zQ=_6%d3drO+ECxzd1Jc0mv0)sh5n)Z8|~}B3FKF-Fxj01T@A8NU=B$9aw%ZLQK>wf zIL`i11uph5o~CYh{wfcM|} z8U!Ow(9*#ffryaMQ#|A2U?{8`z$`UbhjHl#%A1Tz+MJPaxlqH;APJaU0Ix%3uG#yA zv$L6@A$5FFNy!H(s@&nF|K$0gQ6!_FFpOV;z&n`I#SCn~5$V?Z$ZgdS8)~IcPgtH{ zYlPuQPrQgFUeX(F!7-|UjPWT&5yCD9)qrx437_G!U(#c)y<5-LOw|dlqZjqRArjE`V?`ir+pRcmq&iG*qC>D=NO1@QBWKFqop z3_8;odMzaLGd=mm!~^{cNTWTXzxr4+T!f%ps-*DGp`<4Pcj~%`Fs&*p9>S`3QDWpl zRc@x|?wgjKZ3$I&v?Aw0WdMAxLgL@oE{#mfvOppmdO3s^4m}djpZ?yo;NMjuen%Bf3GsC;JIEo{w8Wr>!G%`6`;&X(Hcrh3MwiwxhYPc{w>zXUPPY_`D%$@L2#<$J>zYhV`$HU!)Jj!XbX& z1ktjCFDVI)fO+6fHs~uURaSHapr0Ltdoe-~SNErmUS@O6j1_@9)5QnRu&evBj7AHO z?p8gKhlj|@)XvVXDjvO^zc1d!ML8Ud$gcoF-KWDFH%L5zG1b7hD4(D;Z0asJ$|V`I)7idb%j6gN_~Q z$_5@bo;p2ZKaDr)+UI=zu^I?6WFCQeBv!ggWc+sN?{*awwH292C^*dHW2WDoP zsYiHeuxs|_c^T*5GAfId%KRV zkM1hPeuUNQmF*s-d+MNHL7lm}*;pKd|+;%NjSV<>PF*~% ztqhh?Ib$3KBb~)qBr6y9S#|$~r^6DVrRR%0e}$Y5lfuFmM(m0R9>-}LELEKA3@*(< z%hy9&ejlB!{w?sb;rL$8<}RO8t5PG7wCRs`D9OVVN2ZJ?-(F3h3;*Pi;rJ3?>L1Cn z#o=s5kmeirQU#ioR-&g&U~pcEFmBy>proXfR@FNyV?R(t_5n>RQ^|{Y+cl2;rT{+5 zB1~IKVQWRxKBgV=E8*)>eW_bu%Gdprrw>Bk(pwIQH$DZPSf=tl`k*3Jgu?rq_n}}* z?~FumGbQ8G1{(8YfO4WdPhwMIS|i8 z4P(!sd^t8TqG8S7W^)#T+B%ZB!&~@v}0e8zZBqFg_+I*J9i)()c6vF{yol&QdMSKqZccJgx>G zhc&Y(2p6Fx&BjNpA(NsZqljZ!4^4Uu)nKPIb9@VxB_P+i(2p>SH$0RR5T+KnHM=frF zFB{CQi1a5_<_^Z#hiFXA*Y;{%QqR^}WPSu(W^3?U^EFu(+7ctq+u{?TH*(eQcj|XQ zu}6{Eyj}G%)BEZS%KzI}&_<276d`TRzVimch_7gs*FN==If~ZIff^{x~f!eAYY+qzn!pWr!gXr}xbFIFJQ0)gv@|?a7TZcS5`&{}U7eY|FxC*YkCJ z1MB>Cyu@gTQBbgKQ^=4CdG2QuPKY>Sn)?_;M2XKV<=h!e9Cw5x)5?5@kC0u8H7_p6 zowK8q5r$%dXiB%x|NQMkaWlp28fVH~MFGN#=F~Vd+8ab*@on-#uZ3__+g)7-G1^4~ z>l`>>SiY@LXeQ3++7op+*woCR-Rq3p`k`RZ-oqZ*!t_5l<(tB3fBWikd;K0%9G9?u?G4*!WFA3wl`JY{ zuJ_n!8rh~3OCL4^icjdacx;AdPSCVM&&RxeYSGZz{G=6IqP0S|o@R7LTFwJ)>|uiz z)`&G5eHr~bjD7rx0SSu8tLs$-&im|ERHY3FwYz`j)r+$hK4+|QSpFes$ndPN;$(b} z_SnEcsbMb|{|2v6No>e@&NI(qX!hDmV%ZD$l9x38k_ zbS~6?<<-LzfAuGt+hOEP2>Ovwq1==5gd9iJO!CgRajUo@$z`Zp8HEy-0WnVZ?kfdhF`irPO#+5 z&Dv_v%>_Ri&{_pxD@^Kbt0$0Xm^cBR^g;Bh2rMK5nUFB&-hV%zIG-4ynv2F0{J27l zbC=ZYl8HVr>s#{S!=m1L1h9vN zgdQwioWXq(WgZL?SQVdDa7C&%JFz#N@AkkE`8_I~@RK$QW(woTM7Rv6@UYf0>D&!^ zdHnm$oY!VN6#C=U6c^Kn{Ehv8(Sc;;2b%JW$%=0#1K>T#kAoDLb7tvoIqP<)VI6VH zECt1sd0`PmhNm z#?aJEZ{jh{d_H30`z7z>JGSI;8-Sn3i?E4kMV;m~vlTpRGJ)O-kh|f8mfrZ{O%E#~DJA^`?EP`k34eer{!}4F#6DKgFaei_ z;e*4R>zER268nbFVUI>4)D0xM857hi_(i^N$$4Z?)B;H|SMRK9jqkG|M zGe`WJa-E=>7qtzG<`$?VWF%v1CVWwRyZRtk*0pt4oLKC}I?5485Sup49bLs8NM&`F zXnW_5rqA&&gNQEAb%Xp4cxV#^k=Rc%X&d`8edt?cN*Cv zEbH)7rTp^?2N>)KJ~;wmgd=do-JCqdf{^X}CCFqtc<^J+U8u&Wn(qs&Jp0tGN}3ai zd=^tVo7gb3we>|BA#_0t{c$lNV&wwYJ2McbzfZfw zuT2Wcp#6}=e(=&U5pSJl@6Cj{0}=&Uv&yUVum~3uu+w5#P3G=EU1!Lb4USnFYX;Ls z_ZBgS?E1eDGdPBaV5|^!Lb;f6K6~^8pzm+1?0xxD^C1ezb-pzK#B+De4nZ_mzWu@% zuC1ioaTkmLk8Y0F(>|=xvV(>@Fy8yNna@V{E4KGeAi565Bmd?p!Jw6#XyTikk4HjK zh`=D#b??0S!ijWt6L*tO3oGylNJ+$PPW|-P-B^dR-0SAAWN7X` zUVrY$x&8P0HwVH4dZI@2zPGG{Dk9T={#p+W4#x4Ia>h6PE*@A|d# z{if-ySRsaInB~jIrP=7O)txZs@7zA=f^o0xUDNA`GvVT(?ZV z1V9w}ReS%{LI66p%&)=@S6n9dzR?gv!awa+eoKF6y)PykmDyxZxSkP(b%9asx_{il z+1$m?0G}5)9Ym(HX?_PAB{9bRNJOrd7LGO*!X{zBLmMG+SoJ=cq2^i=slOSP>i~U? zV^BR#^)j&xLK%l1jV&lEi6$;+V0S%`m*RWUSzcsq`NF4cDytJ%7r;ECxckPaOuE80 z733Us{M${g0ayTj1}&h?rw<>l`(HNDLFPqX9uvF=j0GVfu9$(sJu$H{=)-|jGdfz` zA|=%bTo+&zf>2ax=}QK^JNLkf+uYm?CTpRw^i$)D3v~Fe(~_}uAfeCHSD4AC)R-yB z3tIM!yavI|!P{;%WSQI>+5wp5l9`yFAooKzMB!62uh#qFh!^@bV;a+7;tn{c5U{ig zLrBOnQ*st=`;g?3tK_3c_19a$K>+M{VF3ZmtS?_KqZMwA?mZZh)mLEFEP33_FzMuwYYswEU>b>99Cn=x>5a_Oa|kKgrutW#m2a%rf!j&#tm(TrPPqTQ>NsZ zWWtE3ebGUTAb?FpA!S;na!*TpjEKNiLM~3De-vT59V84^?2z}?bvL2TPqNYSlrpb! zi6vd;xCiA*zHr8R5FEnL9#cJ9Xi!*lg-Tp(+xX>rSv>;8L0|xcb~`W$z;|2^iTBXE z0KPlrty@^AW+6;C0U2Zl(`J}kuOA2s3L?j=t*`k5E*5_gD;IM^-yCY0Qz@mWx*i;JP|&y8M(T&n{UZp zyN@xiAbCpS59y4grJ%v+9rW*rmPW7Hha~R5P`AL;07mct^=WeY-44SG81ns}yL~jX z?VE@P)$;}Xox3mbAh_Z=%6oz8i6PQpkB8yNJ(wkiz>F2(J5?<$bBq5_{WUl?x40}T z`}*o*Ncx=e`@_$PCIzbjCvNcLC|U7vCpCc*dKa&^|? zw^nq!^o8sK3}$`4e1?dc{#Sqa{B~LV0OC+JP8|dq2GE!J5OxosQe~Vk)9WSolKZD! z=bFQccObk0ZVJ`V;7m}K9r?@$BA)mhl-4T!cma)`&z-07{pC|pS!z!h*eh5j(qgB( zzin}y8~2uCou9roqae%-6B5XtRr(!%cl0(tJ5Y4snSG7+ud%Ta*c3>A)i2gR)9AU} zA0r8nOHiaOqc>0tP zMD6gO4h}FCPB2tibM^JTge1%^JW#Oj{=bg8x`fBShExr{(Cp&BS1Yo&yZiecZEZih zuaBbAC{KmUtUz!8925{?6g72fuegbpfi{XC_`wheYIhEke+V(EFlkYL2GSmIl0zgl z`oOPW(rc*nDabnF^~(~Fl1J)kCI;B1G_BTQ#AI}rdE%6{Ehy5E$|U96QieeDh<%*Q zfjOK^Qe&UwpCmpBhypJ?TOs2Lvln%dz2PF`VW1P?OR?f$CePoAt9g|r$x(lRLHBwc z2UoFi25mg@mdL+k$#aW0cW5fvv_k}6qbhKlCsZY&1A-_URpaB5eu>QY`IkR3&wpH< zX8O?#T_#Q1uqjKugZdI~c2=4=LLPrpG1(~-gp6Y>WL8AhO=Ed|fY&CFjs5VyV7&@K@nYYT(1|@J* zXZh%VwNQJMG~t4>^pVgUt}>`wwRf$wI`>!qDBz``T_@)sH~Ya~cCF*Q8V(z!SdjK0 z34s`hL9-8ZB1v68et@8$8yFmrF#}i6ya$!w=HIj24aug9V00N<$CL`?V*3T=r3TQ_ zJb@HP-IowZ4N5RrPGH{Z3K>WaoRsqnl9DZe(`8}lv`Zh2wE+RlIq<&jzdCk;Tyzg9 zbV_Qx?-yB!A+Kyha{v-des(SBTzprYJUvwN08#}i=(2kNaT1r92!UaVz}X*(N=?PL z5+l*WKmKCLC);AGBNfjI%lpHvhGrKilR?j^sG{;;ygkS-%T)LhT0sGEb#!$(2O13+ z5UNahiBj^f{^CD}|L?PDZ!%=5Rdj+%EMLRV6AB}{CVE#>;XY=yc^!)z5*GvM+cNk3 zO&>-0r7A1=x!li~jer*xYl6KLrX#XWIOMPH6t|Ej2*r~y-JpqO)l3PV*E()BkZgDC zA}bx7wX(J^{U%5suNtU_ouHePze2muNEZ|pV=@K^w1~G2b``_5+aLzp0814-MP+5p zu)$ULONjCF>lhiOCMH70uFPcle-xPl>utDWVC6*x6x@T$(G00|WUm7WexY=C{t&8? z*n>&;UobI6bWZh%iLpi$$U_29SERl^_K!-~Tf1Ui!h(e9PtF~p-+y<3UE*B|$b-U0 zQFCsXQ378AJawQZI{BLk0=LO33x$}7>v_Up*8WdY;tkeAyMnRx2s?C$C0CfW26uMu zB_UEJj{~REfA&1dzerUI7fqH;yVV~V$B*tW{mVCAOPM-^ted}2%5?SfWkMv*HzBN_ zP|brUJU20?zeYFW2NTDWlh4ua>^&yv(bA;1AS$Ux z=S)j4d_oxK`o9`Z67IwLINtFa(rEsD)XURa8ZkE{;;v#CT z)Ty^>ZehLmvg*0^hp-!kQu5;l`PH;?plr55Bqa8Rn0?*CRYLdDcfGZ?`}QVPeO;m5 zB6*m4YDR9%a8If5=pnb~XJ?LgkJFb+v)pI%YDG@A0)_>@nLjdX+jYj5i%@k74NIpU z%ZXPOOIB;cOW}aJ6u#TvVA-jkBAg${4&+C`=!e+zK5wg4zk|3rH z-d62lk52xux4YZbem)?3O*6eA_}wlsNFr|D_lmQ-Lj_KHQK2!lXLY0V9*tm{vq?W{ z4M2w{evu7h2hysxrpDkAG%_)%*ds=c*H;A8$pWhkrcwtcK~4RzMNi|PK_aF_&$w8f zi00pMInDQR;5YNT>Guzy#0UtZN*pUeE25JFAlFP`tbOXwG*p5YEI*eA6@HswZ~oHN z8>E!Qg1pd`5BYU5TK`2JS)BuMf8eH56vY`h@5>}s8xQIH4&TZy%YDeJ^qtd+1jszEtJfu*boeJ)K;{%kFBkY}|G%?|pd|s~1APQoHgksH>vgiw#1mVrpZy zAbH|>=;#?SR58ijdV}Wj=wJSVbQ!Jg@CN0gfcT>#-H>+V z(ew3mfZkli6p4s7)ay;8>&L-*=#IIsZ1lxn6h?#?IV^>K@yUBn8_)hu9KpS0< zKQWIQInFUMYLGb|gIGWHHvPiq8C20OCN_n@X~4b?=y_E{2y&nAQ_fW2ir9Vn@Z%8{ z!#jLA;Tpgu=eNN?U~IFf(b=pLJeQPBQP!k6_jNtmx{s>YMu&#>_O%~=Ih?eIR*$Ai zVzf1Z7cRac#u$k|X?~Q}fGCXOPP+ac#S#28xP zzrdB!sGONUBx`s*zWAtcKrIm&RHUh)+{bsqbZuP$T^qXj;g->7h#lRqGUi%HUq1>&{GEyPa8s!`OqUHNUio67fj>%gp z*RQ{G8Knpn_PtQ^2{v{gBA3KqdLtIkR}$=d2V3QBgZ!h9w}d_cr-PR>iCy|@;J&~R zKRD%}6Zc9YGm`jOdbIIiNed}Kbv~mc+5@%6Y>u4O_o`CLDx1RYq(9D!J5_Cbz4^2b ztI2|Aib7O~;h!d*On`6@@zX$k?wC(6gsAsD#JA#0Af*yCCSxt227$6S6N*Ofg`eub z)N8KGTa-n)kosBaUf}bVC=yL(SwzgD2`rPceI`SCSWg2J!wjlmN}KYA8m!%f$~1 zl`;*x$5!w3H#<~3q$&j8-6f?+Oi*+wUVf9uB{kefdoc~D1#@$A7nhG&S-{lM;3TsD z%iOT@J|Y6tzEMhbIkDho7lJ!dRKkv+DhLy$ z$pEqW(h_SP%o+B#Y0j>*m^nD8VqecH&dFz}>1VY24Mq3-yeZg}*Lr~A=PXQ%U+$t~ zLVMp~vz^pEwAzCx53S^4VsbsWKO*&}J$AnQMG70mlM3skrLq0x;p&x@)C{dzb8HXU&&0dc{3xI*P{qeF$2t|v!oma;Qt89=JBHvbBO$~I?jmCH1 zbbv{v3y&)gpdO;P+#p1mEgJ&uDk`o;Bl#_Z;hYfmSP#q;(DfQyzwfb;a$37b7f%xTt|6P-{s*M1*>3&sweyD-a%Ar6}m-hwiJ>3e>Of zET}}(rK2xb-5eE&D6P{A345w_fnVE4>l&F7ncL9!k#t^=3uXC-%8O*f9k{1|b3pIe z*>I6I7>z+btx_0k@XW2eW%$=erBZ1*th~Rb*0?09pm&l?32ZhyRNQ zEiWr$>T!kV37B|X4Ie(BOL=;V_{=nW*LVExfM2M3?q}l9FVXsx`{%M3s51pst_`Nd@O9c4A&F{O*+**%MH*$ zfUOfzF*Y?lt!lmx$J!MR8Kfwoc6}Qtx`#(cwOlIUJQNUsh5(f)tSC<^Kzaqs$)F+v z#OnyB^--?J5LX$rYZ(z9ZrtLV?l7rduy=Z}&ff!Q0C*KphupQ#8F_H-Rjy<A$(f$ki;*+bHw^B5V9}O2 zc*;mS_4@}k!`yCbn%#1*;8W)Z-jUM14kW6rWKrF!e};ek9m&FOUxfjhY$t;c;L4 z1TX0Y1H*=EB0J?PTAZsOMj;h8MhK@1@~;Uxi;|Ikr!nkA5t$SLz< zTmXE*$}0cA+-bmF-Jmi=`(%8VR}9Y35I3i*qXSP*gYn(^sTpvlLaOH0*7Jg)iJ6(l z#>SAnZZlI(TMp-}B>#CwNLB zn;8N3CL3n)Tw5% zB;D{~YtpY%5Y!WLmy4^}={J%bOi=l?2%u!U$D|f@7IyrGlQqPlbpQMbp8@A;_z}gI@ zME?)jh>8h5fC(N7z^Y_*eqeHS0A39k>z?Pi=N@KZ^saD>fy_Cl+!E!jFoC$=;hsA+ z*H(J_PZLTT8oXcv1~SjN?q?5VI=w&gd9u!jL}^h=FIGqKu3O>Q)rDj>p zPaMJ9f#6k((1c<~F?P0e5WF(^7P`0b`;!fx~Nn5+J<`B*vN*==Cd$ zata97=`t!A#oHK)CP&u#&>#dp6&Bh+ry6`%|2IGp;jZUu#IBU8eTA|9(z~BOez0+K zvmAkH`zbUDA%Kys5{fx+6{r{R-MJHpr(Yiuvc{NgFjZb=LnD9+&r3!5oS^&xMQ-n} z{TEN4Vj$E;rbNmWgu$Lg_E(Mx1Pxt8K<|OI6s8tXYNx5QoV3Bep@LNOXNI%j?%p0W z^}%bq^zUVjU$QUtdg#zKX?xIsZ@PS535c3~Xmii-iYeRk<;(Hs^*6}KfCUo0DO!GE zz($UP;iep0sMHYVpFpHkIXV--_Lk6{y7Fg9?9vXCgKIYCioW#MVs0aoE?cI_H7|iWCe)wHAV*dWN$iXAOeF4Kppa?1b48I{kpqOv})A zXN>pJ^U^mPw=un^@#qmiRRtX|8EFVTBb}vOu`CI%-kusoH5<6uCRUs%?^r#nWM>YV zdCr2{kIF_<3}LqHn{1?|C`(vshi(1_0&{!>`TXI-_dUy_NH<_B%X4h4tYpPGi(+8= zLr(?XV0jG{Uh|~f6Jl){l^VL}n$WTel@t|dw}4%P6!EZmGRVK8|JxZQDgq-z8e7yRpd$z?E*X!b&-eLrD7Qnj#(ZQ{LI>v*+ZUvAQpAtwiP zvs38%kkjCby5}%BLnVk`_37;mxPV9XEeCx}oT4_b^`f-$#dsrWMPyza>&c+e9*^30 zWXsB6b9>?r-oW1e5lnE!G($zQ=Bm@zhUOv5M?;B%_XKLyl(F;iN#F4AXgd?E7FHDa zFz+P?ihPd`0G3H9#;Aw2cn&*Z`h^y~)bT3La(KbBJ!$ITs6+BLM%C zl#w2c9^3+;kI${V+lNr6!VL#B za0ohxj^%r#udk>q3ODO(I5vRybaGM@0VkS+18*p`VONF632cRKv@xfr%~dT#p0OmV zkA>sY(}6!lrTgH0)xLT>JOdRXSn=_K99Q5FN@fFBYwk=GCr88}rgeb*x z<$lt_D3+&F#fiNemcI&RD}!u0FFJyZ5rNro`$_rx_Xad>2_*DEk-_q@`vyA7I7!_? zV$*X&!_#jEq)qR3Y~Bq*+lc}g{96po?O+YS+@DGMEcbv%JHDIDpOh?9bo$aXMbHd+ zT)^%3Lp#aubRQijo?zsrhi&Si-uPkATGd@5%()OAKdlGa9)0oJPdxWLzl^^-7iZ$+_Jfc% zuV?j)#g)ELdCzedjt$3perSh-x3z@Iww$ph;;QE^RQ>RqSmUmxxXc&+VN*%{a`_Fb zpb^8QS2)$(c%VQ#H!sGU#&wsOLiy_-rYGswK1s-Y?0a+j%Fu_`FK{aGZNC3u%8FOG zB~tx0cE~Kxyl!Q0V%|HT)|SH*AK^*cVJ4%apb?BtQAzaqBH5n1S@x6 z-5LGzMPbrEy?bS41!xxkrT&a}cmIw5`)e)>!&=i@Q+Qr)-;WO1a?fF6SW#aH51M;K zpET&)tYDz8e|6stzA8qk(p{(D)o0+4mOj~P+^(H`xra*SLGY^#xF(O~BW81qXLlVV zBU^f3O4{>2imzwK&kb9v`gRmixTM`&TA@Z(B@b;=uf>reho2wefAeoZmJGr9AXbEl z#nLWp@u^9cR2TdP`EelIxbi0Ch#7j^h<+NQeO_FKWgb#qbCQ#(X(KHaRbEOyq~!Uy zW94}qhxp#xyXW-bvv>Dc@z`Y>=9|XBqpEJZO#uZMB`fpGhOJ5`MSes>_ByA-7wxVK z;oL1oEC|nQy1n2gJ^hHWSlLj^R^IhB$dNC@t)AUxy?BwNJ_$!oz!*bCEP=_7;A1AA z)S!umzUSIU9A->w;kyULI}cBn9s;)jjiMnj;$tePTTgahT@$DsF4l&r?7tVH z;4E#-DXEUX>!R@99tZIMSJ$!wH&Yw8S{xyX56;6C6)qOJ(7_)}+UJ}=zK2E?Pf0r! zy&DyGk^uW{yTI*Q^52tq-8oh{V)lN7Qg|Tw2Wmt2amBBjMW;Oea$ock+1?O!V(`yK zfDzNo&cAKkaudghh$zB>0OnalBq+YCouBk77KGl3uPlOszydaa_Baocj`Kwxq5=J@5qu48|AUAsb zq%2#F9B6xNud(hN$YjovII_OB#y|I6fEs{X1;${iU^U zCitVvx$8Io-0(?fY3&%2Zt`q@b4!GYK8X8kfZ^Q(K?5jes?J{G7#LJwyuBot#X|K7 z4qg~Brah$s24)ZU-1%D~{b`~7eWGvX?FuLcREX}thHwM&sou;=2=#HS5#W*kWG1d! z{a!^`rIQ#Ep-uDi#+n~#UyY&c2_(#s*pk|+jieOuj&`u(tSgi7+~&Q_OLDhEl;))j zt`I9hp3C@sZzJP7ce&W|FmvbQLJPLEQamqSIJ{|)7#&@be0e)GNjqr@;}qN>q_%Q? zfN42AB8P}IK-?`>rQHVg)tU9wJK^?4Z6$Q9t&y4>iKC>Y?^S?xK#b_ElezokD(kSZ z-6b8qc>L!pk9o{g3n_smze{qLM1-wBTuUK5ZX>W(Y&YlQEZc0auOpx4Gec20tki5iyEglb+Kbe-&1C4k2HJTKW=1 zi$JyddlICUsNnDavWkax$$g{9?m;GVE2q5}w~1=_H?{T3K<&KmWmv<3Pdd%<9@jWd zMwfTW#wj3(t~H{5rHJFueUkJyIF+rO=n8K7{$5C0ZUzNRnqc~aOu&8Mxw!>>@r1$* zy-|Y4Z!tv<&-cp{ADCPpmRA#&o%?w`Y_b9~BJi0ha^V8)-RJ3ALI|uXXkgAvI8X&3 zV-Qd*(2j7a9>>AOg+4azp3BRQf3p6;ESFT>(xYC=x+ly?cUYUd55DPtQ&`&AP;#lp zqPm(fk03rm`#c_=sVcD#Cj+*>pV`%Sd&TvWEyK5;6rFQwf>vDQ=Z9!j*ho~%n6D>k zUmG2*@vwEOe|RDB;!#Uuvuw}>Iu><1+eHX8-p`gWqJ!=hj#JYx%&U7?so6{mPzy}0 zL1|ucNS77(z!%*hVJ)F2{N|40ab6pJ-hBZbliU5Z(0yaKte|6os`^H~JPYF)lA1%mV#pBOLYe^~mbl zoWSV$inj!bhL(;bxFSs^Jza;b3n zUSodf_`9zU7vHD!Y0dLG-TWQmJUa;UFJV`wqg&eI^}f0XKMF-=6bmEcU+;fgvnMdw z;-cRJ?c?&gNw2Y|flSXGrWWqY?u|H?x9Zc$`RnvF+P|fG_AK+cgy(Na>;2IjJ3Y3( zcR44Ztk>qX=o2<#JvoZZ>X>EkC%514TW?K8#!N^F@v%oB0*Sbp!4Wf;@Lvw#Aac2Z zpZFTF=ykb6z6g{u!}E|Oac*M#ugI&@Me|czJG<^hx3iexFq{RS4>~+FpI1FN65*Dp z$n{me8DCEfN#i0p6xX2kO0OV@F4p*dMY{!0sv6KA zDrJDQsU~?DE|(d8GD~&jqQXH6YHLg!YmAHajE#)2)0@q^qSb_J83#}HM~DyAkSASM zvEgGZ_k}b1mv@r5HeG(nnf}3Ep)!fhV6lp-H~r*LQ>4p#9MvXz-&Uw0Zx~%6Xrh|L zta2~^fl1VL;h0_oJL=9>UW(uv}FXc||t1h~KP;Fv5b@NZ zCYqV$(!E06V%=gm$m|vluX?=hq{6>dK0fYn9fMD1oy8ERbo}MbsKZfTnL7&i@28y! zk_o@94f|QqH!00}NdOtozrLj|?RbmVX?DlB#D0@GNte$t#P*zT zY~6oTf|J?VgA{rw!`FIKU#Q7cQ8c6k$-R0!G_W;jKNlDNY(CGgs#{L@be>(gP#2&b zl1K8te2zOFowKX*wY0Rfvm+d@eUY6V*JXvkbc?jUMZwq(OY~~Y&Y_fgQ+@pdQO1n1 zdC)*kVqWw<70Ts_9vAuQTTK=SVQEDIrR0t zXniL~27sV@1_nQVz3Z8;2PqGueENwI(jRrwTa$ZyP_1{*E>t`+vIQWO>K`kjD={prJIkJZm0(Sx~99~Ud(`C%Z7 zewor|%auzV^?q-C9H$K<)>kQY<3?lvyeS$)XI)k*Axk^HU}hLx?wtGSXnr&`I;wA! z25!KPImlfae`9b(w||Nm2PVV7&NVQgc^s8h@f9}w3Q+M#XxN3?8)?e7Kl?NtKU=6k$_^0b6Od7kgc+Cizw2&`VYO z4=CC)gJiB^gVINxb9;N98awZ)wGcTjs`fCDuL5EFa#(ZoXD?@hR3)hGT3VdNvVgyX z(1>Ve$T5Lf3HZ_Qf}nIL<-1y0aWIe>^Zy1T`TCM6wXC2nMtfn0Ku>+bEZAzgBBW+`}iIs;!Qp7c!unX9|v0i4~_iVMH03Df=JW~lSUnEOXhr};wL$dV!63A zE=%6HL4>5L**ZH5B=^EBfiKHHX5ZQ=1l^<|1Ws_aKnQl7+YP?1t``tPM9v-6Kt zYZGfM!{?z&eoh<+!i!b17DtI?4YXSfp+&8Dy&9PvU)*^G?7^8`gi!g~d!bw3C09evIJ z8QOhE9DTK_pYU1ZirwkW_wCqg-_t)26LDr6`IIj9O<^uj{PFzVilOz z>v8(bra$@${>0{fLcjv&zg5|jSEF5z@c4e5RVH}m!`NOoqmDoQY#49ef>g>i3hH%_ z2C&9H)8Jl!)MG-6e-ES|8mXOTH%fXOE?_(tHw&(LPp%4nHlifP;f^50nOqLS%hMC_ z8P?AbBbt%aYj1beYbROBkMU=2@Aa7z4Ggm7FZ=dtA)k(>O2`4TTLJwVc}tb zN|FJK?_*`G@G@F7`in^4#p_EG8?QsQ2w1Ky*@M<;$cgMdYHChMq)8@@(L}xhAJxrTT^9 z7k9`Q9^(x=-lpA35Osuk+vj?CCV?@i-tRH54U*{2iaRh@=n5 zaS=Y^hrWF#r>v}huajz*itYMIzhGI&*?z0?F!a~xL%+3w*}vW6h+OH7?bdUJ0_p1; zlT|O#d3psF=-1WkKc}Z<=HG7i7CGTHO4ZO)biEjFN2*xR|6@T-1XbVLY!X#GKxqL@lwH-uNiz*8 zVc|+F*7es9MH)6vk-mj~1bhPxSZpYUlWG9@zH|8F*B>a_{B$v0Rx2B@%^LF1{4^XJ zAOD495JZ}lD_4HD!oDdhV~>f;bVT4p#1qzi47~S}h>%d|Z+kCv|L&xPAQx2>Ml6Ov zh;2G1BfmNTmW}5SG}E@WUE2rVzWAKHv1I%sw?xiS9ILhGz*%elSMDW6QAW>tQ>FY1 z^)s;H!+L;dDX9JfVb8@`Xre2Pco9m9$ixIYscZ8^iLouv+^~bFU7;^_dB=BQwr0ac zlu_{o!uZTXcVz-^evh5ZNs*xsY||u1Fxmn z@#`&h*o;5E>pQ4Vy^5~$>N*gRnz&nOF z1}W9@Z~J)W4u=}PXs8h&4ezr;+Sd1eXjPj+m@C7WnK|^bno{F$#}CR+M_a?vr0VY} zhGji1QF0YUc%sAJvmzc>sUx2YFZB|)7%T~ji$5WOp|Mcyc?)6d%F`y6b>k@n{}6vE zAdz-eMpxA*8gcWcH@oi}GJpH|_{MiFGD>+C{|%vivqwZ$HO8#L$F57?W1l^HW-$j( zL)MF+zYk35w$H5lMpotHG32K(I~ob$?~CQPIJl7#WNn0*Yd00>p}=vkGA?@V0Tse=LxsebO zA)g1wjLl5W6kP-SzY)2|8Tw4U=pnKP6{k_v{>6G$LI6ngHxaCNdfB)2U%VWj2m-h` z(OvFt0U`vjj@(s$o)Nn!;G&Jh8RML7d)i(3+c6SeXr>dvrW_X(^Uu?6*Jrsj)tx9~ z5e}Oi*DT-!OV&IjR=&vG?z?4}dm=kJ8nm4}J^Cu0vt7Yr!w}bf3!GDJ^aNg9+>@=(Ow4Y8nSKpgd z?$N0;!NyaG@&ogunqb-M*Z1mzkLuLb(LGpeEkP&A@AYgy&+?CCk9Jyf$Ja}12$7XN z#(LF0UE0bC(WC0Svt#=*zuqbge$ z?Xk=~v6Rnizavpd-oZ7X`8%Wb%?&v&tMtgn6JJXM54|si1Sz=ZJTpifTB~i6bU|sl z;AYOh#@n7SaRQhnLE7stw&xD3U8;Eem3})BVYET1zWR|c+um2EZ$h@ig1I9{^5oC;GJ^dLuDC4&@l5@K2$5q*=ai;eO1}vVu#ow`~ z;(!?v#&;p$;`A7tquJX5_Tw2Enwo(t8!u$Dt%bK3KN3E8wQik90MSFB2*<8%8 z#CPIROS-$DgaJ4kUuQ<4Xd-0PX{B8zln6h$N>!xx8!-(UyjrpS_$N6Vumpzu1G;ff z`uF%@Y|jRkie!aw5Hwn$j+_H`_rm!D9nps|%)CXzt4!SoZ`;a2v7u;DAAtxBlHl~kucpYW%@1rXZTjq}9b+usmVf%1OM4RNolOa6`YFv&7 z^|E+Ru8L)lYYO?3ACKSr^Hnmw(6;n2hPG#z2&!tl#Ge~{L_|HearNj}@%A(34XxTcPNjIoS*BKZr;9dr^ba~_W~h1TXg2$7Jl_*-2HS)d3+q^n_Q~$L^faZ!kr8> zrF9S@1-aS$GNPmk1e_VOJ1-8JmH~D-JzQ>u!1c4B)#;71$ob|u@`pYkk3VugL+d8d zqJHUNtIeZT_0)way0<7{7!*Vv1TCIrVEkM3pKS%()<%bv32_5G?2=~zm}hM`aAgl3 zP-nlr=q$?kvf`e^V%F^O62)DBC&rtWu7gVFYJ~otnIvvcXzs{C{l(kFw`lL*#VJ!A zy?)K*iiy2b<%_w}t@mw{_VGmc&qIPN+H4dK8aX1#b!h60{(Bz2&o#ce$)fZ#=(H{L z>UdGA;CB4ZnxFq$HhwzCRJq3eZs8-+;r~AD&M-k4toQFrVyo z^*5WI7ByWUF)yLktlVueKb{ROeq8g>G!Os&odN&I$8Do)!H>qunjPalQDmV9=xz-S zr^y>WOhLYzH?OV+?-jiop82z=ehpWyS@${v8H@)#lTb?LTrJtRmOb5PMup^7E?>AH zdcELHLzn^U)EDA>(waa~Xux`AcfTZ9|5;4GCT}k(3w{*iNb;$Dbv8s!L7TTwE`->S zh+li=by5%oeS(i=16${w zlo;ignqcol)XpiX_h}G>QmT=#Pc74a{)j(yEbP>qqeDJGclqmDO=$++HZJNsjX2JL z>z8)^WJrxXdr`1X5fB>n8$?|%ZGM;$D?4^`|J=(7Gp$%%nClRy@TD^ze2vxmw&;upyyXxDD}{J z1{QwJo|cfloU>d@_M-wr>y5u1EN6Q5v*U%K)uTqJKzHt@&<_mf+Z!}u75HZ$`4 znYgX6adEEWkTcU2d9U1-r3v2JB$W4aPI=-YOnl=xr%4ohN^g#<_={@)bM8M@cuG<) zB2M2(|BfxO&xeY~v;Y6<(+;8jdnpqg$@~AhEZOsI*tR{C6s<$UN>xvIIX3~OSk%fV zM>*eBdDey&Wt*K?C^AvCj5%5`8Lnl2o_GiTiEp|DWIh|McsExacll zZm38V>VOu5y|tNXeZOjz*U8N&C5#Oz%q?L#2UdcXY^h=fRPiAFh;@5n|l(>z_q56&23R5RLTm;1L_piQT+aVIQj*5KVDM} zxtvq-AnqqSN@Dicu}YWY{dEf;R(+*6iLKyFYPENjdUjS{EJLo^RL2A+6yg3QHi)vG z)!|DOg!7q>j%VYF|MDMkp5O|&*UAJ1DNM~1dvM3mC{Y@5wywJ6)$u{qy8 zNQj^sd>S6dV|)kQ2O7`UULNMusTG@D6VqcWEBqV5`I9b}R?ZvkXRvL6n-O-Ns5lQCcAn>hD1>6>z9r? zG@ISX&Lp8LZOJFJK1tG3Q|7T(%x2PKq!_B8b)~*_a945(fTKRUTb#x zx~G{rQ&5YgmJt1ZfLPHt#=M-k^l(xcZQp%sSt09Flp9Ts5Rd-K)T7{NRwivVrZ}Y< z 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�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

    &eH^G}*4$%x7iBu(nd$ww#TF2d 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%0DL? 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

    K1Swp#N05*c|Ky6=f?!Z1r^yQd?M-=+vy` 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

    rHDGUs{Oko7#(IT{YB#5NZnpr<527(L`Zwhiy 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 z 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 diff --git a/src/resources/5-Custom-Content.png b/src/resources/5-Custom-Content.png new file mode 100644 index 0000000000000000000000000000000000000000..089524414953e32e0d78adb309b1aeb0a0e7836b GIT binary patch literal 983493 zcmbTd2RNJW|1XZx8XW{trAi1wVpnaYMur)qlAuIvu_;Asw)Pf#)~MB*QL}dKT}4XO zrnGje^Z5LJ-{1E-=lst(|8t$^x^m@y?&tO1@B95c&z*Oo4D__GFy3IKqN2KjfNP+s zs4fLlQPIlL)11%P*P61Oe=)ejF3W#jFW# zcv~?)qWd|Tib_e<&)wR_+18sEZ)@-9sto$t`Ub@7NKgjdzpX2w>weGH!4dw*)7I#b zp0Uj%XB&9}NL7Vb$xq>&0nygmn%9r$;_9W~rwsZJz6$5#f2PGjy#E35c2)+d{Ueaq zOxJ+-o|~sFue_Kf%tk^&n)i;pn7pjKgtgoqI~ypkl!Vl6aS3U030atwgu-nJ1xZ=n ze;uH6fu00A1+<3Nzr>xNDT5rmz19If$gKHkcpb7lY23ZnbJ*}8iD%Twn*6Zf-r z7nc;1_{XaM01|BejdS<$bomeA1RHT%7h9sOtGCxVR`TCicLz6bH!lab{|)PZU;ZBi zoO@SS_un%9m%0#%{}$opt?7Gi#=ji$zeIZ(`@7qUqiwz1d^~MzHGR+3uPga1;QS4vh)Qj%9#*V@L>^&cxB{~e93hPAh?GU%Vc!6c<%Qqsnf zatac+6(nzqN=Pb5Nc<;M*Nxz4=l}nO$}339C`iiv576_(Ay|7`|NnvsHVSrbo?WF%h3te3WgsYdgwX2OSLPHsJZnl`CBSAs- zj->Q$yd54UB`YBVld;1SVAceAJWS4(AZcr3dq?U#P5+Bt!_CI$pWyx%J>i_*R>J1C z{B3Dzn7sTQX_$-*-WrCNvbzJbmX^ay5ae&mN=n-P7rnlxSQR4qQ{k^Px|Igb0-^K5Lr~Utwf&Y)%|I4{H4%V*r zw&!J29Q2Pp;{Q~a{|t@z{~Wddxc1*wqW^-Qm$!e0|1PcPC;u+awyx)_J41Z)C-n$A2FhFH(X^lckDOAL+`8UvDC3M4w`<-6b7v~MwwkH% z!rb-VfdEaDd46a=K@wTg_LG55n(0=FtavO2kcv(Wo#r}{XIzvu{JOFkoU-E2mD5eW z#@_cvFg!Y=cBLk)Gi9uuh-L(gSswo34vhwUb`JS+GETl*SHrfS@?EuX7q8V~P>l6_ zgZdyea~I>sHN}<^3S0a*Mbor*^s2Elr%!9y7nX>eT)F$~)#l5S8C7fQOi*Lz@o(S6 zi-%joVVok z-q;X9uN+eF?1LfnYh{>F@vP{Z<$JFv6zbLyVFUi>i$xRnfPQe0Ev)m28)Dzo`VSMd zb9+}?weRHC!v-_j{uE%%iBW0B8H}?H_FZc1?9VfSKR$R_>O;J1b)z#sDX79YYY)Db4T7g5V?qEJMWjYO)_Iop;HH;LSIS0S4b^jn@vn*9mFNd-z~zCe9_bt8)ivdVXklyE zn}`Rq)jArCa4(kQa5^)--K!KMx-B~j_P4A`{#!Opau({OHFc2Og z0*IjdYk-CSKzFpPD#xn#(&os-e;;co1tu1A@bx+z`%SgV7<)*^VO}T1PhWQoDOM)@ zG8ST!J}f`}{`XsB@H;~dK5}6j)Saa(dI)wnPD+%p5z%y{#<|FDU&9qF=kdn+$y^fW z#(ro36Z|#Ck`k&;nF~;mnr&A76#ByQ`m3Cr0d352beyOB^U@`q7oU0gusd-P(EdB0 z!_}L1-k-YcOyKwkxPs2yM5uEC7peHBy}y*4a>;M+=7wO4RG+YMNHW#yl45kFFDT%h z_uIPQ>Od`>-G=wrGW4soJvxrnr*3sXxWHV5cGO=Y(@0&L1(Wxc{F;TQDA0a{SIJ8n2TzMY{7WF{*!2}+QMC_W7A;dx1rLVSWhh7 z0d|}9X9ru$6%6ATaa!+z-0MBCmLuR^^abtDmyu+6Tsq@>K!$rPJ2jw)!lk$^xWhUs zZ~*-#FK4AaE-*hFe6%d{weXQ&Q3kPI2V)n67)ce`1HP)JHvKY!PAbr?XObBYE8$tw zkyWV`R;ypM%F6R?*PAI-j<5jWbtpgRFVp;O3`A&G{rQ4{>zkSB=(!ECwP~0YnEy$f zBue-bR@P{>KEFKT@*oL@z~{ zXDUUICT}(gcSn(2EWHj8(Mn=nV^f1um}X_?nGy}=22h2_N-Qnv^PQj1!Q%cUk2wP2 z@b5;j&J0S)#AT*xg`Vo$q~ zGG||zqPV_W%^!S2=xS$fBu_xZA>Kw`g*X7o=};zP!MGvdvIz~7Z+5 zxwCHARac&MUE4{jF?$9Umgs$(F0EMq6m7>>qNtBgV-GRqmvo&q&Wr&&t#3I#J$Yp5 zK*?_xCvouB4aFH2DOWMZFi78wpd;uo+{Yx;7z6ef%#Q*YJSSlQoC?7zY&Ie>?f8_} zqhCaUMd^2lY-R4)dsgq{6k;yLHS1Q1LQWWm4ccU+kdY}-MVX6UT^VZ_ zC8f(WYdU3fO#V0`RJ>g3k+J&W>>u>Q*$X?%z}mGZFVL*fz8QeDB&FCwo*IwHeVpSw zd(OTNIU#_rEjVg87B7Yq^Y%Pv$fg zgFh5dO6N7xNyHTQMSmCd$d>#BjXh?{%jSmx}PF+e*a&Mmn5p4D|s!67w^nf#*8nJwjX3ooh-{4TaAivJ6qIS zL`4W&zh$#R;M`4ZM%Vf%{ybjWyGd;73up?_sf@k4-`u^ zqaG0N?wRcdn)*kD8l-az=$LV*Vyc|->r;{J59iwPUPA`+Gb!j*)?2f(OlZi{pwS*e zS`<8o;pZA0fbP4_B-3WP{Paul!E_Rv%on4Nj2@Er4Eo0$n8f39^y(YBc90MG(Pv3* zwmTZ1NNxg9$juqa6`KQ@Gn7m1G6Nq^@PbuiZmskxyYpH36=RI-KK5dMhLI=MK)6;yw~@cBdCD|* zuMwn~S0-M~P~8uMCSDXbVg9|c(b93eq+@dlDIGOrwD6tb zM`Y0$0PBmSqv~M2JJ{XInO`vaeUa8{sG$zxEj_0P%KRYR;fhzH3N85>j$M|d=>~}? zeFkVd*#pi#c3X&H;9{8!6OOlU6qsO9;6Zmx8_g86D0U$e!qpTSaGB=0p~SD#vD3vAn%v;2YX&WPqqAK*-{9DAxGbE zq19hc+RU$(Qk@n?meH9jSW4GRd0KzOIn-pfS6`WBhcytSALzeq_tCDAV^^y0)WO_x zd$*RdtIBzb2z80yC7Ch|>%Y58V_LC^C#wHVjei!AWY^$z^8MjAqaUuXbXk64Xj|jv zU>jxp#|NYY;#2^&sy+2EZczn>Cca*3|*5c!=v+`XbTOZuf z@fQRKj>)a7<}OBi6_@+bByPl$iv-|~mw!IfmvB>>?#y(4AtfL6t@yfPP#F*oR4GhD zFO?5Z?KZ7Un_7)8!ZL79!pTsdkHp>|JOZ5+b5CayD0+{BgNKzXE4WCGno7znt zHOR(>{%5SUxpc|af3a`Vz6-rI`lTpX#HcBU%{G7}F7VV&?pg8{i?`j@E>vGI zcXhl5{^Cr$2Q3`pA$DElcYj71Th1oOOv-YNr;B{aN>i=EXpPX(0xrtxZQ<~`mil2T zSUa}GmgV4%JeaeAy7p7ng$2E){KGE_La>sw6+tqhw|KkdMXrqFyBdvGylpxJqr1I+ zMcu67(MIR@P_rm1UEQxR(pV8J7gSIG0{Appnu&1~3vLAWqK-=WO<%z!=k|xxq6)9u zWw+3l;l!+*amz|-k8?;LN~7Y({cqI;hkqtL6f`#*65OD4p7zz>G~j(1*&kXI6$#O} zJ~Bf$Rt75N&| zwzYTk6NhTobBjDgjqMuBEg22RBm~=#{bs%Jc#h%xP326&72#c3@Rbra@up*in~1u% zW67pE>M*$_*lA> zm42K@Y{41Ji?^+(7YA;XnVybAkVbQiYk0oe{v4TR(~57W-+RKbg;JWi%GFJ==G|&g zB!vn5)2N}WyxNL6#IObO$)Ck0_E(@$YFf#5>Qxbtq+Pt}8Z9n3x(JYKxxr)`fLiz2A z{}47IZ;#`KM49lZs!K?|$aP9Rc$e-HbTa){DT+~pvOCu=PLPHJ*1^YLX0KBoGS~!!=WlU;Ubsg=@(d5O(Q*h`B}tAZaH_ZQCG^!l#Y$*uRnFdxCW$KL zzk_4OQ(WV(L};WiKBz0X6;o$YkExmU77b^}Bl>X+9*fG?hnJ`tO`Skb9jiLTGpPeLot{xgho|<8h?YFD8 zI>(^i6{zPpYtr@oSy>$Eme{r`-P3Dy`Tzz}Umi5cl_G$Mf6qG6maO>E%auuVWLEy8 z{DOa4uE*6r;ep@Gk|S3iw``=qkPGet|% z`f_+KZOxv7_)N{D<>2DW+o{Am@rkkN#&uyE!QipezAfG2J!dWj#lN|Y3bz6?zV+C< z0T=S(i;w3^MMs8|7Ia3-`<`z%vNNiC;rF?FeJl53x`Wz>?Fgm*CAL2*KlC>R%i8~X z9|z+Bav|JLAiYieYGt7 z(G+7?Z}G?i>yOXO1lw!x;VU$KTrtz0IqyQ~UYQkzn{&Q(y6+JZF{Hm9^vT1sj%l-zwXF5f?2R3cBEU~kug&;?S(^L-Aes)NiyhV-utlix6=>x6jmQFcgjA-G706R#tBh0 z+7reS1iHt4;$QP>`2ww8PeC2iVT)9}E(?;?WRis_7txJX}t=b&)YJD%`&a|xQhP?nzrcDvYIZiYCrtdu8 zdLG`QVMcYt0Pr;~{_gL|)w5J2Jn}OsjoqZlFV(X*dfLjPtVAT})pv1!Qc^n-`SG2E5tS@2RU(WEcO;nY!3_cj{KBGo39# zVf9AEtGztPBAV(WcqlyukH4NDTFaNLQuL-i0nH?^CAXPdqxuTGwFpY?d>jIOr2Jf{ z9!H0GH<|RzF8w>b*677d?iqfaSJMgLZrML85i&{UeZ!Cn;wmZ&UT2yj(T!+B*etNk z+2x$pXuHhi3%l1*H35oSqo`yxWb}K}BGwzY6e}f9Sd?`&?2<&PpRPT=#;>IYjzVF( zrHrGWBn37hGX@p7%mtHy{Mj5n_9sLs%l>r61`AT;_NToklAgZ8bW5=bsnp+itC(`) zL)L%$ofk*fSC44u&bKeZl=Q!-8;hjSxuu={O0S3SmGo~CskC~g;>_fJ*FngJjhp+} z$`VcmM^@3xy~YZ|-z+$iBw=G^@vCu&%7&i?BjqPDX`+n|m@#H2m*c86xOFi&H*zn7 zG-+mt7P@(Do()kel$DqaXA;vR+~@43n|+Hbbnp<2LygKh3#dLy`QAK_C-JD4M38v_5yJeop50$AqTP-a@g)uX1h9=@E&mTp--_H0cY zh7Xr*WQg_AD|DGpjoO-AF7|bbH-*o9fh}mjkEbf2blNk4Ew`L?S6-^sR)4_R1V(pV zbABBhprFlow@So|#Xlg4t!wB*6bBi>B*ShXW|}rRwXFQKDRA%#2U$YAf!R>@>h(Bd z7a1MUbQph{-SZ@Gu0j1+aRDa|fhK>|&GiAu?&WwG-xyw;u(f+u?pKxT`%Z(lzP|Vi z+)l_kb)+=G!baJR+S8d2;~Z<@2IpjoQ|YP%_+T`eSWzT=v!7kj3}NmFgEPpREohAtiM}f?^N5tklM7^sZS*g-K%<-=!;=y0N}S zeq+hXW1AC-r#ywJPR)2qef~sR76>NcFe%CiS&n+t!u!3AI<$+MV zz}rn)*sAP{N*JzT2MA`{%B?mvizmO^yYC{h=^2~BfMKcVTE^5{#wH^nn+>+vkI#B@ zqwAXrdfH8DZ_?kr-LFkUkD%y$G1gEdQ#D- zXp9|e^cO#zdb(9cP*rZfa{trTOb{JAQ~A8c2Vh_l_(-O717RXGX~x}T4MA>1fnbI^ zKkD6rydh`@Y)&IA@nYM_O!SnP2C<6gbQuDOc{5O9Gyz0TxgtsVMD2NHiyf8E*~r_fP21I24=7!<2j z#hchw#Ubn9t3n0yO9Mg1oFC&&A7#H?r`IM)2>vXa*N9H72i#(?nzF=SOHsKXj6umx zH%fEJj01I|3vXv!V~c5|lmRC&Fsa4Ma7L+*bDqg;Be#Zgg*TjmzAfSN`IiD3?2TJr z?C6SIk-I7GBU+#H7YWd>w0qeXG3`Pv%H=Mq=wfCj3wXk5gg;>p^&g&$&VH#`OxN;0 zCo3+IO7&*yamiDWbtg5Q4{u5s2K~BC%KB+G^8y0GeaOa#&?ta{vsXwjX6hIZl)Zyo zYfp2R`D6VF<6f^h$KF~TY~lExjK8ZMHq{Lgl#Qi}6zIdhF`=P7dRYfx8CHL{vDM}T zG>JA@&;~wWr*f=x*h^8c?mWDz{uA; z`{l9O!SqK;KO)$Uh>{c^NhUFzg6WjnnXPk}4_RS%bF7(i?nU7nmPy6A5fL4~o!f=g zQ&)f0_1usC~> zt_H{x!ML~v2#qrqo&cm7Z|Xb)-$ⅇ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%0AkMD!O16;DbVTkT(_urTmSq#eQM}6Okwyq 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%0DD3+ZL1)QM8^b z4A(v*yG=kihpHq8O(C*%7D1y!To9ZIM`DNt!?sQ1R>nW&l2dx;pkVDu3KlP&ZJ$%@1a*Hx=Ma5mi(Q zi#UfWQhvw~$Z(iaK{b}GO~f=*kEqUZIEgERg*VoTk@m5A2ndsmS3z;&D2Kw#IkPW;to^LBHIC-=V1xM`= z*g=%W)h{xAoE8hgnb{{&mhMCbx$`~+3(6-BQ6er>ABXX3?)xh1CAXnHBTa^d}$vXmDM|Bxi z#r_0gm`GyfK_+YtssL9x2X!Q_pYNb`rV!o*wl>IBImSTbmTt8xHtCREkx0Zk)!E+0 z+U0WHe*5i<7cXvZZqC^6r?4b(`&^^x8|No>n+}e{nM{T*c6MsEjzmtUJs!`{p+g^k z{PBk#ddTnh$K!FI&*x-aC5Fqn+27w!2nhy*$z-y;y!_X{{`G_j6IxnYIFY8E<)npU zFO?ZpRVi(7d}%H(oldhEYDH1#67r&=BCpqb_uY5D|Ni^oa5xf)h=v2oD*cI4=yJJ| z$)w-!zw55MPCMPgGT6sJkc4f3kp(GX(RU)6yS5i`P_uY4|UAxv=SDwivQ^{B? z=JWaJL4$OUt{fUPGMS8Xbe4TDk7H1$BnbskP$mj*xiY9)amE2PIL=Sj+1VN0Z8Mh2 zv&Um?O(U|X&`nEnb0X)GXVRIeOtyfkYKdq>RW-NYPZZU#&VJN2w>ue)xV?VO?dG=C z!c9%?I1E+M(y5Hw<4#1AsYJ@-_4tB5&M`oD%m)Se3`BED=!ItSL{=JJ1+xSqhzm_R zq!t=#7z4tP77jG`6pCqKCLO8(N|*!@4W_VUI5-ZYtSji~DeMl56!Ac;D zP*=+R3hg7?cetolV(tfi&8^TBc{`MBXd0mV=V(J+3#=zk%yOr%A_<7xtpQOIWTK(% zKqUvRK7%$9sut7;j>*szI%K2P4MnTDDKVt5s72U2whY>L4kQWPL(V=rw?yWGYehsP z#EvK@Dc9@+8M7zJW*@izTKh=kDn(U5q>`xlLOmbq*d!?c+t48afXK$ObvnPQn)T}^ zo8C{RlB#w3InNeFQKFIFvByj~>9qOXv8>w?x?ZH$ykV56Gc>S}{%pzIaf=)f;c6E7 z4z6VOrZKRbiFYV~C){TVdgh0fig&*Gf)q+1V?o<1l$Ly+qkR;aot%Q;01NVG;4i7 zpwIfy8#TM)W=vPo2Hi!+*|3kbjHX72UsH;`q&ld$yh<`*r0L$N`9KKv2;~xlK&Tpu z?r_~iYlhk_QFDm&&>_GbSw55!!VCa}M5Bzhh#L06xM`G5N6bV?4M{P6wNyQqMI*knwGGyXPem?-L@3FuLyM)mggHa9n~Tet3;-~8sZ zY17F6{N@6pxbhOVcQNoRm^uqGF+8>XJgtSZtl$-Ph4Nbo?Z@*Vp{z7nxLY#MBcao$b9xn}<)C-q+FA*U_3zCQZYz7D}5+ zyst-5RbMDQjkSTT5rn(8{_o!}@#r59~P{izN)*@CAGhd4_Iy zyzc(~e(P9quXPL~#H(yyBtQrv3g`0Duk|oE?FJBnpQMCMZO* zElIziz6^C41ydg=Gf~EhdMbkJ5M4lrj>#C=BK~jtvYGBMDHz4ko5}e0@08w`a_&}cp2h0xAgrY=dj~g0L3*6+2RD)9rG=2oQT%7&Ha0uK`_y`%+3IUDxCBxU+%=4hjlY zp;r|F2Ck>5PKm+*QP_!kI@DbA7Q0Z0D9U$;NaZZB1gt}Lp^jM6Bksb5%?@d}gdA%s zAyFit=H^e?~s^0UuAJO23NUwGk#*|TTU3#LpS1-Kq!bl`?{PD+ES68oFw+`L!7)3Ai4qd8TTwHw8NhiJe=9|wy z|NPv!bJwj~7Yc>wPRGv1)^xW4iMSTTAy5VA2iljr?z-#Vd+#NLEL*m$rKRPgk3OPG z%~3A#FZAolC!f50`SSD6KmW})-#q^K<6nLC)tZ_bDiRV2?~I~G+er# zQB~Kdag!>mYd5|3x=GAwC(KDE5}QAK%h|StZ3wL#o$-Pq$C5En!1`*2$||cyj%nHZ zMYOAP#I)m0lQeAqB$G}J88`8a>u%ov$%p&4Y@9G>-boi;^TEnTOw$~9^1M%8e$F(^ znlTf6p>X5Q&-6@s#4#$CBeFkG$~*S8RIs)5res%+)tv zd4xQQTvyb9ZoE%AH#K{ku zTH&b5^A4O@!#+#IgG(N=B_$aE)bi(9iQE*ab>#~3Rw&mD*RCWVn5{?vmPGMa_Jtv) z7#jFU#2A`8&f_?RIqYh!&=-*?i6jTF!=eb528@n84j3H_pg2T}41~n}upgj7M4>Ic zkNPALTbRJP00@T6guy%t1kuW2`jQ)Ui4tr2Sgob3!s@75f8auKtMmhOvh3I zGDL|O)3grp^Llv{Vi=^XLh%vuz_0IWX*v=N6|v1Z^(2#t;?nZ7&bugWS_x|iN3soJ zQeoR)Tn6NriQ^=KrE=dzAd-Dn1aP5D(i4PHV-770oQ8oo8*PXZWP;)2n82DW$TXnE ze4HZ(LvrvcYK2yfbVo{|#IiwUXX_CqbVPb5k39y?zsM&Kca*s^My(|k_IWAUiKzeS z;-Cd|c5F%1Wk@CoBz>3TIj(?4NFb>0Xi*ovsNeOG@n*BSy<0sPF`A=hTb#7V%(j@> z5hv~RUyQWH%=Wm_95wg#m>;*0M|PM?SL=^$H8hXr(XvN+!iEBYfTn4iHf?(6op(~H zR45dJlE4Kv^aH)adI5GzV)j)~=T`_PIIk*lWZVU_!<@>aH4g?)%K;Tvr(~ev<9RVs zKD7{oaUd4LQBnGJ;3oK);~4B0_Z5x;g5p3`=w~ipK-UZFx_;}ex4!)H%fp8cKYH}& zqD70|e*0~@1q4el4E#h=L05{Qg`E#HDNGZct5&UAzI=Hk5}7`I`l?l{7A;ytR{=YF zWuQ(RwbdSv=ds5gd*X>FR8`%uVZ)+Di#j?wsDjWJs2$F;yJxV3vCdJ{S+;=FS=yId zZ@rafpKrL~hNqu?deo>?$2@vhQLbX013(gXw^~W5~(fw zAY@3vV(`AASW|?D4}2Nzj|9U-$z;6Y&_0tGYVKS|QL+PulOixL(H)D)$%Lx77JmE3 z3%>co)2{q_xT0p{w38Qo_ov4#Jb(PjbI-Z?$3wcmsen*X)$FTLZJ<)bDJtFHXXPkvHSQ4x#9D0x1g z=g9u%&F_8|4Ej}7@%p{RrQujK?)JK`{Pu+_u08McMW@t_tX**a+~rrDJ8D9GGM4<& zkA5_3)-1Y3JG3yOIbBp@B`5`&S!f1Dt)Nw*mJoFi(EJW2K7urGGK}^P1+*yW8Vq(q z`7d|h(8qDVN^}RJefdzLV!-)&sK1bb93tYv8R))I{-ey~9EvE7C}AV4^MBidBW>^4 z&KgV(M{$-Mn>)9P+u3Kc#AnaB=D*1e?GkETIo|=JRLJMN@CQ=?k_MQ{qL>K&#Ic37V7$#7cnLMHN6b(n2v8WLg9k;uqh$u70u)kn-cHnQ zNeoudgz*TL&cg^Q8egstOKf+ zd6Z-QLJ2^BVuc$TO}0k`N#!0N5aQgrS6&SSQHLl*vAyCovOp$O6@eH@*7}ayf4=(PkJStvhFTR> zRXf{SX3d#*{H$?ZJ=W2bkn?oZ1k-YKnibERic7<@I`_(db=w-F44B_x$EJzq#zP%XaVH9k4II-yaABJRXl>7{OrB zpSw)cbPD+W)+wp9q;toj+`i-Y`-8zC`_<*j9zcTn5z!q^5x6)|;@4RIi?X`h9T5_P z$!;k5&>geoMWfH&kwbj+5#dd-o6ei3%)dAsjv7F|T@2&F=z#Nvbax1s%XQpw$G!2! z8qsQRC7_{Y6KNvd0(;rAWsg1f7(Hci(V|67O-*#$Zb%{P zD@A!X*eMRB(-HsZqmM4Q;DT5zcJ8_7KL7mlG#gIkfm_YZ@Q^>Vk##Q4#&>9_h{9lz zC1)8Z0tRR-fN~6aSXEVZJ=59V8jnX!!%W0t9qp~jM9j#o9cC*;%?0!$P#;CEoc`nu zg*3Nk<&VCuxjZw^ThY~cq^s%3Pd@n8Blp!$o;qUc%zxkYorWEs1WU_4 zd*y}R)<&1d6DqH0*tz-Lryd%A%7Ww0K7aim@7?$DhGApJA31#Zi6@@u>+AFRe3U%5 z*WKE9bl=W{>14(*&6R(D;mx)0op;Gu(@vVw+1CBwZ=M)2uDH?&bvjB2zfIbVmfU*L5Oq6?UVG(m!{yQaI zkSvH4*;+&vM1(RS-Av~OBm>e7-3A&E%4tR~IHHo(tn5ux@t6+-{euz!Z3Grk^Kh^r z*|31z_@X8Qat~Sx=ntt>}Ax^AClE8suQQtX;1}TAGMbyGE zb%>+upi-7h+kh9O1O=l|JmC0pLpD&Mv$82y4sul#$w0wFl~;sj1|FwNUvpbW zIZvVRnadb*XiQ`)P^^F=R}`LRYXE*4l@R9$lredj}JGzcE;J~)sGxoR#D@2 zd;0sk_U+#B((})M^3mH>HMK668#M^&R7z2`6<2)ItC3XF*^rO7lSu!N5KE#093{fAfl3$91*oL3Yn+C1#zaCVG##iZL(A}@ zmE$awQju%R2{6xISQ0gEXaWu$Q`l%8kptKlM`P?|n1*vt6az>u4w{QxfT#;ln?wc~ zb<+g}m}Q_#wYQ#8bQoxm>OnUwrYo=broMqmRnU%D(x{Z*JYX^_XLh z*|B5Czy9^FF=NJDcG+d&aQO4jKY#YwXN!xAZ@A%xP$;x<#nfCs znwtxVChZ2ZJIig~J5OeEoPY$HCW|rf--8;wKJXy~T=zkS`cf}0awWAX5wuIo@CZPC zv+e3BLUWzIBY?gMGxt{aWwxoHt_{a02*hyd2dE%%$|QP5#*d9=G8!6lFn9)+ug@23 zdQBD^UG6|%(p4`+039FU1h0;UByfcO1#F0$fE@}=y!dh;6!5fAaHz%|F-==2K=lKK z{uA}rj_qjRb3JQaa@^|6yDuv*4)_y6 zNy=GU?%}oYTMCTA+=Jlvku)H2A!h%V8@#@bV3szv<#BLXbaf~rnnVt>lyz@@n_Cqa>50{w z&g5TTH-XAWQURCJnwpqtm2%9gY6=`KRRIqmH@r%btI5WU8G_f~wB0zln-uhuWlX9j ziPEi0toQJ#fA-ODR~8UN=;?>z#^GoTqp+&O-Q@& z^oSE|!f)F~;?;NbQYNP%KR_c)I4o8*@@{zK8m1rxZdg2y4^3shjZ~$S9Ls?&3H;;B zzv=0u3?@>Z~o? z=#E)&D2HGyoK6}!R}6yyh4|i{k&z)xls<9@br|*AQS|I7?80lYO!^NN1pEn5Q=dK9 zTv2IVoH0B>IQvpSs?e>!DlNM5jJvG#povv3`HnO#TB~L4y7=MP%ASEfR6*XNM$~WS zFnU<}O7l}{I=*GfBWW!c)i02p+?n4LpiL>vWyY{IvLGZX%GtLZEG|p}6PTE{5v=W` zD`i|7ufJt!q!Lwn?kYpk2@5=j%E7ang!f9J;3BFC%*FT={jP%=&H--9cLcSWm=GA2Q zpN!u)_W2BpwENo~Sd*cEsJ^QYBXv%0A2+oB+b^fO!DTJzzYJ}2wB8gn=Al=3ltpmk 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 z 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

    %YcbC{PfT!?3&P*@=vbEFTOeY;-@m@T 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 literal 0 HcmV?d00001 diff --git a/src/widget/index.html b/src/widget/index.html index a2ca3b7..c9c6536 100755 --- a/src/widget/index.html +++ b/src/widget/index.html @@ -2,7 +2,7 @@ - + ', + '\t', + '\t', + '\t\t

    ', + '\t\t', + '\t', + '' + ].join('\n'); + } $scope.datastoreInitialized = false; $scope.urlValid = false; $scope.urlInValid = false; @@ -88,34 +111,17 @@ } // Ensure isCustomContent is boolean $scope.data.content.isCustomContent = !!$scope.data.content.isCustomContent; + // Add default HTML for old apps that don't have it + if (!$scope.data.content.html) { + $scope.data.content.html = getDefaultHTML(); + } var autoReloadSwitch = document.getElementById('autoReloadSwitch'); autoReloadSwitch.checked = $scope.data.content.autoReload; } else { - var defaultHTML = [ - '', - '', - '\t', - '\t\t', - '\t\t', - '\t\t', - '\t', - '\t', - '\t\t
    Add your content here
    ', - '\t\t', - '\t', - '' - ].join('\n'); - $scope.data = { content: { url: '', - html: defaultHTML, + html: getDefaultHTML(), isCustomContent: false, // Default to URL mode autoReload: true, // Default auto-reload to true view: $scope.viewType.IN_APP_POPUP // Default to popup

    pQU z%k2i0cyDitKP`8xU@oJ0#z#FcI298qf)w>J^e~0<6!pjehJ`-75`f?CMqPYZ`C|mt zoa(5A2Mc#e*xd^?lT$U?{4)L@X_QQ2^fq^GdxhnXN|=cgYbA!J-mLbw8s0CXYCcH55faZUP4a5>j~H;?_Mmk~ADY zxIY(3b>B#P3No5V0ME+*zJB+`&1KU2>a-cg8KFUV`I)LXL zJY-arFjw$_)??D`Ejo1$8?h{wnE&v}FBM6zIt_^D#DtwmL=G7<1$Bq0D0%nTQo;T` zy0+19I`VQfUDmB`m-(QsPPuAgFDWi zWQ#3BB*ysoI5fqe$qs!RaN7XR2RaDb8yf?kKjUCvY=|YKfh`(ZVoIt1pjLoC!<)|; zInvE^N0F44O?{OZSveVF(oNy&K@=M)xbUOmsc<7`anq?t_jNBMMG!?f=J+ccX|vSb zK@ng}Xh4uw)YnU02}lA%DU>l+u3nXT;!wK&0sQeqWD6V=-E0Jdp#{2G!Rna{@~e4? z%!^&&V*TxXslW20W8kSg-HBFsP~PIcI>?T+lsd<*+%nLV!4GKX_I<)Kj^f5gEs|YD zkgh>hLkIUcB(K~xjF)u(GqmEvMe23 z!1D-IEC&MJk1!7UZd?PL>yp0QygxVg10snN%U_Jzq$C+=qlzO)a#@uz0xBdk0U1x* zO)&80O0aFXQGIMD)fX#4!mh03{h_4Xyjq04Cs8d?O{(2U;K&3h4^lIfjth!Mb@J#7 zXmu2~oJfma_MoY?fdFp6#sZABAt4}f>KKkVV7(%)|8@hl`;XaHmp?tyTx{PCezCqGER$jDiMY+uo2yj7t?=mv4gyG7GTL9Vd(YqVE_cpcn@ghqgU^d(Ca z%lY^p8>0kVtlNzA^wzWB=7DF}0xBBt4+5S7E`a#rDFOiqdXaj16cxn)i3j!wPEk|S zbp-{>_*Pi6BxRV5m@d4?B42X~NU1NHm6>Y@fp#+ zx%q`o^`gdQ-HiFiOeBKsxh@}`6(v_t@t-NW{1j^;D|JwN%_Y_y@%Upl#eBYD4(=}o zXO`s`w{*P^q%U4vg&}_XIsqwzNrBBZP(;9$UI;=p*l1xL1DXxsyYus#Kra!v*NR7p za)iye9vv()wf+Q`XW2~EJUKH{L(rSL0>|1fjE;WAuM>ViIfTR4%5YfV*n)_~|)q}1PysXv`*<6u&F zC`CpV6OP~LE})M2Dn!lL)Hx}d?#g9dX}jU0qugROJ%jR%daZ1;P~F3E{AFbVXYbox)j5%q{v!Y7(VcpWh2>6L}t!n z>*>=fD8)m_{<*wY)PwGrFp8BPT7`77Tgh@(63LJBq#Yx0km>T+VtH^x&qG!b zBoDmXl`2Cp*3T%WX`J-*1|e{R)vOfO7K#O%u#RoV2r8GnuznP`fPcnkCu_2RhGK_z zVmyVR5rR_JLP6*6(o3?|+U@$y2x(3Dlj!L9xmy6mJvn|EPu`Z+1P4Ym(3u1GzT`9v zhnN`1O3dO04+*ktyK?15HTWQ`MFhBcBfk1^=LRzX`;`2y zs_N7;mbQc&0t9{{E|p` zAdSjaaD>hS^D-~tvaMUpcN_sJSCzC$p0*sCaCBM-Ex65k!T=cHFZRk@5;6dPD}7Fg3< zl6zn}c4C`+$L_x-#ql(1*Bth*%-&2$sK>zEzV!=YwMaXJTTyWTI0%R!Cw3k)rC-o0 z*J>M>NR)s64x^>5pZ(O-bP9}6Bsnb&n<3G8d6GKnZZg#GC_HOJm95K5_bVqL)ul%o zNJgw6ByewKN^_k_aIaa66uEBq+owP){rA!vX?T;E;%E=`rU;bx#LH^sf+Did zF?d>YYz>Q(+eHGQ)m&y@{Y1=D^G+oA%8PZwFrFN~o|S-tJH&=Kb+fvid}|3F8fgRA zL}Ac@X-N=Z8LSOR6rp2Ci3n$sl0RJ21?z-xW*m)-*Man-&ijMIGc$QWXtJ;fS{p6~ z-4@gs4fwCHT5TJuM~%JNw~zEKCcwz$UU|_LP=#0@qWxFbk94E>!b&rlnbP)Yyy5ra zc{Ig139?ZHo`-BeCXzOldgKoMaw z)XN)zCxXPD(u~asj+Yrx32lO0xK3TWz;Wsasr7`Z5E@Pn%zmh;m{MprlX>ysB5>{ zsgbM?D?9fYnN+QYY)?HHN8sXL4exNU&Y3T4dvqbgv5l`yD zRA6>#K+d1FH`1TIhYALhw|g@rO;gyrJ{oA=Tnm@2#_3se`b4qqWGt>5>B6_wLrGH8 zYBMk?s?`sF*QZ%>0Ce1|*k z3B7HP!q`&hJWq=WZwp2Z2j`ezPrwWfZ2LX9yAn5^r`u#PsXfYGtQ!8}L&3uB zxz0eNuv4wW_f=y$bz4C1nTKd>SH4I(LR&#bPe|ay^5piB2D|8!w`jybSwb6Oq9<|U zVZYd$(5hv{zeQD7)H|;9!V-A`S`KN01;x7Y$bgl zahQ1hRy8H=>$t}%YwfA_S11$;dBy7_quz6Ewm$j#m~Z*>^7gn>3+|w_)cPNH5MRB2 z?;{!0p^#65s0jSA?iywmC5Xhwr=dMKF1{p3v>szBX+!(XQQ+Q{IL~{AhLF4W6wXI; z`S6f8M96uWpsD*?aN(sulATFtS!fK?4PT_$`SZ4~{xRL+a*n(QNK}L7#mMV8#h=jp zgiYYAVWa-}K{z^mVnP40dKH^;B&W4dqG|G<#Cvv*HLU%G#h*;Xme=fuKdBb@KCWJT z;>k76c695mp+GDtvQfz~@VoXCzx6kqKf+t#MmPI!sV#lyh->PUxM3UboWnoUZ(6n5 zzWq0jM9}b|mSK4&&s}Z4RvHF>&N17=ziX5KwLjkVlSAhA15z;EN|i&a9S^y$Tp_nC zf4hFKGLve-=OaN$3=SOg%l-#1CEb23$8lp6TxW0B0bfYm+tG~(soeb0`d_A4H%*3J z&kLL1RrF{XT6`}!FS9KsytsY&1&tgBr6iGgrS_x`H6xktRwoZ5xAA}S{VJ0E6-?-C zIm5I*(Ku_qB9)&LOvFqBC8aoz!hRWRh1x2!G#vJMuYK2A-p?Mu~_uPJ(30*Qm<8@HeX@G=19ICcGD% z&NEH7awk}_=#%=dUeILTH0N|eeU^|Zo2&1PG`=oXdlDtjibxE11+@#hQxwrEqbE?J z4^pUT49=r#^>}{pleHdF3*Kt`nVIT)IjXWURgJG#*GC`m)A(JsS@paQC!W#Iw4zP`xK` zG3@$6y8FW#9q>w!TgzwuDlq4?>#`pX`uXwxk`AME`=c~VWrJu%iT+crfLTKEz*h&- z4G-}PWHyo3*YncPPztLvd3d&)OYx%07#f%N_9U1~LC*l%%8vV2rF673DC666^K15D z@(pMB)2I#>*H4*>q~ibBs{57qEK~yp}SIUdiMH~kOd z>I>5V5FG()&yVJgg9AST&2JiII1z0a6X*%zJ93wk1NqqJBRer}&r$f>b!dVb#tIqo zd6LCsq#`i^6=b_0>85c*z zWByG1^~t?T#s`%JqLNOVsiCE5;4>F(Rl06N8Sd7(Wg>iU*SP9)B5_BcHLk(Wcp>o; zx<-eMmsRC$ftJdKtGj-XTf$^(@)3S`rE^7Tgyfo8GCd&WAy zMYu&C#&BOnmbKBACv_WbkT^WR#Uv7NyiO%5GsoH-7*Jh zD_dqaY(~KD6Tu35xFY5hiHK+qQt-pFKDI99=6QB|HG1+z^cue$5UY-1A@z_xZCT0?(1;++1?RcPKkjjZ@RofQTjw({_V57*FBcFwwhw zPdpBuhBgL>^jI=x*Q`a4^{V;L41)&2S91O`G*jJ6cR!Q|3J{Rb4aW z7sR(0l2sgxH2fu|BnVzpxZ*@EJf|>qWg+ZsBkoZqW15XaSspO)<2(|wrs0o{;>+v` z@@p|kA^g(77B@^L^RMQID)Z||u6O8n=ghNlnvEA2Bz&plukzq8F?2Ne1}cTEy#H9s z_|ZTyI$%HXDUJ@){q(Lt5l!;jRAI_tvA&%_^NenNp;qcUr5pV;`5VZeu!#et&H1uo zRsapjA;+dYO?T6p&xSsG9OLDr+A&wetlIVqokWR%OUnJnpYl9sP5^&4^6lH@ug)G0 z#oimf8@z0fFN)uNoiX$C^EccW!JW?Tr&%`o=E@zFStZG$Q(+j6#IS@4X@M6=_ZTZ@ zDZksn71akUWHmpW`?|VYCGJ|6Yc~AnG#rQT=R{torNsY%d<|bUq~-5Pw$Y3N=2tJ* zX~X6*$7dqT@L&Yp;PyAqbd>qmOJe(Y(bik1MQYN?UOr#ZS4E=BSjfosK;8X=2zgOR zMic9vqUSLArn^q;pzCVzNWlusWdrv{u=sV^kh4$zob*3JIsE?{$Ohf~D^8O;cklk% zeUae%@n6#^M-maOx-=D6sg+40_iuT2@62Gt-J=NtWQNazz^mHgv3S?Wh?YvBk8|ds z)IGl$VdVLvi9t()TetRGgD6437w$2~W}ZXX%1pV&g6qa5W94t-Og4)_Yt#u6VYUO; zzZs%}FIwfhpqUL&A}o%`To?{&?1GL1xsC~XQ!e=A5bSH@ zX|iQjTg0t?)NdsykrN2+x#nYcoY zTW#Lru@646vz-n+tcmWm8){xEdBu6uVIWtkvb59z6tGABkw_~s%vU^D{vKJNTgaW> z`j1H#X%(>vxFb$3E;2A?fUFz9TsqxRH`2oaOsf<8wfhtDKspn1criJnYaPX(Xy!AJ zsr9Z_=k4bMuISC*)Z}m2!YK&&aO$i+ zf*%096w$QDz)3_D3CdsFLSL1+Go|nm9~*rtg+NaCI>5Og={PYl5ytWqzxvTnP*vFtDNsb;=du`fzFUCWI67oIb~sCyljl!8?0Nl50xUQh6PH-)X*hG z^REku4xm@xR$ALWsRHMYmk}Zffwj%2pt%8+fK_}~{o~1&kaLI!HziA_)e|J&7)_#q zdI`*3l4RRj{kBBUAlDF|GWb0a7l2}rlV^Qr_nY~MN^;- z=o2L+l&Skx98%gEe`?MY&6-jT+sw)Xkix%|`l#C-=F*X4ijW5b>O}SSyKBxC-W@-) z?0Jlf>XMFkAI_Y^pYac*junmr&?=@zwpQhlQJYG-QX@!EM3v^mvmAtYBSrXcE*`51 zMBPv9(@^)Hqk7^7$*9{+ez zb{ot+%LTq+-j{LGPZ>5+W9d@RLq4kyIaPqCfFr*VLHV_fJ*L^pR8CWYxw_bc4P4|? z;2Qx&XTkAM2jXm+HIRd}GRYOjP`n`6U@078Tei*U0cbHzjxCwpZIk~_?vHmX={3By_QNB%oIcVzW*71<6|NKN3%>#HL zce#*1u~}kqxZ!5o%iW9969+g5Q(eD997#``B8IACx-OeTs$`%F-?eHZ)LaBXzT7T< z^zfzWIA6=b43S*#uLpMh9WCNOeux-A=30ri&%q4&$?qpF{#{ir-HW}u_}YFy3jQ8! z`n&zwbB5^a^S^33+am*axqn?*4gXJ3y6$T`%?>s>OSb+@K3Q2Mm(#>gWRxxa{d+U1 z_b0#Zm;uXq^=#n?_{^Ufo?ZAe_Gm)PxZj3^n6MV-it*5bRQw#JSruI;mm;jdz zm)FlaQ)N_wM75M`gDpDfuW!0m>Vnw#FpmT&&KtB-WTz@yqsT{Mf}`fso8`xX@zypR zizcbN+OwejLAVqYLb6g*FfQiVb9yJ262#??w>WECLf62940${N=7X5?kPrn#4qTZ~ z+>UhD0rwbCoF)%p;&N}w$4FDO^WEkmu~xc~_BC<=0!Exz^};TB3xde3q70F45_I%g z@DHF22Fd?$kJo{T!o|0XZ&TRlutrfZIKz9JpQYlrn(qr}xJV$j#*CVu%KkVSgbcM? z5>B#S4}LVCg1c11_0VY^2yO{|K@eF))-^dc<^@OB-tSi}o8_hj+EpG@Gsd_b@?y!3 zAw$bGyH7F%_7bzfg8u`DqmZO7yfHadkH0wx^qjWuF-2&Ezl0_Y4GaJ(!s zlM>T8=QYURXgXuZ`7o3P0P1tF-7)dV06QN@b0PC5dUIgAz~*ope655Qebs}Cw2PgG zc>Bf1Oe|1h#$#|4eUINn#jQ4MjicskOoUW9Yrx>itC1K%$#^R^y(;|pFGTf);39}u zIfE4Wag~7Uf!4$!-J*AB@s(xl*Z*(xANCIO@RY0Ty5A&%TGeve4!=<%@rO8b+D4Gd z^LXnR0^Pu68UCP`Cd5E<{wo>czOwfj485-+jFib(hog=N-l|mPg*^aAML-;&JZZHqg7PfY3-k(kJ{>be~*gC-SjA%v{pB$Na?KUZ`qjvFl!H4|=1rqTNc7Wi``<4X7 zf|BVIQD3|e_u(qmO+!a|2Ts{84CrpQ0G@cdVk>VL$JTbVit9PCOUYu1Z_#+e{e z74y9pa~d4cO}?~AP~#t=)RB4G_a9|c!AE@6u%-Spy=Xz}yg$&X0av*)3U81&rVtY( z#YAb1H?5~`_Q1Y(J%rbEjK{FwfkopZ=M%z_ttA2r9vt}hu@`jj^$O+Rtp9@w4QCE0 zoiG3fyD`>m0Am%f%9DTrz65*)0D?uh94ZelF2KGH!IIR-0Bpgawb^btKU=SCIa^B8 zFMu&JWISBI9@G{_fDDg~Nq|@R!OWwIqT~oB5GJuti_L zjK47ui1)CIg87FYqv=K2S5tr~j=S3I2V$U`*0fjxb1(b$Wc4B}F@9h2=hp56YB)s$ zvLm{C*)<3P!xKLzits)U!v;WOgP`4eeq&jd%bAwy1hr~J?A*;~`;{6co}6^>n-lLJ zOwsfp^fYW8)Bn7_qYnPrm!B|VmTH8qA3r}At<2gA50m7w-3Zf0Bibhd>mkd%m{oI z|HCFj%?NOaZ5XHQ@}EJb4=DnY>0WuPsS8l&IcN_Xu$cfC9a1@x5@D^x25rrUPV!o^ zkdQpVYoul19k3$eE#QwF3(HA+A%q4C6qFw?qMqeZD5jTfEuSW$ zK5!p%ZT-I+g`)31Jxj$~Rt(iqKoBcFtHY-lJw?E4d=$xz@0KQ~&8Hb|t{P1;(9>P- zkip5vSe^*1jWxVntW)<&SQDQ6_{0Ajf%%EV+xzAdXeTy_!A?pQpPzGIcd4lcQI7b8 zC^7>v#m@+V0zt^=)2KU^M;GSh+k;xY=VaUofr)^2^otH3RFW$E)#}~u-M)XBJhSDz z@&|jvXh$I4S*XwVZ}Wd<=Lh=RbjmqHibRK*%HpX35jj@HNEVE=JorXe!kX^ccQm+Z z7IOOP4k00MAaMedQf?8s#EvH1r9O*ZrZw26QAf{w42;}0jL*~|E{kxEa85Vs6C_ao zGDfkt-_r6psg!!qTPVcnogRj^omd3v4rRW@_hs=6V%5KG)}#K;f26pCqnl*6UsqFO zGhXrZK#Z?dvuNf7|HR}@0*PvjUi?P(wQTX1H8jc_b&P-L?ffNsQ@)=Gd7fBL4}4%O zpO5eZ{Epx%LXqLRjH)JFpj_v${+ASdxSbnvO7fnR(VY=PilI^eQtx~|r8B9U`|#95 z9W6e4)v>bW;8n=ctS?HWkNHowVCKK*xg6#_Ld(N;OGyi7uGXrq?8qY8;cJ8Nty_X2 zCeB@5`uR-p$+Ge3P8a8xl)1XpjKG&X~VAS}v1dKx5UfZOu1PtyFpyDumWnu24h+G%>I5kon z5Ak$z57b**>#*3XY_`M~LiAeoF_V?Nv5a>NaWJAQ`vIa~U^Mh|eH{-2i=$DQ9vDU! zTL2pmXBPOG1%MA=FMajD3vyS$8z_w>r*F4}0Jjzl#$X$QatBGy&&MVQU}@wafQ4cQ zyl8MZ1%0GnS@r)ea90C0<<@V<$Z8xCMGxVmiF|f;I*fQKSfyZuwf5!%9-h3VdAG4&qYMA3dd3$ zHhXm}C>dqZjff^`w{m~v#jXz%mLWlWwllC!LaZR$n@WJU-?4e6I=B za`5G7gp~z^NeTct!G7vct5LGcEd5~(2+}@qt45MQA|+-CoW96 zf~TV5?Q~af>);L9#F~Z45=cV=fZ)APmPtLMv$GF<9XMXn2a4C`n3QU7>azpZ=eZV& zjK!93%;(UZaR1tG_Y*l-Fq3+Cw;)z~0lv&wKNA#$9Knb4Si6KGKpy46i%!e)_y03< zV)A|9CO5*s0@g&hmC$5xeFBj(F5f?RW5X|u^sf^ju%$sbsmD;M@+E8hj7)XLj9`9i zsk2Lbf^<0f3nCv$euRc|GLayR%PjMNpa|cqYRi&zWyzB8ig0@PQ2z13gXBk^n%XL+ zL@sK{sbj+r7T8TWwYrkTw3#m;PM(rQ%jsh^hzy3Jld|(1meRY+uhj1~EGA*j!neTO=_&f&-14ASW~O3CEf$gHDE1|M3KQtDKh|f?$Hw8!t-mg<5?d1u3YzKc z>5nK{IsLuD_nX6Y5Gq5H^l8=_6N*;i#f*PHi|#w*t#?zZ_00SeZ;GIQ+P^rESih!a#y+Wn*`Im&UPqAl)(?Xl1I)`&6&4R=)8Bo8=|g_K zFO}6mrIBM={Uf21>HSw%TTT`gv(%mPaHVWhf(^}!%_8dTn)f%|qFiN31aUW1qJ{{) zpgM;r8=&G~;WHr00mGMNQveW_yDE>{nVV$W zMK5;BxybbG^ndlHY1{B{(b!I@@ohoQ)LYOBLC6T4ZlH#Q3-sp%7^tu}Ha5VVAmY3R zz#uMYrMflk{|DmH|K3{2LJ$!AqAtLZYHDZ*sGtY>5=MZpU(eLtzvJz_4_P@$9M@wV zo`cPU@cOBywNS^`uk7_feB$V>*LYUF(ODmdmK#kjE#I;BDx%Dq0@hvBRNAY7%v=U z7BezBng(m5bvyovCuFOE2p3)^`2Ov#aQ;u0@z&a7IB{ZtnG6OJ0Q6xs%HnKu?~TSH z227iiNSsWcvs+I<1!z7Oo_~u;1>-^Hy1^B{bNdtT$3fpLzi*&tL@=*0dOAAmTU&|4 zAJyKl{kplp`@4_rRf z`sK$7`8^@vP81gdEQAAMxgsgz^%j1=<-{d=ApH}x4;#OW6+v>BBckK(K0uSsG>WaNUZw+n6@30{ade0%e4 z=w64c(#x7QsvTV3*5N@hoZG(hc@Gq(W4eY7SQ(s%FZ!+iZFzh-S(BGdTUw3&BEtu6 zy=4~nQO#>kY+;6R*^(QAtlV=+)Pn-H>7sq7>BoX=+s#c)>poHwI2KW#3$Of5x$7$S zM$V{xKx*(OFQr0hs5+DA*s{7zB+IzOg{~uX{p0Op&b|HFHaez*=8}f4x*;NsgRQ7D z4s!G|nRj35@*2kMokVZN(^msh53gK4N_^lg(=bbe&}f~K)!@6nu>4B*Z9pmdgn64Q z`IxJ^&ieIjytmnn?l-r1%z4elgcZjh|iqM;T%E z5C3(x>f31XvZ27A(F!?Y{uL_v^fxVE6j5P*vo#cuh1kq8r3< zscamlNTPpiGxDQ5FW&pYPe(%~>TbetwWByY!42~y-e8$?^D*%dfAl3ojRIfPvVNzV zRqMr|zkFr?0~zYC8CTq+IRp9o$2&P)}$qZ>Ll3PHLUk)QACv z4YVI{iG&Vii)(Ze-wXD9$jo)SQXkN*g#L*kMvD6+wP)ms=? z2TF3y#2s8Dv;WqeJJ^Orv~Q{NG>EW=@@31`10rt!%D8IDVeMkX3V#Fb$40ytLo!DjDz_*wxETzKNmdnH#vJ4tRyM`Ft+_HF>(ac!oRy}LF2nB0TvD(3O`+X?oER*rcZhMJlvC3}f>x_S3*Qvq=g>oc!UoP7zA1r*zu zZvt)_SFLP2j$({0jxWb;UWg^J64ycbEZ*&udn=Nf4F8c6cvB6rSkDfeo0}S?-vtF; z(14VZzsh%;DE=o|!Y`Rn&xh09<9(O;SLx{q>7x-CUyFTOh8am!SpxkpGcKt6oe5o$AWP45Tbyxa2otKe%e2Zz_ zyKH|AqPO8ULv-<9Zyiw1O#L}~o6L+*w2oe10s&aP?A_4g8!BDtI8PH8SPM`%7mrz^ z3K-r9(OTjE3z`is^ld#M@Or;u^H4GJ{<}^#l1E>BXQ}P?_XLQ}dki6l4eBjzIX6E4F zU}nbpo3VW^{@b$8$L~&mrFnUu!|(t&NRa9$Z_cT7Y^)*Grfi!<^Sp>kyj_1f8eNh! ze9Xj6!S;?hc8hHL{;&W~$QvJ$Yf*mTa@s8gXU)5&*;^jY1C!_KaN=~VR#H_iAXu{^ zzT52X#WtG|`HXzKRc~7+Ak=E*PBVkOW*(DSPp&AJ@R#V^$G%Is|D)YO48Y&WL5Fw= zlgLhuPb?!Sl{zli>uYfG|2aLtUVIT`dQ~_`E0Bhk6d-&awobpL-eS~qSuX*@%#LVS z*8j~%bE=opZ(jVg*AapZvwKGJ0(cY3nGp8{;f291ob^f0ZOYQjp#Gql01g!c=*Dci zNd8C?q!k<=)VHwT;(_pbsMr#^#2~CrA!Qk^DnetxUd26K!DPO zubypO<*t=x{cp1xFzq^x!i&W!C6fZlhVW+O~DDCw%(BrDYw~p$yVTG zVLfhb5vULIc#mke7k;6@;ycAL8GB_ zA^k!`cXv1J$S@d!V&^DBBC0YF6MZeVmt9sEw~L|j(+RB^3KX`n7(ELrLgYi``Ec}c;H>P! z`rJo^INEyC^#p8)fC19mf2AT{yfB;y!T&7zck3uRkxgCS%J4(pv#T$qfEh45Iv#BG zqoAapb1CoGRwm}NNTbec-!NSYEqzgne3+vf$^K>iaYz`Oe}h^S4|BeHe#$xiZZ_~| z7bk*T5K68u0w4B^JUk$Z`$D=0^~d=*5=!O5fZt<+gENmwiTr6oph-&4-=;`QjEfUx~UvC83> zMxeby1g1tJ8z96WB?{1>I2f=95YuXVDL~fRo9rDwxd<9u7N24q9=uxWtel9Q|PoHpS-z9lUD19Muj7FeFpIfM1(<3_9KxaIM*{qo@*ZoVc)HqhslE zZq%%W;#G|Qa7)PcY?Dr= z0#jqApEY1iG-YLMpewT7{B9AR`4l3wh)6PIJpXhNz zrpj*^{ND8c+}nEyphEEymjFMGLnLb(^>L;cA{S<+u7x-180Z|BY*Uv<~>Wg%joRvREJjAyR5_%;QsoOoW zxLoQco$Q^Bise3h9~5s+iLQX;rzgPEEE7Q^5|(Z+g7R%RyxQiE*0!2pa$Ec{}4-g-f6D;DuZAN}fD) z5nL!H{Ph;xHD-ND*uzvfnh2E z%7syxSl;_ze9QSi1-bK+KY6WbfO-b0j|6EjK6rR6n~N)j=IWoQCE$HdIkt>V09dP;*fz zkcXX?;gWChr z+E({DoqLS3B1b;ArC^MX$erSL36*(j>!JN3`{haQ$#btg8|OC}k0{h)D65-#-3;`) zQMLJAC6Y`YG1F=)uV3}N+Gc;qrz1m8*Nuy9)1kfAhM~ymr@dL<&-54=&+MF#*n2X5 z$FlB6eUdGD6}l3~f4A!=Q#l@b(U)WhVggB;U7o9y zP-^`etA?j=Y6{jEUNQ(je3H@=4Bz*%_b@`F_>X!w&U?|EBR<~Vo8ZSaD$M!y$27sG zuC_K0795au;ssp~@76?RgA%3Z4c)Li+?Mj0N{Bl2&ZoA4r38ykCLC9~3K_V-iR-^T zOUj+$5n(0ryBwzFO#sbQBi;50lyRM|tqfegyt*!YGF5oWOe*H_yhy}&j_j^(*+pGQ zHEhSq@t28bemHdv}m|VbUKGL%p%`#h4 zCZ)XZ!4*ffjM#IyN4&CUQop5_%j@sr7S#Eqg7BRY4SU>!r0SvnEzQ9AFZ8z~@gZ@>h=C5ZdeS>j`CXV~Mgu{iSvPu=ByELY zH25psWv-MWo$x^BOQC{-q9Q0KC%FjQ4V1YQQSO73A%0e;AFiorwOE^G86hIC@92Ez z&y*l#n*ji^S@icUC7j=ujk(|_;7N3U+2#|}FTHpID;s1p+jnfAX- zH%eleY-_$mhRL>OItV4&#o-ym==~=lqKh;4vaH~2E<9+gww>L5=mNX2{GR~I4G7;_ z9CFIxFUxmFd+n&m2|I`+h!9|)LFF&E7@sP2gExGy5Fz6cOt!=&YhbVo%00x>%eQ@z zUTkkojxYhgi_=k6@_40lC;WC+BlUA5VUbhgfWG)kt!V3ci6ef!Lb>46U-UM$ahQym zhYIYAeVRkTHlrbUTewJKl)=t5?M4w>K15Lo593XF-Dhp*Gv&bs1-?VZIII=7D^0;W zJPjQS)a|jj3E|S-!ymwD-TeMhs)2C&N8`voJa^~k7Yh%Upui%DCBdt|f%VE?zVn^P zq0s8FtgF_(iL(q)NG>SZfz_w*RXz_G?M_~WqxuXMYXBYEC?p6 zxb)OFCz^WH)P^y5nMz1CwLME&K-<{3VrO5ZJ$IKt^iAaSD1%FAr-y6D*2qX)1I1#0 zbKpXQJCAU?z?bKjS~YWA1rDZC`Hq9)Vi}YfuWI7g9*PU(BWV1cWADIFG=q4Qts<&8 z-owIi?msjUMXPkdw2dmagGvn!566QQleNkxwYM+6n986hJsB;~;ND^=p1+}#(?7*n zse8clx0aA}+ip+jH-&<7yj*CBfH*;9F>m0vJGSDH)KNS|8bpa5aSc6>;6=s`Tlxt; zgii@|XF(oYpKA9c05DYuu7OAvOX+>JPpxio=Z-JD*e73^Mfqe2v21}9^yMp8*tgPq zdm);(zwb3_^$5<%-A+9#`dL4BQpR;gckG@Yr6AZ-lSf9iLBIB?4QwVlf_*%j;{uong;zo zb_D-#z4C|ec?CRtLMF8Wms&^!lWu0Ge=ryB38rw1)rdf9NJeO`?}iOwqdYAk)Xv_% zr0dxS-Z!>KqsmAm_ZVA8O4DR`?Dab^sYVqnk*rZi?4HiMzt0Y~27iCB@9{~>$fbJb`QESEYh*#j zm>|aXuWanK8`gBiPJN=dlxR#gAt`C zH91q`H|{8O-%nmDlk=lwok!SYWbXdmKA)?;Smrs%%U98kBs3Ji7exz^Ah$*xh0Od5 z^>8m~em9Ws6DGztTfF9-Q^PS@@kDZ?r>E$Ru5miYA z;)v7I$J(RZxc1rvf5Kd;@3=D>CyOweZSiJAIFaJXy&w6M@{<;3vVZg}xyr88--WsP zHeIIYTbMR&?)s^#-|p3&mq4+0cGGI9Y%Y-^%ADl_SH$sy=9qyQ!#uCVkg%BoXW9Mz zOdKYB$pYnanvV2J)B23GBA>RB`yV$SsBjM*&G`S>YI3_EOau7QlQu}Sj8AnGp3z)h zL~*m{$auT7UYBpD)9zAS%Fsb08?#OK|87}C(vsYP!0hv1MDYGH>>VWdmF#F1r4!y6 zzbt@Ox-CHp`FaY*j$W%yFwpFkmy(nm%(IsNU z;N(@@onJ$*Ip_~@Qvh@9z&`|UFvz;Dv`;eI0?jvQGQpk1>wD7y`m zf|}yuHoilFlot%26G2{jeo}@Gq?BrE8##f2=Gl_|nQHU-e00=lg60m){!HJeC7G(; zM`Z5qSI;=hL3RbOSOeCIquU#niit{Xew&(`f3oR{Z90BN^@(%_T1@*BmgoB`6JQVL z^!HnYXQfQ9kU<4aA{d^+=w#yXn_;oIVZ>~vZT+Tk3Z$dKwY0pfRFz{0HnEA6qFpTF zS4)&~&{2OI-YbiJJ)&<=!wR^1d^utzJV@Tmp^z~dexa)bW!}$E#2MSAl=;|-JMFOq?91tArc}j z-HmjofPm6ScT2s)|7EEk1n*itckaxYbN2piSdS4=`-K+-Sb*Q zzLSkT1jDLEw~Epr3nVFqE-rai*k&DS*s&~mo2CX_1tGv)4 z76y{H@4NohkH4AUZX-@$9)=@z;#I2_!W9E9C)ec|qsvHaO|%tK7A()2jh%E@a9a3e zpvPbEUWxgei47ELlyO4x3uz(U616J_DNF+X!zR@!s%X?xkX1~p5A}au3%$4)$W~VfvT#-eKOj|T>fX}D)tVV@OuFH3GA+Te0+l^2F z#++|)ee>p*W&E%;TPh8K%}}VYxr!N;J4rBhfl1~zi{m7%b`=hC@?ikB6r(bQ-UV}; z_j~e^!oO4o!&%KGCwI#3nNhQ=N*FEtx6r>)4V%drzgZ;CcFdtpyVd&$>SHOXD@Q{{i-p^@v z@rT8>x5smI{BLgOL-NaS{W`~-z<+z;(Rk55sO6W<<&e=#4v3lg1X>tVCM$KR(WOROKQ8VE&a?CB=4a0 z&X zqEPl7Tv2hy)li6F<^-o%5~c*t1IF45xSghJ%jJ+JrFq_yG!{NsAxr>kYRKK3MKpI3 zD;iNp-7~HEGXWCF()G3;T{S4ylfoMhs~5 z;>%d!O->kp5+|?(GLKs=QRi7r#dFOMz_j#r7H3Rx)xywYL&V^miXDDv5C8tvV;}(i z1{c{=X{TY;Z9yM!bYcn+ZVaj4m&>sO!BroXMH37CkV^N#)d+4}s{jQNHVR zglL+kG;TEX$|)SM*qvrvf3F)S1qSJy8OKgx>whZ^88;ctN?&1XjJ^`zU)6-XQ1)sp z<$!q9#AF4C?(kXk05oQPYRcvCR}ByX`wHg(TfllV;MB19jRQ)`_wV0J+G8IWk{qVPx`qL+1|K-AjQUiy|$yn_`w%A^+CVH)647c))s(|tdE06IT8ZU!T^1l zS6d3m1}8VSOpQWSa#xk%aHq1##taX281TsE5mFrh)U{WDHA6%qN8pP33=RSF9Kiuk zkT_4xNr|{?=L&2SAYf?VP(<=YSlC<;i3}hfk6>oxX0~bqaf$!nd2@BJkSpT%T5=HZ z%()TmfIX@3%i4MCza)5vY zNPtJaXD$BMK@xG~;VwydpI~oyXOp4EBZ~DL2e~H^u=*#(&;x7rTJf|x4dpJ8^gKY$ zwAR#*BA+Vh84WjG#M~T9fPqROqtKrvQ8sB?z2CY8F*QcQ5=r}gzMI4IET>RfaonP} zvLQiwVp|h_bBFjLr6I|3LESC~6(gIU$MoNR&Uct;!3BOwX;Ri=DODVd^;@Hw(C7Pz zNjYi9aNpo?+o{>FG3qXU2%VFm+=;?6=K)444^5tow7j_GAoJy@7cmjRcYjnQO6lyc zWJO^LeJB0LW7Fw{Z%IQNy0Rop+e%BP4 zexSDov{dB$E|A<6VEza53-E&kjIi|-E?|Lx^b;1-&UVo60rN-jJ+mAa&=dr*X%wn$ z5@f!>yT(u8WM>D$x!OStH^P@S3hXbLnJu6>0^}H^f*yzv(2NCJ(2H^M1sp04i0j8X z*_@W}FKGW4Uk*@kw|SpbR#gou=idMoFLd`OTxNjo0v7U58e9J*P`m)_feZl5QQCdZ zECK_cKz$@#9y3d~~>0~8}NKF~`c7@_Ek@H`k`{h?`V75A&=F7v4*G@%cP^ui3T z@7JrI_Um#Vzqe0z*LM%G2$)NZIPDo|9_I>NOyhT+_AFhY2LSsHDw`nHV|hXd0Tfz# zq3rUV-DrcdAPVVa38Y~XbXeFK7^;;Wktl&o3n=;iIMKMW$axOeVYs*wM_&8`djm&-H!4tO})Ax_p$TlKD|rl7fEMt%b#8OZm(Ujwda+ z#Mo?}cJTwtFiy<3(QT?3N@psob-nAzZU@HnG8Xc*6GYrH@K09@SYR8w=!_Qtc=&j# z*6IU4V;=evwDMBJ&NC^H-yE;yd|U}E@nX_OGZC1Dv8+VqnQ)DfZv z^lraqX`f*-lHCP|I9nG^i|pcO;*sR(4qz`_<7>=u(Hca7Hb`M|O6AbLSW|H4hOdP- z_=yK`X)*fMEG<&6Wvmp?J-|@bksYAKILtV>QQHnZsKeOvL)V$zutoMmY#&1Dsyt^q z&;i+U|hA)TuNA%HHJ{C@J8CGJFA% zM!+X(;pxe{pAHZ>?%+cL(!3CScY1ny%5|%#^keGXz(-n2suz5o;qF;L0v;3uI0ji5 z7$C`$f56A6OuO8`zyK(UUUb7>^YbaGsW$<3)Tgex8l&qc*gW37eGA||-%Cm`My&tK zjRKal+7{d4v5Q)RRDaE^a{z0fst62*N9p?$6*HYXNE9-EXTC>PK-o zX$&!@t|QWx2vB^r2#jM|w!cfuk`N0otw!qFac%;$A2^9PvQdhCYV||bUZhelW*hJN zH=M{mhc$y#-Yj9)%Z)M)nj{dQndLs3$|@6iequj$Alr z+`7$dl6d6=hRynus{?PhQWe)2@ufKoLO38+T8?e0La{ulCU1?IyyQ) zA^(4O<1U?$kRNDNE-o&DN55NBUar*WO<7P{Y7ca!K;y4rX!toiAE@1c%?+%JGJr7# zH@CNM`@)8u&Mz(iXA2CErzRpGStok6R>QzT0Hl{-4XNL=kO75BxZnX?vWB+yOFsg# z3yzP&L!9Y#r0Y7HaV8d)?EfN0W@~;+um6G}d2_gxG4j3p*H}Z3yd-1Z8)W|7yzGwW zl{TVVDAcwRFJ7~f^(b@y-YK{J>m7|kxy{4fj|l0kK?zy!Ib^5%SeNEv`(8UHT$v;B z&wP^!$3|`7YNjx26Hqm#mvbCqOEf45L+f`+K)!xi6XjJ;Nr>SrP>?Aaq|&#uX>MBY zK1woJUow0c)rrQGKtQk5uRCt)3ZPyaD3KZ4AgXZ(`u2E{`CodgE_+`iykcXs@XB;% z00t2k7Y~Myh09(4!b#c=`x0yTn6D`J9)`-Peh>A-Jea+z^5XK2CrMK6g`bVf7S*E1 z|2lj(ylr!%I-XnN3B^1-Fre)xDBo?gY37>TZS9kH^i~$1wRI=xarXJHt?OQ>K*wFb zpX_T60 zKhT^98_J(rYZM5G0t5A)4#xxp@O4;JuO~n@o6p(TDG9?3K!(xs@_KDD`oQIo3#txd ztHLu4@QN8$V5oCn~&h4KIH zkxa3*w$9%KwXBxIGUcjV1ku~&_#P`(>+Ux_upbGAW4t7BaG=4>)?ow4uM57w!hjmX zr13$5gKuq6FY78XAdX0zREb}gE2NutnpH8Oj` zbETGYWvRXs|I{UL%{|oMPk#2iw2p$KDxx5LV?CU;y~K$ZJsrit$rK}eNaL2VpKoGn zwAQRjEtZ7uv*oy$89qmNSgNgA>w+Rjkr?6TJ`Iciy3LuDC}QT z{fQ={Tz|CWTc*cT@pQg>Rfk9&Q(?F&=zGo&L22Y5!vdvlRW{Qid_88t_uuhEMy-e% z+_4^-j(r8lvq^4{&@0a*CK605LtklDE|7Tj3{(;alfbFB@N|$ag*G}APX6NVLEz<` zo8xVOm`(2$%;pai=0PBk6s*0a5&q@d-2_(muvA9*LA|)0khL#=y%ZM$XR(SbS*B}y zU!vW^cvZBAe16pGLf-nl>a#)A_&apCM(yj}k8v**dQvq1N<}rvMOl98N#Gt@j{$x# z&|H5|GZLSqi~UxUPAvyS%w*@}u#pXC(L{?P#iJb_A5V;o7_@qnKJ0=TV02^zD+q*e zYVi+^j7XN_fDbq%cp;8~nOTa@9IMXk2lRtGxOmCK_-4ab@_<%2{ z3u^mqg%dC!ARv(4?Nhu}c?4LJ=Uumm#&NFSBA}NrKZWWL7&8!0F-8IUxC;^aJLM>4)vi7UoHrNT(d@T@O7(BI8kOL?Cw@%45P>)3u!Ho`btZV zm2iBDtWcDWOjHQEz269tUk)Q>heu;FiR9=e*l4hQr^op{)pn}Ys>L}diUJLjm5enC zz5ilK!1U15*TtJ&6q_L$ue3K#P-|MiWcitdH7tl!q2@2X@9U${%nh~7fH+vLX_6O-oQ#zJrX}j4{BUN{1=|d9f2ab$o`0(6S1X? zXj%0N0z3pq&(w4^su#iNcd@G&ghQBOIa19FeNBriUl9xY^=_KQGA&FnkoZ^XxyEDG zlli>e51P)&x-dXoDlgP@V6@#3rS2Yc=nmDi#lMs_L(Mr=H64R74ud9}L7w zKcliNV10!ZZ?S*WCxX&DCKqM2ui`pD1lL)&9Aa(Q68}NX>VbVE&pZNDTt=TW^Y8^=aJgN ziRQAuK1rP1g%7XfRw+s@jrbG-e25qPnembAJwNgMG)AqRyh#)~ zNwmAUu$ko6OW5P2rU7M8M8sQB5nzo0lb^sAmSHsLEjvQxv8v7weZw+-s!V&o+C7tt66n#o~L}pGa4&o`K zt3@JC)Ef>ofGH&EqhCp-uuZm*w^MyG2IRQAA?OysrJr}> zpI&~=f53Px9V)YoO0$Hwfu2R{)638xat0wbpA@x z>)0n5ul?Yqd{Hmj96W{o;UQ~hd5&)*t{~ZNP8=LOBSxQm{R>EyarZA z?7`wl^>B`!XuV#1<1tFZw3LmcB&#Yn zpol~Y!J*7MLY5}%b=Kw65Dz|DxnhG8gV?PhKqhEocNkozQ6a~dS0sX9q{izAp)k=g z^*|0rwnG-=v<#tKf{ufYI45}S08ef^+7kzIB=JV7g3w8~`IWGkSeL_o3b-E(gQ7h= zy!I)C&>#8!BXE+eD~Q!?LsRnQ2On!IXM@BZ^$7t4RmMWLSaswS7iiI<0|@ZZfLb5y z*Pyb?-lIyQNHn&>%eDRvK%V}k)9+&mK4`hV;f+bmcQb+ku?pG_y`PgJHT3ltfBmv6 z$&mUc=L834SeZQbNu{@Gp5ysf8+2g5_Wyr~MijP|MQDo=W*>n`$NMYY=Q~r7y5Zp~ z!?>bfZ#Vr_2Bqsfwd%oUGz}aJb8}z7lV|~5i92{;B3n3Uf>)s#{VNW&wpF^h(XjCZ zQ^z5D8TLMWJybbAj>hAQ9ijM zjS#46bi^;Ou1E#ktm@ya2ZIc>RT^-20%H4^`B89D1v$FD`!f{cp9CUDbep4 z@+F-aCh_@qT3>Arw1AvUzPG*Qxq7B}#&aW)l`_DG5mfM7$6|m( zz)}46?5PdpU5b)E{ih#|0ViRsqTzeU();0B|Q?U?hp?T@` zdDpH98(K6z;-;!x|4&r!Ns{$U zSYUS+p7whwUbC-h@qIl{f<{bcWKkoL0yB0eGHb^DiVj%`mvM4)BEfvgxH1PcZwoA_ z0^Zm1$~0HyTJlf~(1KBv-XKK{Vk8(;x#RWm^F5UKrYNHS5)9k)6C+Zs12Lp{;=-4$ zln!ag33|)E1jhlDEk|T^ZZR`CnOiRh9wB+Fx~Gv7wJ0PW-%6Wt+vRCYzdbaupwM!$ zv6)um1$1$Iw*wVCw3xtp2l5p@#*;L3WKHLP8yA3q%7efvV~+v8Sg__458p!OpalN(i79U1^81G{Xbkgu z{ zvj*a~os4R$Sj|Bb2!uy-II!=SF@5k=zes(n;NF{c2TXzSqyk}!VqRNQHPj!A)N(sP zPW?ynz+X8`vq5Iwtd>ttPl2H8c=et!cyN<4d$oPK-E-Lx+{lpA$k$J=T^I;^=j{eiIu|V*plQ?X=436f@;MXo#wrPD%d^G^L#ae^|A~3bM~$un z;#6u5A*>GX+dc~Biof(ok?JW_(!C4udJe1)%@4K=3I$&@n~dUJ{vDB|iM(6ag=6u5 zUlLP{O0t@0Z9VEXJMB8w9WPm8H59QKDU7Q28k>X>LaCB~CN&&xQ;F^J!Vw)r8TEzt zf;JFt_+HHvqaSvM6${sAZLTIk*$M8Qism3f9Nar?fzD(HpmiNJRbc}_$z1Xqgh5{< zp3=Tp`Yn_uPd{+VDl@;u$QW^8!-xBOe*YK{FtFwahzoM)AdMcAoq9ajX+z6 zn+{6={sqnfu!}~|fQSBNx#@Yi>+y3qRaJTUGVnbB?m!Rh6>tovrlqytZbX~&+YtgF zQX>Bwd54%!Xm(a<)>0%xilb^!;tPbHu~UZ&st1U3`Td1s5(RmvSJqyG1@hMd6R1+# zv^e?#J&2Q%lE41Hx1zQoV{%vLx4Y1b2%*pOf7BEed{2n$La)(i2~VmE*W-gwytJW* z%@W_khletWMTeKLpF;~f*xW;*oD``t_0AVZ;WiP3c?yUt!AZgK1oB51LXnETaYI7y zS90jq{Q0}luX{rMBh~lmf)^U7ZlV)1qGIXj_6*OsQ-SG^5KNO29fHr`?Lh9X7W%!g z;Jr2UG5cPCNfpU~fL5CtilaXcK={_A=d+<9E?+~Fm(qTff0Cw5MBEC00bu}hiIq@= z0(wsjImBfcxk9;8A;2dvFn>!IYaD(#2Dmv+LHqS1bq6Pf&s*Cs*j(^g@L5H7{+&;O zU|wMbC?O&hrl5!4lk2f+Rj>p~g^S}M25T(~K(=pFAmVaza)7|& z*#gyl$fO~{+Eq1O!w3RH!PlY>(2V>hO8aW+f42I3mixpP94fjL_N@|9Z)vI6_#MV{n1!leJZx(=f47F?e;-h>hq0C#Zmew_&%dxy79DB-(w2 z0`?>C`2{D6cQ6LRxc-b~7o#7h6P2y|Muv}oZwAeVl?#Pd*%V5~Jj|9{?-w|wDE%iK z+P9?!6xPV85nk-qgrexL&oP)3;!Z?R4MqH`-AynAx7T}XOgF=gjD)$cNz$+yn@~nc zxisncS?Ezm=W-A}uT_6jY_2)!h|GTiWPBt=57%EEw~v7nAB~MLI?MXh8(2(|zDP)g zbGe0N6$u1JRO{rO>T4OaunjkSkv|YgnE~$tBV2umcx@BNCes4=tTzb2b_5dSae|0U zx2sJ8FFvnA#4(^$5W3y?Nhu+DXRaGr!Q>FHqrjWx)hDm5VWFTWe*osPvC-Hv8K3~R zo(J^jQ}ih6*3{y}nYCZdq1-`6YV(Af*^X=g?&B}~2_wSh(HEH3rBoiLK+5vb)%#f< zeEGv9xVX<}a`2#o6B`r!+68c@0dd6XS2d;N&5PbkN$kD7x-CQGQ$PEYJFqVi^NE;f zXi$a!*FYtFn$V4-p*y>lOf?{=Jb@W}hJk z6O)`GOhq^qnAS@0%+|kvuob+WIYyL0nsc_lzwjbd$0ietK&mVM$8_vHhSIv(yk1xo z{kPM!0!5VV0R9^Rlb^(ACwoXH)e*^&IHG}Spzg(9`#);+dYTp7@2$tgJg%%;FgT04$ZG$O^;Xl(CFG_H6Pr8 zUzdvT8p5m6%a-Wg%aDCH_797CxFP#5L3?n;L$9CrWm0=LJ3cSw2o!`u0quux6ZX`( zB2s))tqF*d6elwQEmG{COJ*~nZZ4Q39;?^yx@=p~n^l|RUC1$Bg&pJ_85$4p&oUiSvlRdeUy9U zXm}%`(P2(1Gc&v!2vyL^+l?L&5zb(G_;>1lCNtXpOku({V_-em+vCiE#_Uq3p1zLLp+N1OJ~Dd>B`3Qb47wFWViPGq zjWt@nU`tmXs{f3a9W~qVh)?oi_U>mGhC9h5RQL9|T@KH9vMf*5>%iaV);G|_vSlUk zTKCVt?k{`<;?9jof>!o(1U|=2e7&-3qBX3gHEi4pfFcg9fhGvWra&^2mpmT7L0D|Q z`Rt6SKru{9)1r^KP8UX_Dvvn9YopYSWW&9}O0#?(l4#|)nqF|k!aZwzb-xL00(JTX=kX9=~o_#vJ80I0$gO7xVHc7 zSBYKh4U#`f{7SawH-e@V`!V|rOhTq&0PKZy4tFPQ{ixP`EBA@w?xb{fufl1}#8+hSv>h0w7d>Wk9Y?_pt{-DR5D&bSw8Cz(13IblaS7agV z<11JmG>r0}mO5E?#y|INZ_JPB_Tu4*r>YEC#)|-T8knG8YnEQVV3PP zR%6$%dG)=cbb@C{>uBKT5s1E$*~rT1>nYQ~BOqMS>*L{7gwp2OA_B1q=<~KjeC63s z%-lg9^C@&?E% zDJdyI2qrSzM~2&9Qju%9oApM;!&R%_QLr0U?ye$KS)ew}3?zyID2fW-ek#Cjscxo? zqTjsKe@#WcImpZrI1^(*l>0%xWo9gzU=>3yO(&tb;f%raDE^!9#J=Pw>cmzJs_-&m zT9{ZJ_I`Cfe;S>fn1MU1NpilKxWB9NB7^LO4S^4u7HmJoKmrq27ys#AtwiR6h`U6|GwL(6ijoxn zqFXoh?q!{Pw~Q=a@-L1b?&q3 zas2@|e~N=YJ9qjHpIbw~vDOaer2t##7cX-COM3A)!O-cf9L;TUN>cHeG)SQ9yEE7oJdveRrm6}kDHY&k6n zO(79338k1ay6yLTcG7jX7WDfJTg-LQI(;0Nd(F%s-5@MI@Nz>5NPGjgrccsGtqc7{ z0=$P#1?;{lQDFF2)647}Id?H18^7P1>2Lbub>IzHc<+!tQf|YTWpWoY_V9?^EOtGC zV%hzmqRHvEPebJejNgsOSsymK$ff$z$cx;br=vno850#9on61yY9c!j;{NxtO1}>D zC|KJ$uzj1f6_F%ZvgUhsqHZQFvBZ_7xEIEjQM1g)ZhQ$u`Nkp__xFkl*u*kqu|Mw= zL+>T%B%m%6QOVZ14}&pgO~pO8km7{VzQvL%^kB4)5M87FmZsOi=Pxuu_yhs$PTIm% zt=3T_R$E24%Y2V=pE)fBbqzrjhY;6;{qwlA6J=lGbqG;mt|3+ltje*1?j%*2gr9U zpdrHUa?G@zZo?lK=f3!K7?&|HkYyCrf|b`x5I=3Fow5G8zi(T*eE`dm9}7-4pX+PM z*cTX;$AU_SqF2}j2{jiPi;;`GMejJ8e7_q`mR&1B&#py^xL#;AlbW_yYqi~z&#|2D z{0W?*UthX@B$g#+5ZlS8frQHEn$W5J1BiPbQJ7SJ4?ne5T6W~L=0 z>4WiP%h!i>-y{*Le~8WAyUty(oV z(3Fo%tQB)!-{@D;QJ70J%f?cKe{xuqV#XARyEvRLei-3^P#tyfyHG17G*o)PQ8dS( zHUD}ifEYo)t;B9@creK~Uhej@saC(zz;v=gb_~I_M=U>6(ft*ErvT)`f(FGm;gpaa z-_8>yQ}GscP~iRQ_F%E^-vgP+(d#Uth6Iw%lm@?dpSu@vD_9d8@S$j7cNmT!NByFuOL_yvlxpgeD0 zECzPaQY=STN_|RUr)Xh8dR`Mal`I~M*l|jLNHATCsc8OrY;2N~t(@=%KvA$`7+z&f zUyQewsfekO4vg4c)`P5>dAnGBJ)THfr8FR5-*4Gz{KD_*HW&vk)y|;LdG}raiwyx| zXusCv1(>@|oWjPe*~)c45@-3G3#^)Ln;KW`Y=~3SEXvAO^;5bt28X7;Nt-Pjt71hWX zicGGCnPK$Wn@t1WZ(^snUx47*U`~pKE5X?Kui3QiKw5MET};uXHVR5KT@O=UF<+!Q zTdJw=b}9&0-HF#`!E^4s`|E0}qF4$B?46f0N_Un=tN+=9@xSX!hbd%|VQYknQr5oc z4vPwT8-85T6l+j=&QM3Ir`C-riFN@E*3l z90OjRzfyj_obG@a?KPG)oAUEqoG>N{+NpUxg4ns;6_w3MQVsgb*2X-J5t_LtmTx74 zF32WE0#=0V^5(`FbR2tX>oQ6+xQm}RqS;qK@dYBUP}V*%R{|BvU!_BnQ0u-pY!1@S zmovcR6L!y+zNQ?_QV+1zDHd+{ny9J8`wqL3fR;^@%`yI>O(i zJ8GvIEYl%2^hT)miHn;1j3@JPOo1(99rIwBu;$#OM;?EKLEgZjwUw%o)}}9r`j4oZ z$(dqY%yIq3PL*v(QR){1;R7E$&x?^@%^|%0WXg}uytOD;=;X(lx62fL&rj14YAsxNVubdy%q`c;qRy>^Wk1WUAJ_n6bOhWvM( zEq?G6N?kD7GH2Hq5@`*cvWickmP#xFo6fDOB*p$`?j8KVv#yIjp_W-W4K1%guJ*rm z^q||x=SwxS6}8~*st5sY9;LSixZVrzhzNhT{erLAQ*mAw(vD^KLy3k5QQi|TT3WHd z>>vRD>;l9eEhbM751{SGM}8G@&ji6i4hJxD%06(Mgkz+B(q(z=8<-kEKiy|hs3`!5 zr9k$kRH#|1g(d0X>6z(~MAtsnJhqgv(~wZ@$;Q8-QC}SGe&OkUo^H);E?FVN3 z*VzSD$^2fZSD6~diHZ|zc!L8AgH7MHGTHb&7RPM^zNsrR)-7l7X6qUM`=;pq1G5wX z_tTl1itCZ2*xZnjfZ6Dl)h)pr)nR=z zgPNhiLCrMMV}Z)yyorbR201M_XC(m(@D+TY?shKZ7}G~}jXmcG&dXMMa4 z03>m!AA&obr1T_!{i~&phD(~GzK$XPsRhRqEOgv#32KXRWmiE8(JpklzJW}zcNziv zew)dk95MYtSKxu}1lvoRD0|Rf+rYo%$B&FbKfKX6GjG#8PF9ugjPG-_%DC=DVMEcfIVqdVM&LG$jEDYR|w!WL557 zlX2#A-0}{{T}^APqI7Q1(a}!;0})Iv0d4T*LgPY0Pmsz|d~kAd0(_;rc9!YVnmzU) zPh~4ZkClIjZRl=^P%cLN>SrZpEj?t%0Sa)f9mpN-H}&8$w54SwN$BJ`Q8U?S7nWkH>8* zL{)nD9;1J9H@E1k!1V3yq|b@s_hp~k7|{p<1U{%KJlSS3kq`MxLfRG}O2ZyYs2Zu$ zRUj^zfKJl%-2ApJ%g+m8f`bLC|6FvD!+smFKf77kg3V02C%J~KD4y6s0wwwa_PW!G z6W6RuF~dL|O;WJ|xZQA`iLnrINw5?p8KL;Ukk(ap{C$7D$s&Q(C+fAhT&5PM7DuHi z{oz>~u5gVRxd8DR8O;qhdokdms`Z*qK}JDFGEp72g#tf>g5i>h<+3YL!+CJxk6ip= z;u8kw0wAp9QX(aJ(!Uyls>#)-`Z%<1A139(;NnGmTS}KnbNanPlP%gM#pRouIGkx> zl{}L?T&X-0GL|L{?wz_QPI_z6>z1@%<8ODp=3SA~zqcL6@pb4k6&q=EVs#=r^4<=n z4!GGNC2`&2k8t;d_X zMC@d5&tqFt@OZ7_9p>vwGD}|tfi2w^6GvR{ysB*S9N$ly`-J=iht@w_UA4x8KhN>) zN4Tkt9px;i4G&R)qeqe$U zU0b+RNTS$Fz|wyHi&oEtiPR(*cZ({azI&pl4mCol@w@tL$@H<|+4n~{{=#kDtM>2F z`(k9rKi~=~Qtr^dL6VR^z${jK5*%h{;zX+7w%j~#T=BKb{-|i-CJ@N7eAW%RT3~N` z8(@dj6b`e_uo3i)Ctx7fDGu3P9xmqxB~rGeI=vPISM>IW>GAF^*S(&)-`jYqLWW~M zk)vF2uI%J2dx6z|P}%16_-~ZG)eiUBuZ(|zaF$I180lfK)A@=aLTS;}K<3=04)^cNZ8-0o4)vYsSR5LQvq%0LPV-^GV zR^MzLu*A6H#*EJE=@4xG@)fL5{b4j5A`jYLPtMt~4`@wU+Y`KTWZVYR7#=7Uc>L1Y zm$MXX{#g1MeIt{heGDl`UTw~7=l%E(wFO&z&JI*Hjf}6669mj`#YOb=>Y;%wcj0F2 zp#~n|0vVZ=WdNo;IOqEI2YO(FSheP-;Apni5=Q+Cm3N@+Yx<~ZiTUDI0Nd2<9a4q@ z4GQt@vB$nmU2Ban}h zckKpk?@kiYN&Hcgwvc8JxOrL*YezvRNc5gh=yR4k8kOZvW!v%l9idf1PyVD3x0c@; zEP)`s@3vy~;hE^4MFC|y7)^EV6@4~H0o7wD=vJTo0NU{Ji|;r(irP%Lkkn5*_oC|J zsl>>Vt;etx$J{8`gr6%9@Sr{#qC_6ubk?N^1%)&m6`$n$!H(>ALrW43XFu^fBNrFOUqkz|jjvnF z=Ir;Ks`LZP=G@L{j{{pNejAP@NF&9uT+;qIYTzt+XBQw#o}x%Qd6DrWrNP9>15S28 zqj><2|FL9L;-L1R(&BY4myt{N?N|sg?Zz8P{P~#va9%k@pQuR0EqO+icd9f2$%{W* z4sy3^VZ}etiDzxIrjK@>?3l{&IGYL-xJVc+#G=RYxOn0s!<9XHm}OB(R?)+AppPZk zgTY)1kaC3g|NKA;ig*wS1eQW$_6Pj|pR=+#lpS;*;aocW{9-LQ1jxNc#Thh-D&(@o z44Iw;?v|#qdEX(|2twtNf)M;D@tHH!0|)B%$-C>~jdvI6DPj=@fiKRuWoQ^A55frR z?Kf;ylV}{+L&1XL*K@^g)Z#GvdDRWH1bny6CoiN=jT!-JNjGn-+0OYg7YT~Bur(8bOYT+y<|B41Qj@$nkriV3nK| zjPAdSB!AqMV{bnVx%QsS08XjXQx}l+6%_Og%D`xu^jtbcPC~RIvrqk0n7jeYpNBfq z_h@kU%{?J2C>r6fkTX2y{gWAecshPN%*eG7&TY}v&Dr-U572M70t(6#g5!Q>l*x%7IGLsg&ok~ild5|LWs8e{?il^fHtucv zlOV|8$G_i^+mTly7b_Mkr97@A@g+!hN1s>Pp+iz?gVzExnzf4Z4_J346<~Srg`c-r zpLi8=7)p-1!6jzhSdv%LOU-qwYTu{2p189xpOt0I&wlG$c>h)p*3>MqZxcCBHJHp5 zeSX3BM?6pf)VL#P=8mTE$wi95^T%!8k83b97lNeEm8(i`VC@gs{t)D-nDyeEIci+S zV>P(M2f?^13NEc?Z&!u~W5gbM#U21ScDzDOjB~<+%y$d(h@r71L9@$u-&<0yOHl9? z$zW-UQg3g##pm6Vlc440l}2zsHGMvm=#N|hRj(r6(n9K66^Kwh2sUE5jV2A+CXu818ii+5-lN=%M%Ddw# z9HRwX$smmtta2;?x^W^$!PMbW;N_IepITWlVZf>PNSBP|7TV^R3r}pnHFW0c?6WOi za4p9waAX8cdSw)BM$B24ehW@9sBscOIRzfNr?36I-PXgU!GD?NB4i|GZ|%l+1>)YY z;87dBYyT-2P-$q=$^k>)Dd^vk4qm_P#CQpEB!G#Pu%P;+)l@5xul&{Y2cY{xLUj-MV7J^^GQUP!nX~WnR5o1Bkk^?9R-E{DX#q_FolDi*B^;dc_4`g_51oC9}~YOu7)=I zc@QJ}c+Cao2bN&IuI(eS-?b`4y1vC?m?aV@B@V>;Q7oM|k8&q1I~I_hl#djraHtf! z*&pgPp%Xqd8hkC2@X9wz5HG3wn}IZ8*n8S37hJH0SloLPpqbOjHu8-HjDL9UhoIzt3w@QAh6O$&C!bC)1v5 z3EEjke;#%_^JJ;*ri#Z*G0_nF9!mrkI5qmi3a^1$&eV#LY>K_`C&tT=N z`}9*dWc4qh93vc+dcrvvJgwZc?}#*z7B)VyvJm~q7I=)>i306uT(K$vguznLDT7ud z^Dz#tKRI~Fa5iEfFt>hmVd^K*bH4xEBs$le6#a}=Wz#+~y7=?tv&9uN6~8ftR_Q47 z4UJ};2fpHWl?PmynWSUi*ZV@Oe&$q`AabUEA)TFHv{1utCFTAqea<_YL_nwd7a7KP zq{oA)%4=6q)iKLQHWp7T$OrQKnDAPT&Hg{>%~T|M3u-c zakwvIjgi0Tbg{cZi?Xp-mO|oTz4_naA=c3?+wnxK^Am~?=&)ceFJ{iVIG2AU3pWAg zfg#poghQu|*~a@m66dQl)KX*uvH`*)sN%2RkeI$1)9+3DQV+Zt8MW20mpt(It3v|V zXTs<+ZCgo7z)ydIVl*wY>^L?h8O9Bt1lZQD(dh1mM#IeEyUaK zVu^Svz7?O%7acPBu{^cMHF#2~ej?cu{F)stQ&WH0+F~Bx!1`w;( z52>2sA%7$Ph&K&MQi{V;hBQf1QMsjR=EzB#6)8lPiKLqb-hnukr-w${7kvzUj*oP4 z?*SEBJ}{i|>@ydFA;awx;Ff=#OMhLiUgh`aVBWOx`Xcw)pN!FCocWWh|FjJL;|%-b zOyL2WW12SJEc7NWU+mtT7UON_*k7$sTq+1W^B~wHab(O z^_zS9dV?%zgEj+I6zmTxRP0^QOEF32%D*|-lvLsBD{G|TJcK{(bX@7q|#fu;&MhVKefdVym*9C8!0P;UlWJB zOUPH)Fy~##M=|FOmlg!;C~6E9-*=MlWpMnn+8WTre`(lLnl>5AepU94L+NnHtRwiCJx)a)Nve;p}kP`ryXS%#N6`J|a z^LZ@a9g7?UF>tBtQIN%CQQA9gGLLbLWGIT)_~TA=n<4&i!4&!pZyKQzFtB=X-orP% zn@>7BOzs|UYQJu%>bQGRfdbp+$aZaM1;+Q_S2)cYsk=wszg@u=2!c-$gD11zlti<& zT<%)N)24-6o(}{gOG<N4EQ6OZ7SoLlnt+cZ67c?NsQr6ySfJ z8tQ}dBS;YsE*{06-OJ|1&iaH2XxDk0R?f2wo$p>&6Zz`xK4|$8n{cKw7D*<27E>3m zGVOYL=lw?{=!bY#LlOn!srOjNmk>=|xv$f)U(0H44@W#HVTI%UO`%*u0`?_f8B)v?6-4(4EwTuy+la`Z6$sLK!>oqcOQ^6M5Jak6pcNm`%m64 zv^h236-A27R5SU9I*&<46UK8g4>4RGj;ZEq;Bvr2krX#{R2;XZDVXnC7R^w-H4dBS zydxdwv(Ly>K+2T200~{_pQ?BOenASpr4N(jCh<8y%vJU*V-&^hX-DvT`xW3TzDPcCT&O|dr z@Hmc_7bS^MY0i(;`X1z+-a`T!jzzdDWT^0D>sOSil5{aFA z=buSuLPh>gAG`P;NoN@rRoiyq0YTD-20^5|q`Rd%mF|>okZzEMp;KTe>5%SJ>6A|C z?h?P7_nV&{3ggV)_r7ASbCuZj3EHH$h-8W|TaeiP($P{d1cPZJQ&0ej+$D*~uGw+^ zM5b2?AB7`Rg(K@iaOHuNT!R$GD`xg>W(Tidp#)4~$wy}p-j{F{X_&IHI9rxcC?W4xK1pl;vju}KUWWAoFS~y<=Ngjx--|E^k zBt`QEk*%m%TFX%qCto1_2QUQhiUSGs9J_B_h-vMc|D=4Y?11m`00K?Y$2BA{(v0rV z5a6SsXz}@bKi9U+HK*sY45+5H*@D0}cM9Ij$0ogX@^UYCbyGDMdueS%os1w@D(ZqEY(-SL3AC^b1sho;iwC^W&zg-hz_UV4P7TB=M3C>Z453l{t%Q~ zm1^Rv6K-nQMIW_;J{*SILk^GirGNKQ_NQnjO;Gr8^d&L<{WV>7FUzNPl|eM zZ757FD>Yz!v|?L|Az6)z93k)&93Uc*p2?zlI2hDlsUa%jp{41##wB|x{8cLS3J|IT z9@%A|UloljKchPrfJrpc^gV=33T_xcy^V~zmVVO?QJ1jE(1+?at#ehipEWd+?N!j* zmWb*fCnYVoBS7Z#JpO{Wr(CA9Pc;ekg==jo^z&05FH~9d@3y1vtTI+ z-s}mQ=G{!^SH;7Mv^-rt91A`5ZhiTa537P9>v%0TAKnEtE_u!A9=Amu2?9W70;M#_ z!5M@DZ~zo)Fx?h6oS6wiQJ=Om+ME0%^6!GQB!#9nFMsTV=DJx?52e8vhTs@ZJ{dwt zz=1gZS6q5ghSeKtfsK-NC<=tXEKEX#Li7O65jCKjqUzPh1r zyrl%GB+Pm&;C{rz2BU2K>>#E%J?L)+;yBxV`Yfiz>k36jK7Cjw;-JiTw@S0Cc-Q|; zK6lQ4lZBT8rn0_*AqR)Myv2&8fa9IR(+oB&CK;CJ(luGC#AnnqKfVu{WEc-HQI3EM zrB<=JS|*e_kGY5^qJ-s&D#R*Hi#EZTt9uz zCwl$-D&gZ&&0L^|;g+4ek?1pE|Mdq|#ZjLQ@u`d?AShmq;m@3JxG|GfwGmK+W5IuR z7Lx!F7BJMK`aDda0ijynxA|I@IEueR>+F8c8GUrD!;^?SCwA+ND9Y)9)02TH6C5hL zB}!@g7Tvyo>m5ZPz;YjnY0`1>0*iAF7-{RRIh$BqvPG;=>;gmA zyWsolHx}q{cE)VUpl!2`>ndg_`?5*Zh;9dgh#~LlSnv8Lxn-h!x< z2T7a@#%1q@bwq!=%Vd}%nqk24A7E@p<##lVLzQ&;&^7M)GO~FlL~}+-9m%dJ|I;Y) z+Yc|@>@%!C?Uq$^SrfJBNH#bqmSn4@f6|7?F}B#qS>E5p7%1lY#)WekYc~0Syhrzr z+PBb!n)++PF6OFMKr-;U@KMRf@9dzj>zwh!hVzW$dzqQ#Z$39UEU_FSC9{wNe7#%+m)keS%x=C?Daz+{V|Gkx-;Je*2#oYELzvy|S&a@sNC0Yw820Hpq|aMtI?zWcMe)m}rWi!Q-%3`4puk;w59uBw7|t>((^IREk#7(kjQ=ui z`&ewdSv+j;DO%cIhU*wf+9!JF*s6A$61n#&L)hZ2t5!W~#^{yr%F?^vewfH1V-k+b zFF&u{7Qe?@Hhl8gr09?dK=F>5+tPo(WL}_31DR(slY&aQSdUlMkSS|ZT#0nYsPRy0 z9{BS5mwV0+s_!uLa~=K8@Drq@UNKmx9`btK@R6tLurg8q(c&s4i-q_0LweI+XO{=N z@f8tf{CF&kjVCA+Ms@F__4*sCtBw9ASbOn2 zEVlZ7ZXXti92(?EEKN^MeTjyqdL?iC3}kF*ury|4I~Ck}5XRsoUu)@c`<7@)zy82n zh&))HKI0KBLy`0}nJi`m%O-v?Bf#BTTjdOCKgnN-RS11EPwrY!IF@M}MF_KRrf_;= zUNtc6W)W`9DJOL)W%ovR$%$gpX8~I?s;>(xO_B8O+gPzayZ^wH0w>d=MO}c?bVXAA zX{1G8!LC}#0$hJ8cEz86FUSMsD$M!>^{wD_1~p}uf7jF249#mM=xF0NMBEsoMg8b0 z91Ep+d;OmU8(bO!qN|yKnh^3$>{#}wCv&7XG8fxbduWlY{-&RPaAs+lRQgYkk9GPI zjST3)6uJ{ zkC+g|pC70Z60Z9dBn~sH+-5WWGBal?XnWb^{nqp!R+Q+|?Rr2B%8Ss~V8pr?Lcrve z#-|FQH1BQfw_TkQGagXADZS#$vCni?J{`0v50!j-+u@wGua>^aOS5Uq-(nQ>k#PT4 zL>XF*_LJv|7k0L78dR|_+3uR4Xrb(4or~#VUF~K9$B>`;#hFp$pv79vOfylE^Hhhi z6lRr_P{e=;J~nli#mC5hF@0R#@>CxL9dq1TKEWZDgjC>6p!uyKUqW#(P&-5D^l}=jtF7qEF|2^V z$zlTx(7;k}nD90TjYaFbZTgt{by;<4$x68A&I?baU* zMkOslLP;?ai-7c@C@bCp>rv;=L&wQOQ9bKZOR|h;@v`pulFNXj;m^Dp&VhlGzVueX zEuGQ$Gde{K!5rMt3nU4Nr^F#HX+Mj@3qEcIGaNI8tYLXVJqBm>Q!G37PhMJ@2gs5; z-*9*ecDsCNOrotZXwe~NeuPr|DQXPI2lK4x17a7&%5FB%|MrDbJb6ZAojZ(eH5&B6 z+R$o`8Cs6^pZXgozqw#ZdA13JdNsK!4rvywK<`%Qgh$IhF}3G0cTt3b`l6}@Q7QkD zY-r(rJ!SpRQvn6+0E$iDAE$}v?62F`6cpIXY3y}yK9oV=R|nD6QBHWe<)hQZH3Bn9 zTL`d1Nqp!ZE2we5{B@dZTN)@FxA5SknYI3_NKdiBAzOt-!CS@Et0INkpmW$Jqv9Z~ zSXlBW79LA>Pw444W%8s9SO|NrAmu@;D$Zr$;tL^<+YV2&U_sR4y@M@t{*Xg?n>}{p zi}c?|2yWhOy_ZMHKP%1?oU-lCPpD=&G+3{&^ZasAzR|9%63G|S6iyO3La0LILl!bg zQPxjiVb8RFSkaRyx{5X9YeYA=KKHXG8=!Vmk_r+ze*LM#p6%HBl|Olc_i40U&i2lz zkuABSb&B3ho@Emyi^K0*fNx*C^{XWrhMzdWO5XeCx>ayC?j`@dtAbJTz+ip7Qc0s zu6UyWu-bJIuSCQ4WQ2NPQW^B@S(MEZQ3pf-3h6(wYy-ypXR)<%^F zwVmuzFtrJ|5X=s>*v;o~4u036n`BHX#6q%CB|#<{Og9U6Gm)4~ zRb(Vf+jrl7NNy!y@df`jh0UZqCvlR`uC3*{pGk~*wT#c;ZuwIvR7tzn8R3oZAdZfW z3MC+~AoLhk$cfm|!}jiC@PJA_PUOjR^oiSHMR3l|t0CR6=+e8kG$OKfM?l%gSvMj0 zmfBHYG1?p-e@Ccj`h5dA_RqpG>|jZ{Wws?h$`gHcB*n&`)7DaEISjaI>PIx5KjUZj z=`!BLFp(6Rr)p(M{1iS@^xQWZ{t!cMLJ?Vx#oKo78^X`~^r7n#5lcBqgy!`Hv93C{ z1n!-U1yOUMZW21II^E(idY&2QfZR_w@#HsZTJcME7V3qRSL6sdBglhf=(7eN|HHcL zco*`EL*ZJbL_9`=qz>mBV{rohke*E>X>oQ9@7Tm-YZ8cYjbi0Pa9wEmi$JNH#dFo1 zMMXNhEB$qzwu78Kh0%K!M}}OOKTXib#K`Ndd9pVs-)pFXrCbScJz-SEuVpv7GftnK*F`prdW< zg}hLFpJtS`N<{$@s!=C5UUB2nJ@(k!-at`yFE}vf<-d*uP8wcL;Hn*Hal&B-wqM38kH}@`A_AzVaJO9*{y&^E&)^X0t7ZWn3}Y-cMjci zmbU;uKWb>u2T_jtEp0?+Dq|)3!!B?-r{PC9%5KXlkZGn`EEaAF%*6i{E!CBe#reF2 znrn>vVp5YJfiBXRVjV~EXI%< zb>mAU*zy&K=4I(roGm6o-|>$3+#G6n{aJ-*ho@}v{W}y_oKrqd>Cyz3-nF(MxPH$K z_hgCYG`HU}OHQ_lXBfeuPS70A{gw8RC|hQMG!uCGAt z$P2a8L5s469K2ZQ=`m>|quBcej29i}KN%|zw&xFz!rs_Jz%sKEdaiLBNQ}rhk0mvr z)Wi(R?Ff_(*cLh4k-oi!k?k)O(}JtPE*hSUCn$B^8)l`)_Xydo?%BqZsoOI^JU3Dp zR?eP&mWALNGBNsIG?!Kdb>X1JAicQIL4{Xg?L+`QC8a!FXXJgf9Tpg{xFhZ9YtWVU@(V{9CSlvy#um7u2 zN3QTL=DJYy;fH2}s7xSrWm$%j4#ksW!Y1EumDcF>f(60c4XKg~neNT?&CkD^X1Nml zxZ<=s7Oc*$YEB*=r<{nF`C~U_=zUi$-4oxjDGZLB_4HVcNHKZ|#w7Y@m`O!8rq1Jy zT(I6-=2X6>?})`FBr2(3d98>;h$}}wd%|eyy&qxRJ?9qaE+$L=!%6YmM(8BrUB}o@ zOLBzLmpn=JF4OdgFx=m0tWY&+Vt(BoRxvq#B$-I#&3B#2$PWsc+f5}AqwY*$n4+|S zkn3=~HrIikMJyX*Ha8=b=fdesoSuu9_qGp5xxR7d{OLI`nz6D8K47!!qQ`d&ZWc-Qb6maw3gij<{^65};w zDEdN+IJ=(%`Bvr4e@G>J@k;Uj@)`;yiF(>+t7X_zs;_FHO!D4DO=rNi~O zlRZ3d3BUKh@A<8T@iq6@a}Zy=sq$C194rwE*lJ1ERveBxF)&SMscc#)Su{eF++{c# zPpa)bhO^JVb}!Dpwd@pp&!@YD8$qc5uiV;-Ib}|SPXVT8+#HP3uS-ZI&jsa$tB4^q zjI2rH#l+R>iB(0i97{P7*v+NC>R4!C^1OMydZVON));GM8GP3o$a!z@-EyC^MR0_Z zeR8Ms4zGJEG-GvJmbe=UDGa|MN?YxRBOHCqZ#l+Uh3r~T3Mqd_!N)JHMyLmma-7rL ze|NdosldJr%KoJ6toHx=6Z<4w8aWaBW)RCt~3@z{|F;tUiF^0DHJh8 zvEvD!=Y+o;&A*N_8DQTVvgJ^bH@WW^Yq6j>7aVi5SqZ+K1Y^(cV5HFJ$Y_ud#64&t z;5E?G4IXvgI}u6Mk!G%iDTy*O(}>X$qx>~3uKuih6A@HPhn^OFGL5CJ-_6`_n+Oy9 z?4A2qTg-h_B=j65O3XUo5mSZ(2}sX_nd;Z?o{>tH zVC+4N z+SW%|w)GxB!B2RYlz#`;1S}yyDf}1sT%Uu!0Kmf6*LSnpm%>CfNsN|p=NR$6IOqV)v1cD>;kt(Ec;K!J#gctnzsWUk(f!mB8}=VcHgHTM#T zsz(fve;x((UI@0&keIiujU)LXzt;cHIPS}Mw?$;rl^f4!iKUVuVXPblLjAnvrQs-b z#ef26>ZRGL0z#k+V8wgT%>-XOK;dDSs3s@6C)|ZlkI}iXTdTtXk5Y?bExH)L%qKJ! z^-;r}+66j<8iM#93s(h>VJjr_KP8RXn6YZ@fo<_AUm278Wn!=Ow0pwcn%P54|zsfGFG+08(r;3(e{kjm;eX}$FuKRb6i=H*;b0Pv01C^8jvX(i<6yBIXNYei3NE=svtFeJL#TMSo4#U- z48fgQXB*tXao=-b+<58;$?+Jjs^v}>x#EuteWfYWwhCePkS|SCf ziQ8v&t|OCBuU$PnVAdkdzMy%UKU!8alRk~vB=(+jccs#XOI$P)DYCf_&1PV-V0gHn zEH8L=f~!D1%2i(}z1MNjWsMGoi;kv=i(4?Ed1#N{41GO};4vh#I$CKK+aqb}!Ily{ zTYZ8SNk%~pGdNn?c~S@s!RDAP2n+3x4g!OJCZ+)->f_G`izh7yERa4I(L@Nb9|n13 zSuVRDhZ7$@mRAmZ5Qc*+9Q#t|Z%i(tAgc_)sZ0c-whFb_7 zrX+~!7ewGJP@yZKg6GE`9?r;y=YX>_;7X?n@yRVhq-3?5YD+_PgYtiP>0pE1!7rCT zhMHX}yS3Nn29^04DY7XkgN7fM->%koFuO$P^+sqbKd#<+e9Un zB%ASwfduUYpy}J>o?~knk}-cOp@D|s_Pq8Bw0qw&n!@lIFAnzE zaX7z4(7Dz09mbzMS(DHX$Vr%NBtXtgIZ|)$h62+&60oqadU6?Py1CWI@p_iSQXOxL zKZwfH(;HaJ&eGtE$aGs}a60C$yKiy0p;);;n#4k*yLPaqsX7U#?GAM4AmXY=D5oqX zrZ%d^bVctoaf8wm5+(Y@*V{bbRC{BB1vics{B!-AsLBWk+te=%iBrVEz%n9F%0}vy zgK9<(+4N)EamxWP-jjabC5J>2ynA{2Oac5<;NalR+Kwx&hEFr#S#;NRA7IZv zi7bFBYjDkOTh`g&`9U2o!*b`vwZyQGP*P$fw8bm&hf}Q8BxyoN#XBc=Vru6}bmF*5 z7dD(}AH$IDoo|%~{IN-v>wZZp(toLX6xrHhA`^p~kYDv%QKGcMf{&A^-;P^pjJ z`~^<|4_8<8SFh+{pbpsa0(&Fk0NJhx9s}l~KQI3vxZ$a`z-NqD$)pUKvk|DWi&MCE z2Ue?6j7ljW);IU%7sQ{ThzmO55Jw*jG8Ht7!URNec?f4bV@lI7tWf{_UTVF>!;JXk z4i1tGH7DPd#|$w{dWyg@<3e15!WN5yyclx(dz}TqZnyN%x-k?9J!pKq0d+XW6hoXqy`z#i9U z57-lc8iw@SSDf(5%1S`|=HVF$TdBc$G1#m$;#K-u!Ff=yV9bX7*JCD}qV--xWMn42 zbiPEn_z_x;#co=Q3HDDx!nl4tyieA(67B*dA92hG12-S;*v^C!RTvO_ULL`>eS%zo-d8zDif+zkv~@Lk9lTzWB4zB9vXvTTiCr z_99scTqZGieqDCVcd0)l7~Pq%A1TR0Qq*j?`G!;jUCMOuz75E{nv=};ijk^G^TbS0 zdkTDk)D<U1k41CNOf(L;n-#$mwko*cX(CeE4?uyk}Br=6dh z+u?((^};!xU!HYz2-7)%I0%qF{lpzL*K_5eBUB(Z_`B0zB%-~c3243fCS*|=JgF&H zt7$*k!6@QLgjyU|9>u?Qr8dkF%(;a+YHYi>TUqS_x&$aF+IRD#IFa7o$S!mKp373$ zYQqBaT-5&+;A}s}x0ukkHI!Y8Hf;rj<6hqRM3v`J&DuTsEZrV{ z9&I8o#uE`%7{EyS%uS%bVO&@fXgLC_vB==PoWwlyk0HK_-(_Dk*{Cu9mBKM56s}zt zR@H{BG2iKZ)1O+YTWcn35+wqX=mMI+5i_Z_2vS0U^5ptx*?Vg!!KSLk9VAa8#gVk! z?|*CEc{zN(wzgKM%l!_l^^MjyNIOsA19Tla-#(KPVh>mS`)598ww@dUfA7I;#Z&h( zB&+`yToVBk1d}$eG$nuq7xkIq4SpTksxvM6z87dkkhxDv?NyCf^!9RAXJ#6J(+?Du z$G>ZOL4qs|;`Ni!|F3$(+FIus5HtuL0>3be6)mUHx&8ZH?{kQ%OQR8t5wNhf&Qv!b zLf?N6;W?2wcD23NOAZsWaELd1M2%H^Td#te*y#bLL^ zk+R~;laB*zsXB{Q8ZWX<(6@Du>iVORaD?E{C__*i?KfK$mMzoX_n-(jD~ZB13~H^| z0suVn>gM{@fBz-I|8tSq-4rx+sU0vGh?15dNyDlsyZZLZ!I>0`go=db{VIVhhkaVQ zj7d?Xd8zI-XYU3~X1L!hN})w8^iAI0sCBKMHLzqtk?YZ7IdxQ$+7__OG%brIjk&c! zWSrPlPo6Za#?UblYwS!)tQ_%zY$KIVP@a8DiM((A>(>eAyB^JN zP2#@PsZ6@}ptO#GN}<`=smVzrBa^?s)+TfzftN*&e}OHyK7m_1>5rx06qF7}{mTvK z!NsIe`LLeI;)a9%L6C*ltd56V!L@rrPf9Z^r|C+|^ds}(HU&EbD4<+!yWqwyaKBho zGAxBuD_JzOBK6(f+|z5-zy6ZA17Aqw<52Oc3U`!PBo-WlsTJAF^M0p)ggmVWuip>y zgAS{|I0wFZJ4my=y*m7fTCRv{Kj8eWk)Vm#6blPy; zS+9F{)ZXd6z7(pj-y1$Uy5O<_L+U^?n%8dx`H5EsO&dQua!CC_ym@8o-U6^f0a%3u z=!o|-E0@77F#opo{^3Esa(929-_3s44d_f=l!a;>R)r-u&R@O3zrH?Na>;)@KTdT& zwiWoC-`eWE*KZ@$QAZdX_5Cg<*fPiK<(Fq-#kCt_&`*T)cOiBBt@s#B{EoY8pm$`^ zscR`HD5xp3M-WEz_YK;UZZ-ZOK10HY^~4c}2!$ZaA*_(wjAo9v$3{=nw^7mBn*5H3 z*P%DR`xF%!VvYfdL7G?Yv7jZJpc{S|c+DHta+o}eqv-1~hOdr5I97W$u4avE7t)|0 z7!e*h)#^4yia}J__i`eh4Xc=%l~{2Xm5_*N|L{=aNZ%afIXv#YD2`WUsoV8>(&i+f zX&uQ^xcd&ByzwQ8ALh^8qYKuSy5(uORu$ax3q}1}8kc8wstYeIU z&H!M^AO}?~pFm^xJYfL*PP8$>x@TDXvz=FxK!196d3ko(7wB{Mc7Y6P1@HhW^;vwEzqS@p+IiWh8g>{%y@yUv9RXA1*l`Z!<104(>BAy0}-Re(R+m z*Iy=gC*I-jU~GJ;qcH);qEEHW9E&io(?*EbUJu$kTgeXmDddDk`y;p%@y;3=WnA)} z`X>#Wkj*wVif%IluB(1RTd4K>Ends76yn=MP9bX?1!i=$s`96jVJ=iAS=|oDT|0N( zr5wfKQeglkRV<>Kh#d~=w@0bKX-nda%P7sRV?mW>$xNji&S^td?THf+?ahVgjU%1UbILgM7Yhth;*{Q zNYoHt7K%0hs%m++_g1@GjWhOPg6_{u+Du#1;@_xPK|{Y_II}1HQ9rPQNX0 z1jpVGL%QAZt~R{$rkz9^&hhi^aPpk3;L{Sf;gE|YF2VH;bDGEFFunhe$Cay8+}O96 za-KmgJC_7IW7fHgbBiKKR9Vz60tD|^4p&r9g+#BfuF7>Aw?hdG(u9heb{A~Mnh_yn zq+3%%$Ugtf_FU&4=VPI<&};(zHI}zs*QxjT!w3AVXs0dr-l>Lds1O-!!LHu5(uCmf z-RaW&lT_ly--|rYy)CSp1H$iZF;_uS)Zg0LIw99w^$zkuG~DvGf&-Hz_a?Y^g_Nm? z{eN|YF`HPLlmHzl;kDDEXI|6H&zt=O$x?DK?0}Ar4lpljsCs@Wqb1xLU1dZK8h7;H z#WIzBBhjc3SRR7)O=E}4QpDgD?{EAPv|u@7vyv*6cd;BVnAe>C^6_AO-56r+Cm$Xj z?)~|5Mvk?7f()m08Ba~jaF^Hb9eQ|+B$tc~QBlhB^o4y2ijp;-7y-d-rNf8d$CncO z+yeF{xKStrr>CbmZv`CpaYu8G_K#nZjpdj#U#NJ}1SJi|b%JNQkj=Z7tYBRivURv8 zm+lY0dvxUcly2#M`1`A=rc%!IAV~QFB&EGH4w0N&@azZ48<1+hc?kfIFAqg)n%y0xY!mB?@)ZMNm&@IW_NunpHrm_&Y{6jwQhCxq{`K79JOo<9BSirq>B;Th z?p5uFwaphe$cs)teJVfgWZYE7ca0DLe*m5h!O!-!i&g4M+)Czq|bz1w!Y>~XteKPB&xfE%PI=K z{O=uxOUBaP3fqf#M|@~#fwYgv)qlPtGe9w=4&5C2$P*fdY#)XHwXV+P@4yuh5xAx> z>wz)sSX(pWVyiNVa1%&0L*;|CEG$ecwk|nI?~L6j zV{Wc-W5j{*_#l%*Pf8hM`oq_8-#t9W59RS8f!FidQ3Nc<2c&P`rZ=vmTF##<<+VD@ z4n1~od9-bVjCD;>k9z{6=aUt5h;s(+^WYHG{p&~MV=Q-lHQr-#-~GP{6c|F`?_eDY zv`J1Sh)q&E`zLS^efH>tIbAl*8Khw?tysc6pZd-eBofs1#9L7ToI1kJE$fSJw~gUOA%_?EKhL z>KnAS13$t@7`KJUC&C0(nP?D!_xSlqQs4tYZ35i7cLp`+U2S|WSoU28&hSAn@L&hS zEzz#D5B_0`yKWvg5EV?oB6fr#tR;c`lc^XLngK(T^oQk<#c`xA90a44uvaB+{M`mU zxYcGq5&?$-jt&jvV@byAybCb@Xu!wI%iG#`1AdX7^PkU<#PPXC15uD`p36+=L=1Ux zu?-LL0yglSuUbl_=^z0Kyu3a<2-+q1>VB`bdNyxNi9*TnUp-RLlWAm~yU3yDc-Odd z>6U(C`wzhnUVG+%!Zv~6d;2q?I~QG~t_4h20m4BQGlxva#{J+e8e_Sm@fMq69ISB~X%`)!X@ zn~Bg^k{W+3B@8!KW!;q{&}ZF3JP~WF8m%MAgR3i_0tNeUb<2!9LI?p_&Gp}>XRt{w` zCwOuCGEvp)TkDvR|q1j8pGPf}D^lU2T>Fz%8#Pldi*tH;crYB(}@eIPMVVKD2 z`}698jM8aq%~BE3bs2#$XUEBMW~q{l{LNlF!yaW=#2>;`3iB~_j47wUL6cAURaG8O zha?cE)o~!!Er(w)F)>2fB@DW??fdib^$l;2W;bgD6$Nsl8tOcvk!#<{?k*WcDb=SB zhRg$quut`4YRPbit2c-3H!Bal#W@ITr-|Qd%9u0<->-f?O|QuOAF(l2-w!bm;rA5> z92qivI>VaIyUC;}+t14Q5ZvE1s`{im$zFFLbli6FJ2Sp6Mg8KXs^5_tD7vZxp-7@H zNnnVWv$QB2o23x)wTDlRj;BClp84-K?w{ugFxP@y=ipR?{u3n#nIuOiNA=VTG&G#< z>_UTTzII=h$k`Q9`2O+f7R4CCYt25Bfk4brHC$sWGc9Z?v5XrGYAwaNc{X|M?6)Ka zd8X%XlzfPEK~!)-Sq7`0MsR`VAFFTgqzq%XFy8vnPiN!K%PfjUyylZW!bvmBxHgkJ zemgn!qK~O^Hqq^wI$^}gEak`rN-HBh1Tj7P2g70{CKV9~qLDopbnBgj*7^3G4AXZCG49{=J!*9@O^r7`CWNpR! z#1|Oz>I{`)NkyLCbe_G*eJl`Z2F^O|jP(|lqPs$O5OE5^NO7i z7S2bXf9P(ob?srAc3LSZtF{6caPCNnt;QGv6b~(_KQV+)T1Ea8abF|FqKq4&B3Z?* z!-VgyWm15eqPra|6*Ii+oHqd71tY^K8Wm+nLN#Xx@;OW6$Czl@b`{4ueKi89XipyJtz)^yGUPprHvN3k) z_4N~vZA2k-$18UEGSl-oR!cW06B2NX! zY=N%x^(jZ{%ek$jPZmDUvRvUr1pii=m3_h^RwA}a{pImNj z0%ApkUsfTQSn$+pAJJ*@U{G?nkt+o0Gx3hsMdb^eR6qyQ z)qT?t0s(TUp&m{=E6&T2hJFpvZ<(cEbBLY5n4q>`a872@hp3Qx(sk#xwUr4=Z*Q+f zE#U|oSn*Cx%|jL3+-DJ`)$_p4W&zHX+ZB-=PAJD`M2b+Ee+n(3BUR`V4We&*c6I># z&j5HIQMepU=@GK(fJ%tQ;hVJ3e%D?Nsyr_|ZA8Y2^_58~sG7}tc!XRb);k_<`!ar2#tYk`?Re2^FUUJ$Lhevkf?lEkJtD&Ir5#AUmiXP-%ag>BRv9Qd> zup@dIDEvq^N?mma-lv`02aU1 z?E|w-?zzN^SD%fgFmUK$vz=+Vwc-Nevgt|y7q){2RM)+$|5gyvR|J1&2KNv5Zgt+! z`1)2+d3rUf9uystDHgiz`!NV3QU{tEpbTka>N9U!-V(auIbp>E>QAm)64Cp4TAH7) zS;J(jP#eE~6GEW?RAZ*4!0MN0N#Imhi*-86yvUF-n^x8@gNnzI0@3--9z)Ry*7QB? zt9h+NY~*6EL;qd{K75i4kJ-BJyf{WCKe-o-m2GsTWPAccUB>T=yxoKXhAFbpd zB?;+QTM^l+gC^KR0nq*7knt3rplW1lf$`~NVnOh1b@22k^fFGKK?un3Dv6{Xg-{B- zq5NbGDj8J+YU_eEA5Xc&?LE)Op%c4iRZKw$3u7MNyC+7tE}j&$`YI(CroO4<-=Ng)mXE&W8EBJI|xLAQ9J6_$)GIG=~c;dlG ze@WzCm(RSsFRt%Jo;F3E&fonL&n?Qs6^5wgeD6`!e87Sx?9m|wybwQbP4@d^z5K@4 zuhxja!y%gV)l&b!v=l=lon^GIkrYqH$pb(qrRNPJL!_kTj^5hcXQ9$?7rv<0taKEO zR}l|cb(%Rhhi>d?lBVJIz78|^zUv@ZE|HHAmqicF#R&ogw$@Fe^wTMFef7Z?g_hrz; z5`If$(Y_wbv71Fb9zi5}as(e`fI3N*`_mtl%8MySKNm>QV*Z+to{+d6x4WK7bMp{F z3c&=^y<#vO=v>)CMih-l!0k7@M;FeZ;NV51 zh%d~jQYLh>!1VFAaeYheZ&csK6JbAl+mr*fm&H|xgTF&Y7KKBdX?z()_{y(t+dl2d zPVQ3T^BgOw0dnr>odR3u?hIiDKVpaEE`%eMw#Ev<6jw^&fP z%$x}u%S73y!jMf@Ff(*pBq%!U@x5GAOXiFRR33+V-jkS4*2aT|NCmY+Bldkmsz&v4 z7JSuf#QzQox6%XbTO%fCpJ&lErqYGbz=8_GK>Ch)V(k*NMH$0aB2H*`<~iGvYNF+t zKTeCG&SqwX6&3M=X*By8I57%sKMK#K{e&WGr(&Kf!JzdYchUcm`P(c!p{gW6brQxFDV!H74;g}^Cx<~*kon%NpL_gQI$537cI5fo+hV+W^_&fxD=O_<`hey*QqK}obG+I-9}aSuyrT6;~K#2Yy@MSgW2 zcQ@5U^r#s|mlIsWUk-3RXPz~IGRPAX6JPDfzSsw-o9f$yDQ)meKg|%-xt_(J$=Pfa z(5|qkZ(W;cj_th7H>8q?|Gt{+Wa~gC)J~Bw z61VSBFSY<0mbjrWqh>;*OiUKsMRD*8`Kl@?qHA6sBw@sXm{gCbF^`kb|8lp=s9we#1Jld~l|NT9{AmM8h!JpUbte7oP**J3W6?hQa#*eh5P+x#q zEB^|q#2jOiUY89r+r`RhucM|stu7a3_}!cFYv>BQY2wSAze!HOi99{EK!DU5Wn!AU zF+C?(+ryw{p2sGGmu-{Bbm>}F*H6SgI(Z26-6Z?TPQsmIH|at_;M)=K$@N`^Pp|Y= z=%bHAP9A4k1Y;=BD1p+OhaVWAuRbZhPkmMLxkuJc7pAuE!P?%PTGlvd1XDZnHI$xE z3UT|nElumA45UxUZFJMOa^gowoBTGbH+-nk*@JXbF}2WIJr-%R;O&uI6T_m5g~IPY z+X`>kq6&M>J@ivad48Vm=ebN+rU^2n{sQxWm_2#^wo1%88eb7d=06X@nS(DSg3`5J z1O^zT7ab;jTA1{H#BT0Zg$@Vp>T&Yuv!uEe>~2ey7w;u4#bT9Zla9A2j`;ORvZVeZ z7HveEi`>L*+PD?`*q|mSciZufG4LHcNwZqd&DMCcu|c>6Jtq%8Wb6V0VD)uxcENy} z+Y}5i+S@DIg&Y@H`E@2ku~ETZtK)=mhQ^oFcnsaH}P;A=`r zLu_#%=CXG^7F-w%;_LY2B37yaEV>a*xw}PQb-Fv!tGuGdy{L=Eu)GR)kFf|lEqJDm z@}-47{e7f^X~mX@$3bh?T9*1?YCo{le)Y=PrCCHGozOrUpKDHkPlvibDIz z@8ANcuzq~m;T_%GMGi$0-dXBCTrq ztn!>Ne|}V(w8ZgoFivAGS?sZ;6fQXFwUAjZvLfa*?*o1Am9hJb4@dd_{f8!OTY)yP z1OnAMS`>&=6+R6Vx&6C3LU_9kK=ptkRz4NR)_Vif$l2rtwrWB19UcW!0~WoHO)T_( z5LPug_YS_GsAOwBpU$R)Us2^W8$Y`d1L7!2RLSVz70x4k9avkzlo)G3O*KAmKTSPW>MD$vFjq^9@&3_N*|)0|g^fx4-K7VIZN59nZ**vL1Faxn3& zuDl#L+^GJqU%x&*bxcg4;w0ca7RFt|ZfB4ciT8}obQEoi4yEG46`~WZEZe@0G)4AL zkHl1KUlGO@>Mju%qsk3*ocprBS-OOX@xI{9ga?qX;<6z4x4b_Fn6|*wG4+4gg3~KHqOr_G(0(Nh^x$TM}D{ zENwQ;GBZN5dfM~aEPlx&`>m>S1mB;WT%7i7rv)6$dc6%FqcGh*TXSd_`>8`rgF1Bz zb;c;Wozyn8ZGayX98CLy&{dizjg*KBjp=8-hlvgwf$#xbHcX!*=PV6rrp~s*drsV? zE1fd^OF;7r$qMMBF(bq67u4T!#9HKOs~PsPqs#g(z0GG!G`w_3kNvf4|(C{e86o&( zd{LKHv_$7B_E1kY?GA|>8N=pHW|F#_>+o7Mv}QXR(2!Y^^AUb!@!S-C70tbhXT?iW z|BsQJZIHc1*HIrjAji98BeOVk>a`AuS@+27SNmPe2M?su6|JqWzX!zBgwLDVsDN&k zaxIIy>|)sD^IXsC@j)m1BHMkE-!j)okNe?4`%SbV>&RFk4){3+ZfKzr;M1#g5wg2d zxnjdjs&-JrBp#}9+OWDDLntu3C?%i_5%RrU?sVuQ33xQw&(QK+4C`MBHdHf3h~Bl!bwpILAMDJxysFw$ zM&^hJ{#TH0w*bzUV6^}<4QtSR{~W)4XZ^5;-*{TEyZigXoh#u$mIZGbs*?0=z~ky; zwaVlOoikzX)d!LR)g&$jlpu92N~#0=h3nMP4TWrnLh%AUr7#L%L60tiF*|TDuKge+ zj=OIB;!O4TB%vI$U?*LO7kNp}4&-xhX(%N*N2BzYpd5qID2kVBG<>?8B9GxjHW;=U zYLe;1V;rxpqY}Zehb!C)5KQMnPJ}ya=>EPczy=L>(;V~yg;Y%)vCr|u)qCS#@k>hw zc{EBKJxkPMN{G@$1T?Lj4{RQ67N(`0m6iK1rWM39BqQW-lXfKe^T<))At>-G1ZaG% zTU!d+M)#oo?DOP}2?qWZ+`?U}z%;gWwpDKjApff!_YG2gRh*+~hw8PRvCRzS9D*Ng zDU8NUL(rdwLe33J?)QE`ItZsv@GQgf-?xwbvtC=--PxJS@!1ifocW^d4~fIcECdi@ zl?GqY8?R&|gWHyM{#w){COn@w^fo3cN=Qliv#}|T{GV^+#m=sg0v8NXx+Ror{uLyR z=i)KY)*TphbbXHiY{)Uc)35lH9YA;B$=5CwN$}vY4HPrw=D(7iAY+MJ3aF8}hJ16I zithCmNj|N zb<0fsX2?vQWTait_rYDdO}Eb|1y^A(5Sr{EBVL9XJ?@Wv%M}3rGmS#!+cu{~x{IZr z>5Q7Vk7y`dv34_>_69x~KbBs?hYG8i8NMo~tSFO)|Dk^Bq1ROjiFlhX%ZM1a8uUgf z8!cv_j6XqY2}X z{(gxIm12gOf+A6Z+*o$_fu`K~sO5aLe(4q$qMSvBFh0BdOe_vfOy1t+Pp~2ppwPMj zUf?sZsXjf-Y<8ItjLnJvoG9W_NX<)9Byx4Z`yx@Kx%$F0#n+9j-_>yJ93aH9_rf~B zbHYU+aFZqj5`dO87Zlv%SFY0Ko;Bqc?{~bw2%+;x7n-%TmS@BvHUCtr>8!@p z7FE@C&E5JHi#UpeNioFK)y)k96LY)B{>X$@awE7Qo9&cSI^=N_ujj{jj(i$g%uQK` z=1zZiKd$k=cg%to8-}x8CTrMwJDZqRq)*y)o0V^tOoqDDUvZIf9!=R-f2iy1Q6cfq zMNS$s8}3urVd?kRxrA#KOtVpGcqFc+@BBgADEZvORf_>GyU-s4GRRx`Or{Y3K2)tQ zq;{bNEfWco0&o@|_W}Lt{KNI1y4T(S%ty)?n`;>LWzWe|lX3YxX}>8>UVfReL0yhA zF9}sxgjvG2cVEZe_7@=d0PmBnttM-veE#<&CcJMZ94Fa@qGdSnopw^}yrJ8RW!GI@d;ff!5V9Seqz@I1jkU7NVr-rtnA(pFsW0Nq8{dH29*Z6lX zmr5nEOrA@G6t6X1;qy8>$ht4TIG)~Y-p8;{H(p9umPjORv7n}1N+zoPH_45n``;0~ ze`wQ5$0Ge@#M|gJZ{&dSLT9aE<{YdBE#u@NJiEFFGM@v? ziasEi01z7^30|!w-t%ldKHLF4mhay1E+{wL+}+WrLA{~?Iq-i&sThzvSJjF4Y~}?@ zcV{_WDGhvgPXqQxE85PjFCUno>cdqLX}F0>-n>#y+{>RWd~CVac)IC_e>3BML6L=t zTrV*^*onpt?Bkff$ZHJOv8#FKB73p19qcN2okrF6;SI%mwhcGyJvTDspKd1bZl!la z1M@#IdB){yv{3kFW8%X3&S>T3YmFn? z7L!?6M)_1<xb!NP%F^1xPc1v;tnY((*k>UeDY<1hXt4<6Btg0v!c) zrm;j&rko1{fz+5|!A?mlW3#CVv|IH7r;D_fBLX)^SaCH|t}$&*XqwWrYXLM^si=jsxX@8tMBga8n?f|HW_s! z%cSg^kc1bk`pQW_`hi^$MU>bU?^;#uj?2R-x;nv%?lgi} zBe57#eV-c()iF<#-bS0BmJt#CxB#6>#C2d<4Soj&-UQL(3g+WVL_cNOqcU~&pd(z% z)5CE)pjeLVfEYoKvq5@FzZ)Td=T%-H6NB*k+%Q05zlEX^wjGYvFM_z-*476lwgGU) zf!uHVgERz?r)=2l4q+d(l|gh_1y7{^%@ih_m;hh_j%2tm)q-ei4vT*oAUtpE=^z$6 zAtfzf1{p;O1*8=5-mg+VQjan2+Z`Gbih{s^w#zd6*N->rf)6Bd2q){5Pr6wi-K0wn z+ZpaaIF~Zzj8Gcf21`V1yZ!JA-v)JI;X4L_$~XSg5qrOLq2;^B)$XuhjUg%5b$Q5K z>)kX^b2_jsG_3CNwVg&2mh1BX|885G9b~iGiL9`sB-h|-4wtXl4|Fx|vCESZkSU*T z`azhmR7L?^Hk_Cid0qHke+!Dy+oxE-w#2eSOqCXU)A;nz{&YP6sj95}fu>PDchLjV z3qY~van}j%noJSjrozH)puybT+XJC%gc2@pZs4`=o=8%C2lw64LT!mAQyDM}F0}|K z)fY3a^zu$3%DBBxl#8mQa15eR4p)7}lh_wAEZZ}<+P-U=eM_Ooo)8fbP>xS}L4|QjE>78l7(bxi_ z%y?M0_Qul})S1EJhnAV(xTFO9aa4JEMuxd`7@@mRB`Y&UJ^M=J{Z-AtKP5B%?zmU! zYMe(MAKrb01C%I|P=Or}^9+CG&X?U)BMi_)1aSBRLMSdWM-EmE%k^^v+kZ-|-)C@H zqb@>&RN)#uuMP%b%m4M`x`n_Gs;TkpgKIqjNcLw4*??&n#^a%d=y`qC!!X-py^+_i zw@Wx1xIdz-caHwiC1M8Pm*$~DcttOVw?TMmF1^u4%lFPzcm{_{MmIj{df|t;t->r_ zkU!Y$w`BpSx~jNg#Ry)}0uw?F=n96HbY%S81db!sHj*c0+qvINd6p~uE`L2;8a-XE zABu7+Dh!uAU-sMSv=_a2?|#ivkooKtwic-#qZTXXGsxfe$Mms~X6&t(LnE1ko}@7u zB|5@mLXKw_unmpP_ZBW!(vo{zz;%uZ2%jJ{1#k(PNI<_TOxMvM`JeSfh zu57_tgoFE2%UwlftfQl&lO_xfWG#h}u|kr5QP@iika1gSb`LogtgYCF?`*^spkd?< zDAQTX-~v7m@l z9WW3EdLHNr&~iL&$@q~I(PUlCkNI6q$WT52Abr`=($XoZGYDG&dKyvxwFvrvs;B@$ z@CfFDi~*49d{5ebo4(Fh5D}*?9r7E9uOD+o|K)@lK+X^`=~2G%*6#?tm_D$Hee1 z>%cZ_o}5=9ac#cn;1Dd8g1S@S{OTac^zr@{q79lUJGrs2CKjPlbwObvQb5ufun@m_ zLt|)2UJ&kab#Meq4{fF|0?u2NWMhs8_j|%Ya@48%riuNE-b%KXT2z@fhKX_OQrywc zqa8ensYik%R>cI82Y$y}$>`_1kSe|C?FS3s``q5v5?W7nUIR!1F(S zw>T}W-q(+Vl)f(4M~g8Ua8yaVV>(3r22i+wB+QO&Aps$EDzA$P`_`KyTTqv`w;6Y9 zLGC;9KS{de3cu;@f|J#n@NkKMNqWc>*P-9OBTC?u!&Ji-d5dWH>Qm951=* zgXE_p=ckj7XP6FiD^P{s!CW}2i0Z)GJaz*y5C_6IkSODGyD>pSd7H6}sOnOz%q}Yj zuf^2o1D`;JA|j6H8|*q0_;EUu_=j>(>s08dju>2AC&qzIHmWsTDOK{l!fAeSogmAb z+Lq5_FMj}N`>4^$&bhCVyuiC{NyfQq^It%)|CPnaYf_01ZYO=#f9+) ztWyngazJ9`57T!|-431V}~Adb;24 zPXvR$n;v=)a~*h^mmM|IN$GvS;f8}VU}2@8cD>mN4l8@v`9{QSdTkfL_YF%m`o-2R z?9tM+egyR3Uf$l|c(OP@589Gg)j07Ft3=rX65Pv9CTU}T*o;Tld=k(QddFz!euA}4=E5NYNyJ57BXkihG-QIwQ*7O3gG zjYE9MLzB)Kb8o0)@3t_W4dcU_C@BxM9tm$H11pR=M;-m+EwAy<6c$~?3v`*T=#by6 z8`4zLmlwu=k+_#H9(R{O48-P%hN4;U@O(?**on4%Cl3=yBi;s)EvF!|g+|^>BK)2r zOfUVuKkMEIB$;xi!f|di7LcS(7sM2MSz)|p{`veXU(z|`{xr)6eq+&Rf8V84-?ysx zHTvaxAm3^+fo_`o>PiK|;C(s0hk{t#{TgBW&9(oN!18q}0yfXP!jhL(MDh?UgqQeK zWIZTT3+z|kL13IHQ!74Wfi(XqzNr^Sk+yI*n${92&Dyp>o>@x@)FW38d z!CEvdB13n}b+;(G%{+2D81O@XqclWX2XQ>8z6ag<%c`aqDsRbcn&Iq7=%?*lP&56^ zjm!nSe?f%MbMw~~eQaoGxlBjLi^2H@H&Jj$m zIOd*9zPxVQoks9$&E)@a8J^;qyVTVM#q28zsJng<`4xn#TJW!3Q;=N03jNY`usu2@ zk}krg_3S6x8-!o|>QDy+a)xAby$o%pgr}=sHgIfk%^+u06)QXbh^xP-D0z2v;Ja~$ ziR(?tOIw)p0Hw+BNQ>&QufTyk-m5%ax8MJ2M{v^8Vn?;0)7P5#RLAJc0$rUe$+i-M z|CM)df8S@Ht!@0ucg&HD=-AX$Y9&8y`=@+SjEOfa$L2FRIk|i5!x8KllVH#IffesH zc9IL(*EqGX514r3-vcdd{VEVvg0YHIMDJ$(&;PVP{P~M|s?3BJ0?#OiDv1w~NRzk7 z{W5HqZjv*;=O)I4ggiA4z1U^ZbkLnd!pruJ0X2{!4%h&i%x-_Lc=Uq3kk3?`S!7V< zPqxhhwc1#TT$5}S&3CntwbXxlzOLxyD24nk93%B2BagK5)~-ZKzPw3>!uvg05g@cy zjk${tTe4*}Nbk=CJCl!PY)lNirL{F$m_tx7C-@GpesR8i=Q6v@!U&J})HS1Gru^2y zC}sZMwH5_Svq=0@hyJ}hA}haQ+q6OIj{@yxOAd-(eamT{4Vg6x@eT19WYpQ|-YWc} z#zUDG^s4J&fV0LOAC!X(=94Cl${B))*&tay=nx!!_$fg*G;%i#7|O{7T`a*dLf|#v zv$WmxveixHfk0cof0J2{D{N2l3eH85?KhF_ZLaIH5@nsOapc;cdB_PP=lVv(v+oxcL$Yv&M}pE@j@S~@X}N0 z1&rUpODsDQPI6&+A&ph}Bc<3qtSAiG7yZ0EAO4@74li@Il0NT(PoE6e)?x(^)&b9e z%~kYE?Q^W%{CK-kOdO=}*0GI#1t6LSnY;fx?^zr!)H3Uon{j&Gb6)_^KI(gr@`bA+ zX1yk)j=Ghrk|B5rbdb*)9mgqYKnxzv~U+uA1z*OKDz zWuiX+f;JT*$qylT#EWxD?~wNJc!Y)T0oA`S1qxx9oUAd9`w>rRfn9odm;usExC-ft zioMC(ms%)-(B<=gN3z*@@BDef|M~`=6HBd7I@-I`4gw5O_TGOMkA085bLeb$MS@7$ zf1{i5aM#Ob$NC*LTG$yiAd4knI_e!F7cZ=}<@j*lN#4)1M#mXTNMy+cyI$HDb6gsa zD{3vybEmEH$%}Q5bN=j5&6+@9mN?B|?BvR|JX=8L%CIUEmjrD|=6?L}c=^fgcx7D~ z{@Mc|__Q)%jS3f86fQD9C@|K)FQ?g4PYI;Yj=*(}uWk}zz)lL%{)04woz%6n^JBlM z{B6eTf>&`n@X~nW>Jn3u-r?aUdm8F2{9$}NHUz9NX?m<*|PkldRDzo`UxFCmoS{QE&og*K!yYa??0 zBuMGne#hi#YkRvCKH0jwlPIqg@*_aBb2T(NoY-qxGI%t&x1C@Wu2V^n(acB2@2~<|HXtHs06+v_{%5eN zf&RrZJUj4Kj&6crpXZezLj&|mf&CV^>vBOY2_sejcNo}t=VxYSmY1JEzsdttwcxS> z7}3Gr9_KR$Y0&;hsI;8;4m`u0?k&Ky1;PnWr$HG?26^%sv3}Rxcf8zA*#Qh!5Ey*` zIIlq8ObG<8fsb4rE#84;!#MzeZYm6$ufR_RiUa}2wH`2g(yn;d`eB5m-w}gCxB-0A z#b);kU_J*DGoZJ>iS@r<$E8<>=(hVkyi7JY1IKAgU|O~q{RR+SSAEf>AihtcZL+R- zgylfCK4k&0#iSHe_f=9adxPjhB_(+%T+N9Pk3^K`EDfl_l@haIG;l*f|?TGrZo@4VyOEu|L8~`tUhX-0+bUq zcezy|x_6O^s(1x2_f2Uwrny`Zj~OVq=q@fVqhEa&$fB2k4zl-tc^&;*ZWxa7&2MXI zm5mlG9O?Ud)=PoKc-h7@p2V`qsaKrQlE#y2B64`bW%w(AELH?^uc?bLEu5=|(=}ld z!dvX=xxHNK`2&~It9y2-=1=yCViy^_f;FRt@_JYj@Dn;LBLR6%WP~X#it>K&rp#B{VXqv(bC|_7AWX zA|W9G&-&%q)BPA3NPRVG+0OI^`}^ddKX+iMdxYQg57$ciM9N&xco}Das_nAfNK;#K)vW<@z~G(d~4*}4QQ%^)GYHy&-RV?pcL@}O{CGx*JvxwS$BVdsTpFk*mU^-{?U2t^>wtpkLmmOkPeWX z^Z-NSl|t(+$qQ!ly4HMx0ab?%1I#($JHP|u)Qhjfo^yNf^R53yE~R6DgS?qyf|cK_ zVhRi(=P>xYDK#c4>R_o=s68Imt^)M9g+D@oCh*g@KL+I2h|ruAYnAvNc2m9s@9N*8 z0m<(MtoHNO`8f<=cICDFTGV~Ntlo-{?7zljKASJ2zu~FP0VpW!7?vGPz}P{@z_Ays zE^uU`PWRxFzV>kNU)0^&NH>xRvgI>5_T~I|>;xn`J1W~}rs!F2`k=@pRP5Ke`6PnB z9S4ML`E!@A&Kg%vKqI24wR+TpknDqF!$De>Jo87%NkKTu<1EY-Bz~?0MWs&^uTmmu zF@Uy(`OD}1Ch;(Iq)mC44fGCWV)+>S;al%#?A zs1RG*%~}Q6Z~<+h87R$^LI3{X=h!>PUi|t+w?FP}=NV;h>sj?{b^x5H!gIuWYb@&t zyhXbS3aqQauoH?3&4EPurm6`N@4h#$wI&Q)3un@hQ z2hUkd1t;zU=vILjZF#vjU1nQ(PT_X&7El|&F%n*NTF9t+>n!UwHLKC2TbfEW;&FJa zjj-d`_rM(lBB6JCJB1gE2xh)js-CTHYTx2J3DTHEuBu`; zx3jZAApJK4ZnSnO#pH}-nJWOf@LMJHTm83hUs_Ov5CFpR4vrs>jxi_}Vo5xkq)XWX zLB~6{qts)BKjwV-@sIy{Tue?BYxFm8@kRHvh6Ix@#MG5SlGeV&q& zcRw;raTtp8^3+1#aaeLViH3N(jN{7&(#-XPe14ZfN>OPPlJXncyjw0mMxl9G1KMeN z^*uQ0moiLBVNs=G*>#`jSEhBg%UiKdaH^>~?`W+%OHiK@)v+f)A)8da=hl>E`i}5CK-RnXHy91W=#I&2mtqX z)eDey*AGIl!QNuCzy$_uz-nLl6b-)fnK%Mi?BGxKN-CVxqxLJ>{pPF9AxY{WH|zjN zAfSEy#`@;Q#*QN0u#tC|0&C-j%HxJg+=ljwyZ^O20Q$w+Kdw&RYM9m=jP!zN%%g!+ zL^Oi?d$2Kq2k-Px`<>ePJy>TS?=`Z1iv}l`4?3q*f}Y-epy+9Y$_b$sHp{z~8&k@= zIau7IwwWMBDG0}__rI&Z4W36XZ-4v;UghIig->M;!mmwEY^k)!?R~KLN6>*#SQG>2 z8^DH>5X(`G%a>ogAY^;j0w|vytDlS>(3zCQvSjq>z`W-9ypH8mS0dpqe;gKT67>@kH?)g)d+1y+w&1XB$vuU$c{LZ z)jA<2N2HD*MhVbmTe~Q!Uel$Vbcfh}a+8Z%V72(FPmdqb)y%d>irlO)!HB?l#a>Cf zTUlZsl;l8m(>8{Yk)ISt8xq&|X~S5WHXq?sUQG2XK%cd~T_DO%`krS9NADDFzJXsw zdpc?pj|2nifWs8-IE<(OTH$k;()RYpVBZHdiXMa|bn67P>^!ysl=G|;iPG%$ybDa4 z!5a;hM%cCrs~bByAiuJR{~_9fBQ=l|EP_i0)_$;V&y*Y9fejPm#S8M+UM~NO)lL=l zf1Jpbskd7!UYC}AcSuS?Ejs!hyXNC73BK`o7f?U^U0$wu;C6xvqIUV=Q)gq63toWS z_}2Dz|M&0TgYx_C`dAd)>ac1fQ`qwi#AOf>5h1s|skJ1=vA`n$n4+%%nXBQ-H<_KvDq$DUIoK zPDTptYOC74Cq>uQqW;(uVf11wSJ32z7WQg z+^XY#1bulU>|Og@YLBZkGfgD*;*m%|xBXE**q5LxZtZ)dwvqq3HLPt8H-?N`W;>cJ zWFsb42;CWLE96g8wd*`QVWRm`y}beQrjdr!Xd!V}^4D)Sp%=_$QB?&Vrr(Gq(0~_& z|3pK2x0}Ui>=PE}?Yo>o79uinTqAr?NnXQn4*ZTV(CU`wtZROfUAVAZ(KuS*u06Lh zRL0T(WB5qMb%lgu{X*uO_J=D^GqaG}YLluTFH>C;KbMePYK;u_nkPh%l?;BBF8^RO z#LJQ(A^i{iaEz(Sdq44aKx&bk-JaLDqWO+)ZoymVfhn>eb=6X;R7K1>gLq3jFfcfh z6{<2IkQzs1f0`dd4;^)0wG<)DJ!;rwI(>r zWQdP5ek!6j8ChJsv!|7x#4Z@67mY2$_$}!}7AT>-yqj@((Sp>(kX_BE`SQZzW#d-W~VS;_|+eK7!@1tukZCD zSffw^W`PCYr^5oMIs?Eh0d%6fP5b4h^rTT>M{M7Iee4Oyw-5ub-TbYWkP_{(rj;Nx zaR2*&TvAMQbU?lYxwrysDzie9s%6IolcPQStod<%}Hy;Ezextoe#y&ehu- zb-egXdyX)gwE`Osf%eOd=a|^zl<=6T+n|d~cB&=O-Up0|Bw+Ly6at9@-IgM`xsu^h zWubZcr;O-OISagGl{B>6ByJ6^BVi8MH(-vFqOvk2 zAk)q*#+{(o%OEjEcQpqJ*bV!Q1UZ6q`j2!>*;+fe!CKvtJ(+ySLHk^qxM<53StM{A zBQ-QK*S=Y^`6G1iWtK9xITXIXcB-t)AarV&HV6*965jR96yv-m(GgQ%7!BR*6CS$Y z2%Bg%ytdVVi>{=smTS^?k>tt1A79X9%%?&4b9^V#Ne_kgJBDt{Q6nr*HgJYgQHRj` z+A{6ulH+7<3sB{{l`tg#dg0pAlO83n*uj_2%O%C6cjzDlHBuI@bzHy#3 z0Q#^k=KD6^JJ?ARnp7QD3X?8<+BcY!hkn4ka7Ts1f>xDBHMfgN4;s6l|QE}pnV=slLwSR zf7WAhV;A8)ZaMqY$icKpTAG&xOrs=Wj#GXXY>kJYUQgnhU^a9gUgC@xN2Hwzt36#ntivpH%0){C^G%WMYZs6; zN7iVse&EF|!k~3HqalgnHP*uys9lKAWVW2w(z~VmKSt@1^o327KruWJGW=iO5T8xk$+h_^>Dc z*8JUX3C*tp$-g#NS64x26fk^0rSfbcC^6~LbjgG7h*9+H=b2_Q2K91Y1nu%QsHXaV z^JGWjI>L4KZ#oGmn_2hlM~8zN=iDo1ot)Y#YreF!H4(v z!SfHI#-Hm9Se z{Do(8&+}c8ruynaz*j?Wd3gAklO&eAcT)d)9h4P124KI!j|E#k;4->G;STRajsps1 zjS^gGGMXq5FkTTti>B3~sDA zbWLf22gp@i`^nu~fLsLv8aB?;S~^l)`!dGL-Y|EjgViip#lf>WA`|u8p55|nWq-E9 z2;`jp9Gf}s3+eov#eyEf9W5c4&f(~@8$}I5JGuR?Ec~@|s%#6=Lt|oMz>S%4EZ@_)D#c%}j6GE;W& zOoc;bv4~;J#>G}#b|x_<$_2CqGoNS-h^DK~cM|34t}ghLVz!c68#JdSW1^APTvmey z2M-V3rzyK^-{tLxN#Iz#+^!*J{}S74GGQjL&c;iJHdqrLV^Tf+(S??N4hwEX&4ra1 zq2?nIHh!ek!;CG?xS-jzb^EapwF}4PON_zfa9P|UgE8RR(Ph~yVfvebUAvK8K<+xv z=%P|O{{z|iMF7tM&~GWe;Hr|%(d8LE-Y3)hO=`a{37__AqEQtCUVj^Bn|b}R^iP!< zeAlKM?T69=&1kqq0H^t`uc79?D-Modeb)u+{?No z&}>iSesB|-kd*)rp_b1w8^Hp3KebZ`6%H%5^sh~msyWbwURqK{)Ip}stJn`Ymcl>* zesMtMXK;XLE! zrx1@-tfxvFXblcuS4)zDm3xG&rVsSRTrj67OQSl8B0s%no;MjX5yTyrXCU4~*ymSK z^4^)T_@@<#WS?vO;!>Dj$5>mgO&59}Mj}U4B7fT`RZy3V6Z_^12c#17ulvJAvv~R0 zT|hv0zzUktNvpFU+eCg!VIu5$U8wo$mqR&K9H!vVVQYQYWFo~ zRSiiNFEEHVTIIDw2WhE^K*a6rRi5A$FasX`qDVmyN@RyGzTlMQ)@?SLczn~eml7pirbIc1#+Pf0sMX3)EV;jEUu-+TV zqYcno{7GJ~dWHv)k%OpT;^lAE0VwQFVBAwIr)qY0wUE^=$FDj0&EtToDdqi#HY5oy(rCAjIB}bG(TIw=81-) zlPY%CXc=^q7?7p`D^D)nwK03;DP4HhHbeQo6?|mZ%jp`)6l1e)oDy!Qgme~VvGm1k zed-+Ip=28nU~iX`O&KpKk8JW?563_TX4n^C^=uO@`Dtrb!>P}h1<072Ls}V&ivUbh zUUDB$nuLHODbav9`=yPRL3~5-`$`uzmVi8D$Tb7FKXK_}*bIKW^h2du#X?cDv46vV zoY2NbCL<>&!LR%!WZGkApud^XESsaLu-%9tNlPe+){k3wA ztK!5flu@D_iFngDJa7;e&oWHF9Xs+!9DmA`Pu72ds+1QVLbXb;@ENcC6fGi7vztTZGWlv;@qd)$}ETl zROFMyry;YG;xKg;v22E$qb$`;j$)xy#8rkzUwW1S?C;?6&NBd8Y zV)~HZc*Txqu$*yVlkwWQ0mq2u57%X21UB=>t{t3X{>GT>E7=iAgaepG`%PD!a3HKr z4{HvtWpJ!{>=hN_TysUehc9pk!#G&0`8>?t+M3zZlia#y;c>;#ac>w%RX<>*on8Hw zjC%6pG&f4=SDiksR`lBC&NY6V>W|o_nP5zOv8@2C0SCv&7FFy|lD3F@grfm(S8G3a zFxqNm(tW|h+suQ~@l3Hgu3Ml7X(Kah3$>$=$RNX~BxuW5VeU9JmNK@aNk*9_KA;F( z7pu>0_~Ra`6$gg-=gpd9ewDPUwnHWMG189_q;dANfyRerZ$v_BWNf~Z^h%kT<$uvc zR%1-|Sx)}#8uCHSGeRL`H>wq5?K#6UK}av}Qj}yA9(_VK@vxbn#ok<2=KxWHYcLPq z`+K6d1c@Rq`BmQU!`9mZtnqm?IoFE`0>>yR_m4rOl8jY$i%nk$4WXCBSAnG5ge6L^ zEe)CCX`K>8Fv~vKzvltAIgfnTWJ3~tEyHHCcX|WQsLNf$1D2*OJGaINOO=)%2)2$)Vc>g(b`?Yb<^2@Yd1I1dM z?4H@1sD!PWtZQ?Cu$=UJ20_QbnDLu6pWyBpY*;8+9Y%nxFfxea7bRuK|Nh}XzSJop zAufmI^U`>jU=8oxxEzAGxP$=WEag`mCJ#5_4MMDps}{12*!qLAt{?m+2Bh!TQ#Xl6XuS|Oi9&} z_Pa9J6(P{ThwV=rBvkp|z+IlcbWvdMvrcLn&Kg1`m9PHsX08g1Z+-SOvi?mKid=FX zKh9@8%xBp)6|Dz0!Z}jh4^`X`fj(_wh3}#D?Ka30%>;ocVH92r+ebda+v5{&1Hs&) zD(A%0AWfO*;M;K5ch{7EA+iX&-1Aef!t2V^oaogV%63VUKRNjPh^H>JL^nQ(#qKqS zPJH}KfbCaXyg3HqjKIy$J!l!JoxPx5{OLraRx}^ohXEJX*WTqb2yIg`_INeE)I{U; zwskqzt?L&tW4>6@iCigf#mqBIwJB;9-s*nk#rXVR2}GQSd5ohO)l@<1rnK3{vWt3e z$mMeNu1mO;ni>bS&F~+W5>*xg|J~$A|K*#$U>>*UkI9As)w4c$aFXx{3~-bk z?T^1iMXv@hfnS~;dk^H)f000AqX4luXbA7O^8z(J9Cw*Qnqgl~4)r7^U9%+!;eaVpC5hbI zB#;9G;Ge5$nkgb&gQuplaFdVN~RQq|oMHczkq{h4Gj~m|gg4cIBS^X1*sNyVA z4zhmEzwVPEW2cypXr!{lbn{L2I8K>_^fh#rV3% zXBt*2qYibkDt;DC7Xke#%P5+zW1EzIM^zh>KrfDw~LE{jwi zezQFQK~dWr8FPO$D3_FQQx_NAmlvC0winRanNYnleQ$F3_(tDp@er@ASlIcz zz;NUl6tylpDFG_N-L)Ak*JQ5;hM_2Pgo`) zor-23cqTaPn(vF8%48+|Yq`aYE5NNEwkL)|1j26*@2i$G(WhmjyRP;}+<|AFfYD7O zJ9a;75{EFTl)l7|?HOuW^b`#Y3i z>FWYIWWfNdKr%dCVUzul;n4egrYvf+1)AIcK{%h0e%VYUO2??(mCt-Yi z=tY~wqxr4d0@kmi;fPhWx6{}qinTX*2*(6-KSB#i(?Km}tgL&r6`nmQ=xK&W)q1!l zTIdw1NY8L*KXk9);hq`C2a7yJ33Kfnmoy#|j^L&Akclu{4Cqo${4gIK!I zUVcZBpA-U%QT#D9FZjl{L_#z#yHwA)B)Cwjf5#cH8_cVoMCdzEm>r-ZcN=yO3?NVT zFCcNN=Eo|jAjhnq^g9~|kT7yPSLdsv1ZZNZMLScqVWg$V%E{GE(q?Ev$^T;Q6=2b4 zkSaMlb-J3Dqf%`JnWFzx&A?!zm%KQTuKYSBy=DU8v=({wS?al!2>(iV5~`+paYvQ+ zWyO&zL0Q1=nkxT_5La-)@8@1K$I&23&ls?1F|Jey~(cpP4PLJIdJ>Mr#oX5xaraQ=Wf93(WSytH|*VyW8JW-L~z2#3a4Y&Fd&sh~_ zw0?^FsbuSJnoYFwEC|2C`+*eet6cF4K5l^3AWr!dft3wtyLQ_9Eb<%ky2+!uzMqnd zBLc@kAja_TIM36-g7`3C(V}D|Li5kJG!pXiD&;xOxGw8u+GFqh#G&22YiQ zC6Ay?Ft|M_No&Q+Te0x`Wi|rVGWE~^vrnxYhbB=dM_3|hW)&AcTBKvn2PM^1(-9M> znCarS)i7}X4kJaNQiKOu?N6n0l}@2jCQSR|FZ0!-QN;zR%Qs4*-e>29n;I46ZD#L7 z->-#-grj)`o+x*=Ej!sOdk-um9iw*)Vg+Tk+aVe*w;uwgyZn`o3 zx7+TH{?z-c{7iW0_rLFt3&4%Zt#nF$5#Iti|QTwuw?Q0&{vC+5jb;H{1{8X`8A zr=GZ}vX%IOyRjL93}-vA&9gfksr*7GrqLy5EXAg}Xjj<=d65IE#?psbuKKPIaKNou z`hxc|X5dUH$*?8{24rPq`a|Z|8@|`q&$=#Zm9SD!P#o=MXfeLU2V9^;*dC00Bl1@3 zxbL#?c4BgpQ2zU~2bL%E!=IDYGCus~B@acms*sbkw|2fGuj)l^R`@8u)Ii5*F`}5{ zD}JrCrt|-Cbk;#py?qp4LP|Q9MoPN7yF)ruIt7t#SfrQkt{*8P-3`*+-Q6MGyqDKM z)N#fc-M#mDzH!dyu$a(A=@BwZ1f4IK0PE=&?Fo9NWi+YY?&W-H5Y5FH>TsPEObK=b?#ih?hGnfS@JUZ$5PHi7 ze`6gjl~QNZtAl=M*h(@RcZ$u%nlV;pr~f3LK1B?Q6N7gomFMFX%GVGAaKqifQEYZt zDzo_}IE1=runChZ#l7zkP0&srU(V0%y)0#^u?ksT*4EEXT?`8M5Y2Vf>2Uua3kH+< zJ)s1_^J8OKG_Wo(s zI|)?>ZKI;E*Oe)>zYYp|eN?4ivTXs;M{W=>FUqjRIW(Fod|S$RZUlY5U4y*N0vg8D z#W&d$0F4b$X8-d65GUOOstN)g;Fbm{z2hPWl;^-r=)m=WkSOOuF9}Wk^)TE|lYahv zx-R&RB7T8H@|!i+@_KQndhzty8hP~O>@1JD#Um%qaFlj44XmZjF`T{vePCYkhGV0U zfPg@AeMo4E$*xq5@2pvuvZwwl7bzEjOafGm9$9m_4)Dn5jb z!Nm5*%K=0UT3r&zplMhiy7W)i+_vu2Wn}d1e0=kBb8zcbwaJEcH;ynuz@AD~j2bny|em-nDL{4f4DRHSPOcc>FHG3V7X1qhH=+lbI3# z9<5mG5oPQ$A4iGw7d>$ZqDUIRROQZ?p==Z@L~rVBE7}aR7!~YT8t&6QL8@J_q2U0?s~q^F=P^O|nH3 zPw{tx51@^?k|NbiI24)*g!N(q0~mYPe0Z_>=Bq$Se-Q2>3J7TxSi8U5Zrj>J0-TXf zUue98CN?Jj=xKbNvH%=9IDk}{kNh8?QC|aYe;^6~uu?>^iwH`se2z-*`}8#YI4J-xbX~Z1&-CD3~i{BN2c;Z25r`ZACw0*CGgNO4a9Btl~*BA{ynYKH+>obhc;zn?))Z$if1O)X$u^$yUOLGOLO zmK{B`iE?oPc?3U;eFW14p*RWneS z9M*s>>!f$05Ii#XW0`Ci(z!55>H^4t$xa~N#L{F^#a?C&oz?03x6QygHTm!G#n#o0?>IN$GSbK$qP)yq6}>8EoBOx0}V z!gVm8dzqKs&2v!Xvrq@b{8FQtaW6TwFZ3!D-otFa?PKM1Jsw_uJa#(e-&46SZ5~|_ zbTc!P0$3p3fJ(%8QbY@(D=TR7W0MrrLCrM^1Jw;p(2+?g*sUuE&o)?u%r#7SsFtHb zN9fDOUY6|gAM=YiQJOJmH5_pvgc8e-FA4^%@F)9nAO=)V&ryF3V&Aq&^J3Fz0dM16 zUWXx^q{qr-t+4sfre&ZPuoq4pSe5ov=~=w*uk_W6wyRHy$1_EiEBKMyGi}l+D%(h!lZrI-TdbNt#n=H!8%#0k;R9VR`u-ye@j4`iW zFu(nUMlY5?V!{rOM)Vc`A-q}&Me(3W3VCQTK)*#@RKYvn=Xwe;<-+W0dfc8J^(L4T~*cQ_|7*6hkpQK z3b=!PuO|A8N4QeF+rJ?-Z3f`Q@^Qvjnz&Flkd43*ZM+EM3GNX$4h#;Ycjsk^LM|1&1Bdu&b)~n^s(a*-Wa2b#y9-vJeL@=Tm=N)&!%cxqU{$OWT z$6K?;Zft=WWDJJyTwY!dT}Uw2IWvrsqsNnuRaXEqwhb`hnP49H8R#bewnX1u+xaoi z5K}kQ&I*oXrlu0YnHrh+i4ALZ<6Q6k2bNl-l@hnHB9*Cho?lkx!yc$EJ#u^WAr5<* zo~W4Ys~kE%fm=OrE=yfa*I9kJu4j4eUD8QA^F{)>qktOFLC3$o(IKptmxh$$yYeKe zXQ1%v8Ma;~9QNw`)n}(l2ufgNB51(b82eJ zmNEq#mO}VDZeWINZt)g_$5`eC4FeQVW1`^*pRnC;;J-p8i=lVwK&VlY%Glhwh#D10)W`mn|2kk&9rm5LqutJ|aF=0$nE| z@lj!qxz?5^z8EWwf&Ev1wqR4oC9nCsC9lM-B*|wi+fI74c9X3 zm23&YkyO!&yz=V3BfG|Gfd}eLA1N`s&cD7yCV;E0F4D2F6%KQbOlNY&v zaT}v)zB6%jRL}ZCv>g6Rimc015cr5t=#clZ;p8-#8)+4zaBHtlGfJJ@$xU<|H`%3c z1|Nf+xqbf;K>h)-9JJl=pK`Z&_HC@=abNbvUW#PNy>4YiA11Iep?@r;NACqlA3zEF zu~YqaXZ3lNPK`H653*)h)<5l^q5`IWb-!B@J{>fRdoTjE+&nPmn6WDK_~3EU99H=D zl)dcE6r7u7RM5PF}Ju4FCSh1o;hs0 z;Mlzzq@@@u+&O3;o7BV3>>2Kjam4MD ztL_mRWcZ*8rKFkQh<0lK74oSh6(tGY=<%a6_}Y|H$>bcEn{j9|6>Z)sjnosk&`Tf; zktP#wKl;|MAb08Br#*~KtV*YOaB&cf7_OjYcu-#kX}I@zS4_B3$1hURaG==qr&ulw z&m3LDVUE|)NllW$ck;EEytpa6M#?eB@Wk1ph^`4N^nGwrfJ%(#NNR$ESL_Ii;a!^5 zSIRW!j#jt3qH7pG!Z>S@iuGNx|I)_K5OSehUitm~$CamW2OD9gRW`SbRkq?Wj>n>r zm($Uaq1S!nP!UG*4#1E~z2U zNYL{Cq<_F87VR{YH) zRidUanXT8Xt~x++9vOx?iv4k*=U2iuj%xr+u(_-5BJlo9RI>j)xP1?)_;cg4GBF^d z7D*J>Z|f7a)v$E(tyFj{Z(6r7rmQx=^;ZA%B%TTzdi;eT_`{Cf7g2ianpBhRguBsS zhVK_9|8Ax7txR$Daq0~89cS?|$=^GUTHMqHnSHX!#2gO^>?(Z?GFBkLD73Hu*&is{ z9|Q51gMj+s=7z^lChr5{(4Z)~otdpcl0EQI0T(hm$hzd>GA3jRw?Ib?%tF}k-yI?O z1J0V~L86Y)o^HgKk~7OphsKv?$lhMt!?X_M9N@PTQAyv_ET2vpQI|?aB8xC1+-30f_y+a!PR7s@eS24Gr#_SE)cl(Eb=Jo4JOo zo@~F9CEYz7jA+_u+Hv?Kd`pXFL3tkq@@sjqL|j}acK5IS`L1uN^iv(P~ zfa~*hZ0zaL@S(u4>8#DI<9E(V`bUK_!R$#^wcPI5bsNLSMF2j7Pe1@Dcq@(5HY2z! zz=W3fe94z_F?Ohgo{F>d@B2PZO5~$hk$uvzSQ89+tQtPIii?Y2qGQE!4Ea86I~JEc zUl<3Xh~f*|^lVkh4{TMsw{|Gh&f0Sm$mBEGnMz3=qV}3s?E-fhEA6D1<+2B-MzFV? zHSz|9;{HtCBtf-DE?Af|{B^Bw!2p1a4UtYvS7xJ_= z(RpKrzifDEd%;&^#xRyLx5#Sd;HUmg=`qvTiYL7yg4yriuIO^0A}LbWIVLn2Ym60v zd}g@(K5lIJftdahTlnO*X6=d*q;KG3ZXVPaK0T*fSDf8sKN!qAoh*&RsH|{9=x@cy_cX+q0sTw_)-Iz@RX)t5bz-0WQMPeT6?ki+ zh-qNHZjN@piPT@WvR~qTGB4iPM%6%#4G4In-Wn}m2V*Cv%fp$HH_uZW<$VXDNJaU1 zUqobNm`6l18&Dx0O-8FnHRkw)|ON+$YRjaP=5Yqm;knb z#Q*^DY4!aX$Os7lpzQ)z0S4&P+oc=*vTrEjZ1N4E@?I8i@2OT%GO0RIQihS}#p0+{rtDC+In z!{m6vDA&mA+kJ4Jc>{w@gJ)61npd(?Qjq*B)c?VR!XQ`ESniZ~J+x`*1O+Z;-C8}B z&~;$G6UUTRYc;4(=Rk%Cudkh`WHTmS9A}IcQlr*fc?a^(=ra~{Bj~Sx%ApSGiZVyc zFiOR^&;Hd z>V#~TXISRA?20cSsE+n|n0i&<8T7O174lr$_MyPifjkql`T)-H*F?j6Q8MqlOvs_? zbMeQv1Gw<;@K`9wuk|IIfw#|KJK5*+CXjZuCc7`?h$;Gbtdj-!AFgavtMaZaUsl@h zC&-`GI+ErwS+5=A4>@<%5 z4ss}nX=mw6wydow0`Fh@*RT0{Sz1~Gyg8tODb_};i9xi1K@{Rt2b<>70`Rpq_46d_&Y|_!Am=k z;9Mi`Z%e3j%4x-#<-;I>tZDFM7}_=SRfMkq`j2~SCxEdx^ zp91xTjsNYQe^IYBc1Dh*v@HZ&!e1yZHDTpzqsFFaKd{i`pLiNB(-8KhXaL+K4JdN#lZN=N2gfa%^dz#b@y!|`mQ4ak?W8`42S!e5&Vuu4xmalqxjlR#GMN_GnnIro-oaH!_VYzfs zt$a~ltz@9xK~Q8$6CDW1Vo5vV37)y>XHe3&j28eP#!K!s$bSOffPR;M^{#G<|jdDqhXQ0&EK5BgH!^>kRP z1rih#)G0T3#|He$&i*rj3V(B0Jtirv*0ySAy8DVrBR|!#j^_Af+XM{5yyuzq5m%mL z>^~$irgtVtz$0m@ls6HYD@RWQU&9_8TEKE`Q`Oan#BIwM%^obr&WRNWQzMi!+q87j zRFgwJ3D*8?c%PaYqlpYn#o;}fr^zXBza-N23WFcQ8MhBL`V7Mc1k)va3m&hzvVy!0 zFQbM$;!J*|8B=JUt7`YmB7py?SpnGlXTQ}J6wpKjmQoLA*h(dBK3pFmQssOsTObdGJrDX3mkH>D#GmJmv@QXi}CLA24oTbVHF3(H>0k%Kg{>}-a2I~ z9;T$k%lX8_VU=4>{3mE0&qu6lCf%k^{*}yT~JaeM?@i1Js zZ0@Md5N{5i*i$YZ(vd*Ur?jCP#UDGjPHDeq zmkIR`du7Z7iOhSyiutG{p5!vG2Z`;a+S@nn(pr#r`lH=8>-Y8dyAWR`_8=W*xX z`3po&J*P9%T_a;7dJ;uIZ=Rp~1)(0Q@fy^YwLMpwNim zvin-TUA73}G0q4u8@tUx-(NP)qAJ&jIsBbQuiGLLVi9{1>6tDxNWk&r*Y_4#zwbsY zRNIKuo75wlVf?hqbxLLyTkT43glQh_>R`n*X_IN2Yl=oK(1Jo?x( zs0R4{#fAfg@9ox@=Aom z-_o}FbZj|i_$pIkC;t zNv3mXcx%VqaF=1sz`<|Soi|VF6R-yTR=y;Z%ea`>4{$2yHB^P)?OiKL^|9eU*8OMh3?*`9bk zKtFp-8Oe}pi{rC1I5-FeXw#VjGd8yXU73f6=YoX`O4wAXR{z>(Bx3pp zFDDVHk^OcUrAy6nF5~tv&Nz1O?X#~qJtZYv+@(K71(VY*(@%H4(2j*$A4*I{i`ghx zeHm!h-hgH&ABq*|uWwYjUlN%5ET~}V=$#y5HX!k24+I|To^O_xh-`r13^%B9Qo*KR zGFN-hG>H@mr?pgl@Un(|GbA>#vnjQTx^P5LJ?VSkJ47r8+nU*dD1WJ0-w3XVp9rCt za8eX`Qs4B;=SpUNt24A>T9;}ZE?}w+4{WV_WXX$bkDMs6>Aq{7ZPG90NgtsL1FUoO zG!N#Kaipo78r-P@w8(OiQeSp_#lKc0hUZ0+pAc$`S6qS#OYU^wmLX&}si4kd39%Q1cGqB;4@ z!GS(WK&p@7LB351%qL0~_TfK{1s}AAGEaz0{gOV;UAFvV<^zRpwQ#Mwxk4T>Hzpru znTy!W>X%CAY}7-3u&e^?WvDy=ok;>OEiHinSQh*J!PUVOfC3TpdEoN1nbUp)XzlF8 z1M}R~RclbgUY5-p?*|lBTNKz06_A120#6Z2- z4b*eD54?78ST*5Q7iUo8NMLwd532y%)SZby$pO8?U&*p#oa-8El;=5ca!K6>UMeg8e0`~?6*lS2;6Be5#7Z5*$Lp#H(1 ziap2L&yPn>XQ!{E3>78eUSYH+4S}@-w&?~S6@DW@=F&Op6o1xzG;NMgB+YH;E+{BV zQ2$%jBxtC2)5pCD&~Ob@RceyuJk%+%KWlxf`5e5i!)VZhsL735R`!R9iS@qL8nx`N zJlkEE6H=iqPf&Cn4AU7ciAHb;Q7QK3G!h@y)1aQ8Hf}GHzt}Hf;(6Z~#eR-^3M3}$ z0y#o3pKV?%{Y?Vafy1TUJ@@U84|7S#G4iE3`lYsC)_@FSL8mc(Nu$5r(`L;J?1A-V zUkpTCuq!7R^p;JBmJ@U6%@x54vALB`FigltNgf;PdI~Z&-)mGp{&$hwo1IXRaOrZrF42;#n4QS_F!l*k2aC9y9YoV6 z8B#YF^&So!bpB6vO&Td_ca&)?lX`2#X?J_J_qwM?x<|Ls^TdX=mHNo7{bo|pQYBl! z$pU>}F3y~WU2SjGOZAfw%=#77i_Bwgt4K8i-qgoDoa_b|!oc)i*PdM0DtqcC#WXQm ztw>RP;giwSR_S*|>s|Y2a)Nz&S!yy*E257l?8b7U$>PuV-{PgQMR{ zXorAb+9g59oCwK>OBi%SwhddY!{uJ+?^bvvcFRfdLuP?D(6iN`d~S!yLl&t1LveNH zv$^a$;Y*yLtwZ^2RQF1F!Sqj17>hdi8pUo)D`iD7Cr6VyBTn{c-3Nh)X~BeKxpIO~ zmxj+Cv>!hL+!;6{7njG%935Kgbkb8@X!T*qJ+#L%hCV+p3Do zW1NtuA}&13>svb;WS`;gXy2$f8!Sczt#Ewk7)jAL@{}> zGlF|MrcH|DhA7>i2Nweii@&y8jVu~B=BB-O<@ct0;FtYYgcJ=}`YHjJk(K`)l z4U3yJ(kXSOLh+~e^_sIacd}s=M5KG%B8w5EVZRzWm-XEqYrC2R#)VsW#O5L@L=J)R z7sy_nPLQW3MA35~vTrH-VUAQt6F4ZBaH$^tvGh0z;ix4|*h8bSjxDoze@b>a#B#-v zcKoOLrAl`mpgGADs9&}+fQ>jgg}n~94>C_k35Cd|du1<&`d9u4VOd`?!rOp@DdnVo zH|8xbdX%~}^-+lVgiXt&ux<~}{cZZtX*Dj_8C>7K>tu|9URDRB-mETI171`HpW6Wk zSfDL~++WNn6lj-f+i3kmmaiF8H#D0R?GjOh&}-PGwtQ9@(Tcs4dyh_>mAU|?R8GME zCZO|y!3(ov-=&G92k&IZrt0&T)3Sj3bfj%X*2czR5_p(`pqM~6N96zu+}Zk(R&E}* zR3f>9!=DiYGR7533l=QKtXzKt%vBu7mxNUb5$YWk)@AZ)tEY5zzto}QO>sKSY0tX4 zrYjB&AzHzgX4dQ^THC%y=Ov464KbcSk_LIU{?f0lV{;sQ!R`%E_1rD;Uh?mJFoKXe zFy1ETG=uGsAK9P4@gG3LPVgP}@J7|NROZD=90oU_X-ae+x43_Qm{63doZ2IxPbzYD zC!an6UjCc*hZ$AF7WYbnOF%qT*7l6=H)r6x)eXh5u^|R6mR2m-swkJjS@A5Ei?lCT zaTgU9TI>5BnOb&%nV5UsR62o45GB95b2a>qC#>Q&0Mf%45;% zRW=HYPqlr<*>!4aYWt=~KfNVm zEybcf5+=Rtq7b(jK);m?F3ZhuI1DW@lgqy9erW_YWF8(1!j%9@O#tw3t?cXs!R^>- z_TCEAXOI4M;$+ACnVLs;@q1>t)LAhxRA}s|c4?T&=7Q5Z!|UL0xyQDu+pC4hHr#wb zYDC!M<sD_z)ng(D#&?B3*a`>E=^{|INm{e0M_n-k(E2#YTI zM`<+7|K^UMIx=nW%YSQP^x)s-A%jaM4fF&7M8I65t)CfZe0_azpg2$Mr^ z6n+SEd^n@>`#{COO;?I7M|FuAx#wWk7;c!IN&V7^vjAsxb*=u0V;?6c=ZS0c+RfML7=tRWH8*Xim=&dbhc`9tU*qx>Veh?^-SALp_jS7?42*&mi#cxC40luaNf(%0%ys$$zt(6 zLgT&*_DZ1(m^XF^P#*p^L0boo;-%$fApk502>k(Z$X!S>t09jWFr!>ZHt@WE12EYP zPgm|7*&*x{hAAdAq&p-4SCnqO(ve$5 zqX!`jiv7fmB`Pvb$n?IBndB_P_ON9WO2?kd zMJ%JldREkPtoa}7OHVuaHTU_5)~zVJFV~a%&r7;*)8uatAE)bj-y_~PC{?2a?HnbD z4Hd3iVe{kOVHvhiaU>`OH{S6wJD=9DS4B_0TU``@$FV!?=5q~hE;o+lIs9Ehg$wPB zujYgt?Y*1=`)vqwmytJ&0g_Ttj?Q)RmYn(zt z!^wuD7_VHyG6mC+MLbs;4dF+L2u+VYQzzBR7h)wNiSN0ifhU=n1v~FPoK9+e=_yvo z8|09BB-%8$QwSa=%Bd~MVa`yPFhzj|31Vc5AG;qrHX zv3C&~|52$4KO%!fSw%%fRTWVjvyXjp3zR}{c$W$vvCDFKd|5GeV{?i?L*o1@tUT&K zf#e@p&G{#Rk`X)R9uJ|?mZ{IfzvH66w_B=Pg(zk+RLU&8AX_3mA@_lk$*}A1He5v8 zP-+YdROq<-Y3BQ#kMK&6{n*;KL*hMZP6AM;jrYxeY^xx|p3&&b!A6)}uR2WR@ z*t5s#>gojzgt*1m&+grE(IG*?$W{Zf$F!EwOSahS*a?IUvpA=CvR5P=0@}B$<}umC z_He|eVuO?3nAOD3X+^7wHG2$?Kbx9#(*vW|`vBl{V`OBkg2~zFMu_R;>ZNe^@=6zCZuN29 zl{|hfm^OJgx)tAe=4dHAcI4Weuy2NecJIo;Da(D_IZ%U9#}Ku)!DRd)$Tk9II+0Pw z0CLI=>VO4Fae~+a{en+Pi=OTgVzo`h#tAz94~#*X)wXOQDam6Yh+~dv7@Aq7SmsPiW5xg z_fbgWaVqkv96Cy$6s&XkqD+G+wMunrWTrWd!QTv(mF~`-3xB*o?|ar>pIL=opDqpW z^F)=(Vd8JiX#+GBhdxoT9lQr%Z9vf$`v&A(iEbY%QIQdk4prLZ1?~_PA4HiVDwXbp z1ZJ8CXR|>M46wxSU5m{(8ZbHjxN8m#js6jvMgE~_JSu)>^EyLv&p*9hvQdY`1`9?6 zRALH;?j*J`-|Lc*m6d}9X%HL>wWDc57^)M8*Ba|*J*K2!rJ6BN2id&hp>Y`sP4Bwh z1KwA?MubV8Xn8Q7c)UPTHwDdvXx8=$VM%k=y2?))-UM8~_KPji`&OXCe|;2v*q_@C}Au9WqL|u zoMrQ~dRmTciC|=jMUmzoXsAguDX8T%dMH#5fZjQEf-QiYd*N-AxuLj~EbdF72N z0Wiec&VKN^nm>wDPU1m~Jq|8*h7Kop0Ohf@Ur;0^IM@|xar$c75 zt6+CTZW#7)7!v9#y&aIMxEh&~hdic;Da3=&Fvro9!M*Rp!xiXDh38+883o-sgOQqY z@!09L$vndFu-@V7K4?vrh@mJjk~;m#G5U1Ppm-U6WK$BUagsWKOlcC8s^?+CuS`K7 zw%OYdL%+&7k0uh_2Oa)hrBXk45;XKth5m#y!Pq32QkY#WJM**d=k_-5OB~tx&uzUYV>YZ^ph-hzkOM81&q{z0B^L$#G_%g4(2dV+}XT} zS#1zq655Y)SPCjt0hpWy1kg8PkP;r|MsuvgCyoc&y~}=u55lj;&v#GSd;_6My&RKa z0(qdqpWF=3Q`n-uupRO{1anyAe)0w(y}haj?$jED2y1cA&|Wj)qxl)bNb!sY9d$bm z*11i!WX0Jk5*=wWo(V?!gYy5_DJW^;qYp~tv5=uLObxLTA`d@To}QjyMzJ}|B)cmk z4NqCN`G#|Qv@;&9{I*-u%9s+uz+D_{eSbYxZ-8BgP)(cH!SCrf)m~g$yoiolEs_#8 z)X&Ui+6)9NUv$4@Jod|qI3A450hrIRmzUS;dk0Dgu$X9jUJ|LQsc~LwB_P1Zx3DPO znwL_OlIrchn+uJQ_)G4BaaNFQu*ew!RNy1BA{Vhg?q@&3*p~gEtTiBDZkJjtiACMbSA3zw?;CX!*3N9=xOdHvqo}Lz5 zyC04AxxEzvRKUAYzCF7-mcY<@3lmlV$v>T>VVLu(tXox11|`7mvS;H#J1{FzvgZ`{@_y;$r=ozMeqTrPzRJ9K}ZP*to70=k>N}qm}qxx7dj=bsGTv}T<1>$gEf!GRv z$OXh8R$P-M1cWAdE5s^$Fc*ljnBzB2A7GdP34!?$^EE3CgqMdWmo6fyQ(aTgR%yZD&A96#U=WBcb_omfWdk zZl)YVd23JIwbSPmC2ps5@y0~?T2l3r+aN6eonh5ffjorL)`HqOealR71=NtCo}!Zt zm;=0GUAYn|54cn8?Y*b}&wCo0k@qJMhC_DuozJO}5E8O9y@jUuUanMMYaR~T5yTuo zVroc!N^6n~P&6?GS&oj`EZ%szqP$BD(QA#vq8BfUiH*Z;VHWgJ6%=`{Ifgo{C?*v+ zv~||!9r8y-$bBD*=QpS;x8q+yVpbqLWh(7YkQrQ5E*nQB`F$I0`DXlt8g5T!mijkO zS64e@V{7XJ=q-eEqsR~-yp^|K)dHOtj2RCvuQ?5c5isU=8C$q~GZ7)ST}y(H$gpNU zese%oNAe1dybx0Lnk-dw?f=M29VU@(v38s7d02e*6ctVBf*H@DNWv8QIk*C4~Ypj?}DUwEjRUX}R-K&;#3 zg`6*C*h8=RK(Md-(a(3$FZ0p-Ixe`Uj*y-$uTN?-s>Y5GJXJ zWoi?M`Iu}19W^jEe3Oy_CV6=flkazELZ=?vapA_zoJcZ>GgK0hv(LfSExd{O(=TyB zrk5{weAYK77akjVoXKF!y~3yBp)^wIiwjI>q~akVR#@DxpIXB*`E8T5HiVZ>7juR7 zMon(zuEC_*yb$jzy`a!7cO_ByM$#&XKm3Z<;e>iFl_c`kAGwA6MGl9r;@f~!{iIxh z2Da9sq_(>GNQ-d>>M1eG5Y`E*nI-9|Gf-AlEiWxSIpqO*WwsV$w|hfWdXi+6Vbrq_ zAB3tell}hkWhND8K$g`+yMMrYmw3M$WC=JeOIjC3Vf3IpOdiX03MC+)7Dlk;)J1 zP{6`c$9{@wW^vsFh*;K@LE+JPp`i)0az*SYrZLi@e-(&LIj)?cs3^pQlK+|pZQkx5c^h?#nzw{xqLkOjQM1)Zg|Ih8KK=eI_@Z{2j6NB?-hy_ zrr-Nh?BBo^BxE1lU>8s9PRX?Z}C0zKd zG31;W@un`iCO}R-x-Mdq$4?o9lFG+qgA)A6dQqFQ<9(2Vs^zwfLMZ9wQk=47s980f zFRYM;j>8yTqDs^cx^43&_OCrJr!;Ey(ddl6GTZECsdRm(u_J}=L~Fd-4w^56|LlvM zWN5Q;;`*Jw5%TUH@x+dTDzv}W+9YSijG#I}b zFm_1Fi>-YC@6*9K*b3>@%j1DK0@7UdzLYW^$7&iYjAC@P7~z6Ap53XXxYmzi?oO~{ zZFF|(R?F16&r~zJnVc(#i{RZ}3RPwYCx))P6aJrPmPl%z?J~DnmH*y}pxS!dH(+D<_x)YZ@{_+%6MSRNXZn?p; zfvmVp*3gPO4p0Chq>ezbpKl2L_B>en#0T^Y4Agi*1IfDJfS%qETB?%BSuM^NzX(26kLTfNG<< zT0;`sWysiOs|j{r>`UViD#`_=r^Stss;;6}^ADi~H)-=7nCp-*nt@qPiAzCANY)=q5en6#FAyeNEA}~Y zC4EyODh+~7H_fChhm>tfajnrTx+_~EqwG;dE&O4w0UT!}6B}2TfBks! zJ|P^&Yb_+w1tE2PQV?V{bG3vGe63ArO4nADzWxz5FO^?bi~WmlZCKlXWsPj)zt-)K zIwk3V|E03AkuZ4U>Z&GD^t}@^c?3HdJ!4sNHBn@5N~A~CfZ<}-Ftv!rry%KMk2cQj zmsNTYh>3+IijX7u) z!}5Xill}-`LI8Jo$n``>*sL5l=Z3aE7d?T>Ve5lx62DAVto;hZ>3&X6R9n~oO#C?+ zfgy!Ge{yi03n0-Aa}{%$L$(y9>nh7= zYL=#eaQawOjGKQZbzalECXDF(53qKq|63k$+NBy}#!NcLLe2aY$4T{G}jbwKq z35kWtiT_GdHMra|$0G@oUyHq(7D~5ZL#jUn=0N^|D&;ydoRzKX9ccXJpW`BsuyNTJ z;sM$FSjF$~kJbYJJ=X1)(reB!ApllgDB95EXeRoxUEsrQNep=$tnX!0F>DKTJ zboj#pk-4ioc@omzWDol?jqqk%0E+{i+~WC?6pYVsg{iIJ$zY?;49Zv>2FtZa{&LOn z7z+V*WhssJpYd|-f9qV)lYU6qTUGW#bb=eK402+=ro;2Yv`3F_;_m|O?KsKjqi|Pd{E}^mX%uGC1eT7J@Kd}0P zGrKCbIS%PuyC<%KVY$V{aEG;=DEkunUr-iQQX|S!Yo*#1!y+4s>{5iHc^;0G1C=7d z2%NWXt3RFWG)E7Tf%ip<eyMf|uy@%!9pFUY=Hb>0njTuk>7el` z$rDN(662?ayApIwKegCgH7oJ1K+t{=F(*S=mbNa>@9xKZ$$Uw(cO>0%IKg*36Elh> zcDiHINQ>v??MCtx{xHhalR9%bbX(NTZ_KzAtw>m*>o+0^1J7j>C2$cURDZl29c%JQ8|7vF`dAho#-!tMTl7;5T(W`SIeYRqd ze);Gq6@IGYHJF9G@7j#rHg^;mzmB@RIvr}+t-{t%(gnlfY-uDF{((6$v>S-PV5VV2 zLlBb!OomZg!0q`W{kc?I=AfOmVXXM++D8;s@|GROzM`2yuR5HX!)!m)I1SDABi57| zDxIxDM1V1~6Yz=wBVRo_yzzRNi*L(M4qFjo(|)rJ^J|S2MZLp+E}9t_DPy4DZLQTa z+5zK`BYuG%&+<{9XhTdpE5z8c`` zz7VOvGd>(s+_ot&A=EhdQu9nIJxOLs*#nz185vM&urxr-Ul6NNE@(X2629_r^}4^O z{AB_HvmBWg_rCi%Qn{Z^X&AEg<0#lrKcEh$J-bD<~dLhY(u4R zokeq^TuS;}2Feie@$~de<43@rGnGLVLs+gd;V(Z{QD7|^9Mge!thu>2)N(viqRon(U3bD-=3l}EIdZdluhPhY1AAEs+CL9(L z6@?g;6^%b_)CKr#HTd>jd^j^0JlM5%edm_-mu^|`mTvsS6=wR##iJ+`D@k!Yl!zC# z>kBKK+^@i&7^z~T<#5O92KFdsgmkxX>JRggk#QrT*sy@mr>U*%hDosy4qBs8*x|Eg zYJuzn`m2OHUNPtZ-f4;EON>`kDP7gWrZU{(OTuVw9yvKV0pvm4+yx0?%1Wbc_H`d| z`q<~`b_Onf9~`9C)?Ncj2~JM)&li7}whIZ1v3cUBQP)lic}_aaZevLJ%+0hSO;25$ zDMcc0*R;DGjtg#@@2%r}S-K~cZ7h<$7T-psMz37$g4xnu6O)Rj4*JcMEYMM{ZGd+( zLH)#)IQ+e-fsO@my`n@r8?N9SI4QeU{{5L3x4-WE$lie6Lxxox=9Tq5u#}J1@K)ib zv3n(;*+ZdR3MvSG^CLw0lQ#7?sP$WU{Dhi>B9T;|Z2x1!c179*r~b#0;W9$WTD9d} zpT6%ABDDHT^XYBW$Y}V2%@#K5B)IctCfF0Xy?;wXJo6ay%5vX?I$53#z_$S-*3ZB& z;cxgDOF*PyDCt%jDM0}Nf&cdVd#>la@`V@I%$#%f-fOM<{@jE@ z$gS5B5MHbM6*5;E>lhghPm2+)g_Wlhz&r1=Q}g15Cz#^_y%)fvNBWlOEA~-iC=6*S zlCIEYuI@~dd6fKIh(R{w|3gGXbUm|{ActAXIaVI>k%*lH6~{g6t|jrkc!A4R->WG( zIcm-RMIX%o*hN!2vOy}LNS51Q$mK1MVIrO`}(g#R|g3YuMGPmZg&Y1F`C{`j#;Gj>@^e!dE< z(9W#L1p}D5kMkXCuH=1w&JXXIqaRC46D1<{hV^b`(#+(hV~@pz76&|jvDG<}+_uTT zOo@XnHcXPzv~V!{=6EQt9}+S=CfHG|2KR~3XM(#*4y~fcy}scq&Oy^rD_8OYHPhKC zU!KJQso&c7?`!MrluRWOxAf8-Y&4ttLluIy8Vk!0W&M3>x;f!!~cL#)XDD%}tG3#0~L#+0WU7QL*?-o+|d zIckKRB>Byo7p@$WNsAqONs5GzN0PHoqV4kOFgK3BYh_94k48%O_8AZJvH7I9KEa41 zYs(Gg|JgAX>F9zUiYbTsW9%JE>5+^%j&qmdL8T;JfWi*~n%dVDG(ctvWN>+VQM>%n zwD`sjpTrX5n>a_R!DbMvKxeey_i`V96Ryk~^W)#V>ptaqzXv;NlSV9hh`$-L&aiDi zx}r^E-X74ApPPz}NIWLWZNCV&+p(zwrnp}nLUGe3s{u)y!r)C#g~>BoRk2`yC3lQD z3+w@d=*~6f=zvM7o8MP#h04-n#?Kk=g!Dg<&OlkuC6gG}TT#fFH9!N2h2+wm{s z@*@^&UMZlbL3k^#z;!@deAKdC%vL;>;Nwes`eDHbq;EjLPc#U{F$`*_XqxX>I3z_W zjo#af5cmc+dhTLah&`{rA+2r8Pl5J|x58rpMWtUahqK z5YpxNq06^b7+IO65zcOIwY9Y<8Ch8{6+sB3s5d3yRsV!S+X~ZiAjVMtc*8f0K5mS+ zz|0cbb*N;29{@*Nt3TdWZ8ju1{f1MR^Wbbj(bi6`D&1L5tS})oQfeV5f}J>fc;TF? z1?&7?nwf-axO@x;TFAM-9)9S#YURNfcRozKMDi)3?9UMVpW=JPK*%Z4ge7q{j##RI zFiJ|)oaUuaN(cG7KykNMqOjG2e-a0V6U7wN-?`WmB6I6#!`_`&H1AadBEIWOEN@il zl~H1qv3>iUcdn(kGkP#Qx$I{hky}&N_jo%%N(!oR*AtifYI7_nfGUd?;{5vvu^D_} zlK;=8H-o_r3 z!EvAtJ!$FX^8QFW%1CF>ooLAQwXg8WUnIw zhCLh)8eG==(kBMX%-4t8UpUM$pU4xud_()%-m&_`7ym0tqERNHj-1@`(qVjNX)tZg z24{6oN5`_WAZSH9CTnT3HO=F+1c;VX(OpK4A!8tQb*_MRYswdLmo)cA;wcMggoS>! zZsG)z+{=;_+OBw^1`bo=ah}CcL#K_aKJLh^MJUF`el#K0#TPi=NZ{GPs~3Y(I|c0D z^Um-Ph1<1XMCMvvmnF+K*yRzGYFF!8?Yg#(iA$9Df8eF;B=<7tHTQHJILgd!mUbDNX~X68uvyEYQ4EqS3+&@rf|0tcq_PL44%ckj3c-Nc<_8|X zg`8sj%nmMa&sE=5xjxe;HHlk>t#ZR`OZq7v9qe{=ez0=KuxJ+idZA~vfr=DK`?tPy{Qb?YvCv zE5kUmWU*a3cq+Z_z|zRGg|XT2Q*l>Mh_Exol$lizDK~0ELfO8U8)u|&?3UQ?>l^nP z$wiZq-MEzUu4uCgZPq!*xvM~napvZSR}O*S+pR@uaQdpNt8E(%Dzta^_JGyW2zNVl zr`d#wNAC$o!bhD*qe3OSi2Xz@pKqa`yF%3v16cM(R>!L3dmSenRJ}VpB%A-OelNl- z($juyX9zH%uUV!f{SM5J>{vUgQ=tIyW~TMAx>TjInI$O|k_Hy$T-MLn&bI5R4qtIc zTkqoKm9yWnvkNBR@LUQwi_k7AY}qn_-}>>bB&bc=@7!li+6Wn3Q9;t~<1l8p&BQ3l z!pVZ&H8VFm?mMx3TT6&;fXp{9_HpywVJHOlCURB49|g8&oP)|uhlUf1tI1?fZPGSc zwIje%d7N`)BeTBx2lpaAMhmB<3a8HNyg&GM<8C1MC*FNe-kt~4`b!-#^0WJpem}N+ z$-o=8hvS|x4R$M&vy!w*Pbr4JbAkQBqrualgQ0}}G#_Njtck>>VR=i1LBWuEEBK7N z{`#R06h`S4wbk#^g;}WVzl0RApBuh;;3Yb4+qiNJOgm9gm}d{oZVU#HZBEQdzB*(~ zUn`|YB5p!5oimwPdA9O6uR|kHTzLaF;)|GZWVIW0>(E`<9&=MQQq=g@XpVAYBe`TQ z{dO6<{&}wBM2Y&QvKZmWN=j{w6^6D}RE@xG!i?iSy4t!AKl?J8P)yVHG5^%nt0%Kp_S9nSGenF~>&+H#nPyLXLD9iN0hHIj^6 z(Bq>hLyHtytqOdgFRa~Wf;MNY+31amxpVT-iQLM2+4tBiX1rioB%v%b?beTM>tGAp z0}zaD77lDwtnxBB^sQUT@Uaz7hydS=dAVj!0cI_52Lq@c$nEbTvQe%=hm=R-sppo_x66Za zZA^xzID5n`$Ws^J8sbAuBN)oXs7d``GXuae4B z?`_aLZHw@%?&ZO&NrcgQHhoXqXzhV5uku>UUnS-EuDD)Hw$r`J-ttNrMQlnY-b6BQ-z2oeGd((VEkA%ioCk#EG?cr9 zA4%`uN^08vs#Dmy{&0jU8$m{89fh3$huyx1aF<+VXFhy}mWHibr>bUGnsDS;lA`PG zxa1SJqNr3fzqcs<(DPub0COYfY+X^21O8tt{ipVUE|srB-LdICS1-oX^N(kETxm+b zr_5*e+q&A=Rx80pnFPCQ!z5i>{Q=~Ev$#uGsM4EI8zDNVJW<%In=KpA081Gz)|P$- z-3c|=)KvhjZEK3Op0A((5~E1tAQvn`@N?bNv<*Wnlsh-?;C~|QwRP0+Qt!pN)7)qK z?jHYsy`W>>QfaK!`$f8SeQ-Q2kWnk=WAAUi&pgz>2IV5~VeL)>gHU9aN4C2CIJCJ{ zsf`Xkyoo)h{278V8D9k(9)rxHia!Dnsb72#`Tu!*4zBkg+?Lc!_AiNb4}@irsLwJc zu4Rax#_t%13nw;Ie0)s;k-AR~z7Wgv8~uzz*x4sXsyc#sSzP&70Q$#rdV{GFqe6J} zo>V$(B%uDJc>Ub|izN9n3lA>@f&ZeoH%p=lj9LCW6h<(pa|~$xYXp5{r@0C=i!+i0 z^IqY&>b{Df?A@nEq|VTYFAt*xOOBJj#J@+Ng}tdz(Gk`nI2`n-BF<*k%@Z8Nc=&41 zZ)aOZtI#-eBJWWuX^}yEU`m0aK~Ti}WPOHHG2N-zu=;gSUM8JyV}FFf8!KAE%{dzy zqUMxDy!z6?;rh>McqcmC%%2e{)sdqNdBSl6a{925lb|%tdZyA83#-ht6jfP@p@v+y z+J*N;inq&96wN^>ii^XUa9ou5Sg#Uv^h10kYw9QnMh4f(o9E zZQ;ko4RDY5_ou+7kKtfU3`XAD+uIe5djT68F8tPlRMIK7S|@GF1x87nJW0CNF^PfO zK!vWJCvH$V2jRt`4NIIhtbY?F@)c4L^QkWR7@yCE4ZT$GRfi1ipqBJIix15aUo-7X zJxhjviPtV1D$&C#nB#C8_XsfB^UQft-cFK1M&{!%H=?62w+nO)e|*}XKWvUt==5}P zk-+H#$ZvqaVy#wf2znps)zg=GnNXsjq}tNXX8n6L)bhio8UaaKQuTLDlEkb*>gpei zJiZHZ!~qa4+<&~h48GFc)ke>!Puq-k1@WW(5fbr58Ms=`1sRqop!-iU zP{qHf(KvJYu^G%n^Kx^Q)97gru;mMBXg7+vV}M%4TtI}UYi98T48-+ti&qXnf5qRz z3g=oUJH`}WRYi?WS5aujmRmaKXu*;x_9#Gq<0KPGL5`d`JnVwp2c2zv zw>)JFha>BS7Wm_nlTJH8u}Bt&^atjs7hI*y|Ke+p&(>8##3OoIT3qH`IfDsy|DV=J z?eea!svp*Zy|4{K$Y5nc83wUyEYGC2>&_9UjoESc7zg_!!lfiiE-9IMK4rqBW^GPr zI0+aBEXWY`U4O#kM!xPb27Zrw?^kxioJ@-^YTPK!FGac!kDsaBA&C)5kC>Gx6A9lr z%To14qtY6hno53a$FUr4h%4z;8QkZsQJ?q4pRP-Eiy|z3`H!*2FWk3vpZK?zJYU^= z2e9k-@kv~}JwGH=BLlg1(5_w3uG`&s&lv!R(Pvf3==EA0NPQ-8S-4~h+GOh9swh7? zE7|f7fhwmczI-*s0EN#opc-vf&}f0YrM4F`dd}eX?>fb*XDdUGRgi7^ z`M(BCRkJRPt#r6;h4;!WTD8aDY+DwP?fJ=AxC-QxAHN`BL$VoV>k7oMIxW_5 zF*U&K{bbA^#hIgv)JqfCAc~|DobV(C>rKf z#ka5A@SN5UwRgdar_;Kt_oC7^woen=MBWECjps&Lt{8v#&4NPh4LF>++7AYbu9-@s zF8=;TKQzl{99mbLK^cE}32$7=$;_?Mt>pC)prwPcWXcnDU3?Ia$Mq+|u5^mB`n-8C z1KCx}hiFtTAbm&)Iq?#GE)Apr5RB|`*Van0!p=Vjg2)?x-0y1oU3`j_S9L&DD~4aA z?z)cW7w;M0R`}G?OI^ru#g*y;VVIP}V|Y-4liT23zY!7Cmb|dOxBN9(rt0)oW-2!) z>!v;b)<6ILclpDa)cu3arqs4cOeToVzS5Gqd+-Ape=L0YQKx)203M^VH#|JpRV9X( zUrW-r8FiI;bw^eatJNaZ;PX>;T(aqgG6$k@47Q6M~uL>RS6Ru-R6nJ*W|BQ=8%5@J@VfS~??)&*<+ z*kmiO;8keJnX_EDJj+_jnhL{5O{poNp)FNh_ZuF+y&RguJgeq?Lcxh*Q^9G(%Q<3S zp)R~#EU~8G6jPz?bXmn8{YIN+jvNMu`}lB73*xhr)ODuM7&=Wd6(Pt=W)4);)V=-I zU|oWp+-@81i1?e^>L}y^!Vw$vDxS|B@_05I&KcgOI#LV)@h!Mu71U~%`dhQu@`Sde z4Di4Byg82uFpo)4WvX?x!iE)fUJiZ+^a%Uh29uoT829&j{0A*>OXnQ$kjX;km&uDl z;(Bunm<;)Du~M;i|MWbQMC$tVNnAvvJ>XTlq`(0y>O1(AFv0G7o#6~reuzKpdo3yQ zvaLZ&MagWN_;~LAS%qeWbmhgx#oR?RFnKm-Q$ix9e!v;an4Gu!QsP@!KARuXlLfrI zhpi+TudyhQBcR2=5TON&!u9Gh9Wbx$TshWsM5d!S+qV7^KUS7S$dTQJxlhyjh?d;g z)HE+I&wQ{cInd~f<4-DI(}<9`Oj1dsceu8U373H^zJ~*+*E*f&(yT4#Y|Aszg~W!( z>z5O*m2>|lFxpO@zp!ByQBhIMapYp-i*i6iL7s;F1|fLeEws5#iF0jexVeu%x@9VR z{P%k4c7ltY9g!oBLOt~ZcsCP~zn+DscXQX6cKK03rn);iy1UoA8b)Iknr5V-MdTr* ziN9M0P|Aa=kuD)iTkfqpq+m|HI+DB2#v}Ro6jLC?q>Lkfs7wu(0(}eE7%w+l+C%y}v$p6doQ+oJGn6O)T65)dtxF!2pxA(A#1dVk z&oY2o%@Tt{;AM3)|6YH}rPzMKIk4veTe8yRg!tX2F=SIjv|BOe@vssDc#D z5-=9f{1M%shaD{qWB8OnD-Q-LFAuC&>czn{4A{2Q($Z|7?yhagm89yzeDj!4;4HvM z50k6bWy5$2Zcl%=h^FquQBufdBuQcUReFl%w~{Jr`Im>8>j2T`kMNQv!cX#P4XuDd8OTs7@17`ij8 ziT8}IR7=HjI4psw*2nV5jo5806n<}RZdPan{r9My0V3e%adD}hbL8OSdfbVXC_Is9 z^nRPk=%IN&S4|JYzPdTg_HE#N0^t;d7|8Q#7s%6UG3~}=o_?v@ioo0-7;p}9;W%s! zmQQ~&<_(GBd+zs0orUN78yF)LtPqaD+XN%eeZCrkM8byM37pQfQed)l6sRyaJalbc zIlKT**bm?JOgE|oRAPY2m*DA`)1Km6U(1I z_(uKV+g0Gk6$fXo`Jqovi7pBpK6@4-S+aC`_l>d3^)#l#hplkCKsg19tH;cW|MhZv zB-zu`^Sn|K*+i5pZtJh#G2&H_uvA6abNE}Zn6xWcVns|8lK97*UgV3%y zHorCH=QAOy-A*Yx8hewfnKqjA>FDT)+mqH8P4f-Ux4NQ{m8#&nhstqck-8Gk2=nIa zS4;W}nf)9Lh2>yEI@JJCTvbzf=;sg8g*lXlV>}UiJdNgLF_9@v7P8$xfsaohV^c*d zmOC+5$=19qSE@Ny^(a~^n*;*V@k%ACQ#7OYHDBU9-uyt0208lFtW4h?8eqhW5%w@ttv-RFqXsN-WUmq0(sQqq)(sHkwq)|Qg$kmQ#Df(8g&nXoxw5S81DZ! zH)VnX2oemEd($mv< zl^Q&Zkjd^|U_$8&2G}_bk`tK=M1E;658xNkJu&j6?&0J%+Hq{o3P>P*y2_1o?7Mz* z09aTHulQedQsv~->V010#lxgoV*pCyrhyV;!>9E>=< z1y5J^Y4T;%up9vaSWEz%ff|Fe>!M{(FD?Bkh5veh2c?Lw-g)Rd?Dp(jQHZwG-#<%@ zc20P?M#jcCsg9Ef)KMdJ%hwRvQY6%`-|CSy5(gxd)@C4|DzLbvJWkuAOx<3!8mz1x zSDS%r<4^Hk@tn?)AfMjen+MqHaYD!TNuQT8`K$Cc)qhlA*lHS-;<-CM>M|sR-RM84 zMDSma&jB|x`S<6~{(c8kvG>-v=J{q+^EOR)-lX+_IB=Pq|92ap`U^`3l9_Mm8RD=R z&`pZusM54Y-K$(7W5XD{tH}bZ-)56%&lnUx=;#gZe_g!{^>=uAPfPg$AD3QpLIW#S zp$`g{#mJ*HR|CdjMxEaS4e~~%n|w?wK^_gs`VYpN^@2uF)gL>F!BRa40L!yNrOh~cLc;R$llR_dEjtb`^@Uv>`JVC4 zit{;DgA%lIE=jB+#aRZe@Q-uZS3Cn={@}F$n+c{e?ux#I=}DMLL$rUCgBK3EhIBDH zPKVTn*S7Lx^`+e9APWQl5!@*_PyrOx$;pWnS+pDjE@Gef;`4+mb2t+6vc>0P{!pmqSl)OK#LtNbYQUDKCuzhATBQUS%BwF9(&EGU1>p#)V{VHOy1tqwoLZ)-7S) zu-Cz`FEZ-Gl4EU64O}$0y}kY5-~ebb`d&RD&|zIiAYx8$Yr8I&L2(OcUX}Ova=(Qz zT6IJw4ykBY{a!n5_Fw-x4Z7+qelf|x$%$5O3khq-?3s426y*an&DrNRuC6tH=U_;+ zUNim)G|w0m0qB=E)Bgb>bDd?J*0lH=R;D>LU-)y?e`pOLn%{ zADLN7{kq(3Y;64emUZsu4==!@nmPwo9rAEmd)j`U^4;UR5*uEcUr6CCG_IG&$wkeQ zkoZ&E8O|v8;L)dR0I+ksB!jXKjIy-lUYHOT8#p1Op0A z;J+>(Uv6*zo}E=e(AV%DRpEfN6hy!-A`=j$YO1P?+xCwBT(iD0N(|9e%uTPv%a`)M zWY6>CH#V-CoNW3!vX(&{l7S(ujv_4=i2a!EI5@|}Ew&ue6aZP|N7G34ljl&$zTP=N zKP{gD{F@+BH)90~x)UUg3fbGly|#Xi7=&mxm}@`%?}5t2vjrIG7aMmcK3mBT0*zIw z))3%8eFa8-CZ`=rnCvf$p#Rp5{y*Qm=Gw(N;O~|)X?zN=(QrAxP7(?E8ZsF~p0+@H}k}c3?Jc+hj~`iPBS|rA?@U1^zuTV4QRRbEKMmMTxyI&R-ohq&D`gU|enW!!dE3n*Mv zrpuHiW=a9u4rz#na0*nlfY?ILWX*Vwc!}fSZq3<$6eAa^kw!XKw2YAc>4#zj!6|fzB`6-6W_lWo2`tLnJ62q|n~a>X`^j({gMTCV9x@GM+LJ{}#RQHXgGj)zN;pnyc6i;azk zgM*{vS7Bs33H*mCW%5vNoMU2)q~^zWMn}4k%3;Alpm%X>PICCLYRejpMiI7Hvi9=F zi|qV&WT5Ut~nhS3q@qX@!HpNg{ zNSam3iBN=BWgZpizzxU-g$ z`}2#H&zzIl@gEbU%lU0B_JPE*cp88XA;bhRBS~(Eli!$WM)@fA)Iuz!gyTzq+>Kxsw>}oC^&|WT@-YsGg#^A1Xw=BO%9yjN5Ac6*|vZ z-QKn?o?hhRlJ~@;ek60i0Y<@%*F{c^7D_mM#MdcO} z+WSYOZwRh17K*b{%0?hatw3o896kVuqMk2l5?wGf6gl{?PhE?4y9swnY;F4ePt-;E z%XO|8CT|M)Xd1umAw6o0t%hPj{p@_X#w>S%k?U=j$g2k5+m6OzTg2#VFDZzyc=e}@T4;9ijN83=%{@SHk!P})IWM}uuS8p+1_VdsubA{eUtp1kH zdcU2fgab}%lF*9>( z?nq8X`#=&yzW2Wo2Mt2B$$SE!oOvd-D?1 zf#QAKFUWwPv96+tC<0aq!{fc{4j)Ua#OIbb}KkmbGU8G}4 zr8`o(bt|GTy;R;=X0*5Luk(huBMgvWi5ASI;uHn-tA zFDS$g<6JOB$=z1rnEULLR^~fH!Zs;PqL6-m36t`C+~|36dvX@E_kOKXuee%3cN7~& zdbEad^$4&yUKW7RiWFw>FPD&iBCqnz&yMV4{X4#-YEK*O+Dyi#iIY-=9`C+6f?9py zc5XK0Yiyi{7}`^p@|P2u(8Q$3iV?mn)l|aR=l5i>>hy_f=bw4=UTBh$PDdJ)k1f=;V=m-yU4*_6I5m~$3nS+a&gdj{A&Zmm?_fMpdO%qD>)6J463_bA_s zrHPqwN-8g+ecHzF$oOng1qa+Mup75hD*WEUt9)fOl0R@11uj z58inx|F^ha#4+56K4G4wzqH4s4@)_2OmE{#tojMXJA?19)@u8t0al@JxWAA9x8V{J z1{pmq%OH5wQBE!hkweOT`osp^KP)C2R!$UV0fxcawdxQ^>YYeY7cMT2H> z$Y%SyX>Xm-u=s=<#t8_h${ihHgxO@o6y!S7W(%ohgb*Oj4uN6WJ;eMfESR>>5p530 z(W5}41sDRY3%?)%Sz`Hd+q1`EPe8$LXkg$VXfz`$Hx*hP#&)cZVPF5vz1`O7g}GC4 zi4uGd3`L4UsD5WraeqI6ce=9+V?9%7Jsu5a4)|I663}YFE9F7Kx1#zud6j|n#Q5@f zE(4d3NOlRmcsQ9!;!O-sUU^LK;0@69`+~zV&~UH_(ZUvt?3X&Gpme(DSQJC`waw*S z?d{Z%NAnkK%o{7cYpufF>;v43e#mEzSwF^nG9QL zw`nXFqdRYLb_puW$@9fvSzvq$WDK}}0 zka^;jCqRqZ^@07D6Dhp9S@9`0kvMHQ-Cv;(!(FJMaMZj#%ttIy9!j4Ho>C?%stsIN zYJIz*FEL_YM>sgte;W=(Pa`?4E@&;)X2zSOu-jFrSjJ2;#HbSh`^vR6CN(_8V_GW$&ns8M&DQWS>NN{=tqV ze)kiBZExTZJC5?7{QT})DBj15i@mI1a~y4MS$qtIZTB zFJkaDD~~E%=N%(WyF~`3%KmLVFUq?$;caZWeep_q5-EJLCb3~|GsRQI2o29II9G}_ z`&ul>i5T`g>~nm3_bo^bbF=Dsj;39Rg?5`9o$|eiz&V&a0jJ7jB+cZ|Gpb085}9S; zU%)xhIt@rusyh|F@~l0|d))uO(v{;E6YFej^rZ6@H*OPJrjbt7ju4I$%Z)p|9chVG z>pnV|M_Xnsc)x3W^Zm9+-FAs{@>K;j3U3y%OpcQ@geR$1ZV)!Rg(|jVe zFi3xuMY@=vU;lcViNE)G?4(N{HT{CbGZ0|ZW* zF^gq6+j#q+oT4uzPoZ+{Kl$U*l0mz`oTE+_+2pSjO>U2Y8IP(+3y$D~kIR7@`Ptb< z2JK*q5VVUJ*(CSO;64zhZoS$!iL%i0lZ!&lBh{d$wKC7>WBKwMQ2y3#fBJ6_ad8|W zkHgG**y#k0Ke3gNDUCmUu$P^n&9LwZAvveC;_^Z)$^+4tJVq5gMm9`DzlIc1jJ^H_$wK~*-Vo6x|-quCV z5ify2=x*~7(mRP+!{x-a>s{D#bOF2%HTH{u2~3O{jtF2dr0PC z#6UI@SxY$C0LuRQH}G_7YwBM-p=L|E;>uq~?2=uj9Z$Q-Q&mVJN6@|kq9PjWHMfX} zgIm3}L&7Ei@ax#TJUSZP6~?plq5xm$rzi&xmg`np;Lx0- z-9&!yQT@;f06J#pBG@Cp-3ohH-V}mFLO@`sYkPgjEO|~h4{STDalp0Hm#894Rn7S4 z1A1SB&!jL>+6dxfaVQlY`t+BN5?oVHr>z$rZ2el%+ioPkF&CrP^6S<(xYu6^*N%Cd z^D)n9EN#U(W`B=ihRUUQ)+kSWm#cq%r|m8^Esu3W-DlY_FI^ox7xfae&YZI7o{&E~v9+y9 zry)nKtR6qU6BGuPaVB-DP-*rz%0&i9&NMvrOcpOO()pWKs$o(t2R*oX$ z*?ekip@XI0N70vfZ>iB5HS682<(^j#$VkiOY4siuejquFNcN8CT#K<{lcFk#H-@z3XG;q_ zl=}A_78^-~#lQ|baXle#WUn<&r@_1-E45Rp6%lzKYkNX+R**VKQSs5QBRXe-=VMkb*CZE0M|$;qKd zX0d$n_~?s*vRq#I!a}Y3gbG_JMpcpl7B7X&y&a<_K93kFZ&j2?bU70vQj;M^MPR)} zDa*Aq@e36>8Lpg+42_Z*QYzX~6$)QN4@-Ejhc!f7Tvg74_$5qT**|jI!XhM9(*g?4 z%wllB`I?-VsHv{z02jMT_N-yQw+E~eKLJXi)caO?kXr_}h{lvGzK%(!BnNY_<)*gljnUPVdH3!{P>kbD<7YQptPsP z52fx-F-S>1T|gRI#O07ad6#ev|5Znmtogz}wzyw%@G1IR(JwZJLvKOw!HKMz!|5{? zv;GM+3zWnAczBp0E2w>jX>0pBY-DbG_g|lXreD>CJCspysUKO=fNs3^QI&fZdrMw8S!6G_3v@BTi? z6Sx=udcPaCD&~|tCB?glIl&f{LPYd&jo92Dc^sb9f zK|X4NokYm;af^@E9?PKE5)$yUgb>Kz;Wo%I3k4Nz<31&ykA`9t)#+YX4$hybabZ;w zd7mexL{iF83;|^b2D3L`DxI}H3vC~*!iC~>_r~Fc@Jj_EKK)(@j4h6^v^t!PRkSM6 z!a^JzJ2SZjwS!_mQI=tuu$7HCTA$-E)P4ggCovVem7BS_>e;s^Y68_L&aWBkR)mrh zzOXBYvry<^U%7-X(RomettSC&qq8w%G(}oWVnr2+}@U?h@&mLZwYPa+F+Z zbNSJ$gdU$N6&&e$+3oi0@!yG$2f6THR_hx52M)NExXS27Km@W?Cw~DdP!$`$W+u0Y z!uM`4f!#QUN7;MPWi2p*#l`9;+@8@^?V>?Lmph|B!FU=rRhDhj@BRo_GU@WnV4KQvX_9|FhKVpQ^{&~}#!+;XKf;4-<8IHGtsvUlZmSPEni<>> zEHEdJ5BA2=ir=W^G&8xo!$lQ{vmzR3^Zg<3GrDIxlFzqgLu)B`y<6HJyS2NvP52_t z$b(*Y^Kzh0$sA`IHTH2DUhquzpX|I40{7%Jt{M-`Ahx}le+vq#&{xeh-{{m&X!sLF zPekm;Wlfki-V{;WS7(SAWHQOF20m$&gEBeue&GhaD8oZ=+_BIJV`%;Q95P=|7Ag*6 zN3QO`VdogGg)F+nMNskAT@EY$M8U|WQu$!_U>9LV`_)hxF6S<)b_O{2!g0U}a=3ro zP?|=Ia36B59{wOXa$#$c7S{eWmAfXlsaowwQ426s#cOpdNv*QRZCh80e@74=cb*?% zXFiVWni&L?aI9&!gV(L7F{7GTgd)!>RRbyiXe&A}fcp7=NL6gMYjM)OiltQ(%nrz=FVEc_-3^($LXj0?dk}lqlk22 z{?)(pz{?V9bUfhh>@GTW@)9C!`@YaC5uirbQ!F_=m+4M}71b#I)CLUvR|r&NOkPd{E;>760O3!di)_S~`@ zpEowW#&8uDoeJ$1GBFQ|U9yz>4B+QD@wBt@jqUQ|O;!O@w7abK#RS zBpa2{TH^W_Ol)43pPWRVUe(wzj|G;rd^i;2<7@2h?%wzihnx8cSZ>HdQ|CVxa%gd( zdX>+`Z9%)!{m-MnkAD8;Ri_-ZqorRt2f`-4a93%6j5g1aP)T`P-Qh~Yk>kz0jg+}G z$h6R!YW6s~IDF5S*J|5eQtZy}+WcVeH|rg`;k3qG5L#s=IRvEN0Y!=m3J&%`($VEL z16pFzGF#2mxws%%?De%sb$Fi^?n>hCK4``wR@p-qo`l>( z@f5q7nj7Pm28_#V15b=i{I7S?^-O(HK5s_tfNNl;+|Jha??}h|^6ThGLB`eGFi3&- zY38W^vjgLm@WNqK2Sfj7~wzf_U@K$_H*%&UxVEfqJl9~yZ>rNK;QWs zSz&NH(`(N)hTE=7oCZHby+O4DTia^H*|KA%O`&SI3M-LMkWg+4s&nfBPA@SNW?_B zX4i?+N;dYWu3k6aUY6xi2I6llJ&0Pk^y>mCg92u+@tx3;Cf{>UZM6!5 zT+WO(__1M^DQFBNGdwz3Rktu{Mo-4GTuYdDsrK$N1s#0w&9kdBGnF>3`psn;0PuXL zfY0Fb@KasP_XrnGc7EFyEw@V-@AEI=L`-T&+sJ?){pn)fXk5q)u#;niYEU%T(I|tQ z?Cfkh+w1CnPIaz}NJ%|YQ59a$fHrOY6B*qbp)7)!0Pvg$_1u%SwBYyV=bN>|U3NxE zKK=eWdvx@7WC#3h1Si-0p|^_lhAQpbZvI(o|4yx~oW@B!7|3TX_$>pR`)b3mYUxNTZrS72>b&GGBeyXetIMTm9qC$(}uF$q<?LfAb|`Wb^UA#b^HitQa8vD7d#W+|3p zqa#6&m|_S>5#hG9#UWIepW3kY=|fqfj;IhhZ0TtZAOG1}&qWygBuyy2{+A7t6u=3#4cGsGq~=C3#S2aBk)o9b0_H38FOu)`704sUx>>Z^Gk8 zXKcT1iTM+HE%ogKt&)Tqu0*ADpk4xkpMS%C1>lp>l^8IO&{VvlYa+OGpfpOFe{Cn# zxv*-&T=k=m3|Gyr1^F4%M4ri?vKJk8d!^0UI9s{7xf6pofQY+)y#SWaABCcr2z8*R zWoN#GK=;ST$8&{hwqg&{yZ?H7Zv?KBX3p?VY`k22j5s+tnON5KaXPdv0QOKW6^@Bn zJ9wxX5DKk3T+P=AnHiW|eM-%|0kz&;qW{yUPyMeDbQjs{)qeMx$#duvLLHr}=Q7qR zc%|=wR$XpHX2as&aPVD(#Z8uk?8%Zz_oGD0r)x>an|Y7KY#ZGAZvT4}eHcsDCZ-B< zvaVT64XfwDr^w{91Aa)p6j`ZHQ!1Okv8?cij(p`(+KedZEkepuko-J=d?1zw%=1!V z1LxW9i?PCS66zkJAKghhFDva!qkzb&{hqw;k}{O;n}uhouO?I^XgoFml`IyGAgXAF z(9zX76OWT#>_9TCAf?#*Lp@TN*V)HSa;B7NprQR`V3&O0IRvIUJ#l z!lFJs*FZ<}OvZkfh>M`(7XQ*_Ih3^i(TQyUe^;sq!!M`Z!#uoKjZ01W)q4>}N~`Ev zIJ8;gjB1<>R*@D`+s{5L6kF^}Uiv1o;rK(3J?djly+pqp@-iioTS0&wv}+(UD`%uL zR{WRNeJyd7lN?=+f9uL4LKMGh2-)KOY&8?1lCwUGCiS}0?gjNYR z4t|H9@@vi}7n$v*l>pBQT>9Xv*)}Tin@nSN9T|>nr5U&Rl3V;%6s*P@$xVv(`~D>y zbLh_3&TcRKsj0sImiPKn<_0EEp-rlBsj8~76eBf}n_#xo)j>Yw=2Al3K#1^7$ETSg zh5|cBEzp`Xt%86f6c;CF(L0a>IQtif9VvwqK zKSN@zgMv&=+Um}34uAe1Nml_>RkubDDGkykB3(*%BOoFm-QCh4(kUR)4bpk(knZm8 z1_1$S5F{jhoB!QW#~B$I?>%Rq^{sD(x8&r*y90#)+mbhOG)a8A@#N>}fseuhW1QTY zajDJ^S>i1)(*8R(r*@gKwge8f$8*k=^DIx(I3{fhM5o*?)mnpV20W`DWfF4~u;K9t z_O!DMrTDK|-HI&UaU$85Ldadwa5bKtc{^{E{;B2Qf8g#YZLserZfR~_-gBm-qcgX# z=*1A%R5fY{R3MP<0gaF;jothq{Z3zvyU{xGoaRMNQpw^_DqmTT=nY{N-7KvBbC7(2 zolE5E;&K?0sMy_r=uCAGxd{@W$ERiXW=05t2CR8fsa{x^zmst+)^ZWm83Q};#5Fy6 z__$nFmqj^2e>e*wj%2oIwz}N`NAC^iSzq8Nb7@W$T;>!4ipea7N>p0ptS^_6g{w#M z?=`5*9i#GV{@&`QI-$|)*^Y($6ftTF$^|Y_2~wxxRToCpdNCV{KP<8MbXZMYOICdV zhk#JBF$HT!JC4QWY3W3t1=d^LZ^e@adTg|GbQo`+^0?N~TjaNfj*E>TTXp>FtQ|=t zJG%90Ud5uuSxmvEVtdN`j2#$no3!P1wYFmA5T;H>R1gZ9B$zE{k3X3_onh`_ucms< zCdP}AMZg@|X=o1r6~n(%vWKet4Xy|>Ue;IRuNFuFVw4&Owgvht0@Uv%>z5-UR&?h= z12t3`F>U4kv2&$yS<4Dta9(ah2q5&xFQ+Ws7MYL;FQUar+G^M?b@$G;)+|Bjo6Jgy zZJ4ZNt+xEiA0UegXRlV7o-MAxkB8?+*S9Nz8%~E4h4EY+bE{TV|M#dulYIOVy zWC+g6a^K^{Spd@7>%ldMIx-J8XYPG8O0{JNC-qSLYxd#*O0*`ZA$1G~E{w&-YpjV=e7~S-dLp{rzzpbj?L6!0jTMn_ zPx09V0#s)WDGE0F#i48JJR!rQvps)`Zxn+28dzoiO8}7!@iuYjFfKCBxVl7<^9Z&Kq$mk!p9?-#~mWZk!>$_{j5W`3!Pf3 zlo~u|m+5CNEBpxec|faYXrLd3oDu1>>}5>wD1#|K#l!v8HfsIl&6uM3;a7G}-w%o{ z;WH#!Lu-qRtc{`D%131zGhYz`R2v2WbLZ;Wnn8|QTRzK_i~-;}sH|K}x3{t?)~|3C zcm@IO1$eRdOXg)0%VC)bITUEZeZ^#k@eih0iaqTG+Hd1`wo;{btY4oI8P=y%<~G;! z3$TG~wNduJAhtz3dO=JBc{tZVFU)SjaKL{tUyh2iV5=P~tQf#r(g;v}w)pMOH1XVs zqzHQ1;*pDWZHh^5jF&^EB4`kephV$d+*rx=e}Pz|JOmQ>Dl9Nw$LJ-$@NHf#PiGC; zTu6}E37Zu0zW$sLUcHHLuR?`Hg=Z*^lfT?bM^;EWX4Q8@9p_fC!qB0#RKM9pJ`xOE9#&RX#uC8s zkl$)HfC{(TGZ;sYd3SN~>4RqpJGcUNhzQ|Y+`XT5?C&%AWhj^~JywLc>`ndr`ExP& zhHCdwjNIG%WlkpPu_EE_5o;nmPA12Fnq>=$M<1J-nE0LUMvXVNZHO!l^a8uS4|Y0b zfQV4A?=sRHqIC)f(f2Lw%aq_7n%eRV7*V-LN+y>!$|s) zpUh6YLinldnT)4bC8toYTCqy5tjV@G-*a#pkVrsh4cuw#fyn9)v*v z(pAhiw^f3n8=%8>L)0(d>)PgyTrfK;)D8#?tmT)6zY4$nG*E>88a%XvW!F6zlA2jsBhhK0D&KiZU_E&@fKi!|9Q5qZQ8voJmqQ~4#+t+5b1dJ2JNHvk`8MV&;IZ~p%IHxK*@ zw}-XERacoY5g?_6XWH^l1mJ$vYT)F4?;}=dWPz(b)9tSEs%1y`&!1{YBEsHllg!?r z^=wYZUhhW(a@N(^yDLcKS3YZNM+FOTJIrkgK)yy+`{%~hB7;Wcaqwc~xz3+oIUYXV z4bXp5XUvVry>heW23MInpb-F(i-9mv7F4P?UTdHZGI|tB2IZHxDI9%&+fLjw*fF9N zD{+y<@I%zYmX0zO<^iR8!b1weSABds_3LN%YJshLVR>5Hl(2>9y`D7213LS^-|mERh$U9_u&e2+nULEowVd%2JWpm zd%dq62|@h^@GBCpDA|&4B~!nk4qSfbeGCK<0v=l8FSErb$2=rth~kDx-VTur{p&B8y>MZvsj8>|A0%GadO3q? zv3eaa-x(RHTidpt*~Z(IB#hc%DX)RS2l#1+endfsJ>l~0@5Gi1zs$-(94~3`WR%D` zs!LU3w8RRG0{`xQH*#kgPV6AS5OD*iqjv#Cpy~N9#`Jnl#VI5@HhU!6u0SXjaT*mrZo)SZci!e^wDR1s%<|r zc6YzV1C5ogzB|G1Go>q@K-qn_KU^P{v@zC46YASfBkZ{}bXZ${cMUC#fk1P%dwA#{ zC^7!q*51&tkdpDkw$`#?(COWI~%0r`Hjtec|;C@e4`D zn~~q~1>89(O89C_8SJ3edv$RU?B6ZM)0%yA^vl%s(m_0RW@b9(;=rXY2;^F}u1^^q zs6e?A=HvwV5@y}ZKv?ue>dtz5p^rFQi;Ho%uc>6LteocpIb{DLg&jkT`JE;`m1WMB zE+gJx13gb^B#;M!JyAA1DWvpoUqUL#h`7J<`#5281##QoCEDqur{jMF(iP&D`x!Tw zNn{8nWEmNy-(nQR>JP^^@~*a$D|aJeWS6thf3Be#T&-l+gz>=U#&Z}G1ueIyaLEch zZ&0gQ2uGll(YcwK^Ru%Mz^gNp1&`7|>p##>8m_to!E~B1JfBEpk-Vs)ZH-A)cEejU zo|T>XhKd0x?$vBn*ZWkOO}E@;>E+9|<{6hShp+BFq+u1WytxMcm_^Y0Oli>uSM-5J z;;cusUp>JqiRGhWe$1EqlrZrSA$4m}p1wall+V(f`hh3RjweP$qz=cX&x~6PrVKpO zec!BVMFVLlQ51_*y$qW5`eb1o!os#Ie~WzIukOH)>AAe;?L!pr5E38Di0A_bt_zP< z`Ha!Fh-n3$22p;E_Z-7TqRpyqf+h6K5X+7ohEP=31P%(~Q!MK;lnHG?(k)You7h{i zc;{4?!uyvJ-#z99SwYMsxUV4)w%A9^VRJ3ptYw`qW`o)xYb}2HLY~5%_=A#l?b6|4 z>0Fa~$>2(++~89<$+}Y$3hoQ#9GrlUVv8GU`Fqj7xTZR{BwFh|YOfFLJ z`rKy=1Vmo3o`aC~w7(+5VTun!_gdOru0A`PS;RkXm<^Uy3rgq}=Amzu^Cw>%?LmcQ zqsP(R+1ZuXolg5fbKCVDBZNbAHJUIB-rOEjU{1e1I^lo(-R$k|xjE?Sy*G87)PA@9 z@Ap~QLHe)70YUId?CX}*35mKJe{lU6Pzw&R)8T*~vsFgN7I1(slRm4TaY^dK%Ig44I;uc|@D6+NoReM$3)dgSUOVR`;^#BI{f_Qws@WO&FpC*?W{iMg z{sI_bS^l5z`rD%8DdKK=V; zW!pV47I7B$jpA!_n1jCeQkXl?Vt&tdydl0tG=&gOaX7y-JR(} zgYsbCx8#uMNr$4oNtpt|Dx%uZZS@jvVd0~@Jl#H?_pi}U^~%(nSMA!~X$@8#h6Kxr z7}Ze_5>~0Suw1O6mD|cb1`!XeGIMOlROek91|m>D-LRidtX?;ILB%r|uLj1%oCfX5 z5tim`+!$qTg=)qaH(bvv-Gb#m4B?

    gL?_n78W1H(}i!N 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%0Di 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 z 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%0DHx}2VxDf<3S=eqz?%m@ zVQUdGbmoOKl(DYL)_AgtKVB3v-PTx~eTnvsUJH+!BldlQcIfT}HO|LCU&fB&Sk}WD z=iMtbbJt~!_)=TJr}D1S$7pitmcD48f{ZyN(!uN@chyxGx+PqOEEu6>0AWyrhCSq= zk$extLcZb-7)9Edar#68ylN}&pcK(YZ=Z<;x43QeMHzY!R6Qw zeL**0PX!nO%Xb6T?!xXw?#QA)z5>}XkmRg`t&U_^*SC?y2jbl|ThJJZ1V@n(5v9p( zux8JFSjgWk&!K>|0&Ud#1_l9OcK3t5$fT3COAzxDmnHV@qP(GPocK3??}LXZywxAl z&J60cT%99)#ddg#&5b!r;v})EIla`ta zo`kjy-slT3o*0k-Y_mmYBYstSW8pW8*48}$W+gXh>oskzwi=r zP06t1Ed^3J7aaI#fp~---t`^fN^D;Du2Rn_En}~z##fLwEJH{|So#wA%@Agn9AU#C z*N$ZGIZED+H*?kKVl?677Ap>ORE@NNM~Ea4%W2X^5MI>pMWp^!GViz(PWHK?S4|gXa?G4r)GMXh` zm%f?WlGYJI)y_Y$)rKD2OO`EA3<-yY{O#$kF{G{HBETp<)7tc zr`|6N3=Dqol!ofzj1+SaNChyi2!zOUb02ji906Z6vXdI%0(A@Hg6VHR0c)|l7yy|? zFqMP}=Pk%A*awLT?v`m>1ydv8f*ZbhmN*T$B)}XYZRBGj+ia4hwM%{@54^i()&R8e z?dF=_h@F6_=nka(FUK}Q$o?A+6MMbykR{auv@+Ni;1h7BLEyiMw@{VziwzRYu>`fR18$m2oF0wK2_98Jc(P606C_)ISuDDErO1ri;LVt!r z4zk*yng;FT2mfcvvjsS>ishehDt_+aym14-anoQ6?~uHLD6D;Nt{s9^cyM(6x>w`% zVP`p)`N9$N_3IrJL@P+y=X3uY;HqCVnu@kV;J()p?av2aTu4X=3K`T^*8WhHM@+EiL$laL|9Q z__06_RoN{h_v+@f1u-I2w}-fD|Ni|zIQu0MkQ|1-zB_Py3D!f|z2x;DSZWyn9{-?m zwJiF?pIhf^mwvvHTIlvTyawSju?0qFVXnPu^q}eJ(Emga0#?`pR?-%I+2R%89=!LM ziqc;ibf`h{>Q9~=7Ce`{%>!jYA_VQP#QnD6;}*qyot-;n{GI4|SD}cAJcH`pjX@`R zpnR8l{X_`gkk6U*8itx2U63d*@9G#6@m6Xp9F?#yRkCB{E+Z!ztf~0;c+K4IK_Ub) zL+1p0f!|sQFcC;~dVw{fiZEgrXQ;Hw^}4VH~gAwIU!$?5~Zl zgS|Zf)qAY5kP^=j^XZACcBi@wUXqCWM@Sh1mS#pG9f}IQPVR1tuz-;V0~M#qZ{GsX zv;z5IuQp)wLe)GhPw4w5&Iat}+s}O4<7SQuvBX4jW3?e*l(O*yN(o|Et5St`n+^6> z0(PQ_2>Sw#dGkUTL}&xcBS?Er@Xes#ydU)oCDswBHG^{+Y&8ASjEa+(NL(>U5=v|? z`$`K3vc%qUG~z!GRXHXrO-2e1-}2eG&RdbN42d#WJ>x13%0)lSk+z8&6sH#w8?-B` ztM&7HAvui{Ux1{b2;~sSq+q(O!5X!TZ%=0l4ttJ)8J|;LB8dTyao-+zEPw%X370P) z%h${W_weEM4gEjh#3BwWyf-5A2Ywf(&i+`H9Ok7n0cRFUgnLLSWjDVWay{YA2mK|` zAPDU@qw>rsB)RFi#JqmxQ$<-z2S!!SPjO?t=ca4p$1{`!^7`RJ##H)n7ZQ(KWA4hz z>b{z1btX~E(E$GB0!FHjE=Ba_%}-fh2b!aNx?*ukq3~6PcdM9SG6(P$)$B2vyPwagV zJUCx0(#lZr_r}*mmF)1k%tbC z2@B7=;v%V*s(Z6UxeRNvm#HamEK102=D&Qo%^GWk)rPYpz6WY>-q&c{h0|be7F=d= z@de7rp}sySl0flXGZ*n*V4tf|*xA~as!;ekX2-f{S{b=n*$Y z*26|L{g%_WNb4E9ex1HgID6p9DX~T~h)f1+R;=H^aoH92yGltO1SX?SNIUAN{76E0+FW745S4679~qfn+vOG=s+`zh9g&KU8Ovp=FGSUq9B5IkszH}UB;g_8xT znm59uEGDzq`UA(^LNFBS6OA>{3m?>Av?3>g)-ff3+9j3 z&bRxKjkc9YlzI%>UQXud8d#9>IG8O{j_?=?%} z3#Y$?9Yc?lMINX2)lBx&wV(9!=}gE%kK%TG`iN)98=PRpy9#qwc*J7$B!pw+=JaR& zC5sODRE#MMGfU?$TsN-pds}g7ddO*tVId%Y-a~Z8&Um824AZU61W9sB%W1@b9ZRf| z8kj9x_)ERrKAT|V&2?(a# zKNVs7I%g$e#^n+%=faj zMVc1CP~9P!VIcmsj|8ni>T%8#r{Am$VSj{}fRkUIyTu7y7M4V{1;#toWSxSnE> z0M4U#Ji$bNs20pQ1H^v{gsOV>gEnSk7p2~^S@mUh^niXVRoe%F5IiKo&aU2(U^Q;eV zHE*(#!$s+V2Ty8pEj)5HhbMpF*iP6t@5NI)0IO{O#ps6=+ebq`_nw{D^{F3h&njKb z_WyEjTF1VSN!5=aHuBqdY4;O>H|cKSuM7LXvh)yXL^rEaS?^iQ2k9gp|rf zv;1Q>nVP;H{9VznzXbOY7fZixZ~yD$W_q*V`*{1=G|m2-44IH*#-YdAZGP=3i|!9p z_ka30`zZL8@MDKF|8)7k+(7ytAG0-OB^(*fAM^UvHtX;8Uz<&XcW@iIqyE7M;`hND zj|qnPUzQVQ#*g&1CB;iOiu@2GWj`7+ zoMH#vbDoEgg?wn}Tb6+EnEX6ZJZI{d$o}^PvX(XSMM^!Ac26H#iu`%dcF}4a_jsOp|5@B#YpIC0JAU+r@5nmO^m9Mv z{VQL(jeLF|6`u0*nuK-!;HMFi+Y&wQM;mti25}Nq6A4w+v@~me&vOsDh$xVzbH`|R zV&kre6Jeh8wuG=_YsR6fk1ltoy;7-4B!Xox{+m-6+;2F-42k!ZKX)KxXQ7_@hmeSf zR}a~Eq_S_(jVOCulrjlB=v)3`huou52m29&;i`q6D7umz%3L=w!-^BPL_c17;?r~H z^^B(4ivER}3>1z?qBMT+)HVh7uT-#V$l4=(Ys0`p;_Y)1F^Su|r^fV4es`2ydOW=B zhELcXSpZGyeRdG^swyHkazim7u(Ed^XCU)TZr#otu0zi9w!~rgXKfWcmfaPx@A2C! zJyK?O7ltm}KOk2eT7bUpLy!FmM4YP4uwMCRwWU8|r7s)9HyDbq%Cb;b;I=W>{6Hrq zQuQ-g&VDap<8+q8*4u+G`soO?&t`}Gz|{VH?x(BzxvF!j>g6ZL2it0jcSq?M1>yYA_Oo+x^JAg?Xdh7$loKcRz<7-Do^Rlt-`K4v}OCGg# ztyRzIOfXnZW)~mwX3u0sYTYTeARmUHlI6s zxn@<&Prrk1WdJYjKeKjs)7B~<@6f^!YLktVuay_?y5=6DJ;m`wPc5C2)Fxj2L)T2H zh#psYzbz}$(Pw$>sk;QWXJPuD1NIFr?ZV7I0Z&F%crNKE%iD{&RVi&%4jv;W5juvB zgex}-s4uzO{Juj_V*PTS;TPZjor9hbd5R@;bryINI;rpWe&XrBaI zx#0IBGY2GtFF0hqE@9SQ8V{t5R$h8K>=Zp{d$+4Bz^QQW!f|&$mB$y(9$JVBkyiUI zoAd}|i8U39dN?&$GugvRkuX)M85aM?{o3c?Z#OTa@F!$8CyQ4XCJRsU?Du;ddMvWrAcdr5;E$Ve)yAk$$lU0ZHpQ@^H2FwrdZ@o1UW#luew8Zx&`I6tk;fdX~T zkvfo}=#=~XP-#oQ*`!A)rO~2QI)?ilu1BF*R>lK{UT;M)jFA1`i+qfDf5YnuJcDX4 z-d5lAt~hMh+VkP5sf;yt;M=!vkT=g}`Uo{!E2nDp{9gGXW^Ea1hKcZ#u&XM%nQm)c zJ%?HeWKV3q`1~8d;~mW%fdP%CQiV#x@h4m;g_s_kAXO|oTK9XUiL{8_?wb?lvTOg2 zmFN36AWL5yOEshO{HOM8P_ib5GL-7**Y&ai$TfoCTxt!pFn;rm{b9mEMwP?W*_jX` zM?o5cyY!cgm9&6!(HwvyhNRvY40ie)hY43w_S`d4KAi<@vH}_5}U=g|qPw za9WX;4YSzrwRt1F!;h{?CdIIjBtI0H3W=I+Ss4r6>~N$_D_2|o6|!|%ewR&0&!u~L z4_oeAa2{4vi2J{N|k1^6wlND%)tp%v*O-?hIopXkt3Ez9We@IAEPaJ}fFY!>G1sCc^5 z;`!#wVUJ?3*klScqz$ZVdae4tkh2yOcHtAed6R^-^5L_OFFeyDLmzIwi;kPtq*;>^ zy|e$xj~o6&OtFKRhd8!kZ;l-eIRnV9u0TJi&xAsmHim2p+moIh8nTEjAEFb#VHz4j z$aFk3ZDc;OxHrORbAwmwYCO`ph9YZ(^ij5`gtBzPm9Wg8gXwF(WhF&QlrlR0cai6i z(;jcx!1J_oUM1|Oa#jWg3sv@{+3qDRrt5oaR9alR?=@z_Tw^p0lP_^gk5ejDxNzw4cvL%T0^)oD55Toys#`v7Dt^2M7#X*jN7i5&G(g}%w0=8zJYr6=) z(x^Ti$UJk+I7(^mTAg23Mulql!aviecW_jjQaQijl@HjSJAPZo20FgIp#mY*??^xG@dt5fr0BJ0XTLmQtf%FbnUAATP4gX8U&@*A0t*pH@ue!I{KL<3C& z=NX`EFuj*^j7Nc^u5wjOMSAc}vCk|^_`gNLuz$b)Bpea^KdilHJlpLX|LwZErv_D9 zrS{$wrPUZUYt#s(R*V?6_h^*{MQ!0iYgP#jB4)HUrHYCfT8i3g7R7xAzyJMzazDHC zpsym4_>S{D#{2U*-fa&Ul_?VUGaggyFPJWu&&^#)0_%&=jW(?6UAW7D&5C#kC$fXC zEV-Ctlnwbn##-a|ehZ?UUY*?l#t(7Dch%La{^*XPAFnC!AMBny7b^fk6WoXEU*x#& zxzCxUjOM@e-|X{Ncz;O8l2KVD`$g7%&}4h>!$NzlUdvu`ZQZ`RC%)RL;owWmEODl6YwQ&T85yUE zNzbvhJ~7RoxJ(YQ1HVp$EJp_|la`eXL5Cpht$oirJl+upXI|JNXcJ7FR<%yqjcP-Y zn4}n-*OR%Not+)Oa#|&b3*~H8`P*|8+V4oWdLL8PwADWXb$h_J^@D;=LElI>P!~5_ z2TV-t+Rfz~Godn%H~-~p4IdM4YIX8Ii1o;)@;!wpom~Rv>Y_pn)KLYe8aSM zalGvC<~QaZAup3OlEelfYm2o}z^l3~wl;Q&&wir!yUq5yJ87hRmmdGQSWoX2l`ZMg zJF#H?>sZI{4SYe^o*6=lF)gu{gWrI@*Ac2$+RDeb)Y8)W30!p~?{*{FbBf_9_x@!!nOC6`% zxh^*`m|2jhON3iFG9?t*I$%IWH6c$I8ut~h@Q3=GkN8sN!1$r^E%MZhd^ko>NT{c$ zr_I&z)m*)W|LAsbUb;fVr{WVW^XOeLpznLoe2cC!7!{QZ)p44XbX8AabKrr*sq!Fn z4UCl>F$?n4E=tA*DAhR2VctqnzPt(q=D~|%j{YSz6Hd-{4}49gd$(`RUObN-=iivhzz1o%U9fa zG!QW)25sycSvf0vNlYvOI5B%M+d|!Pkp2@j$>L5);{9`pSMOsa&i+FYkhARH7D*fd z+eii+13Xt4+Fr`_EGYMA)GO3~MQY#jJ6Rg|j-n<;rCb!$@;;MD3rzEE^25-odt(nR zn=30&s>QHEXMB8EYHfxwttDHfB0G!c?478Gi}_zgjb~C{pk6`qQm;ee*d)U()rsr7 zF-p!3cUPQqmqnzXl+LW=+$DW;Mr1oP?sAq5dKA`wS=1`fal+-gc!$-Ddc<19TGh_+ zk4cW|={Y-Vr!Uo(L_+j@X@Tz0&wGr@PdQR;H)?+Su)oPBdugm{H~_hot(p z-9~6%WCRHM4ccL_k?jg%_I1dGa-0Fy%d>0Tign|{DY@`ULz=M~;KI~e0mr20<6Sm0 zS+{;4%Qod&k0KN8`r^)uCO=Tsw|*X!X=D$H>bSgZL~uFa-i>EVkMp{VinJAzQm>XJ ztE#?`1ODdypexiN^H7bR6A?KiTFw@y;_J39Kj)RTO?UWL^=ZbW2~E7WbN|H1`1*@X zLW++9J(VTYDgu?HovT?a;{>tlh-?(?KE6h_f$9&eJw5x_{e!bMrBjQvBDb=gr_t!K z#^wNxekh>cd6ZLe$^?-W6g{@bwKHfcEyzZ>pC_3D^Js8!O)#p~63 zIDGL~5Uax>n{nLIt?Kl1mbWa9I`RzA)2LbXudwLs9s;<=!n5NhM^z$!)TDSai}nK%OHF~RSaTG#aSj8 z_swDZ?ktyVu{9#ESXTo)wXXAry20_%IT2R9H(4wrn$PVW}R{OZ+w~uv{Pl zv2TG&)fX>UzsOsWuEq=b{@nc@`z*cB_SN^}!&t?7bS7^}@e%2)@TjEm;#p@ePd$zL z3~P~c;t2JcoX}eoS`IJsSfkab60FD9#Ta{{M{Ytz(@^c#s<}Kz?JxtOORMtGL|q__ z$_6obZpWFgIyBe;n6=YlrH)#JYC%8S=)_I0lu^ti{*ltexvt{WBscR!%bq~fAHJEo znW{qJg#CXbuqY$y7FS1%r|oa+;E$^xs$~A^{c%3N;D!{AZqUc22V+;>;LCoQoc+pM zX<1Cm2UTv?)xbzcW+V8#Ft!j^a~uaWvI3f|3V|4F`(_p-0M`}CAr>54>qYFZ0+A^3 zN@lzX7GtM9dkORhbM8cDbN{d%S=wra*Hu^BM_+AvZTi7SMJ&;~+mc`pUGHA{S%0-F zRT_-Dg2jj4rM$l0#iUYKS7(Z;3N$IhJdwRCA@1v|1do0A@$O$%E#&H?`~)_Lf6DW_Bk{D*Y0%A@l~_>i(Ei? z8e3Czetc2#pNh6jn<6lLOeZ(7E!+}o$$d3o{%lNh7Ykor;v+cBvW%uJ7ad?8_H64; z-k7)r8)uFxOto0Vzx%0=C3fDrZ?50=YW?q4#?ra~FNgPuYSdu-!KUASpJ92!0dBWj zs04(DI5T79SRM~}p8 zCF(}LAf3YC%*?+o{%ey00(SidCiNZ-j7iifwiu)IvZT0+?G2 zp0Ir`c$K(8gBz`=9tH*Wxe5i*cou;SaN7)QP864vRGJLHpdxb8X`s)kjT>DuC@Qb3 za~xd)-xQTh(<)fNaEei5QR0kCKpfL!4Mtv%Gu$Sj<0ohW65)GlJUA@Y zm<;GgqI}f+GiQVTc?FC@%k+5x;VqY-1J^4|lmQ}(U%y(D_zbh#0UGt=M;r`l0k#*N zGz<=d0DW*7V2rEJ>#3b|MJxdZR>r`3Q^Ay}AW{3*IOc8z9hG{0VM@rP#iuEk{5Z;cxKjZmrtlxkPD5sxLJdrUnmj31H! z{ZSzFtm}p-mljLlR<&&_mz|B$k#f#Zuo8~>)VK;-%P}mnAB!I-6;I8f#{gVm?sH&_ z!L5X4&SFYRg8uw?X;||3>hteQ3ISd~zM@+y!4Mt5CIC&J-kqO!5X_)wV7U1FO|M-5 zcqVIL1#MIYn%-||TA?5A|7^u~eAjP>thoWaQc7}ifVP+(KCTPl;kf!WuJ7ZU346U- z%}nh!ZLKWn`nnGRw?`bWCbbgwc7K3&BX4QHqh$GT#jNiFG993AWNFCzfsu{`z0$h1 zfWsZ$0l1OTpN*#GuuIck{jpO+U`X7OVD?a$xJSbix|6iI{-~<9;%xjp-`N1?ep+Qk zg{a2Q4$UyA9dH;%@I^wgAT!}(pY+lw9`m_E#im3PZo!$MRlso`)xIOFEqG*jgMKV}LhGh2s+GaJo%E^mX1OGW=UuTd!0a*mbU}0l!3UDdG9vkg%xg-Bo zi0giD5Cy1FC^Lf<8N|<$7BMR6>r~4Vk6#aTz`rwf7JrX36*S~#M{&ogeshqx4_Z^D ze?Kt_`LXP<`LaAJO6*2RNlH54(o%i)LjRcr3<1CwZ=UB(vU7KL2dY2NHwV3ba5)XU z0@7M@kl5calTK9CDX;caQ-p0C?gs~Z0+x#0xmtZWv7j*V>0VkolE!^Dhr4EVN5bk= z`oZrfr839s(MQq|BNpN@_Mfc{`VWNs$f znp^f>`aj)!eDU3Ug9;{aI4_MGxiuVJpe-kcHQ1>!D7q5+Gg1j|^uA$lG>ejk+yfct zaGkHHyOd>)PEYp--E{5$+GAsq@+kp87Pb<+Qk(Z+x7$U&%42R4U=(D1#?0tB1Ie=` zU%q%dmcE?3Unsu6 zYd%p6oSh}pfkF)!bTj=OPwz1@(?*!g$xXX$fSW;K_g5&8q8K*pb%J-piggH;_U-x| zjNn8sT*5+QU#O0iMm=0X;IAwt%lw`BZ&zneU}QqKVT`o6ctGjnm&HYr^Pdf3VLm$E z9}`ZK)6G+TQ6Ey#mH+ZX8R!_?6jq$(vZZoRDER0<;(({{ka-+*w{7p8`=#Fz56g#v zq$f6;EG;EVzQ1JpNnUP(^%V^+6k5Lp0D=P!XgQc~2fPF7X-&<`SMtQ@JEz@19|#~I z4!D8MXMoKQTK#k`?*}$VC6-sBuBK)eXlzT4`glH;lf#aZvH)Zke$C3jFfwEZM>YwQ zMe{@Jq5zNt5BC9QL3@lqk{alr)3LGwbvS5vM`i;CSoH+}bpgMpzV0-!jUz%U2+lxd zyAG&7sjQwo0wAsApML+?+zb;;iL#QF8vF~mt_c8a0&wEvAoy)SJ_umC)iCWZ3X7kQ z+ej2oRmee=+)Y>W*5Vf^qjs+NKOcWNv0UFEIg2T&K_aT?`?M#9q6H#RlU1ZS@z4-3 zbA!!Xqo6D-04px%H~-B?^g*HcqoSS7&9!Mhjyy6I0~&9@T;ZXb5<~>pPZC!6@?h+d z?@R@S`1$Rw!*r}KgJYPNmj}?#q5)9wd;-7}xpd7N7sbDGG_CG{G#=;$12Q{p)Ho9W zUL{phQXPBMsN;|R?$_Q=y}zHqo@WLgs1^SIR zqc@652{nLEz+znih^L>*z{;xNAwBC078Z~*t0;#DuZ9|GYOn_X{XIYLRVEKM<;nJl`U>O=LE%-dW2GFEI zB5_Q|7zw1u07?Ysnr+HByH_`xsQTi9W%dt?LjaHt3gQe548~ev0N*so0!hr#PMoB{ z0fQl#!!78-2`jZrvKdwVbEofp7_@m7_+07yNtNUZIa4{;%wY)SSA<2P$!P#5TfEDA z-A&&adEDnI@ny;m`=H|kPg!1{mM4f_d1Wxk*p;Dm#Np8;N7Oy#Pkh6ZW~d|I#>fm;P20$&a8 z8`zVn?prD`x&1$Ev&;@>gAZo6gZEr>dg%nO0Qj9TIP+i}ki!7@2PH8a(L!~Y{|;Cn zz@h?pi1xVqYP|r4l$4cCR}H^+&AR+AfV`~BA3%J6ht0-6I0SE;BKUaTLxyr^{-iNI zMo+Fo?x}9>a|B+Z^a|#MK?7`u#i-F3265`)JIepqvF&@%-a84-ILAXFxya-OM(4fc@@LpgU1NPhCgkAo5DRWjS z4xN>C2v8YNXLrC|gk&fLgLNImVSfk{jzmL4LqHnIWB|$&4Ap30Y5NWMN3uc~;3bcE zH_3~9%4e`G3h?s-kL_6bUGB*2O&oyPQ*2#K)3dU&%#Bh3xz4}>Fg9=+YkYoBHa04j z4__Xp(s}z3ppCo0_+Vys_J*@K*u!{}EN8eQ!P7Q`4t2@+PFgpDsSOAYiU)1%tJeVU z1&|bg3fp}XG^>-Ak}@gOFUIM>qN08SSq1obnOX&mxYo6`HK4&C`1@B*ebT}_==jJS z_u8JA+p+Qeyx^Nm1yO?VI5}5OXY`DJt$(?pG*my@5``QuNP(v_j@id?L!l8U)KEN9 zlR8k(YyVw&AYN)PJc8Rnx8Mgxs3dT8)UEPKYg?Pt=V;Kyde;X0j$-mf+a?3pxR4=34e>S1gd{C5R*Ik-1gUs zSA=-;#%SiWxL##nkj#O!!560Ux(AZLt(2~v3R*Qdq6ey-4sL215p?5l#?bImSmV#1 z*7aBjXO+Qv!|vLA!{3Q@7|ao6SKdcYfBWNayK+UH#m6-tc0QX2jXB_|_R>Tzm^87c zsY0+u+y2=7J}-rkCz>Z04&{+o`8n9a9_{&>nDV_5zK24Bg01fEpdZMkA9ixL|bkuDkq=3!kI)U*^yGgn_G}RO%bks^ZOl?FsA_r#x z#&JYqF1kA6F8oWx^C(MDE!`PT@{_I!9IHF9FT9}2Deu+U5 zAm2a~1QAo7g;)iiZ!M5-oI<>?25it^Fpd+(78BWv|-N+2^K@3Jj_JNC-;KvFH5?{Br> z73hqXVK!U~+nWu1p|4_}dRqNV29LD<>s| ze`LFyTn6^r1G0ZKSRJu*z$ylCeI7ETOK+k@*a`5Ka)NF93OMekkR7)$yE2)8>OlnBh z1bcPJ9Bqkl#I=N3dnc=LBV>JpTb>KovUwXnG_uOTKG^ri!sis{syjZJtY_^jNlpwp zp{j94(Av$Y%BgGiZE?q+gF=oUB(#|_&_0E`vK-p;<{6uti|Sb9CP^p(FqZyw6Aw2MUvG@NhTohVoj zF=;?-N$RtptlC0|Uz#_o2CFOA;#9Y#NwmN1&<| z);Q-&^iXehS;$u-`BBvX_GCFv(>g$5gwFbIZ^Vw>`S(}4q=nKS{vY>#EUR826m4s5 z2M&7g&9qRtj5K`Cz~H(ZF^_;SSbGuziJ*c=72j_b6-#EVYgmni9sSafJz(PYQLk;< zxc-A%o14RjV2@cXA>2|FXPC<&_;eZ&r!y%g-FAEvG`YW7{^1@oJG_>DfGqav&O{Jl zFlQ<$v87b4z;*69!rpaA#8UWxbM!sPT+3i_)!tJJw)vpiM^Ve9GQ1D%AH*LO=+S$A z+y|3izT1COcz(*WflFD4s(#c>a129QxJCt;@cPvvUsb^E%Y(Es(S z!t$Kzi0Uh`b+t=8Ca3LUvmf8D7FhAKS$Q&c(RG5+tLOr$Hkz=06u**R_WhtStKqEA z{Gweu)af6JU!VTpb0`iP&lFn&ELof54<>fLkS6Mn&o0Fn*PoR~NAG#`&(P7pyZ?Rt z#QX%rI{HRPAoR71 zRsVVR6IT@F=M1x*14I4gKlta6u}{?ZV16RvYsbDH1^>7m0a!ySWntv_4m{)nj}fwv z{ekWbrCcFzWl$~zk5zGU#|k{Qbb?Q%{SPziJpS850`ao{*AtIlvG*=`S#0xq_K7d4 z+?C^Z_(&LyyQk26>*&~qoFm(Qf`{D0cM8Yvf9K?Br)*wfiSmm%I- zj-I1UNe<4yCp}`%z<+%Fd?@$G-(ktGmyc-ifs_AFX80(t9Ahv?Uk=@{Bmd=NjieyO z&x$biI?9*FWiX1>A;teKspMyFonZjKfAw4SPQRhL$^LYDWi|dxpY@r;AbiP+ZDT5QvC&p$httnuY;4Z^%N{;j$YwqiICE0YN<7WtdMMKO?ri?<7#=l zt6wtv{csZs_rmx7kIzyeb7d4h@2lr}NXz9&dTNMH+d7K7j~$9N07JP|Dw32}wBlRh z&l^J_Wr{Gud5CYa9dce=FZjQGr_Joy1IBIpiK7DqKn38U5mLZR#TUYCnpu?C2j?>v zasTNLM^c07Mn$R4)i4VtdMjyBB0Rn{XBg~PP+hN=_RtXX9T%0piG!V!Uqz50 zuavij*FI35{(g`^u>V{_>Z%Ru7l1h7;;;C_zV&r=xk^5`cXy7RM=8|z>c1WA9&~9M zYG1-~-y@oqR<>!pLHXn2~FsIqr4>JRoB z#5*?cuxd>HI>`ay5jhVVjc?ou>k9q|PC5o4?Xx~O`-BGxFKSK@7 zc$mrykQZuEymos0;ivUFEtw6uQnZ>+=HOLOTQ<>p>P>+mdlQg=Lje)P9SOCU$mX7O zzzjQvPdnuFKAcu7AKqXDd3L`M-^9|}zHY2&tMl<&e#`;a!pHtRL-e9jk80`nh!3P2 zv?*P@oKQAe2p<$m)N9swph?h1({Ln+r)pohg1cz1#W@uK@L%Z!hZh!!7n_8Or%&a5 zGtl;<%=YVXcJbrlfm-T7CnW&pJ6cMPZw!%@qfU`l{5GLy8^1q z47@=8^TfgN$&)we3t%`%-hGTGAA~!PfdI|UCr}2<-{rYZ&ZN<>G*n+4j<}2SE9mc_ zQR$p6Q>dt@tjtdVK8cZq5*S=P_6vTnVHksNGx?vC=AWb8St^=z7j{OQiIWQ1g2Gki zfWbW0{foZhsnKHeY5aw{9a^#Yb7$c#0sY&fEF$hEd=Ps+2t-{3;#=mgyq+<%47-%@ zTK^7bb|mYyIRA#iPc&kAoZ*0dcFWN%)UT_~8`-U?skD=lviHpxadN0ky)7PI>G#!b zy-jIfPkOh(x%|(I3&-b)MV@?-@`%6raiIxxyik+UG1;hMjy!$dj1KE>4@KfsQ$weK zv0)kuaOcCleLm}Z-P{-%4S`1TN2wM^pk4@wU8=VKynXmkN%chq5vY1Y>I3AnG-rV- z2k|t(%IX$DrnaIY*I*C`%DpGuCvGoGPn!g_q@U~@EX?G4{riO{5k}<(YAyGkk7&$Q zr1XG%*|3)6u)+HdkSE8pDJ7?(z&IOPSNal;N$1tQD;6aSvhEXu z8DcrL6Q93uZX(`9*fnW$D~;bBfvd4HxZvO&!)Rh(e2q`Hpb-AX;JblrzXVicd%#rH z?16TY&w@((2`2iTjZFMd#Ny2|ve4wR4@|yPEf3Uoe*NqPB|gC`dj#{IKd^7K5!u|9 zU}Cf>GS$y~&Z2nKR=`*t_H&Q0vX|#tYQ&%4cM62oZZ=-__8lf>P7>*vV;)cUjopPT z2|P&U@A5J*s8ixw9GgsCl8e=|Kq!s(y8d`gOS^_jebz5dkd^|(dQw1gWO5?a(O7Y~<(K6b#nCj<< z*_2ZNevo}(`n)z^{>6XNy)v%+=*vZ*5jo$CMbXs{Ube}8ITErwS1RV8nbKh$Y4r&x zVR#=K85@hR_C%fMS$d8@E)jETVwZZ}kS-&0Pl{`+U&$d|h)UvzrCQSVsmiXgUNHI! zb{8t1hyg^p@s~sN3LC9=)T4rV|#YwhEQLre6Dh+g9enT z4La%F4j)x`lf!r)$vH!^l6H2zak63&$klm@SbE400azj z^J|v!KRviC3rw4EMoc=x+VVRugnAgQ5_O^3fMwMEW`06&QTV{fp+bmCTG1Aqzyrrw zPHEho6K7Un($fAMaUWypTApggRZ|^UC-xfWC;M#K>sj@7-k=5e!-i?SseZX_yH3b_ zn7NawNdplGf2+o6d)OTkxGY?MNFR7mU0tUNV|I?hr47S%u=7!G!O)SD^Ovc0bSq(h z)buQSxj6#MUNtRdV01Md_sNV4&a;_I`wW9qv-SxH*bQrrj)TMoNlD2rm@u}vmYxGZ zbhq7cOab#RNGVxhkb8Lz{1Q zcNA|E>^(BJ8Tn#6xTWF1zPC{W2Jw&kn)jP6ldgoBE+084bGY#jrc_EwvL${3ON?jb z!5Umh7?YDdSr@-QBX??Hu-K6*lMoZjJh$rqf>*z9Y1b{w)VQY|~JFEw+fD zvV{g`psxJ%2~^0&O!q+fbuAq<8>jugcI75Q*R6>kkK>MGF&b(&UN%IfT~jRXI;5k} z%5C+@-i}^UTwHVjoad3YJv1_r3c@ysq@Bmb?d>*bn_aIezTa1|6KXrzRQ)F-BsqD+ zeZl(GqgJ{FZzGtTI_%d81OM?pV8SU-Uqiy%npeBJfIN(-tSr}~r{;7;cKqNBt?zsp z(L)AaZLx#q zK3lr-F3%HD`nt>J7Lh0;6uRXiBw|66PYI^Bn=hjf-dnN6QU--8jRrpT=1oSU7!p4e zKKW67OFYe){Z3j|Y)Q#O8sKmN!3l^J9US0Creur)E}kgOw^_kmeiKA{EH)9%Uz=g8 zW5YlO$aw0M8qZX|+{B{&0keS`hb|8btB{j;seJ|sB`GE4+1Bj3n6Jc_M@p_OJvnC| z3FO5Rmio_?*vo@U61<$*L+kC^JJtR7+hR+zj>$wM+>#G^5?xb#3?&!x zDOfHzdzI@XqbwEPz@C3$&Y5a6jO|Xm% zd&FR)d#Vr}6+SIrBo}4tt!hmJ@$_t=61|+>{Hyd+DvdCBD$D0*L&qz}s?qVb!32b{ z(oa8T-WHRTtX%wI{>b|oFllZFzFn-+Pwy`@`uV%M#*K&=*GiDH1&I9;R8?>gJs zP7v@%DI5jG-J>BNEN7sK&A^{Z3j{ATt;lSqm?Rq!Ya>te5mbTUQ}7hD>W3bpaVhS;>O0bm#ooyPX~#-u}xUO z$v#d=W~nKB-qhGTnA18MVJ*{`eom=SsZe?=hu?S^fN-qK-JI+oRFD>vouyNR>e8-Fw}_ibeBpK?!Vr;_x3Qmt^kIB}r*6igsj` z76zt3p`idDfrzz%lx5sW<^H1TIM?T^P>hJd*9RL96B`KXF`9#-`5V~Ytj7HV7lwiB9 zYO6WP#mmxMUbn?XCdOj(F+TMs{}@VjmoMY}1wFhUwJrx47jx$UZz_;+OfKMByiA-b z`61=?32#r{jAEP2*igucV`tBxH9Y2@uK$U9nqBe3H;Nt#Ez3?F#(Yx2e|ckdRho#`Ht`rSPwJ9d*)fT+ zk;i8S4=Qt0ZyPAW7FwQP*#DxIRDr`?l}K-W&mGxVwYPZuM^kK*2hUUZNW)${f1}T< zl#l?-!KU_LxiluD(fUccF!n}Scum)+xxN3gySGHc@*w6-@}AnaSjAz(7w=a7BxNs6 zQwv1A#(k6ex5i{)ne=OX!W&BJubs;rH?^Oa^~MsxsJY2@RbX1xRpQbrB4LG*Xqh2o z9ixU6A>_@Fg5_Gu`&NFKbs|`4bEwA)6C!M5_1-?cT@(Sx!o<;UW%J|iMP4N%@bs^6 zC|ka>))FVj!qVv!6l$kZonHQK7wNt((1p})VL3+9DlEnx>B7EcI60BzuBfw-m|YX<1(V{-G|jB{quD{)=!_)d9jbNdn`DX@iA$i;Ido36hr%V{0{y<+rZC= zZL=FUlhm$BHGu|Yg*#l%=ipN6P?ja1}(_Sy(S3I5(Qx5q+gEyT+FI6NH^4GVm<8Ks_hYEk!U6M!a0N zI4rdT&#pM~`n+#4s-0Rll7<>0z{wi4J&XnEoGR=Em_$Kf%af+3cHeF%6*_A_AD{P- zg@8R#0}7&<*VmzM4`_xTD=wS7e5fN8DkWm5w$uKql9Ki2=v%k@(DH%2)|)5wj;btj zVeR9oyu?o6_y_o~xHx4|Up%F^r&(V6U?i%7?s!%}4t3{Sg);jrvj9v?{2_=N(|=H2~++SAuK(;!Z^nu%JM#351OkV8Gm77 z``kHgvGPlA1VqH5xRE~BP{GpL za{N(4xR}64^`YBcYnBx<9VhX6uKtQZf$9+xgHuLoi6)JvsNGI34dcaBwC4781k|gX z^D;z783Z+06l(CDRJtavMn^EEANy@#^GRS6ap99Pn(<1hZbUW;mCaq|ssS^*mRmlo z7$ls~;X#FSlw^$6oN*g=ise5Tr)=(YgN`x3Z?`dI7p z;Nn(Ot25RDCSny^G_cxTH2yFcGZ6Zel^LWuZa0dW7-Vx-a#oso-n7s8G5`C5Xu4~? z{i_E`Ggo`IT{CG(k8^)NlN-z^UHL<5tB1@Q*h!UE1AG#lmMDH;xUDkH{1rOd#3T9sLf zs|4kc_nL^9bJSogE}T4p#X8D@&hKpjjuy}TUA`?Yz&$D*o%3$MPTT?f@6siYxr+h< zAX2H|?EUGRdxz?6yKcEL(y#;W@a;W8d#7WxE7ROx=l?H*}?b_Nni%_!64E! zUMMXQ8p{(i%Uou~q1215|lRTbIUlWF3JKSd%QmMOIkJ;S-xn{CgQ;s=RTut9$o)WM*Fmmdn=VET`qnR)3| zawDjUiV{}v{qhhAMa%qluB<|8A6E@#ENFJwv{-b}pu<;OdB>#1l`&W36;!6nq8GN8 zI8LSj9;Nk^uUNyw6rY_t*Cb2>$#YJ-{f34|Y2?f&h(vnEt}^gYD>ctrD8}?gmlm4l zJ47d{aofClz?lF`)B*m$G-YVTx55tr9x*H(^SBZD%3hoSn8}8f#5CLFfP^841bLY#lZfjg0Flq*qp+KQ`VF^)gn!&d&mp+V)?|9eu>*G+W z_v#aw3^V4gFpH`Zr;K-yN5+; zfFz&`x9BYIuyzwqVPs(uq;b165KfubbEnX`H z;B1H@GmLHykQR&q~{Y|;?b;ir8m zCUg1zk|Dqev;FG7SOTKTwh;`|=*WG36ENst5{TVbQ0W~A2S-BvO0tUDLR79dN^97VTXGDkX@NCRdD8o3ai&W(XD+Idbn#U#p$wGf19g z3mkS)hK-l*HTRP&?u|f&S4pU+{gEgV?)=+@!>!h z1C1B1EKKrQ>GaJA?ikr6?nn(LU^rkvKOi22!_n*i+q2%+k%+v1?t+W-G$oC0f@@8$ zYDww9AkoLB-mFl+2>7Af6Ut?r7lb2kkQh`!Hw|hJf z?A4J_3%7GCg6j2Vr2`IKb#prwbZ74YM{KGH4*))<@Y7sGZ-7)_RW+|3%vY%(0=YX< zVAM|h=LoJxN~-X>riNzACji?NO=@=;kDhxso z+VEIg{E-3Ab?-i%0;|jPRx(a*MLb*iiQG1!H&;(xKh1l2P(Ky_5x*a6{FxXTpctMS$f#FqjD9SRv~fXX;&OoKke3Bk#>Sh_N6a-{<$RCnH-^`KG8c*ooVNHH~=3L@BHNX~}5*C)0aH^EUs z8jQl4)pVb2otoYw%<@1Zt-$$_#b^}_4AUSGOK0E1sWeaa+NY1^=(kciQHeu3e z?%tHnsABtB$`9;&*Tep$l~wDDqA&joEM4Ik;7v#ToQ{KIbPER-HVtF}qrK@TLDmLPHVJDyy>|NEJCJZV zii44i<;-mnunOSfP7v(16Gd-eBBxT((U9LY*PkMYYGB*8=G43Lui@A6hD#?g>oLr+ z*9mGE4_2(|cG_KM-;ce!68ng^;*_!MYl*@)a}ZDUPa3d}o9x+*(>wEvjvt0UU{qB& z;iX+JfN*FLfapk863?p1Vcc7UvwCiXgZhtaz-3>rKXrxb11y0$=FjgwK%&d10Gr+Qq*>pkWMeQ2z?fuYW@ZLAH39#Q zz5~wr#l_!7mk>;7KcIxa3S)oBboySwK*?ZQXkoUfsflUt4r5`*ryoCl7)aU=p*XC# z`@o{L(+PiH7Tw=5^YGc(^|+NwI&_SR+sDRL6oey_gb!I2TI^IZ>6*YwKXB8w00aSP z-NeS{VA7oqCLXlilyfX(H6a}wb>NTGwiQEnJ!CWCr)}dp3vBk(sCR%>uUwi&9(NLS zqQFeqA%c@D934J5sBK!myQsn%^c#$P2;S(u0sPU?utxZ(T}7ktWkm~wp$75Omg?*M z{zDq)MNb+m*dfNGuRh|YxvHTFMnN6ynAZVQnfwAztZHr9gnq4^HE#Z6m&L8x5?WCn)*}cP+Z zT{Ess#(X$$f|H=#DV!8MbLLq}M{{VHbV|&>*Tv#|V2RN(Fq(tOeekh?#dq83al!B+r}h?Z)HqWgp&Z+&}OTXYL0#3z0Ag_+vw z=wCxbfqqiu)NS6G9FKTMN7-=H3;*aXlQLMdRDB!kl(`pfL5!*@cC0<);JCpBC@|39 zdaCkpxYh*P*d=pb6#Xit?Ot1siJ)oI3 z_d~HzUq)I)RFsNVg&Un~eK%7jQ-z@YO&#ywGqCN%q{ozSvE5Kyh5_`m+=E_s&#oVC z;MIZAzgZ~~(|=~Vs)KI%_0}9mWj#e&JDd-?jI1Sj{o`@%G>{AcS6K3dQ}>=i55gfs zJdPCW{_5?x5yAqR4SSx-lk`PHi^X?qEY2%k5((Brd2cHl@bJX=f{iS$Wduwm98d;h zHn%!EHy%yqipLw5&s zCc>x4L<6Q+wkZGzVzpN`w|??4@Np!{r)lVp?Q8&HL3%B*Sb{j98yeRq?p|nC!cHf|}=ABcl^`qN6`0U9YW@UfYb`1@7%( zm(0!Ud|a0&FG6sgO9NdTn-1=48*`h#pO?WRVXDoyI3K*wXZWHSoici*cKDYpXp;9= z@8OrIiZ<%ojJJ64@@E@%b`RQ?V?P-y2-hbGV4FF}5#>j{qiW&e4a8O;z%S^4b{ojs z;SijZ)ad%UxYQtT$^$T8Ap)4sA1p@90l8EUlPV=;LJC_R%GW=)Rp7zOC5TIRpbo4! zHT4x6vVHxX{>9Mm9y!T&_|fQ2Lm(zfPfrJNPDC+r#IO?=|M-HRx$FmMpQ9w;1i;iC zgMJG-7HQ$#J|Ofv*o_dgjiEWGN(v|&lj>IHgBuqLb(a9^QV)&)RN2GNm4haOQRg*? zm@f;D5zxv+^> z&U)e)(S8ky0n*5|9WPPGbD0*LGry;O_D5>!gKoji1mF@9BAdkW0(1YRyjyK&l~qC= z!^h~%*sxS4NOWM{x8=s4F^G!S8+{I(eO<*J4DqRQvEgU`EQ;k=#!52kSPv2nC!;qt z5m>DGY7&?ei^I2uzQe@bm@#RyE|FlOf;>=#VH}FeETjhW%nUmog67(9QVJzFT4>uW zP@J42PMdI2S?0%1m;(>x9>VSh*=Cz~_MWh~s0eU-o@eZ#ykZmj>IEC0l16UCnmvc& zWIxtkM)bDu?SsW1=&q-QtDnuC&5X?q9t~t>bWNY*kpdaEx*n6d*qhY$7c2$ToEh04 zV-ulJfzd&;C23)3S4g<*OZp=oltP<}-1+!mUO~Kf4VY#RZ9m3;gM(_u$ijktDfK!? zet=u~-_Swx+ukLw`8;In?wItW@hd;-x$weRwp-9N91?IbMC;2+BKBZgodMI9x@ST} zW}3EzN`d~SxEN^o0>S)&h+Ma+8?fd(Q~TUaTZk7PKpO=#eWimY7-Gj%fjJmT2mD%n zXSzOF{w5Y;uJL5MN$i3_6G6M)E95)J*DDi!st0I>I<>(FgqDHQ!|#*_-&Z?+Sc@*o ztJRp3t{~FV*3|N-J6Yk6AJ